本文介绍如何恢复已删除的逻辑卷,如要执行恢复将使用vgcfgrestore命令。 |
在执行任何逻辑卷管理相关任务时,如果意外的删除了逻辑卷,则可以使用它的数据还原功能来恢复逻辑卷。在下面的步骤中,将演示如何通过删除卷组中的任何一个逻辑卷,并恢复已删除的逻辑卷。 系统环境
Centos8 现有的文件系统
在开始本文之前已经创建了一个逻辑卷,里面并存放了一些文件。 [root@localhost ~]# pvs PV VG Fmt Attr PSize PFree /dev/nvme0n1p2 cl lvm2 a-- <19.00g <2.00g /dev/sda vg_data lvm2 a-- <20.00g 0 /dev/sdb vg_data lvm2 a-- <20.00g 0 [root@localhost ~]# vgs VG #PV #LV #SN Attr VSize VFree cl 1 2 0 wz--n- <19.00g <2.00g vg_data 2 1 0 wz--n- 39.99g 0 [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-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_data Do 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- <19.00g <2.00g vg_data 2 0 0 wz--n- 39.99g 39.99g开始恢复逻辑卷
现在,让我们看看如何还原已删除的逻辑卷。每当我们执行与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: |