在LVM中恢復已刪除的邏輯卷
本文介紹如何恢復已刪除的邏輯卷,如要執行恢復將使用vgcfgrestore 。 |
在執行任何邏輯卷管理相關任務時,如果意外的刪除了邏輯卷,則可以使用它的資料還原功能來恢復邏輯卷。在下面的步驟中,將演示如何通過刪除卷組中的任何一個邏輯卷,並恢復已刪除的邏輯卷。
8
在開始本文之前已經建立了一個邏輯卷,裡面並存放了一些檔案。
[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
/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 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
在上面刪除邏輯卷的步驟中,使用
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 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
檔案。
在恢復之前,使用
--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
。
-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
可看到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
上圖可以看到"/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
可以看到檔案都已經存在了。
本文已經成功地從卷組的後設資料中恢復被刪除的邏輯卷。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2794744/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在LVM中恢復已刪除的物理卷LVM
- 在 LVM中 錄製邏輯卷快照並恢復(第三部分)LVM
- 邏輯卷LVMLVM
- 在Linux中,如何使用LVM管理邏輯卷?LinuxLVM
- LVM 邏輯卷管理LVM
- 邏輯卷管理-LVMLVM
- 【伺服器資料恢復】AIX環境下誤刪除邏輯卷的資料恢復方案伺服器資料恢復AI
- LVM_邏輯卷管理LVM
- Linux LVM邏輯卷LinuxLVM
- Lvm邏輯卷管理、建立、使用、擴充套件、縮減、遷移、快照、恢復LVM套件
- linux之LVM邏輯卷LinuxLVM
- linux LVM邏輯卷配置LinuxLVM
- LVM邏輯卷管理器LVM
- 邏輯卷管理---LVM2LVM
- 介紹如何從LVM的卷組中刪除物理卷LVM
- ORACLE 10g 中恢復已刪除的表Oracle 10g
- Centos8中建立LVM精簡邏輯卷CentOSLVM
- Linux下LVM邏輯卷管理LinuxLVM
- lvm收縮邏輯卷空間LVM
- 如何在 Ubuntu 中管理和使用邏輯卷管理 LVMUbuntuLVM
- Linux LVM邏輯卷配置過程詳解(建立,增加,減少,刪除,解除安裝)LinuxLVM
- 【AIX 命令學習】刪除邏輯卷rmlv 命令!AI
- 怎樣恢復回收站已刪除檔案,檔案刪除恢復教程
- 實操CentOS8系統中建立LVM邏輯卷CentOSLVM
- 如何使用 testdisk 恢復已刪除的檔案
- Linux—磁碟配額,管理LVM邏輯卷LinuxLVM
- 邏輯卷管理-LVM(LOGIC VOLUMN MANAGER)LVM
- Linux邏輯盤卷管理LVM詳解LinuxLVM
- 邏輯分割槽管理 LVM 概念及在Ubuntu中的使用?LVMUbuntu
- Linux LVM Logical Volume Management 邏輯卷的管理LinuxLVM
- 【BBED】使用bbed恢復已經刪除的行資料
- PostgreSQL中刪除的資料能否恢復SQL
- eclipse中恢復刪除的檔案Eclipse
- LVM邏輯卷線上動態擴容磁碟空間LVM
- 使用 LVM 命令建立卷組和邏輯卷例項LVM
- LVM(logical volume manager) 邏輯卷管理器LVM
- MySql邏輯備份恢復MySql
- lvm 擴充邏輯卷空間(linux的磁碟擴容)LVMLinux