删除逻辑卷
##删除逻辑卷/dev/vgapp/lvapp
[root@xiaoou ~]# umount /dev/vgapp/lvapp
[root@xiaoou ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 12M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 46G 1.8G 44G 4% /
/dev/sda1 1014M 150M 865M 15% /boot
tmpfs 378M 0 378M 0% /run/user/0
[root@xiaoou ~]# lvremove -v /dev/vgapp/lvapp
Do you really want to remove active logical volume vgapp/lvapp? [y/n]: y
Accepted input: [y]
Removing vgapp-lvapp (253:4)
Archiving volume group "vgapp" metadata (seqno 4).
Releasing logical volume "lvapp"
Creating volume group backup "/etc/lvm/backup/vgapp" (seqno 5).
Logical volume "lvapp" successfully removed
##使用lvs命令打印并确认我们已经删除了逻辑卷/dev/vgapp/lvapp
[root@xiaoou ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <45.12g
swap centos -wi-ao---- <3.88g
lvapp2 vgapp -wi-a----- 100.00m
lvapp3 vgapp -wi-a----- 900.00m
##由于lvapp卷已删除,可以看到卷组vgapp的剩余空间是4.02G
[root@xiaoou ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <49.00g 4.00m
vgapp 1 2 0 wz--n- <5.00g <4.02g
开始恢复逻辑卷
现在,让我们看看如何还原已删除的逻辑卷。每当我们执行与LVM相关的任何任务时,所有内容都将被记录在/etc/lvm/archive.下。并使用vgcfgbackup命令备份卷组配置并将其存储在/etc/lvm/backup下
[root@xiaoou ~]# ll /etc/lvm/backup/
total 8
-rw-------. 1 root root 1739 Jul 4 03:37 centos
-rw-------. 1 root root 1684 Jul 5 20:10 vgapp
[root@xiaoou ~]# ll /etc/lvm/archive/
total 28
-rw-------. 1 root root 1740 Jul 4 03:37 centos_00000-992801009.vg
-rw-------. 1 root root 866 Jul 5 17:05 vgapp_00000-142262385.vg
-rw-------. 1 root root 875 Jul 5 17:11 vgapp_00001-113561652.vg
-rw-------. 1 root root 1292 Jul 5 17:14 vgapp_00002-31881502.vg
-rw-------. 1 root root 1686 Jul 5 17:15 vgapp_00003-2019542093.vg
-rw-------. 1 root root 2085 Jul 5 18:10 vgapp_00004-1663283959.vg
-rw-------. 1 root root 2081 Jul 5 20:10 vgapp_00005-2144796372.vg
在上面删除逻辑卷的步骤中,使用lvremove -v /dev/vg_data/lv_data 命令时,可以看到输出的详细信息,有archiving和create backup
Archiving volume group "vgapp" metadata (seqno 4).
Releasing logical volume "lvapp"
Creating volume group backup "/etc/lvm/backup/vgapp" (seqno 5).
下面列出并检查有多少个卷组元数据备份可用
[root@xiaoou ~]# vgcfgrestore --list vgapp
File: /etc/lvm/archive/vgapp_00000-142262385.vg
Couldn't find device with uuid G5LqXd-IkMw-Caf9-EKm5-80dn-sfqh-NZnT2T.
VG name: vgapp
Description: Created *before* executing 'vgcreate vgapp /dev/sdc'
Backup Time: Fri Jul 5 17:05:56 2024
File: /etc/lvm/archive/vgapp_00001-113561652.vg
VG name: vgapp
Description: Created *before* executing 'lvcreate -L 100M -n lvapp2 vgapp'
Backup Time: Fri Jul 5 17:11:40 2024
File: /etc/lvm/archive/vgapp_00002-31881502.vg
VG name: vgapp
Description: Created *before* executing 'lvcreate -L 900M -n lvapp3 vgapp'
Backup Time: Fri Jul 5 17:14:53 2024
File: /etc/lvm/archive/vgapp_00003-2019542093.vg
VG name: vgapp
Description: Created *before* executing 'lvcreate -L 4G -n lvapp vgapp'
Backup Time: Fri Jul 5 17:15:12 2024
File: /etc/lvm/archive/vgapp_00004-1663283959.vg
VG name: vgapp
Description: Created *before* executing 'lvextend -L +1G /dev/vgapp/lvapp'
Backup Time: Fri Jul 5 18:10:10 2024
File: /etc/lvm/archive/vgapp_00005-2144796372.vg
VG name: vgapp
Description: Created *before* executing 'lvremove -v /dev/vgapp/lvapp'
Backup Time: Fri Jul 5 20:10:50 2024
File: /etc/lvm/backup/vgapp
VG name: vgapp
Description: Created *after* executing 'lvremove -v /dev/vgapp/lvapp'
Backup Time: Fri Jul 5 20:10:50 2024
##在恢复之前,使用--test选项来试运行一下
[root@xiaoou ~]# vgcfgrestore vgapp -f /etc/lvm/archive/vgapp_00003-2019542093.vg --test
TEST MODE: Metadata will NOT be updated and volumes will not be (de)activated.
Volume group vgapp has active volume: lvapp3.
Volume group vgapp has active volume: lvapp2.
WARNING: Found 2 active volume(s) in volume group "vgapp".
Restoring VG with active LVs, may cause mismatch with its metadata.
Do you really want to proceed with restore of volume group "vgapp", while 2 volume(s) are active? [y/n]: y
Restored volume group vgapp
##试运行没问题之后,去掉--test选项,然后再执行一次
[root@xiaoou ~]# vgcfgrestore vgapp -f /etc/lvm/archive/vgapp_00005-2144796372.vg
Volume group vgapp has active volume: lvapp3.
Volume group vgapp has active volume: lvapp2.
WARNING: Found 2 active volume(s) in volume group "vgapp".
Restoring VG with active LVs, may cause mismatch with its metadata.
Do you really want to proceed with restore of volume group "vgapp", while 2 volume(s) are active? [y/n]: y
Restored volume group vgapp
##使用lvs查看lv_data逻辑卷是否已恢复,并且使用lvscan查看逻辑卷是否激活:
[root@xiaoou ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <45.12g
swap centos -wi-ao---- <3.88g
lvapp vgapp -wi------- 4.00g
lvapp2 vgapp -wi-a----- 100.00m
lvapp3 vgapp -wi-a----- 900.00m
[root@xiaoou ~]# lvscan
ACTIVE '/dev/vgapp/lvapp2' [100.00 MiB] inherit
ACTIVE '/dev/vgapp/lvapp3' [900.00 MiB] inherit
inactive '/dev/vgapp/lvapp' [4.00 GiB] inherit
ACTIVE '/dev/centos/swap' [<3.88 GiB] inherit
ACTIVE '/dev/centos/root' [<45.12 GiB] inherit
可看到lv_data已恢复,但是状态是未激活。下一步就激活逻辑卷。
激活逻辑卷
## 使用lvchange命令将逻辑卷激活
[root@xiaoou ~]# lvchange -ay /dev/vgapp/lvapp
[root@xiaoou ~]# lvscan
ACTIVE '/dev/vgapp/lvapp2' [100.00 MiB] inherit
ACTIVE '/dev/vgapp/lvapp3' [900.00 MiB] inherit
ACTIVE '/dev/vgapp/lvapp' [4.00 GiB] inherit
ACTIVE '/dev/centos/swap' [<3.88 GiB] inherit
ACTIVE '/dev/centos/root' [<45.12 GiB] inherit
[root@xiaoou ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <45.12g
swap centos -wi-ao---- <3.88g
lvapp vgapp -wi-ao---- 4.00g
lvapp2 vgapp -wi-a----- 100.00m
lvapp3 vgapp -wi-a----- 900.00m
重新挂载文件
## 挂载文件系统
[root@xiaoou ~]# mount /dev/vgapp/lvapp /app/
mount: /dev/mapper/vgapp-lvapp is already mounted or /app busy
/dev/mapper/vgapp-lvapp is already mounted on /app
[root@xiaoou ~]# df -h /app/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vgapp-lvapp 4.0G 33M 4.0G 1% /app