修复openstack虚拟机跟分区损坏大致的流程,通用型

1, nova list --all --ip ip 查找 uuid
2.nova show uuid 查找宿主和 virsh name

2, 登录宿主
virsh domblklist instance-00001824 查询rbd块
vda cinder/05894075-b246-4bdb-ba2f-733a5b865740_disk 系统盘
vdb cinder/volume-ffd182c1-1a60-4789-be87-aa7f4d73c636 数据盘

记录rbd信息。

3新建虚拟机和添加数据盘, 记得虚拟机不能跟故障虚拟机的操作系统模板一个,不然挂载会有问题,假如没有其他的记得挂载添加

mount -o rw,nouuid /dev/vdb1 /mnt/

4,虚拟机新建完毕以后,关机。
mv 旧的rbd块, 把 旧的虚拟操作系统的rbd块,copy 过来, 命名位数据盘的rbd name。
rbd mv cinder/05894075-b246-4bdb-ba2f-733a5b865740_disk cinder/05894075-b246-4bdb-ba2f-733a5b865740_disk-back11282028
rbd cp cinder/volume-00cce008-1b77-46b4-835c-c33af2e61c68 cinder/05894075-b246-4bdb-ba2f-733a5b865740_disk

5, 开启虚拟机,修复 磁盘或者修复删除的 文件 可以百度xfs ,ext2/3/4 的修复方式。
修复完后,挂在测试ok后,关闭虚拟机。

首先尝试mount和umount文件系统,以便重放日志,修复文件系统,如果不行,再进行如下操作。

  1. 检查文件系统
    做此步之前确保分区处于umount状态
    xfs_check /dev/sdd(盘符); echo $?
    返回0表示正常

  2. 执行xfs_repair -n,检查文件系统是否损坏,如何损坏会列出将要执行的操作
    执行xfs_repair -n,检查文件系统是否损坏,如何损坏会列出将要执行的操作

  3. 执行xfs_repair修复文件系统
    xfs_repair /dev/sdd (ext系列工具为fsck)

  4. 最后方法:损失部分数据的修复方法
    根据打印消息,修复失败时:
    先执行xfs_repair -L /dev/sdd(清空日志,会丢失文件),再执行xfs_repair /dev/sdd,再执行xfs_check /dev/sdd 检查文件系统是否修复成功。
    说明:-L是修复xfs文件系统的最后手段,慎重选择,它会清空日志,会丢失用户数据和文件。

备注:在执行xfs_repair操作前,最好使用xfs_metadump工具保存元数据,一旦修复失败,最起码可以恢复到修复之前的状态。

6, 把问题虚拟机的系统的rbd mv走, 把修复完毕的 数据盘的rbd copy过去, 名字位问题虚拟机的系统盘。
rbd mv cinder/05894075-b246-4bdb-ba2f-733a5b865740_disk cinder/05894075-b246-4bdb-ba2f-733a5b865740_disk-back11282028
rbd cp cinder/volume-00cce008-1b77-46b4-835c-c33af2e61c68 cinder/05894075-b246-4bdb-ba2f-733a5b865740_disk

7,开虚拟机测试,问题修复后 验证数据是否丢失。

8, 清理垃圾数据,删除新建的虚拟机和之前备份的 两个rbd块。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值