如何在 Windows、Linux 和 ESXi 中掛載 VMFS

有时您可能需要在Linux、Windows或另一个ESXi主机上挂载VMFS数据存储。VMFS是由VMware创建的文件系统,在其他操作系统中没有原生支持(仅在ESXi操作系统上受支持)。本博文解释了如何在不同情况下挂载VMFS以及不同方法的限制。

如何在Linux(Ubuntu)上挂载VMFS文件系统

如果发生硬件故障,您有几个选项。在灾难恢复期间,您可能需要能够将具有VMFS数据存储的磁盘挂载到另一个ESXi服务器上。您还可能需要在Linux机器上挂载VMware VMFS文件系统,以便复制VM数据进行恢复。您也可以在Windows上挂载VMFS,但这仅限于仅限于VMFS 3,在现代vSphere环境中不再使用。硬件故障的示例包括ESXi服务器上的损坏主板或受损的存储控制器,例如RAID控制器等。

如果您使用单独的SCSI或SAS(串行附加SCSI)磁盘或RAID 1作为直接附加存储,您可以将磁盘附加到已安装有SAS控制器的另一台机器上,而无需额外步骤。如果您使用RAID 10、RAID 0或其他阵列类型,则需要在Linux机器上安装相同的RAID控制器并安装驱动程序,以便检测到带有附加磁盘的RAID卷。

注意:RAID 1和RAID 10是最可靠的RAID选项,但RAID 1是最容易恢复的。使用RAID 5和RAID 6有许多缺点,包括低可靠性。在生产环境中使用非RAID磁盘是不推荐的。

开始之前

在我们的示例中,我们有一个带有三个数据存储的ESXi主机,每个数据存储位于单独的磁盘上进行演示。

  • Datastore000为空。此数据存储所在的磁盘是包含ESXi系统分区的系统磁盘。ESXi安装在此磁盘上。
  • Datastore10a位于VMFS 6卷上,并包含一个Windows虚拟机
  • Datastore11位于VMFS 5卷上,并包含一个名为Win-VMWindows虚拟机的副本。

Ubuntu 20.04.3是一个Linux机器,我们将在其上挂载VMFS文件系统。我们将两个磁盘与datastore11datastore 10a附加到Linux机器上。Linux发行版不包含与VMFS一起工作所需的驱动程序。因此,您需要安装vmfs-tools,这是一个免费软件包,并且之后,VMFS可以以只读模式挂载。

如何在Ubuntu中挂载VMFS 5

  1. 以root用户身份运行命令。使用sudo -i获取安装VMFS工具所需的root权限。
  2. 从Ubuntu软件包存储库安装vmfs-tools

apt-get install vmfs-tools

在我们的情况下,安装的vmfs-tools版本是0.2.5-1build1

  1. 创建一个将用作挂载点的目录:

mkdir /mnt/vmfs

  1. 使用VMFS检查磁盘和分区的名称:

fdisk -l

我們的磁碟機上有 VMFS 5 分割區 /dev/sdb,所需的分割區是 /dev/sdb1

。VMFS 6 分割區是 /dev/sdc1

。如您在螢幕截圖上所見,分割區類型為 VMware VMFS。唯一的磁碟識別碼顯示了。

注意: 您可以使用 parted 查看大於 2 TB 的 GPT 分割區:

parted -l

  1. 讓我們將 VMFS 5 分割區掛載到 /mnt/vmfs/ 目錄:

vmfs-fuse /dev/sdb1 /mnt/vmfs

如何在 Ubuntu 中掛載 VMFS 6

  1. 在 Linux 中創建一個目錄,用作掛載 VMFS 6 的掛載點:

mkdir /mnt/vmfs6

注意: 如果您嘗試使用 vmfs-fuse 在 Linux 中掛載 VMFS 6 檔案系統,您會收到錯誤,因為 vmfs-fuse 支援 VMFS 3 和 VMFS 5,但不支援 VMFS 6。在這種情況下,將出現以下訊息:
 
VMFS: 不支援的版本 6
>無法開啟檔案系統

你需要安裝VMFS6-tools ,其中包含vmfs6-fuse,用於在Linux中掛載VMFS 6。您可以在一個包含deb包的網站上找到VMFS6-toolshttps://packages.debian.org/sid/vmfs6-tools

  1. 下載當前版本的VMFS6-tools:

wget http://http.us.debian.org/debian/pool/main/v/vmfs6-tools/vmfs6-tools_0.1.0-3_amd64.deb

  1. 安裝下載的deb包:

dpkg -i vmfs6-tools_0.1.0-3_amd64.deb

注意: libc6 >= 2.28 需要安裝VMFS6-tools。如果您使用的是Ubuntu 18,可能會因為這個原因在安裝過程中遇到錯誤。

  1. 現在您可以使用以下命令將VMFS掛載到Ubuntu 20的/mnt/vmfs6

vmfs6-fuse /dev/sdc1 /mnt/vmfs6

VMFS 6文件系統已成功以唯讀模式掛載到Ubuntu 20中。現在,您可以將VM文件複製到所需位置。您可以在已安裝VMware Workstation的Linux上或者在已安裝VMware Workstation或Hyper-V的Windows機器上臨時運行複製的VM,直到您的ESXi服務器硬件被修復或交付新服務器(如果您沒有其他ESXi主機運行VM)。

請記住,當您將來自VMFS文件系統的瘦配置磁盤複製到ext4、NTFS或其他常規文件系統時,虛擬磁盤文件將佔用與厚配置磁盤相同的空間。這就是為什麼要準備足夠的磁盤空間。

如何在Linux中掛載具有多個擴展的VMFS

讓我們來看一個更複雜的例子,在Linux中掛載VMFS時,當一個VMFS卷包含兩個擴展時。我們有兩個相同大小的磁盤,它們組合成一個單一的VMFS卷(datastore12)。

  1. 檢查分區的名稱:

fdisk -l

parted -l

我們的兩個VMFS擴展位於/dev/sdd1/dev/sde1分區上。

  1. 當掛載由多個擴展組成的VMFS文件系統時,使用以下格式的命令:vmfs6-fuse

vmfs6-fuse exent_1 extent_2 extent_n mount_point

在我們的情況下,命令是:

vmfs6-fuse /dev/sdd1 /dev/sde1 /mnt/vmfs6

如您在下面的屏幕截圖中所見,由多個擴展組成的VMFS 6文件系統已成功在Ubuntu中掛載。

現在您知道如何在不同的情境下在Linux中掛載VMFS了。

在新的VMware ESXi主機上掛載VMFS分區

你可以在不同的ESXi主机上挂载VMFS数据存储。当其中一个ESXi主机失败并且您需要从VMFS分区复制数据或在该分区上运行存储的VM时,此选项非常有用。您甚至可以在服务器上执行新的ESXi安装来挂载现有的VMFS数据存储。ESXi安装过程快速简便,通常只需几分钟即可安装此虚拟化程序。

挂载现有VMFS数据存储的这种方法的优点是您使用本地软件,并且最新的VMFS版本支持读/写模式。让我们看看如何挂载已存在于另一台ESXi主机上的VMFS数据存储。

  1. 将具有VMFS分区的物理磁盘连接到安装有ESXi的物理服务器上。
  2. 通过输入已挂载具有VMFS分区(分区)的磁盘或磁盘阵列的ESXi主机的IP地址,在您的Web浏览器中登录VMware Host Client。我们在示例中使用ESXi 7.0。
  3. 转到存储 > 设备,检查所需的磁盘是否显示。如果磁盘未自动显示,请单击重新扫描

  1. 转到存储 > 数据存储,检查您现有的VMFS数据存储是否已挂载。如果看到成功的结果,请打开数据存储浏览器并复制所需的文件。您还可以找到VMX文件,注册虚拟机,并在此ESXi主机上运行它们。如果右键单击VMFS数据存储,您可以在上下文菜单中看到挂载/卸载选项。如何在Windows中挂载VMFS

如何在Windows中挂载VMFS

在Windows中挂载VMFS的能力受到限制,因为您只能使用现有工具挂载VMFS 3,这是过时的并且在现代vSphere环境中不再使用。VMFS 3在ESXi 5.0之前的版本中受支持。VMware vSphere 7.0不支持VMFS 3。

在撰写本文时,VMFS 5和VMFS 6被广泛使用。

但是,如果您需要在Windows中挂载VMFS,并且文件系统是VMFS 3,则可以使用基于Java编写的开源VMFS驱动程序。此驱动程序上次更新于2010年,需要在Windows中安装Java。

  1. 连接带有VMFS数据存储的磁盘(磁盘)到您的Windows计算机。
  2. 通过以下链接下载开源VMFS驱动程序:https://code.google.com/archive/p/vmfs/
  3. 从下载的fvmfs_r95_dist.zip归档中提取文件到自定义目录,例如C:\VMFS
  4. 在Windows命令提示符(CMD)中,转到您已提取开源VMFS驱动程序的目录,并运行fvmfs.jar,这是一个Java应用程序。

cd C:\VMFS

java -jar fvmfs.jar

  1. 在Windows中打开计算机管理(右键单击我的电脑 > 管理),然后转到磁盘管理。确定分配给您的带有VMFS数据存储的磁盘的编号,例如,索引 1 – 磁盘1。对于VMFS驱动程序,此编号被解释为\\.\PhysicalDrive1
  2. 在控制台中获取有关此磁盘的信息:

java -jar fvmfs.jar \\.\PhysicalDrive1 info

  1. 通过使用WebDAV协议共享此磁盘。为此,在Windows中必须启动WebClient 服务

java -jar fvmfs.jar \\.\PhysicalDrive1 webdav

  1. 通过使用以下命令在Windows中挂载共享磁盘的VMFS:

net use * http://localhost:50080/vmfs

  1. 检查计算机管理中的磁盘。分配了磁盘号后,您可以以只读模式在我的电脑Windows资源管理器)中打开此磁盘,以查看并从VMFS磁盘卷复制文件。
  2. 在使用Windows中挂载的VMFS卷工作结束前,请不要关闭CMD窗口。

结论

我们已经解释了如何在Linux、Windows和ESXi中挂载VMFS。将现有的VMFS数据存储附加到另一个ESXi主机是挂载现有VMFS数据存储的最简单方法。但是,您可以在Linux中以只读模式挂载VMFS,包括最新的VMFS 5和VMFS文件系统。为此使用了VMFS工具和VMFS 6工具。至于Windows,对于现有的工具,VMFS支持相当有限,并且不允许您在Windows中挂载最新的VMFS版本。

手動從 ESXi 主機故障後掛載到健康計算機上的 VMFS 檔案系統中複製檔案進行 VM 恢復可能會耗費大量時間。如果您使用像 NAKIVO 備份與復原這樣支援主機層級 VM 備份、薄提供的磁碟、即時 VM 恢復和即時細粒度恢復的專業備份解決方案,您可以以更有效的方式保護數據。從備份還原 VM 數據可能比手動 VMFS 恢復更有效。

Source:
https://www.nakivo.com/blog/mount-vmfs-datastore-in-linux-windows-esxi/