開發與維運

Linux系統LVM信息丟失處理方法

一,Linux系統LVM配置備份文件

Linux的LVM會存儲用戶對PV/VG/LV的每一步操作,並自動把當前的VG的信息備份到一個文件裡面,該文件為/etc/lvm/backup/VG名。

該文件內記錄的內容跟vgdisplay/pvdisplay/lvdisplay輸出的信息一致,裡面包含關於恢復VG信息至關重要的PVUUID。
這個文件內容相當於整個VG的元數據,非常重要,我們可以通過這個文件來恢復整個VG的信息的,下面是這個文件的截圖。
lip_image002.png
lip_image004.png

二,lvm信息丟失問題

曾遇到lvm信息看不到或者無法使用的問題,有不同場景:
1)剛創建完vg,無法掛載;
2)lv是掛載且正在使用的場景(/dev目錄下能看),但pvs、vgs、lvs都看不到相關信息,當遇到主機故障、系統重啟等場景,會沒有辦法掛載使用。

三,解決辦法

遇到上述情況需要恢復lvm信息,嘗試以下步驟:

1)嘗試重啟Linux系統,看是否能看到vg pv lv信息,能否掛載使用
2)重啟後不能恢復,按照如下步驟處理:

重啟不能恢復的處理步驟

1,查看lvm配置文件備份內容

# more /etc/lvm/backup/datavg

2,使用原來的PV UUID來創建PV,並使用lvm配置備份文件來恢復信息

# pvcreate /dev/sdb -u FfFV3X-06Oi-w2fO-ZRny-vUfd-tSg0-OFE0YA --restorefile /etc/lvm/backup/datavg
Couldn't find device with uuid A09nPP-O1uq-cDfD-V401-8SFZ-khqe-TMFWna.
Physical volume "/dev/sdb" successfully created

3,恢復datavg的vg信息

# vgcfgrestore datavg
Restored volume group datavg

4,檢查vg、pv、lv信息是否都已恢復

# vgs && pvs && lvs 

5,最後激活一下vg卷

# vgchange -ay datavg 
1 logical volume(s) in volume group "datavg" now active

6, 掛載使用

# mount /dev/datavg/lv_app /app

四,注意事項

1,如果不重啟,無法恢復lvm信息,因為pv、vg、lv在/dev/目錄下會存在一部分,重啟後才能完全消失。
2,執行vgcfgrestore恢復vg信息後不能立即使用,執行lvdisplay顯示lv信息,會處於NOT available狀態,需要執行vgchange -ay激活vg

Leave a Reply

Your email address will not be published. Required fields are marked *