仰天大笑出门去,我辈岂是蓬蒿人。这篇文章主要讲述在LVM中恢复已删除的逻辑卷相关的知识,希望能为你提供帮助。
本文介绍如何恢复已删除的逻辑卷,如要执行恢复将使用vgcfgrestore??命令??。 |
系统环境
??Centos??8
现有的文件系统
在开始本文之前已经创建了一个逻辑卷,里面并存放了一些文件。
[root@localhost ~]# pvs
PVVGFmtAttr PSizePFree
/dev/nvme0n1p2 cllvm2 a--< 19.00g < 2.00g
/dev/sdavg_data lvm2 a--< 20.00g0
/dev/sdbvg_data lvm2 a--< 20.00g0
[root@localhost ~]# vgs
VG#PV #LV #SN AttrVSizeVFree
cl120 wz--n- < 19.00g < 2.00g
vg_data210 wz--n-39.99g0
[root@localhost ~]# lvs
LVVGAttrLSizePool Origin Data%Meta%Move Log Cpy%Sync Convert
rootcl-wi-ao---- 15.00g
swapcl-wi-ao----2.00g
lv_data vg_data -wi-ao---- 39.99g
[root@localhost ~]# df -h /data
FilesystemSizeUsed Avail Use% Mounted on
/dev/mapper/vg_data-lv_data40G318M40G1% /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 AttrVSizeVFree
cl120 wz--n- < 19.00g < 2.00g
vg_data200 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 Mar9 16:27 cl
-rw-------. 1 root root 1147 Apr8 10:20 vg_data
[root@localhost ~]# ll /etc/lvm/archive/
total 24
-rw-------. 1 root root 1740 Dec 292019 cl_00000-1531402016.vg
-rw-------. 1 root root 1740 Mar9 16:27 cl_00001-790744555.vg
-rw-------. 1 root root 1747 Mar9 16:27 cl_00002-1369752011.vg
-rw-------. 1 root root 1150 Apr8 09:52 vg_data_00000-919482485.vg
-rw-------. 1 root root 1155 Apr8 09:54 vg_data_00001-1289102393.vg
-rw-------. 1 root root 1763 Apr8 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 Apr8 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 Apr8 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 Apr8 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 Apr8 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?
?。【在LVM中恢复已删除的逻辑卷】?
?-f?
?选项读取由vgcfgbackup创建的元数据文件。使用?
?lvs?
?查看lv_data逻辑卷是否已恢复,并且使用??lvscan?
?查看逻辑卷是否激活:[root@localhost ~]# lvs
LVVGAttrLSizePool Origin Data%Meta%Move Log Cpy%Sync Convert
rootcl-wi-ao---- 15.00g
swapcl-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
LVVGAttrLSizePool Origin Data%Meta%Move Log Cpy%Sync Convert
rootcl-wi-ao---- 15.00g
swapcl-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 /data
FilesystemSizeUsed Avail Use% Mounted on
/dev/mapper/vg_data-lv_data40G318M40G1% /data
文章图片
可以看到文件都已经存在了。
总结
本文已经成功地从卷组的元数据中恢复被删除的逻辑卷。
推荐阅读
- esxi磁盘设备状态显示‘’正常,已降级‘’ 解决
- WGCLOUD如何监控交换机路由器
- CentOS7做ssh免密登录
- linux之autojump命令
- Nginx 反向代理后WebSocket 会无法连接的问题
- oeasy教您玩转vim - 53 - # 批量替换
- 高涨的用户热情如何成了压垮服务的流量
- oeasy教您玩转vim - 52 - # 正则查找
- ssh常用命令总结