问题现象

云南计算节点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. 基于es实现一个简单的搜索引擎

    一.什么是es Elasticsearch是一个基于ApacheLucene(TM)的开源搜索引擎.无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好的.功能最全的搜索引擎库.但 ...

  2. centos /bin /sbin /usr/bin /usr/sbin 目录的说明

    在linux下我们经常用到的四个应用程序的目录是/bin./sbin./usr/bin./usr/sbin .而四者存放的文件一般如下:    bin目录:  bin为binary的简写主要放置一些系 ...

  3. 翻译:《实用的Python编程》05_02_Classes_encapsulation

    目录 | 上一节 (5.1 再谈字典) | 下一节 (6 生成器) 5.2 类和封装 创建类时,通常会尝试将类的内部细节进行封装.本节介绍 Python 编程中有关封装的习惯用法(包括私有变量和私有属 ...

  4. 2019HDU多校第六场 6641 TDL

    一.题目 TDL 二.分析 题意就是找一个$n$满足题目中的公式,找不到就输出$-1$. 对于$${( f (n,m) - n )} \oplus {n} =k$$ 可以转换一下变成$( f (n,m ...

  5. 这个Bug的排查之路,真的太有趣了。

    这是why哥的第 92 篇原创文章 在<深入理解Java虚拟机>一书中有这样一段代码: public class VolatileTest {    public static volat ...

  6. 计算机图形学中使用Turbo C++画图步骤

    一.下载安装Turbo C++ 我安装的是Turbo C++ 3.2.2.0下载链接 二.画图 1.打开Turbo C++,点击右下角start turbo C++ 2.点击file ->new ...

  7. java例题_42 求满足809*??=800*??+9*??+1的??的值

    1 /*42 [程序 42 求数字] 2 题目:809*??=800*??+9*??+1 3 其中??代表的两位数,8*??的结果为两位数,9*??的结果为 3 位数.求??代表的两位数,及 809* ...

  8. Spring笔记(四)

    Spring JdbcTemplate 一.JdbcTemplate概念及使用 1. 什么是JdbcTemplate: Spring框架对JDBC进行封装,使用JdbcTemplate方便实现对数据库 ...

  9. Tkinter系列教程01—引言和安装Tk—Python GUI编程

    目录 Tkinter教程系列01--引言和安装Tk 引言 什么是Tkinter 安装 Tk 为 Windows 安装 Tk 验证是否安装正确 为 GNU/Linux 安装 Tk 使用 Linux 的包 ...

  10. 多任务学习(MTL)在转化率预估上的应用

    今天主要和大家聊聊多任务学习在转化率预估上的应用. 多任务学习(Multi-task learning,MTL)是机器学习中的一个重要领域,其目标是利用多个学习任务中所包含的有用信息来帮助每个任务学习 ...