本文小编为大家详细介绍“LVM怎么恢复已删除的逻辑卷”,内容详细,步骤清晰,细节处理妥当,希望这篇“LVM怎么恢复已删除的逻辑卷”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
系统环境
Centos8
现有的文件系统
在开始本文之前已经创建了一个逻辑卷,里面并存放了一些文件。
[root@localhost ~]# pvs PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 cl lvm2 a-- # vgs
VG #PV #LV #SN Attr VSize VFree cl 1 2 0 wz--n- # lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- 15.00g
swap cl -wi-ao---- 2.00g
lv_data vg_data -wi-ao---- 39.99g
[root@localhost ~]# df -h /dataFilesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_data-lv_data 40G 318M 40G 1% /data
/data目录中的文件如下:
意外删除逻辑卷
为了演示起见,请删除逻辑卷lv_data。
[root@localhost ~]# umount /data[root@localhost ~]# lvremove -v /dev/vg_data/lv_dataDo you really want to remove active logical volume vg_data/lv_data? [y/n]: y
Accepted input: [y]
Removing vg_data-lv_data (253:2)
Archiving volume group "vg_data" metadata (seqno 2).
Releasing logical volume "lv_data" Creating volume group backup "/etc/lvm/backup/vg_data" (seqno 3).
Logical volume "lv_data" successfully removed
使用lvs
命令打印并确认我们已经删除了逻辑卷lv_data:
由于lv_data卷已删除,可以看到卷组vg_data的剩余空间是40G。
[root@localhost ~]# vgs VG #PV #LV #SN Attr VSize VFree cl 1 2 0 wz--n-
开始恢复逻辑卷
现在,让我们看看如何还原已删除的逻辑卷。每当我们执行与LVM相关的任何任务(时,所有内容都将被记录在/etc/lvm/archive.
下。并使用vgcfgbackup
命令备份卷组配置并将其存储在/etc/lvm/backup
下。
[root@localhost ~]# ll /etc/lvm/backup/total 8
-rw-------. 1 root root 1746 Mar 9 16:27 cl
-rw-------. 1 root root 1147 Apr 8 10:20 vg_data
[root@localhost ~]# ll /etc/lvm/archive/total 24
-rw-------. 1 root root 1740 Dec 29 2019 cl_00000-1531402016.vg
-rw-------. 1 root root 1740 Mar 9 16:27 cl_00001-790744555.vg
-rw-------. 1 root root 1747 Mar 9 16:27 cl_00002-1369752011.vg
-rw-------. 1 root root 1150 Apr 8 09:52 vg_data_00000-919482485.vg
-rw-------. 1 root root 1155 Apr 8 09:54 vg_data_00001-1289102393.vg
-rw-------. 1 root root 1763 Apr 8 10:20 vg_data_00002-1932879749.vg
在上面删除逻辑卷的步骤中,使用lvremove -v /dev/vg_data/lv_data
命令时,可以看到输出的详细信息,有archiving和create backup。
下面列出并检查有多少个卷组元数据备份可用:
[root@localhost ~]# vgcfgrestore --list vg_data
File: /etc/lvm/archive/vg_data_00000-919482485.vg
Couldn't find device with uuid l5rSrt-SRfc-KQNw-Tm29-gx4D-ihBw-Xzum3L.
Couldn't find device with uuid v6wYGZ-0dGA-8ecB-kec8-r2zv-gCJi-gulSAD.
VG name: vg_data
Description: Created *before* executing 'vgcreate vg_data /dev/sda /dev/sdb' Backup Time: Thu Apr 8 09:52:49 2021
File: /etc/lvm/archive/vg_data_00001-1289102393.vg
VG name: vg_data
Description: Created *before* executing 'lvcreate -l 100%FREE -n lv_data vg_data' Backup Time: Thu Apr 8 09:54:45 2021
File: /etc/lvm/archive/vg_data_00002-1932879749.vg
VG name: vg_data
Description: Created *before* executing 'lvremove -v /dev/vg_data/lv_data' Backup Time: Thu Apr 8 10:20:53 2021
File: /etc/lvm/backup/vg_data
VG name: vg_data
Description: Created *after* executing 'lvremove -v /dev/vg_data/lv_data' Backup Time: Thu Apr 8 10:20:53 2021
--list
选项列出与VG有关的元数据备份和存档文件。 我们要恢复的事删除卷组之前的存档,所以选择下面圈出来的/etc/lvm/archive/vg_data_00002-1932879749.vg
文件。
在恢复之前,使用--test
选项来试运行一下:
[root@localhost ~]# vgcfgrestore vg_data -f /etc/lvm/archive/vg_data_00002-1932879749.vg --test TEST MODE: Metadata will NOT be updated and volumes will not be (de)activated.
Restored volume group vg_data.
试运行没问题之后,去掉--test
选项,然后再执行一次:
[root@localhost ~]# vgcfgrestore vg_data -f /etc/lvm/archive/vg_data_00002-1932879749.vg Restored volume group vg_data.
可看到成功恢复卷组vg_data
。
-f
选项读取由vgcfgbackup创建的元数据文件。
使用lvs
查看lv_data逻辑卷是否已恢复,并且使用lvscan
查看逻辑卷是否激活:
[root@localhost ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- 15.00g
swap cl -wi-ao---- 2.00g
lv_data vg_data -wi------- 39.99g
[root@localhost ~]# lvscan ACTIVE '/dev/cl/swap' [2.00 GiB] inherit
ACTIVE '/dev/cl/root' [15.00 GiB] inherit
inactive '/dev/vg_data/lv_data' [39.99 GiB] inherit
可看到lv_data已恢复,但是状态是未激活。下一步就激活逻辑卷。
激活逻辑卷
使用lvchange
命令将逻辑卷激活:
[root@localhost ~]# lvchange -ay /dev/vg_data/lv_data[root@localhost ~]# lvscan ACTIVE '/dev/cl/swap' [2.00 GiB] inherit
ACTIVE '/dev/cl/root' [15.00 GiB] inherit
ACTIVE '/dev/vg_data/lv_data' [39.99 GiB] inherit
[root@localhost ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- 15.00g
swap cl -wi-ao---- 2.00g
lv_data vg_data -wi-a----- 39.99g
上图可以看到”/dev/vg_data/lv_data”逻辑卷已激活。
挂载并检验
挂载文件系统:
[root@localhost ~]# mount /dev/vg_data/lv_data /data/[root@localhost ~]# df -h /dataFilesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_data-lv_data 40G 318M 40G 1% /data
可以看到文件都已经存在了。
读到这里,这篇“LVM怎么恢复已删除的逻辑卷”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注天达云行业资讯频道。