LVM中怎么恢复已删除的物理卷
这篇文章将为大家详细讲解有关LVM中怎么恢复已删除的物理卷,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
Centos8
现有的文件系统下面使用了/dev/sd[a-c]
三块磁盘,将他们划入一个卷组,创建两个逻辑卷:
#Createpv[root@localhost~]#pvcreate/dev/sda[root@localhost~]#pvcreate/dev/sdb[root@localhost~]#pvcreate/dev/sdc#CreateVG[root@localhost~]#vgcreatevg_data/dev/sd[a-c]#CreateLV[root@localhost~]#lvcreate-L25G-nlv_datavg_data[root@localhost~]#lvcreate-L25G-nlv_logvg_data
下面列出逻辑卷的分配使用信息:
[root@localhost~]#pvsPVVGFmtAttrPSizePFree/dev/nvme0n1p2cllvm2a--#vgsVG#PV#LV#SNAttrVSizeVFreecl120wz--n-#lvs-a-o+devicesLVVGAttrLSizePoolOriginData%Meta%MoveLogCpy%SyncConvertDevicesrootcl-wi-ao----15.00g/dev/nvme0n1p2(512)swapcl-wi-ao----2.00g/dev/nvme0n1p2(0)lv_datavg_data-wi-a-----25.00g/dev/sda(0)lv_datavg_data-wi-a-----25.00g/dev/sdb(0)lv_logvg_data-wi-a-----25.00g/dev/sdc(0)lv_logvg_data-wi-a-----25.00g/dev/sdb(1281)
在根目录创建两个文件夹/data和/log,格式化逻辑卷,挂载逻辑卷,并存放一些数据:
[root@localhost~]#mkdir/data/logs[root@localhost~]#mkfs.xfs/dev/vg_data/lv_data[root@localhost~]#mkfs.xfs/dev/vg_data/lv_log[root@localhost~]#mount/dev/vg_data/lv_data/data[root@localhost~]#mount/dev/vg_data/lv_log/data[root@localhost~]#df-hFilesystemSizeUsedAvailUse%Mountedondevtmpfs880M0880M0%/devtmpfs897M0897M0%/dev/shmtmpfs897M8.7M888M1%/runtmpfs897M0897M0%/sys/fs/cgroup/dev/mapper/cl-root15G1.9G14G13%//dev/nvme0n1p1976M183M726M21%/boottmpfs180M0180M0%/run/user/0/dev/mapper/vg_data-lv_log25G211M25G1%/data[root@localhost~]#touch/data/file{1..10}.txt[root@localhost~]#touch/logs/text{1..10}.log将磁盘设置为故障或删除磁盘
这两种情况是意外删除的物理卷或发生故障的磁盘,通过运行pvremove命令删除了任何一个物理卷,或者从虚拟机中移除某一块物理磁盘。
下面从虚拟机中移除一块物理磁盘:
重启系统之后,发现不能挂载lv_data和lv_log逻辑卷了,/dev目录中找不到vg_data
卷组。
如果该逻辑卷设置为开机自动启动了,磁盘发生故障后,由于两个逻辑卷无法挂载文件系统,因此重新引导不能进入系统。只能通过进入单用户模式,并注释fstab
配置文件里面和该逻辑卷相关的条目。
下面从虚拟机中添加一个新的物理磁盘,新添加的磁盘会变成/dev/sdc
[root@localhost~]#lsblk-SNAMEHCTLTYPEVENDORMODELREVTRANsda6:0:0:0diskVMware,VMwareVirtualS1.0spisdb6:0:2:0diskVMware,VMwareVirtualS1.0spisdc6:0:3:0diskVMware,VMwareVirtualS1.0spisr03:0:0:0romNECVMWarVMwareSATACD011.00sata
现在让我们开始为已删除的物理卷恢复元数据。当使用pvs,vgs,lvs命令时,它将警告缺少xxxxx UUID的设备之一。
只需复制UUID并使用grep查看存档和备份。在进行重新引导之前,报告的UUID指的是/dev/sdb设备。
[root@localhost~]#cat/etc/lvm/archive/vg_data_00002-1587647360.vg|grep-B2-A9"v6wYGZ-0dGA-8ecB-kec8-r2zv-gCJi-gulSAD"pv1{id="v6wYGZ-0dGA-8ecB-kec8-r2zv-gCJi-gulSAD"device="/dev/sdb"#Hintonlystatus=["ALLOCATABLE"]flags=[]dev_size=41943040#20Gigabytespe_start=2048pe_count=5119#19.9961Gigabytes}[root@localhost~]#cat/etc/lvm/backup/vg_data|grep-B2-A9"v6wYGZ-0dGA-8ecB-kec8-r2zv-gCJi-gulSAD"pv1{id="v6wYGZ-0dGA-8ecB-kec8-r2zv-gCJi-gulSAD"device="/dev/sdb"#Hintonlystatus=["ALLOCATABLE"]flags=[]dev_size=41943040#20Gigabytespe_start=2048pe_count=5119#19.9961Gigabytes}
让我们先使用pvcreate --test
进行试运行:
[root@localhost~]#pvcreate--test--uuid"v6wYGZ-0dGA-8ecB-kec8-r2zv-gCJi-gulSAD"--restorefile/etc/lvm/archive/vg_data_00002-1587647360.vg/dev/sdcTESTMODE:MetadatawillNOTbeupdatedandvolumeswillnotbe(de)activated.Couldn'tfinddevicewithuuidl5rSrt-SRfc-KQNw-Tm29-gx4D-ihBw-Xzum3L.Couldn'tfinddevicewithuuidv6wYGZ-0dGA-8ecB-kec8-r2zv-gCJi-gulSAD.Couldn'tfinddevicewithuuidUYyDyH-vc6D-XbQ7-ga1X-DKeM-ObLe-tdBLxR.Physicalvolume"/dev/sdc"successfullycreated.
去掉--test
选项,正式创建物理卷:
[root@localhost~]#pvcreate--uuid"v6wYGZ-0dGA-8ecB-kec8-r2zv-gCJi-gulSAD"--restorefile/etc/lvm/archive/vg_data_00002-1587647360.vg/dev/sdcCouldn'tfinddevicewithuuidl5rSrt-SRfc-KQNw-Tm29-gx4D-ihBw-Xzum3L.Couldn'tfinddevicewithuuidv6wYGZ-0dGA-8ecB-kec8-r2zv-gCJi-gulSAD.Couldn'tfinddevicewithuuidUYyDyH-vc6D-XbQ7-ga1X-DKeM-ObLe-tdBLxR.Physicalvolume"/dev/sdc"successfullycreated.[root@localhost~]#pvsPVVGFmtAttrPSizePFree/dev/nvme0n1p2cllvm2a--
然后使用lvm的备份还原卷组。首先加入--test
试运行一下:
[root@localhost~]#vgcfgrestore--test-f/etc/lvm/backup/vg_datavg_dataTESTMODE:MetadatawillNOTbeupdatedandvolumeswillnotbe(de)activated.Volumegroupvg_datahasactivevolume:lv_log.Volumegroupvg_datahasactivevolume:lv_data.WARNING:Found2activevolume(s)involumegroup"vg_data".RestoringVGwithactiveLVs,maycausemismatchwithitsmetadata.Doyoureallywanttoproceedwithrestoreofvolumegroup"vg_data",while2volume(s)areactive?[y/n]:yRestoredvolumegroupvg_data.
下面正式运行一下,去掉--test
选项:
[root@localhost~]#vgcfgrestore-f/etc/lvm/backup/vg_datavg_dataVolumegroupvg_datahasactivevolume:lv_log.Volumegroupvg_datahasactivevolume:lv_data.WARNING:Found2activevolume(s)involumegroup"vg_data".RestoringVGwithactiveLVs,maycausemismatchwithitsmetadata.Doyoureallywanttoproceedwithrestoreofvolumegroup"vg_data",while2volume(s)areactive?[y/n]:yRestoredvolumegroupvg_data.
如果卷组和逻辑卷未激活,请使用下面命令激活:
#扫描卷组[root@localhost~]#vgscanReadingallphysicalvolumes.Thismaytakeawhile...Foundvolumegroup"cl"usingmetadatatypelvm2Foundvolumegroup"vg_data"usingmetadatatypelvm2#激活卷组vg_data[root@localhost~]#vgchange-ayvg_data2logicalvolume(s)involumegroup"vg_data"nowactive#扫描逻辑卷[root@localhost~]#lvscanACTIVE'/dev/cl/swap'[2.00GiB]inheritACTIVE'/dev/cl/root'[15.00GiB]inheritACTIVE'/dev/vg_data/lv_data'[25.00GiB]inheritACTIVE'/dev/vg_data/lv_log'[25.00GiB]inherit
关于“LVM中怎么恢复已删除的物理卷”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。