首页 > 代码库 > 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卷组丢失故障处理