[Linux] 在 CentOS 7 上讀取 VMware ESXi 5.0 vmfs 的檔案

[Linux] 在 CentOS 7 上讀取 VMware ESXi 5.0 vmfs 的檔案

之前曾經在 Ubuntu 上讀取 VMware ESXi 5.0 vmfs 的檔案

然後將讀取出來的 VM 檔案用 VMware Player 打開,也正常運作了一陣子~

不過不知道為什麼,這陣子那個 VM 又掛掉了…

決定改在 CentOS 7 上重新做一次,先把 vmfs 的檔案讀出來~

 

參考資料:

Mount VMFS on CentOS 7 or another Linux distro

VMFS: Unsupported version 5 – How to mount VMFS5 on Ubuntu

 

1. 安裝 vmfs-tools

在 CentOS 上面不像 Ubuntu 已經有個編譯好的 vmfs-tools 套件,得自己安裝~

首先到 vmfs-tools 的官網下載 vmfs-tools-0.2.5.tar.gz, 

接著先安裝一些相關聯的套件: 

sudo yum -y install libuuid-devel fuse-devel asciidoc

 

解開剛剛抓下來的 vmfs-tools-0.2.5.tar.gz,執行 ./configure, make, make install,

就能將 vmfs-tools 編譯並安裝好了:

tar zxvf vmfs-tools-0.2.5.tar.gz
cd vmfs-tools-0.2.5 ./configure make sudo make install

 

在 make install 時,在我的機器上有出現一些錯誤訊息,

暫時不曉得要如何解決,不過對於接下來的操作沒有影響,

因為最重要的 vmfs-fuse 這個執行檔已經安裝成功了:

testuser@localhost ~/Downloads/vmfs-tools-0.2.5 $ sudo make install
install -s -m 0755 debugvmfs/debugvmfs /usr/local/sbin/
install -s -m 0755 vmfs-lvm/vmfs-lvm /usr/local/sbin/
install -s -m 0755 vmfs-fuse/vmfs-fuse /usr/local/sbin/
install -s -m 0755 fsck.vmfs/fsck.vmfs /usr/local/sbin/
make: *** No rule to make target `debugvmfs/debugvmfs.8', needed by `/usr/local/share/man/man8/debugvmfs.8'.  Stop.

 

2. 將 ESXi 的硬碟接上 CentOS 7 機器

我是用一個硬碟抽取盒,插入 ESXi 上的硬碟後,用 USB 線連接到 CentOS 7 機器上~

接著先用 fdisk -l 看看這個硬碟的設備代號:

testuser@localhost ~/Downloads/vmfs-tools-0.2.5 $ sudo fdisk -l
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes, 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x0002dc6b
Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048  1953523711   976248832   8e  Linux LVM
......
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes, 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
#         Start          End    Size  Type            Name
1           64         8191      4M  EFI System
2      1843200     10229759      4G  Microsoft basic
3     10229760   1953525134  926.7G  unknown
5         8224       520191    250M  Microsoft basic
6       520224      1032191    250M  Microsoft basic
7      1032224      1257471    110M  unknown
8      1257504      1843199    286M  Microsoft basic

 

這邊要自已判斷一下,最簡單的是用硬碟的大小來找,

像我的 ESXi 硬碟是 1000GB,因此就是上面的 /dev/sdb,

其中裡面有 1~8 個分割區,通常最大的那個就是放 vmfs 檔案結構的分割區,

本例中是第 3 個 (926.7G),對應的設備代號是 /dev/sdb3~

 

3. 掛載 vmfs 檔案結構

先建立一個目錄 (如 vmfs) 做為掛載點,

接著執行 /usr/local/sbin/vmfs-fuse /dev/sdb3 vmfs,

就能把包含 vmfs 檔案結構的 /dev/sdb3 分割區掛載到 vmfs 這個目錄了:

mkdir vmfs
sudo /usr/local/sbin/vmfs-fuse /dev/sdb3 vmfs

 

掛載之後,用 ls 就能看到原本 ESXi 裡面儲存的 VM,

本例中有 Wiki 和 Windows 7 Enterprise 兩台 VM:

testuser@localhost ~/Downloads $ sudo ls -l vmfs
total 711768
drwxr-xr-x. 2 root root      4620 Sep 19 01:12 Wiki
drwxr-xr-x. 2 root root      2100 Mar 26  2013 Windows 7 Enterprise

 

想要將 VM 備份出來,直接複製出來就行了,

像我用 rsync –progress 是為了在傳檔時還可以看到傳輸的進度:

rsync --progress -r vmfs/Wiki ./

 

複製出來的 VM 目錄,用 VMware Player 或是 VMware Workstation 直接開啟 .vmx,

就能執行 VM 囉~

 

(本頁面已被瀏覽過 1,935 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料