首页 > 其他 > 详细

openstack宿主机故障,虚拟实例恢复

时间:2020-12-24 16:55:33      阅读:52      评论:0      收藏:0      [点我收藏+]

前言: 因为机房服务器运行不稳定的原因导致计算节点挂掉,然后上面的Centos7虚拟机在迁移之后开机报错。这个解决方法同样适用于其它操作系统的虚拟机。基于镜像创建的虚拟机实例。

I/O error, can‘t read device /dev/vda 的报错信息

首先做疏散先把虚拟实例从宿主机上面疏散到其它主机,关闭云主机。

1.找到虚拟机的ID可以通过dashboard界面或者使用openstack server list命令,找到虚拟机的ID;然后查看虚拟机的详细信息。

比如:

技术分享图片

nova show 8fa3d2eb-2401-48a9-850a-f800314c6950

# 与这个命令相同功能的命令还有
openstack server show ID

技术分享图片

连接到所在的计算节点,实例名称确定是哪台主机。

技术分享图片

通过ID可以确定该虚拟机实例的数据目录,如果openstack没有对接存储的话那么在这个目录下就会存在数据文件,因为对接了ceph所以信息在libvirt.xml的文件里面。

技术分享图片

cat /var/lib/nova/instances/8fa3d2eb-2401-48a9-850a-f800314c6950/libvirt.xml 里面就是它的vda的ID。

技术分享图片

2.当找到这个磁盘的ID之后,在ceph集群里面去查看这个设备

rbd ls volumes | grep 8fa3d2eb-2401-48a9-850a-f800314c6950

技术分享图片

3.取消它原来有的一些属性

# 查看卷
rbd info volumes/0859147d-27aa-49a5-8373-7c515c4f3a02_disk

#取消它原来有的一些属性
rbd feature disable exclusive-lock object-map fast-diff  deep-flatten --image 8fa3d2eb-2401-48a9-850a-f800314c6950_disk -p volumes

4.把它映射到本地

rbd map 8fa3d2eb-2401-48a9-850a-f800314c6950_disk -p volumes

# 如果映射不了执行下这个命令。
rbd flatten volumes/8fa3d2eb-2401-48a9-850a-f800314c6950_disk

5.使用命令修复

# 有的可能修复不了就只能做好丢失数据的准备了
xfs_repair -L /dev/rbd0p1

可以ls /dev/rbd* 查看一下,rbd0p1表示的事一个启动分区。

6.取消映射

rbd unmap 8fa3d2eb-2401-48a9-850a-f800314c6950_disk -p volumes

这个时候再重新启动就正常了。

openstack宿主机故障,虚拟实例恢复

原文:https://www.cnblogs.com/gshelldon/p/14183586.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!