本文介绍如何恢复已删除的逻辑卷,如要执行恢复将使用vgcfgrestore命令。

在执行任何逻辑卷管理相关任务时,如果意外的删除了逻辑卷,则可以使用它的数据还原功能来恢复逻辑卷。在下面的步骤中,将演示如何通过删除卷组中的任何一个逻辑卷,并恢复已删除的逻辑卷。

系统环境

Centos8

现有的文件系统

在开始本文之前已经创建了一个逻辑卷,里面并存放了一些文件。

[root@localhost ~]# pvsPV             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 ~]# vgsVG      #PV #LV #SN Attr   VSize   VFree cl        1   2   0 wz--n- <19.00g <2.00gvg_data   2   1   0 wz--n-  39.99g     0
[root@localhost ~]# lvsLV      VG      Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot    cl      -wi-ao---- 15.00g                                                    swap    cl      -wi-ao----  2.00g                                                    lv_data vg_data -wi-ao---- 39.99g
[root@localhost ~]# df -h /data
Filesystem                   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]: yAccepted 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 ~]# vgsVG      #PV #LV #SN Attr   VSize   VFree cl        1   2   0 wz--n- <19.00g <2.00gvg_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_dataFile:      /etc/lvm/archive/vg_data_00000-919482485.vgCouldn'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_dataDescription: Created *before* executing 'vgcreate vg_data /dev/sda /dev/sdb'Backup Time:   Thu Apr  8 09:52:49 2021File:       /etc/lvm/archive/vg_data_00001-1289102393.vgVG name:        vg_dataDescription: Created *before* executing 'lvcreate -l 100%FREE -n lv_data vg_data'Backup Time:  Thu Apr  8 09:54:45 2021File:       /etc/lvm/archive/vg_data_00002-1932879749.vgVG name:        vg_dataDescription: Created *before* executing 'lvremove -v /dev/vg_data/lv_data'Backup Time: Thu Apr  8 10:20:53 2021File:       /etc/lvm/backup/vg_dataVG name:     vg_dataDescription: 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 --testTEST 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.vgRestored volume group vg_data.


可看到成功恢复卷组vg_data

-f选项读取由vgcfgbackup创建的元数据文件。

使用lvs查看lv_data逻辑卷是否已恢复,并且使用lvscan查看逻辑卷是否激活:

[root@localhost ~]# lvsLV      VG      Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot    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] inheritACTIVE            '/dev/cl/root' [15.00 GiB] inheritinactive          '/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] inheritACTIVE            '/dev/cl/root' [15.00 GiB] inheritACTIVE            '/dev/vg_data/lv_data' [39.99 GiB] inherit
[root@localhost ~]# lvsLV      VG      Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot    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 /data
Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/vg_data-lv_data   40G  318M   40G   1% /data


可以看到文件都已经存在了。

总结

本文已经成功地从卷组的元数据中恢复被删除的逻辑卷。

在LVM中恢复已删除的逻辑卷相关推荐

  1. 在LVM中恢复已删除的物理卷

    本文中将详细介绍如何从已删除的物理卷或故障磁盘场景中恢复. 系统环境 Centos8 现有的文件系统 下面使用了/dev/sd[a-c]三块磁盘,将他们划入一个卷组,创建两个逻辑卷: # Create ...

  2. Linux 系统中恢复已删除的文件

    注:文章内容仅用于本人日常学习记录 Linux 系统中恢复已删除的文件 当用户意外地删除了一个仍然需要的文件时,大多数情况下,是没有简便的方法可以重新找回或重建这个文件.不过,幸运的是文件是可以通过一 ...

  3. linux git删除的文件怎么还原,从Git仓库中恢复已删除的分支、文件或丢失的commit...

    从Git仓库中恢复已删除的分支.文件或丢失的commit 在使用Git的过程中,有时可能会有一些误操作 比如:执行checkout -f 或 reset -hard 或 branch -d删除一个分支 ...

  4. outlook从服务器中恢复已删除项目,如何在Outlook中恢复已删除的任务

    如果我们知道有哪些装机必备的系统工具,那么在Microsoft Outlook中恢复已删除文件的任务就不会显得如此棘手,令人伤神.有几种高效的已删除邮件恢复方式,用户可以使用它们完成Outlook文件 ...

  5. 如何从 Android 内部存储中恢复已删除的照片?

    我们使用手机录制的照片和视频通常存储在手机的内存中.我们存储它们以记住我们生活的美丽.然而,在管理这些照片的过程中,一些用户却发现自己不小心删除了这些照片,这很尴尬. 如果您的 Android 设备遇 ...

  6. Android手机和平板资源文件,如何从Android手机和平板电脑中恢复已删除的文件

    第3部分:如何从Android手机和平板电脑中恢复已删除的文件 正如我们所看到的,借助为此特定原因设计的专用工具,您仍可以从设备中恢复已删除的文件.最好的Android数据恢复软件之一dr.fone ...

  7. linux下删除的文件怎么恢复出厂设置,如何在Linux中恢复已删除的文件(机器翻译)...

    如果您在Linux中不小心删除了一个文件,不要担心,只要该区域的磁盘尚未被覆盖,您可能仍然可以恢复它.这篇文章将告诉你如何在Linux中轻松恢复被删除的文件. Foremost能够搜索磁盘或原始图像文 ...

  8. linux disk 清除数据,如何在Linux中使用TestDisk恢复已删除的文件

    我们都知道寻找文件而不是找到文件的感觉,即使是在垃圾桶里也是如此. 由于TestDisk ,文件和数据丢失带来的创伤应该结束 - 这是一个免费的开源软件,最初设计用于恢复内存分区并使不可引导的磁盘再次 ...

  9. photorec_如何在Linux / Ubuntu中使用PhotoRec恢复已删除的文件

    photorec Accidentally deleted files or photos? In this tutorial, we'll learn how to recover deleted ...

最新文章

  1. python哪个代码是正确的字典_Python - 字典(dict) 详解 及 代码
  2. 【Qt】Qt中的快捷键汇总
  3. AnalyticDB - 分析型数据库
  4. String、StringBuilder类连接字符串操作的时间差异
  5. python建模仿真 matlab_清华大学出版社-图书详情-《仿真建模与MATLAB实用教程》
  6. Java8新特性:Stream介绍和总结
  7. 6月14 空控制器和空操作及命名空间
  8. 前端简单h5播放器的制作
  9. 主键冲突报什么代码_MySQL主键设计
  10. MIKE水动力笔记10_潮汐调和分析与绘制同潮时线图
  11. 构建数据指标预警系统
  12. Shiro基本入门教程—叩丁狼Java培训
  13. Caused by: org.elasticsearch.action.search.SearchPhaseExecutionException报错解决
  14. 深度学习中使用Screen 指令进行离线训练
  15. ξσ Dicky's GuestBook σξ
  16. 查看linux网口连接时间,linux检测网口连接状态
  17. 计算机思维与应用论文,计算机思维论文参考文献 计算机思维核心期刊参考文献哪里找...
  18. 为什么Integer a=100,b=100时候a==b返回true,而Integer c=1000,d=1000时候c==d返回false
  19. 球半篮球分析,WNBA:风暴 vs 梦想
  20. 彻底删除卸载Windows Defender杀毒软件的终极绝招

热门文章

  1. 8种最坑的SQL错误用法,第一个就很坑?
  2. 圆圈中最后剩下的数字
  3. Flask环境的配置
  4. PyCharm代码回滚,恢复历史版本
  5. SSHFD:IBM提出的单阶段人体跌倒检测网络
  6. 2-Entity RANSAC:在变化的环境中进行稳健的视觉定位
  7. Django配置celery执行异步任务和定时任务
  8. windows下搭建hadoop-2.6.0本地idea开发环境
  9. Struts2的动态Action实现
  10. 【转】如何使用VS 2013发布一个可以在Windows XP中独立运行的可执行文件