新聞中心
LVM中如何恢復(fù)已刪除的邏輯卷?在執(zhí)行任何邏輯卷管理相關(guān)任務(wù)時(shí),如果意外的刪除了邏輯卷,則可以使用它的數(shù)據(jù)還原功能來恢復(fù)邏輯卷,下面為大家分享一下LVM中恢復(fù)已刪除的邏輯卷具體方法。

系統(tǒng)環(huán)境
Centos8
現(xiàn)有的文件系統(tǒng)
在開始本文之前已經(jīng)創(chuàng)建了一個(gè)邏輯卷,里面并存放了一些文件。
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 cl lvm2 a-- # vgs
VG #PV #LV #SN Attr VSize VFree
cl 1 2 0 wz--n- # 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
/data目錄中的文件如下:
意外刪除邏輯卷
為了演示起見,請(qǐng)刪除邏輯卷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命令打印并確認(rèn)我們已經(jīng)刪除了邏輯卷lv_data: 由于lv_data卷已刪除,可以看到卷組vg_data的剩余空間是40G。
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
cl 1 2 0 wz--n-
開始恢復(fù)邏輯卷
現(xiàn)在,讓我們看看如何還原已刪除的邏輯卷。每當(dāng)我們執(zhí)行與LVM相關(guān)的任何任務(wù)(時(shí),所有內(nèi)容都將被記錄在/etc/lvm/archive.下。并使用vgcfgbackup命令備份卷組配置并將其存儲(chǔ)在/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命令時(shí),可以看到輸出的詳細(xì)信息,有archiving和create backup。 下面列出并檢查有多少個(gè)卷組元數(shù)據(jù)備份可用:
[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選項(xiàng)列出與VG有關(guān)的元數(shù)據(jù)備份和存檔文件。 我們要恢復(fù)的事刪除卷組之前的存檔,所以選擇下面圈出來的/etc/lvm/archive/vg_data_00002-1932879749.vg文件。 在恢復(fù)之前,使用--test選項(xiàng)來試運(yùn)行一下:
[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.
試運(yùn)行沒問題之后,去掉--test選項(xiàng),然后再執(zhí)行一次:
[root@localhost ~]# vgcfgrestore vg_data -f /etc/lvm/archive/vg_data_00002-1932879749.vg
Restored volume group vg_data.
可看到成功恢復(fù)卷組vg_data。
-f選項(xiàng)讀取由vgcfgbackup創(chuàng)建的元數(shù)據(jù)文件。
使用lvs查看lv_data邏輯卷是否已恢復(fù),并且使用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
可看到lv_data已恢復(fù),但是狀態(tài)是未激活。下一步就激活邏輯卷。
激活邏輯卷
使用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
上圖可以看到”/dev/vg_data/lv_data”邏輯卷已激活。
掛載并檢驗(yàn)
掛載文件系統(tǒng):
[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
可以看到文件都已經(jīng)存在了。
總結(jié)
本文已經(jīng)成功地從卷組的元數(shù)據(jù)中恢復(fù)被刪除的邏輯卷。
本文名稱:LVM恢復(fù)已刪除的邏輯卷具體方法
網(wǎng)頁地址:http://www.dlmjj.cn/article/dphpiog.html


咨詢
建站咨詢
