tft每日頭條

 > 圖文

 > lvm邏輯卷講解

lvm邏輯卷講解

圖文 更新时间:2024-12-13 17:46:14

本文介紹如何恢複已删除的邏輯卷,如要執行恢複将使用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 /data Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_data-lv_data 40G 318M 40G 1% /data

lvm邏輯卷講解(在LVM中恢複已删除的邏輯卷)1

/data目錄中的文件如下:

lvm邏輯卷講解(在LVM中恢複已删除的邏輯卷)2

意外删除邏輯卷

為了演示起見,請删除邏輯卷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

lvm邏輯卷講解(在LVM中恢複已删除的邏輯卷)3

使用lvs命令打印并确認我們已經删除了邏輯卷lv_data:

lvm邏輯卷講解(在LVM中恢複已删除的邏輯卷)4

由于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

lvm邏輯卷講解(在LVM中恢複已删除的邏輯卷)5

在上面删除邏輯卷的步驟中,使用lvremove -v /dev/vg_data/lv_data 命令時,可以看到輸出的詳細信息,有archiving和create backup。

lvm邏輯卷講解(在LVM中恢複已删除的邏輯卷)6

下面列出并檢查有多少個卷組元數據備份可用:

[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 Apr 8 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 Apr 8 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 Apr 8 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 Apr 8 10:20:53 2021

--list選項列出與VG有關的元數據備份和存檔文件。我們要恢複的事删除卷組之前的存檔,所以選擇下面圈出來的/etc/lvm/archive/vg_data_00002-1932879749.vg文件。

lvm邏輯卷講解(在LVM中恢複已删除的邏輯卷)7

在恢複之前,使用--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.

lvm邏輯卷講解(在LVM中恢複已删除的邏輯卷)8

試運行沒問題之後,去掉--test選項,然後再執行一次:

[root@localhost ~]# vgcfgrestore vg_data -f /etc/lvm/archive/vg_data_00002-1932879749.vg Restored volume group vg_data.

lvm邏輯卷講解(在LVM中恢複已删除的邏輯卷)9

可看到成功恢複卷組vg_data。

-f選項讀取由vgcfgbackup創建的元數據文件。

使用lvs查看lv_data邏輯卷是否已恢複,并且使用lvscan查看邏輯卷是否激活:

[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------- 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

lvm邏輯卷講解(在LVM中恢複已删除的邏輯卷)10

可看到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 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-a----- 39.99g

lvm邏輯卷講解(在LVM中恢複已删除的邏輯卷)11

上圖可以看到"/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邏輯卷講解(在LVM中恢複已删除的邏輯卷)12

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

總結

本文已經成功地從卷組的元數據中恢複被删除的邏輯卷。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved