问题现象

云南计算节点YN-ec-compute-19因系统盘损坏宕机且操作系统无法恢复,其上本地虚拟机无法疏散且无法迁移

拟采用drbd备份的数据对compute19上的虚拟机进行恢复

恢复方法

1、确认compute19的drbd主备节点,一般是相邻的节点compute18或compute20,确认方法如下

登录compute20 lsblk显示有/dev/drbd0和/dev/drbd1两个设备,其中/dev/drbd1已挂载到目录/one_images

查看/etc/drbd.d/drbd0.res或者/etc/drbd.d/drbd1.res可以确认compute20节点是否compute19节点的备份数据存放节点

通过以上可以判断出drbd数据备份的逻辑:

(1)compute19和compute20互为主备节点

(2)compute20的drbd1为primary,/dev/drbd1挂载至/one_image目录,凡是compute20写入/dev/drbd1中的数据都会同步至compute19节点的/dev/drbd0设备中去

(3)同理,compute19上的/dev/drbd1也是挂载至/one_image目录,凡是compute19写入/dev/drbd1中的书都会同步至compute20节点的/dev/drbd0设备中去

2、因compute19节点已经宕机且系统无法恢复,故设法将compute20节点中的/dev/drbd0设备中的虚拟机数据取出,再挑选资源足够的计算节点恢复该虚拟机。

3、将compute20节点的drbd0提为primary,然后挂载至/com19_recovery目录

修改/etc/drbd.d/drbd0.res,将YN-ec-compute-19修改为YN-ec-compute-20

drbdadm primary drbd0将drdb0提为primary后挂载至/com19_recovery目录,验证其中是否有compute19同步的虚拟机目录

为防止/dev/drbd0设备同步机制再次运行,建议可以将/com19_recovery/目录下的问题件拷贝至compute20上的其他设备中去,比如新建/com19_bak目录,cp -r /com19_recovery/* /com19_bak。本例中compute19节点已停止运行,故设备中不存在drbd同步机制再次运行的风险了,不做上述拷贝也可以。

4、挑选一台计算节点YN-ec-compute-20恢复compute19上的一台虚拟机6fcb4f2f-e001-4965-b93a-f2d9c751609c,本例中直接挑选了com19的备份节点com20作为恢复虚拟机的节点,也可以挑选其他资源更加充足的节点,无论挑选哪个计算节点,操作方法均相同。

5、在YN-ec-compute-20上执行文件拷贝,并确认目录和文件属主以及权限如下,如果不相符需要和正常运行的虚拟机目录文件权限属主作对照修改一致

cp -r /com19_bak/6fcb4f2f-e001-4965-b93a-f2d9c751609c /var/lib/nova/instances/

6、nova show确认openstack记录该虚拟机在已宕机计算节点compute19上;

执行nova evacuate [instance uuid] [目的计算节点] --on-shared-storage,其中目的计算节点即为步骤5中手动操作恢复虚拟机目录的节点,本例中为YN-ec-compute-20

虚拟机由rebuild状态转换为Active,并且计算节点更换为YN-ec-compute-19



vnc验证可以访问虚拟机

7、compute19上的其他虚拟机参照步骤4-6操作依次恢复。

drbd虚拟机宕机恢复方法的更多相关文章

  1. Vertica集群单节点宕机恢复方法

    Vertica集群单节点宕机恢复方法 第一种方法: 直接通过admintools -> 5 Restart Vertica on Host 第二种方法: 若第一种方法无法恢复,则清空宕机节点的c ...

  2. mysql group replication 主节点宕机恢复

    一.mysql group replication 生来就要面对两个问题: 一.主节点宕机如何恢复. 二.多数节点离线的情况下.余下节点如何继续承载业务. 在这里我们只讨论第一个问题.也就是说当主结点 ...

  3. 存在单点故障的namenode宕机恢复测试

    前提:如果namenode没有做HA,那么至少应该启用secondarynamenode,以便namenode宕机之后手动恢复数据 实验环境:3个节点(cenos 6.10) 测试前数据: 1.为了确 ...

  4. HBase–RegionServer宕机恢复原理

    Region Server宕机总述 HBase一个很大的特色是扩展性极其友好,可以通过简单地加机器实现集群规模的线性扩展,而且机器的配置并不需要太好,通过大量廉价机器代替价格昂贵的高性能机器.但也正因 ...

  5. CDH集群主节点宕机恢复

    1       情况概述 公司的开发集群在周末莫名其妙的主节点Hadoop-1的启动固态盘挂了,由于CM.HDFS的NameNode.HBase的Master都安装在Hadoop-1,导致了整个集群都 ...

  6. JVM虚拟机宕机_java.lang.OutOfMemoryError: unable to create new native thread

    原因:当前用户的系统最最大程序数数已达到最大值,使用ulimit -u可以看到是1024   解决办法:在当前用户下使用ulimit -u 65535 然后再执行jsp,一切ok     功能说明:控 ...

  7. MikroTik RouterOS虚拟机/实体机安装方法

    一.设置光驱 二.安装RouerOS 按a全选,按i安装,q退出,空格可以选取或取消选取.这里是选择你要安装的组件. 是否要保存原有配置:是否要提交.一路y. 安装好之后按回车重启:之后为这个界面,安 ...

  8. C#判断网站是否能访问或者宕机的方法

    最近有位朋友说他有很多网址,可能有些已经过期或者不能访问了.自己去一个一个点可以,但又很麻烦! 再过一段时间又要去检查一次,每次都这样就不方便了! 于是就做了个小程序给帮他检测一下. 以下做了一个例子 ...

  9. MySQL - 高可用性:少宕机即高可用?

    我们之前了解了复制.扩展性,接下来就让我们来了解可用性.归根到底,高可用性就意味着 "更少的宕机时间". 老规矩,讨论一个名词,首先要给它下个定义,那么什么是可用性? 1 什么是可 ...

随机推荐

  1. 记录 Allsec 解题过程

    开局打开URL:http://119.3.191.245:65532/#/allsecPlayGame,前去做游戏 游戏URL:http://119.3.191.245:8877/Login.php ...

  2. JavaCV 采集摄像头及桌面视频数据

    javacv 封装了javacpp-presets库很多native API,简化了开发,对java程序员来说比较友好. 之前使用JavaCV库都是使用ffmpeg native API开发,这种方式 ...

  3. Webpack 学习笔记(1) 开始

    目录 参考资料 1. 基础设定 2. 创建一个包 3. 使用配置文件完成打包命令 4. 使用 NPM Scripts 完成打包命令 参考资料 Getting Started | Webpack web ...

  4. Python读写配置文件模块--Configobj

    一.介绍 我们在项目的开发过程中应该会遇到这样的问题:我们的项目读取某个配置文件,然后才能按照配置的信息正常运行服务,当我们需要对修改服务的某些信息时,可以直接修改这个配置文件,重启服务即可,不用再去 ...

  5. python之commands和subprocess入门介绍(可执行shell命令的模块)

    一.commands模块 1.介绍 当我们使用Python进行编码的时候,但是又想运行一些shell命令,去创建文件夹.移动文件等等操作时,我们可以使用一些Python库去执行shell命令. com ...

  6. P1085_不高兴的津津(JAVA语言)

    package 顺序与分支; /* * 题目描述 津津上初中了.妈妈认为津津应该更加用功学习,所以津津除了上学之外, 还要参加妈妈为她报名的各科复习班.另外每周妈妈还会送她去学习朗诵.舞蹈和钢琴. 但 ...

  7. [源码解析] 并行分布式框架 Celery 之 worker 启动 (2)

    [源码解析] 并行分布式框架 Celery 之 worker 启动 (2) 目录 [源码解析] 并行分布式框架 Celery 之 worker 启动 (2) 0x00 摘要 0x01 前文回顾 0x2 ...

  8. HTTP2和 HTTPS来不来了解一下?

    本文力求简单讲清每个知识点,希望大家看完能有所收获 一.HTTP协议的今生来世 最近在看博客的时候,发现有的面试题已经考HTTP/2了,于是我就顺着去了解一下. 到现在为止,HTTP协议已经有三个版本 ...

  9. C++并发与多线程学习笔记--基本概念和实现

    基本概念 并发 可执行程序.进程.线程 学习心得 并发的实现方法 多进程并发 多线程并发 总结 C++标准库 基本概念 (并发.进程.线程)区分C++初级编程和中高级编程 并发 两个或者更多的任务同时 ...

  10. Visual Studio 2015 无法加载.Net FrameWork4.6.2

    默认的VS2015是没有.Net Framework4.6.2的 需要我们去到微软官网下载对应的.NET Framework 4.6.2的安装包 安装包分两种,一种是应用级别的还一种是开发级别的,如果 ...