博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
记一次 openstack 云主机热迁移失败与恢复过程
阅读量:6039 次
发布时间:2019-06-20

本文共 1472 字,大约阅读时间需要 4 分钟。

背景:最近把openstack上的所有机器的磁盘逐一重新分区,之前是两块磁盘用RAID1,但是ceph已经配置了3份副本,这样相当于存6份副本了,目前磁盘资源不太够。机器用的是HP P440ar的阵列卡,支持建立不同模式的逻辑卷,所以把磁盘分区修改为RAID1系统盘+RAID0数据盘,磁盘容量和数据盘读写速度扩大一倍,而且即使其中一块磁盘故障了也不影响物理机的运行,而其上的虚拟机是基于ceph网络存储的,坏了一个osd也不会影响运行。

故障概括:有一个计算节点的neutron-linuxbridge-agent忘记配置,直接把虚拟机热迁移到此机器了,结果在最后一步创建网络接口的时候报错,虚拟机已经运行了起来,但是网络不通,把网络组建配置好之后重启虚拟机实例也没有自动创建接口,不知道在哪步出差错了,也没去深究具体原因了,这方法也适合其他情况出现迁移(冷或热)失败的恢复。
环境:Openstack Mitaka,Ceph Hammer,rbd存储池名称 images_rbd_pool = vms
原理:复制原实例系统盘到新的实例中,直接操作ceph底层rbd镜像
操作过程:
1、新建一个配置与原实例一致的云主机,把两个实例关机后,本文是把实例SA的系统盘替换到新建实例SA2上,把实例SA删除
记一次 openstack 云主机热迁移失败与恢复过程
2、查看系统盘状态,确认已断开连接
系统盘的名称默认是实例的"<id>_disk"
rbd ls vms
记一次 openstack 云主机热迁移失败与恢复过程

rbd status vms/26bb3815-3cb1-425a-aa96-2dc6fc9fcefe_diskrbd status vms/278eeaf1-bcdd-42f5-b4d9-bd04f0b2bc6c_disk

记一次 openstack 云主机热迁移失败与恢复过程

注:若磁盘处于被挂载状态是这样显示
记一次 openstack 云主机热迁移失败与恢复过程
3、把新建实例的系统盘镜像改名,再把原实例系统盘镜像名称改为新实例

rbd mv vms/26bb3815-3cb1-425a-aa96-2dc6fc9fcefe_disk vms/26bb3815-3cb1-425a-aa96-2dc6fc9fcefe_disk_bakrbd mv vms/278eeaf1-bcdd-42f5-b4d9-bd04f0b2bc6c_disk vms/26bb3815-3cb1-425a-aa96-2dc6fc9fcefe_diskrbd ls vms

记一次 openstack 云主机热迁移失败与恢复过程

4、新建一个空的rbd镜像作为原实例的系统盘镜像,防止删除原云主机实例时候报错
记一次 openstack 云主机热迁移失败与恢复过程
理论上随便建一个就可以,删除的时候应该不会校验其他信息,为了尽量保持一致就新建一个大小和版本格式一致的:
rbd create --size 40960 --image-format 2 vms/278eeaf1-bcdd-42f5-b4d9-bd04f0b2bc6c_disk
5、在openstack删除原来的云主机,启动新的实例即可,网络接口方面的配置省略。
总结:以后在做危险操作之前最好先做个快照,有备无患:

rbd snap create vms/278eeaf1-bcdd-42f5-b4d9-bd04f0b2bc6c_disk@snap_20180511rbd snap protect vms/278eeaf1-bcdd-42f5-b4d9-bd04f0b2bc6c_disk@snap_20180511

即使操作过程中出现不可预计错误导致程序执行了删除操作也可以恢复回去(做快照后不可直接删除)

转载于:https://blog.51cto.com/ouziyou/2115220

你可能感兴趣的文章
这次逻辑通了,
查看>>
HTMLHelper
查看>>
快速构建Windows 8风格应用29-捕获图片与视频
查看>>
OC语言Block和协议
查看>>
使用xpath时出现noDefClass的错误(找不到某个类)
查看>>
.Net规则引擎介绍 - REngine
查看>>
CSS3 transforms 3D翻开
查看>>
利用传入的Type类型来调用范型方法的解决方案
查看>>
Top命令内存占用剖析
查看>>
转 网络IO模型:同步IO和异步IO,阻塞IO和非阻塞IO
查看>>
求带分数(蓝桥杯)
查看>>
Bootstrap系列 -- 11. 基础表单
查看>>
Retrofit 入门学习
查看>>
Spring Boot学习笔记
查看>>
python3存入redis是bytes
查看>>
laravel 集合接口
查看>>
C/C++二进制读写png文件
查看>>
thymleaf 常用th 标签
查看>>
RTB 广告系统
查看>>
Linux signal 那些事儿(2)【转】
查看>>