Linux-LVM-PV丢失导致vg异常

故障原因:服务器异常重启之后,识别不到PV,故障现象如下

[root@app-03 ~]# pvs
  WARNING: Device for PV 13uLNW-NTlU-vut8-rbjU-u3FX-CGR0-GghK6n not found or rejected by a filter.
  Couldn't find device with uuid 13uLNW-NTlU-vut8-rbjU-u3FX-CGR0-GghK6n.
  PV         VG        Fmt  Attr PSize    PFree   
  /dev/sda   backupvg  lvm2 a--     2.18t  187.61g
  /dev/sdf   oradatavg lvm2 a--   894.25g  252.50g
  /dev/sdn3  rootvg    lvm2 a--    64.00g       0 
  /dev/sdn4  oraclevg  lvm2 a--  <300.00g <100.00g
  /dev/sdn5  rootvg    lvm2 a--   <54.00g       0 
  /dev/sdn6  rootvg    lvm2 a--   <98.00g       0 
  [unknown]  oradatavg lvm2 a-m   894.25g       0

[root@app-03 ~]# vgs
  WARNING: Device for PV 13uLNW-NTlU-vut8-rbjU-u3FX-CGR0-GghK6n not found or rejected by a filter.
  Couldn't find device with uuid 13uLNW-NTlU-vut8-rbjU-u3FX-CGR0-GghK6n.
  VG        #PV #LV #SN Attr   VSize    VFree   
  backupvg    1   1   0 wz--n-    2.18t  187.61g
  oraclevg    1   1   0 wz--n- <300.00g <100.00g
  oradatavg   2   1   0 wz-pn-   <1.75t  252.50g
  rootvg      3   5   0 wz--n-  215.99g       0

Linux的LVM会默认存储用户对PV/VG/LV的每一步操作,并自动把当前的VG的信息备份到一个文件里面,位置是/etc/lvm/backup/VG名。

这个文件里面记录的东西大概跟vgdisplay/pvdisplay/lvdisplay输出的信息一致,里面也包括了对于恢复VG信息至关重要的PVUUID。

这个文件记录的信息大概就相当于整个VG的元数据,这个文件非常重要,通过这个文件来恢复整个VG的信息

可以看到 PV0 Sde就是丢失盘的UUID

[root@app-03 ~]# cat /etc/lvm/backup/oradatavg 
# Generated by LVM2 version 2.02.180(2)-RHEL7 (2018-07-20): Wed Aug 28 14:42:20 2019

contents = "Text Format Volume Group"
version = 1

description = "Created *after* executing 'lvcreate -L 1572864M -n lv_oracle_data oradatavg'"

creation_host = "app-03"	# Linux app-03 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64
creation_time = 1566974540	# Wed Aug 28 14:42:20 2019

oradatavg {
	id = "efT5Up-yfH0-qVus-MV1G-csWl-fhMW-B3jvba"
	seqno = 2
	format = "lvm2"			# informational
	status = ["RESIZEABLE", "READ", "WRITE"]
	flags = []
	extent_size = 8192		# 4 Megabytes
	max_lv = 0
	max_pv = 0
	metadata_copies = 0

	physical_volumes {

		pv0 {
			id = "13uLNW-NTlU-vut8-rbjU-u3FX-CGR0-GghK6n"
			device = "/dev/sde"	# Hint only

			status = ["ALLOCATABLE"]
			flags = []
			dev_size = 1875385008	# 894.253 Gigabytes
			pe_start = 2048
			pe_count = 228928	# 894.25 Gigabytes
		}

		pv1 {
			id = "REBnPF-3f0t-a3w5-XHZ2-H0ML-T5og-edthrO"
			device = "/dev/sdf"	# Hint only

			status = ["ALLOCATABLE"]
			flags = []
			dev_size = 1875385008	# 894.253 Gigabytes
			pe_start = 2048
			pe_count = 228928	# 894.25 Gigabytes
		}
	}

	logical_volumes {

		lv_oracle_data {
			id = "tzR0gr-BKGI-yBts-48xW-B9ya-Flrv-gco616"
			status = ["READ", "WRITE", "VISIBLE"]
			flags = []
			creation_time = 1566974540	# 2019-08-28 14:42:20 +0800
			creation_host = "app-03"
			segment_count = 2

			segment1 {
				start_extent = 0
				extent_count = 228928	# 894.25 Gigabytes

				type = "striped"
				stripe_count = 1	# linear

				stripes = [
					"pv0", 0
				]
			}
			segment2 {
				start_extent = 228928
				extent_count = 164288	# 641.75 Gigabytes

				type = "striped"
				stripe_count = 1	# linear

				stripes = [
					"pv1", 0
				]
			}
		}
	}

}

