Xenserver

XenServer VHD 數據恢復

  • September 22, 2015

我有從 XenCenter 以 VHD 格式導出的 VM 磁碟映像。如果有任何影響,我使用了設置中的壓縮。如何在不創建 VM 的情況下訪問文件?我有虛擬機設置以及磁碟。Fdisk 可以讀取映像,但它不列出任何分區。我不關心系統本身,只關心文件。更值得注意的是 /etc 和 /home。

VM 是在 XenServer 6.2 中創建的(如果我沒記錯的話),它使用的是 LVM。後來當我升級到 Debian 8 時,我還將 XenServer 升級到 6.5 並安裝了 SP1。我必須注意 XenXerver 的硬碟驅動器已損壞,但在導出來賓作業系統之前執行沒有問題。我相當肯定我擁有的圖像是功能性的。

到目前為止我已經嘗試過:

  • 將 VM 導入新的主伺服器(不同的硬體)。導入失敗。因為這需要大約 10 個小時,所以我不太想再嘗試這個了。
  • 將虛擬機導入舊主機(相同硬體)
  • 將 VM 導入新的 master(相同的硬體)
  • 將 VHD 轉換為 VDI 並將其掛載到 VirtualBox。它沒有說找不到可啟動媒體。轉換的原因是 VirtualBox 不允許直接掛載 VHD。
  • 嘗試在我使用 virtualbox-fuse 掛載它的地方安裝新的 VM。但它說 VHD 格式未知。
  • 嘗試使用 losttup 傳遞映像的引導扇區,然後掛載它。但是在掛載時找不到文件系統。至少 ext4 或 ext2。
  • 試圖將 VHD 附加到 Windows 機器中。它說它已損壞或無法讀取。

可能還有其他我嘗試過的東西,但我現在不記得了。我現在完全無能為力。

您需要一些步驟來安裝和讀取圖像。首先將VHD轉換為RAW

qemu-img 轉換 -f vmdk -O raw myfile.vhd myfile.img

原始文件當然會保持原樣。接下來,您將不得不掛載該文件。為此,涉及幾個步驟

首先,將原始圖像連接到環回設備。

losttup /dev/loop0 myfile.img

如果我理解正確,您使用的是邏輯卷。這意味著您不能直接掛載它,但您可以找到並啟動卷組

lvs

vgchange -ay YourVG

如果 lvs 沒有找到您的捲,您將不得不更改 lvm 過濾器

/etc/lvm/lvm.conf

並將其設置為

過濾器 =

$$ “a/.*/” $$

完成後,您可以安裝邏輯卷。

掛載 /dev/mapper/lvol01 /mnt

希望這會有所幫助。

引用自:https://serverfault.com/questions/723919