首页 > 代码库 > LVM逻辑卷VG卷组丢失故障处理
LVM逻辑卷VG卷组丢失故障处理
LVM是通过将物理的磁盘或磁盘分区创建成物理卷(PV),多个物理卷添加创建为一个卷组(VG),然后在卷组的基础上创建逻辑卷(LVM),进而在逻辑卷上去创建文件系统,这种在硬盘或分区和文件系统之下的磁盘管理机制大大提高了对磁盘管理的灵活性,也是当前企业Linux环境下实现对磁盘分区管理的方式。
但在实际应用管理中,常常因为误操作,系统断电等原因造成卷组丢失,逻辑卷无法挂载等异常的故障,本文将通过在企业运维实践中逻辑卷故障处理过程给大家分享因为断电原因造成卷组丢失的恢复方法。
问题现象
系统重启后,发现LVM中的一个VG丢失,导致Coremail的邮件系统无法运行。具体现象截图如下。
原因分析
1、一般LVM的VG丢失都是由于突然断电或者更换了操作系统等原因引起。尝试执行vgscan命令扫描卷组,无果。尝试通过vgcfgrestore –f /etc/lvm/backup/data data 命令恢复VG卷组,提示以下错误。
Cannot restore Volume Group data with 1 PVs marked as missing.
Restore failed.
2、查看/etc/lvm/backup/data文件中PV0的ID号,与pvdisplay /dev/emcpowera命令中显示的UUID号不一致,初步判断是因为系统重启后,/dev/emcpowera的UUID号发生变化了。导致VG无法找到对应的物理卷。
解决方法
为了防止数据丢失或破坏,首先对/dev/emcpowera设备的数据进行备份。如下所示。
[root@MCBL043 backup]# dd if=/dev/emcpowera of=/data/01/emcpowera.img
209715200+0 records in
209715200+0 records out
107374182400 bytes (107 GB) copied, 455.871 s, 236 MB/s
执行以下命令重新修正/dev/emcpowera的UUID号。
[root@MCBL043 backup]# pvcreate -u blfaxf-3CER-4r4l-MS32-v0aN-s3Ta-DH08ZV(此内容为/etc/lvm/backup/data/文件中PV的ID号) /dev/emcpowera --restorefile /etc/lvm/backup/data
Physical volume "/dev/emcpowera" successfully created
恢复卷组信息。
[root@MCBL043 backup]# vgcfgrestore -f /etc/lvm/backup/data data
Restored volume group data
执行PVS,VGS查看卷组和物理卷信息,发现卷组信息已经找回。
[root@MCBL043 backup]# vgs
Found duplicate PV i8eJ0wjj9aCnINA3PuXs40eHn71KYGA9: using /dev/sde not /dev/sdai
Found duplicate PV PEm5MuUjFCt3RNI246UUcd3FrjDfuPJE: using /dev/sdak not /dev/sdq
Found duplicate PV zo1d35HeUV4frKw88HX0F34ynK2EYsXv: using /dev/sdal not /dev/sdr
Found duplicate PV UdYII1L3cG3lhIiemcoUY8nTf19jxRcv: using /dev/sdam not /dev/sds
Found duplicate PV Gy9jrkkhgRt0vgP4psvMOapl79Ui4f1Q: using /dev/sdan not /dev/sdt
Found duplicate PV w8LuGV0ML9mFDYneAGCR1iV5LdJyg8bo: using /dev/sdao not /dev/sdu
VG #PV #LV #SN Attr VSize VFree
data 1 0 0 wz--n- 100.00g 100.00g
data00b1 1 1 0 wz--n- 1024.00g 0
data01b1 1 1 0 wz--n- 1024.00g 0
data02b1 1 1 0 wz--n- 1024.00g 0
data03b1 1 1 0 wz--n- 1024.00g 0
data04b1 1 1 0 wz--n- 1024.00g 0
data05b1 1 1 0 wz--n- 1024.00g 0
homeb1 1 1 0 wz--n- 200.00g 0
indexb1 1 1 0 wz--n- 200.00g 0
searchb1 1 1 0 wz--n- 1024.00g 0
vg_mcbl043 1 2 0 wz--n- 557.66g 0
[root@MCBL043 backup]# lvs
Found duplicate PV i8eJ0wjj9aCnINA3PuXs40eHn71KYGA9: using /dev/sde not /dev/sdai
Found duplicate PV PEm5MuUjFCt3RNI246UUcd3FrjDfuPJE: using /dev/sdak not /dev/sdq
Found duplicate PV zo1d35HeUV4frKw88HX0F34ynK2EYsXv: using /dev/sdal not /dev/sdr
Found duplicate PV UdYII1L3cG3lhIiemcoUY8nTf19jxRcv: using /dev/sdam not /dev/sds
Found duplicate PV Gy9jrkkhgRt0vgP4psvMOapl79Ui4f1Q: using /dev/sdan not /dev/sdt
Found duplicate PV w8LuGV0ML9mFDYneAGCR1iV5LdJyg8bo: using /dev/sdao not /dev/sdu
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home data -wi------- 100.00g
sata data00b1 -wi-ao---- 1024.00g
sata data01b1 -wi-ao---- 1024.00g
sata data02b1 -wi-ao---- 1024.00g
sata data03b1 -wi-ao---- 1024.00g
sata data04b1 -wi-ao---- 1024.00g
sata data05b1 -wi-ao---- 1024.00g
home homeb1 -wi-ao---- 200.00g
ssd indexb1 -wi-ao---- 200.00g
sata searchb1 -wi-ao---- 1024.00g
LogVol00 vg_mcbl043 -wi-ao---- 16.00g
LogVol01 vg_mcbl043 -wi-ao---- 541.66g
执行lvchange命令,重新激活LV逻辑卷。
[root@MCBL043 backup]# lvchange -ay /dev/data/home
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home data -wi-a----- 100.00g
sata data00b1 -wi-ao---- 1024.00g
sata data01b1 -wi-ao---- 1024.00g
sata data02b1 -wi-ao---- 1024.00g
sata data03b1 -wi-ao---- 1024.00g
sata data04b1 -wi-ao---- 1024.00g
sata data05b1 -wi-ao---- 1024.00g
home homeb1 -wi-ao---- 200.00g
ssd indexb1 -wi-ao---- 200.00g
sata searchb1 -wi-ao---- 1024.00g
LogVol00 vg_mcbl043 -wi-ao---- 16.00g
LogVol01 vg_mcbl043 -wi-ao---- 541.66g
重新挂载使用。
[root@MCBL043 backup]# mount /dev/mapper/data-home /mnt
[root@MCBL043 backup]# cd /mnt
[root@MCBL043 mnt]# ls
coremail lost+found
[root@MCBL043 mnt]# cd coremail/
[root@MCBL043 coremail]# ls
api client_body_temp del.txt gateway java lib64 logs oracle proxy_temp scgi_temp sso uwsgi_temp web
bin conf fastcgi_temp install lib libexec mysql oradiag_coremail sbin sophos-av ud1_coremail.tar.gz var
[root@MCBL043 coremail]# pwd
/mnt/coremail
至此,故障解除。
LVM逻辑卷VG卷组丢失故障处理