2015-08-26 195 views
0

我正在使用Ubuntu 13.04服務器。 我想減少一個邏輯卷,以增加另一個邏輯卷。 我想減少的邏輯卷有100G和69G的大小使用。在lvreduce之後從損壞的LVM中恢復數據?

我試圖通過減少邏輯卷:

lvreduce -L20G /dev/mapper/root-vg 

不幸的是,我可能這樣做是錯誤的,因爲在重新啓動後,我的系統無法正常啓動了。

我有一個(initramfs的)提示和我的種子的/ dev /映射器/根VG的安裝失敗的/根

有沒有什麼辦法,至少,取回數據?

謝謝。

回答

1

在縮小LV之前,您已經忘記縮小文件系統了。確保你不是現在試圖安裝或修復文件系統,因爲這可能會導致文件系統損壞。如果數據很重要,我強烈建議在嘗試恢復之前進行全盤備份。

如果您有VG元數據的備份,則應該使用該備份進行恢復,而不是使用以下內容。默認情況下,無論何時修改VG,LVM都會在/etc/lvm/{archive,backup}/中創建和存儲備份,但我懷疑您無權訪問此數據。

要恢復對文件系統的訪問,您需要重新擴展LV至少其原始大小,確保新邏輯盤區的分配順序與原來的順序相同。如果你有一個複雜的PVs配置,這第二個條件將很難得到正確的結果。但是,如果你有幾個的PV簡單的配置,並沒有重新分配或刪除原來的邏輯擴展,那麼下面威力工作(在現場USB環境):

lvextend --extents +100%FREE /dev/mapper/root-vg 

看看你能不能安裝文件系統只讀:

mkdir -p /mnt/root-vg/ 
mount -o ro /dev/mapper/root-vg /mnt/root-vg/ 

如果掛載成功,那麼您應該對其中的文件進行粗略檢查。如果它們看起來正確,則對文件系統執行完整性檢查(例如,在ext *上的fsck或在btrfs上的btrfs scrub)。

相關問題