问题现象

云南计算节点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. Airbnb JavaScript代码规范(完整)

    类型Types 基本数据类型 string number boolean null undefined symbol const foo = 1; let bar = foo; bar = 9; co ...

  2. django框架如何解决跨域问题

    跨域问题的由来 由于浏览器具有同源策略的限制. 限制:在发送Ajax请求时,如果当前浏览器的URL是a.com,页面中向b.com发送Ajax请求,请求可以正常访问,但数据回到浏览器时,浏览器会阻止. ...

  3. Educational Codeforces Round 69 (Rated for Div. 2) D. Yet Another Subarray Problem 【数学+分块】

    一.题目 D. Yet Another Subarray Problem 二.分析 公式的推导时参考的洛谷聚聚们的推导 重点是公式的推导,推导出公式后,分块是很容易想的.但是很容易写炸. 1 有些地方 ...

  4. DNA序列(JAVA语言)

    package 第三章习题; /*  * 输入m个长度均为n的DNA序列,求一个DNA序列,到所有序列的总Hamming距离尽量小.  * 两个等长字符串的Hamming距离等于字符不同的位置个数, ...

  5. limanmanExp数据库审计设计思路与重要代码

    目的 在代码审计的时候经常会想看看某个访问会触发哪些数据库操作.目前已知的数据库审计有多家大型厂商的设备,还有seay源码审计系统中的数据库监控1.0 但是.开源的已知的就只有seay源码审计系统中的 ...

  6. 树结构系列(三):B树、B+树

    树结构系列(三):B树.B+树 文章首发于「陈树义」公众号及个人博客 shuyi.tech,欢迎访问更多有趣有价值的文章. 文章首发于「陈树义」公众号及个人博客 shuyi.tech 平衡二叉树的查找 ...

  7. 附031.Kubernetes_v1.20.4高可用部署架构二

    kubeadm介绍 kubeadm概述 参考附003.Kubeadm部署Kubernetes. kubeadm功能 参考附003.Kubeadm部署Kubernetes. 本方案描述 本方案采用kub ...

  8. 封装一个处理 react 异常的最简 ErrorBoundary 组件 🎅

    前言 从 React 16 开始,引入了 Error Boundaries 概念,它可以捕获它的子组件中产生的错误,记录错误日志,并展示降级内容,具体 官网地址. 错误边界避免一个组件错误导致整个页面 ...

  9. 2020 OO 第三单元总结 JML语言

    title: 2020 OO 第三单元总结 date: 2020-05-21 10:10:06 tags: OO categories: 学习 第三单元终于结束了,这是我目前为止最惨的一单元,第十次作 ...

  10. 跨域库herryPostMessage.js的一些优化,多iframe跨域

    旧库见文章:https://www.cnblogs.com/wuhairui/p/14595893.html 新版库主要做了下多个iframe和父页面交互的优化.主要使用构造函数的方式将多个ifram ...