修复虚机文件系统(挂载虚机的方式)
背景:
Node-20节点发生物理损坏,虚机发生了两次驱散动作导致node-18和node-29都运行着两个虚机,故障现象虚机可以登陆但是网络不通并且伴随文件系统损坏报错
方法:
1、创建同镜像虚机A
2、问题虚机B关机
3、收集问题虚机B卷id
4、编写gao.xml文件
最终gao.xml实例:
<disk type='network' device='disk'>
<driver name='qemu' type='raw' cache='none' discard='unmap'/>
<auth username='nova'>
<secret type='ceph' uuid='94df6e29-c719-4af6-8944-87a77b26f40b'/>
</auth>
<source protocol='rbd' name='volumes/volumes-f4b44980-9d9b-4504-9dbd-1411d1184b6e'>
<host name='192.168.100.18' port='6789'/>
<host name='192.168.100.21' port='6789'/>
<host name='192.168.100.22' port='6789'/>
</source>
<target dev='vdd' bus='virtio'/>
<serial>1d8bbfe6-da61-4d9d-af68-4c85fc1b0651</serial>
</disk>
5、虚机A挂载问题虚机B的系统盘及指定gao.xml文件
virsh attach-device $问题虚机B的instances-id gao.xml
6、登陆虚机A,lsblk查看是否有vdb或者是vdd
7、虚机A中修复问题虚机B文件系统
fsck.ext4 /dev/vdb1(此操作依照实际磁盘位置及磁盘文件系统进行修复)
8、虚机A取消挂载问题虚机B的系统盘
virsh detach-device $问题虚机B的instances-id
9、问题虚机B重启
nova reboot –hard $问题虚机B-uuid
10、虚机恢复正常