有时您可能需要在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-VM的Windows虚拟机的副本。
Ubuntu 20.04.3是一个Linux机器,我们将在其上挂载VMFS文件系统。我们将两个磁盘与datastore11和datastore 10a附加到Linux机器上。Linux发行版不包含与VMFS一起工作所需的驱动程序。因此,您需要安装vmfs-tools,这是一个免费软件包,并且之后,VMFS可以以只读模式挂载。
如何在Ubuntu中挂载VMFS 5
- 以root用户身份运行命令。使用sudo -i获取安装VMFS工具所需的root权限。
- 从Ubuntu软件包存储库安装vmfs-tools:
apt-get install vmfs-tools
在我们的情况下,安装的vmfs-tools版本是0.2.5-1build1。
- 创建一个将用作挂载点的目录:
mkdir /mnt/vmfs
- 使用VMFS检查磁盘和分区的名称:
fdisk -l
我們的磁碟機上有 VMFS 5 分割區 /dev/sdb,所需的分割區是 /dev/sdb1
。VMFS 6 分割區是 /dev/sdc1
。如您在螢幕截圖上所見,分割區類型為 VMware VMFS。唯一的磁碟識別碼顯示了。
注意: 您可以使用 parted 查看大於 2 TB 的 GPT 分割區:
parted -l
- 讓我們將 VMFS 5 分割區掛載到 /mnt/vmfs/ 目錄:
如何在 Ubuntu 中掛載 VMFS 6
- 在 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-tools:https://packages.debian.org/sid/vmfs6-tools
- 下載當前版本的VMFS6-tools:
wget http://http.us.debian.org/debian/pool/main/v/vmfs6-tools/vmfs6-tools_0.1.0-3_amd64.deb
- 安裝下載的deb包:
dpkg -i vmfs6-tools_0.1.0-3_amd64.deb
注意: libc6 >= 2.28 需要安裝VMFS6-tools。如果您使用的是Ubuntu 18,可能會因為這個原因在安裝過程中遇到錯誤。
- 現在您可以使用以下命令將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)。
- 檢查分區的名稱:
fdisk -l
或
parted -l
我們的兩個VMFS擴展位於/dev/sdd1和/dev/sde1分區上。
- 當掛載由多個擴展組成的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数据存储。
- 将具有VMFS分区的物理磁盘连接到安装有ESXi的物理服务器上。
- 通过输入已挂载具有VMFS分区(分区)的磁盘或磁盘阵列的ESXi主机的IP地址,在您的Web浏览器中登录VMware Host Client。我们在示例中使用ESXi 7.0。
- 转到存储 > 设备,检查所需的磁盘是否显示。如果磁盘未自动显示,请单击重新扫描。
- 转到存储 > 数据存储,检查您现有的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。
- 连接带有VMFS数据存储的磁盘(磁盘)到您的Windows计算机。
- 通过以下链接下载开源VMFS驱动程序:https://code.google.com/archive/p/vmfs/
- 从下载的fvmfs_r95_dist.zip归档中提取文件到自定义目录,例如C:\VMFS
- 在Windows命令提示符(CMD)中,转到您已提取开源VMFS驱动程序的目录,并运行fvmfs.jar,这是一个Java应用程序。
cd C:\VMFS
java -jar fvmfs.jar
- 在Windows中打开计算机管理(右键单击我的电脑 > 管理),然后转到磁盘管理。确定分配给您的带有VMFS数据存储的磁盘的编号,例如,索引 1 – 磁盘1。对于VMFS驱动程序,此编号被解释为\\.\PhysicalDrive1
- 在控制台中获取有关此磁盘的信息:
java -jar fvmfs.jar \\.\PhysicalDrive1 info
- 通过使用WebDAV协议共享此磁盘。为此,在Windows中必须启动WebClient 服务。
java -jar fvmfs.jar \\.\PhysicalDrive1 webdav
- 通过使用以下命令在Windows中挂载共享磁盘的VMFS:
net use * http://localhost:50080/vmfs
- 检查计算机管理中的磁盘。分配了磁盘号后,您可以以只读模式在我的电脑(Windows资源管理器)中打开此磁盘,以查看并从VMFS磁盘卷复制文件。
- 在使用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/