xfs 文件系统修复

pvcreate /dev/sdb1
pvcreate /dev/sdc1
pvcreate /dev/sdd1
vgcreate vg_bricks /dev/sdb1
vgcreate vg_bricks /dev/sdc1
vgcreate vg_bricks /dev/sdd1
vgdisplay
vgcreate vg_bricks /dev/sdb1 /dev/sdc1 /dev/sdd1
vgdisplay
lvcreate -L 114T vg_bricks -n brick3
vgdisplay
vgscan
lvscan

 

环境介绍

 


/dev/sdb1

 

查看/etc/lvm/backup/vg_bricks

都到对应的pv,记录pvid号,然后重新pvcreate 相同的pvid,恢复逻辑卷

 pv0 {

id = "BhHwoi-EdE8-xUOJ-KIR5-TjE5-RY4g-irrFBu"
device = "/dev/sdb1" # Hint only
}

pv1 {
id = "BXVgSI-9H9N-K3jp-YgJa-QLBG-6dXu-1rvznY"
device = "/dev/sdc1" # Hint only

}

pv2 {
id = "J1SUJm-e2cm-YLy9-F637-UXEM-rlxU-rTbzer"
device = "/dev/sdd1" # Hint only
}

pvcreate /dev/sdb -u BhHwoi-EdE8-xUOJ-KIR5-TjE5-RY4g-irrFBu --restorefile /etc/lvm/backup/vg_bricks


pvcreate /dev/sdc -u BXVgSI-9H9N-K3jp-YgJa-QLBG-6dXu-1rvznY --restorefile /etc/lvm/backup/vg_bricks

pvcreate /dev/sdd -u J1SUJm-e2cm-YLy9-F637-UXEM-rlxU-rTbzer --restorefile /etc/lvm/backup/vg_bricks

使用vg还原
cd /etc/lvm/backup/
vgcfgrestore vg_bricks

查看vg,pv,lv的状态
vgs&&pvs&&lvs

使改变生效
vgchange -ay vg_bricks


1、检查文件系统:先确保umount
xfs_check /dev/mapper/vg_bricks-brick3; echo $?
返回0表示正常
2、执行xfs_repair -n,检查文件系统是否损坏,如何损坏会列出将要执行的操作
如果幸运的话,会发现没有问题,你可以跳过后续的操作。
该命令将表明会做出什么修改,一般情况下速度很快,即便数据量很大,没理由跳过。
3、执行xfs_repair修复文件系统
xfs_repair /dev/mapper/vg_bricks-brick3

(ext系列工具为fsck)

 

xfs_repair  慎用

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

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






posted @ 2018-03-16 17:08  corangeh  阅读(3128)  评论(0编辑  收藏  举报