在这里记录一下lv卷误删除了如何恢复,因为自己的一个误操作把生产环境的lv卷给删除了,现在想起来还瑟瑟发抖
1、创建一下pv、vg、lv
[root@k8smaster ~]# pvcreate /dev/sdb1
[root@k8smaster ~]# vgcreate vg01 /dev/sdb1
[root@k8smaster ~]# lvcreate -l +100%FREE -n lv01 vg01
2、格式化逻辑卷
[root@k8smaster ~]# mkfs.xfs /dev/vg01/lv01
3、创建目录,挂载一下逻辑卷
[root@k8smaster ~]# mkdir /test
[root@k8smaster ~]# mount /dev/vg01/lv01 /test/
[root@k8smaster ~]# cd /test/ #在里面创建一些内容,模拟一下数据
[root@k8smaster test]# echo 123 > test
4、查看一下挂载分区的状态
[root@k8smaster ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 80G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 79G 0 part
├─centos-root 253:0 0 47.8G 0 lvm /
├─centos-swap 253:1 0 7.9G 0 lvm
└─centos-home 253:2 0 23.3G 0 lvm /home
sdb 8:16 0 100G 0 disk
└─sdb1 8:17 0 100G 0 part
└─vg01-lv01 253:3 0 90G 0 lvm /test
sr0 11:0 1 906M 0 rom
5、模拟逻辑卷误删除
[root@k8smaster ~]# umount /test
[root@k8smaster ~]# lvremove /dev/vg01/lv01
6、 因为数据是最终存储在底层的,所以现在即使删除了lv,也不会真的把数据删除,现在演示如何把这个lv恢复出来。
[root@k8smaster ~]# vgcfgrestore --list vg01 #查看一下之前的删除操作
File: /etc/lvm/archive/vg01_00000-492527823.vg
Couldn't find device with uuid MbA3JW-BFXA-DMRH-HnDv-eRGN-fLRN-lU6fKU.
VG name: vg01
Description: Created *before* executing 'vgcreate vg01 /dev/sdb1'
Backup Time: Thu Jul 9 15:32:03 2020
File: /etc/lvm/archive/vg01_00003-1434870813.vg
VG name: vg01
Description: Created *before* executing 'lvcreate -L 90G -n lv01 vg01'
Backup Time: Thu Jul 9 15:35:07 2020
File: /etc/lvm/archive/vg01_00004-1762860019.vg
VG name: vg01
Description: Created *before* executing 'lvremove /dev/vg01/lv01' #可以看到我们只在这一步执行的删除操作,所以我们恢复这一步就好
Backup Time: Thu Jul 9 15:37:09 2020
File: /etc/lvm/backup/vg01
VG name: vg01
Description: Created *after* executing 'lvremove /dev/vg01/lv01'
Backup Time: Thu Jul 9 15:37:10 2020
7、开始恢复
[root@k8smaster ~]# vgcfgrestore -f /etc/lvm/archive/vg01_00004-1762860019.vg vg01
Restored volume group vg01
[root@k8smaster ~]# lvscan #再次查看一下可以看到已经恢复回来了
ACTIVE '/dev/centos/swap' [<7.88 GiB] inherit
ACTIVE '/dev/centos/home' [23.33 GiB] inherit
ACTIVE '/dev/centos/root' [<47.79 GiB] inherit
inactive '/dev/vg01/lv01' [90.00 GiB] inherit
8、但是状态是inactive所以我们需要激活一下这个卷才可以使用
[root@k8smaster ~]# lvchange -ay /dev/vg01/lv01
[root@k8smaster ~]# mount /dev/vg01/lv01 /test/
[root@k8smaster ~]# cd /test
[root@k8smaster ~]# ls #可以查看到里面的数据还在就说明恢复成功
test
[root@k8smaster ~]# lsblk #可以查看到逻辑卷就说明恢复成功
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 80G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 79G 0 part
├─centos-root 253:0 0 47.8G 0 lvm /
├─centos-swap 253:1 0 7.9G 0 lvm
└─centos-home 253:2 0 23.3G 0 lvm /home
sdb 8:16 0 100G 0 disk
└─sdb1 8:17 0 100G 0 part
└─vg01-lv01 253:3 0 90G 0 lvm /test
sr0 11:0 1 906M 0 rom