恢复步骤:

[root@app-03 ~]# pvcreate /dev/sde -u 13uLNW-NTlU-vut8-rbjU-u3FX-CGR0-GghK6n --restorefile /etc/lvm/backup/oradatavg       // 使用原来的PV UUID来创建PV,并使用自动备份的文件来恢复信息
  Couldn't find device with uuid 13uLNW-NTlU-vut8-rbjU-u3FX-CGR0-GghK6n.
  WARNING: Device for PV 13uLNW-NTlU-vut8-rbjU-u3FX-CGR0-GghK6n not found or rejected by a filter.
  Physical volume "/dev/sde" successfully created.

[root@app-03 ~]# vgcfgrestore oradatavg        // 恢复datavg的vg信息
  Restored volume group oradatavg
  Scan of VG oradatavg from /dev/sde found metadata seqno 3 vs previous 2.
  Scan of VG oradatavg from /dev/sdf found metadata seqno 3 vs previous 2.

恢复完成后,挂载目录显示lv不存在

[root@app-03 ~]# mount /dev/oradatavg/lv_oracle_data /oradata
mount: special device /dev/oradatavg/lv_oracle_data does not exist

 查看lv时,lv还是存在的

[root@app-03 ~]# lvs
  LV             VG        Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv_ora_backup  backupvg  -wi-ao----    2.00t                                                    
  lv_oracle_home oraclevg  -wi-ao----  200.00g                                                    
  lv_oracle_data oradatavg -wi-------    1.50t                                                    
  lvhome         rootvg    -wi-ao----    1.00g                                                    
  lvopt          rootvg    -wi-ao----   10.00g                                                    
  lvroot         rootvg    -wi-ao----  <73.00g                                                    
  lvswap         rootvg    -wi-ao----   32.00g                                                    
  lvvar          rootvg    -wi-ao---- <100.00g                 

lvmdisplay查看到lv状态是未激活

lvdisplay
  --- Logical volume ---
  LV Path                /dev/oradatavg/lv_oracle_data
  LV Name                lv_oracle_data
  VG Name                oradatavg
  LV UUID                tzR0gr-BKGI-yBts-48xW-B9ya-Flrv-gco616
  LV Write Access        read/write
  LV Creation host, time app-03, 2019-08-28 14:42:20 +0800
  LV Status              NOT available
  LV Size                1.50 TiB
  Current LE             393216
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto

激活lv

[root@app-03 ~]# vgchange -ay oradatavg 
  1 logical volume(s) in volume group "oradatavg" now active

  --- Logical volume ---
  LV Path                /dev/oradatavg/lv_oracle_data
  LV Name                lv_oracle_data
  VG Name                oradatavg
  LV UUID                tzR0gr-BKGI-yBts-48xW-B9ya-Flrv-gco616
  LV Write Access        read/write
  LV Creation host, time app-03, 2019-08-28 14:42:20 +0800
  LV Status              available
  # open                 0
  LV Size                1.50 TiB
  Current LE             393216
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:

激活后再挂载,挂载正常

注:如果换了一个新的没有数据盘的,此vg下的lv还需要从新格式化

猜你喜欢

转载自blog.csdn.net/weixin_50877409/article/details/131092286
今日推荐