有时候,您可能需要在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,在安装过程中可能会因为这个原因而遇到错误。
- 现在你可以在Ubuntu 20中使用以下命令将VMFS挂载到/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
如下面的截图所示,在Ubuntu中成功挂载了由多个扩展组成的VMFS 6文件系统。
现在您知道如何在不同情景下在Linux中挂载VMFS了。
在新的VMware ESXi主机上挂载VMFS分区
你可以在不同的ESXi主机上挂载VMFS数据存储。当ESXi主机中的一台故障时,您需要从VMFS分区复制数据或运行存储在该分区上的虚拟机时,此选项非常有用。您甚至可以在服务器上执行新的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的能力受到限制,因为您只能使用现有工具来挂载过时的VMFS 3,而现代vSphere环境中不再使用该版本。VMFS 3仅支持ESXi 5.0之前的版本。VMware vSphere 7.0不支持VMFS 3。
在撰写本文时,VMFS 5和VMFS 6被广泛使用。
然而,如果您需要在Windows中挂载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协议共享此磁盘。WebClient服务必须在Windows中启动以实现此目的。
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恢复可能会耗费大量时间。如果您使用支持主机级别VM备份、瘦置备磁盘、即时VM恢复和即时粒度恢复的专业备份解决方案,如NAKIVO备份与复制,您可以以更高效的方式保护数据。从备份中恢复VM数据可能比手动VMFS恢复更有效。
Source:
https://www.nakivo.com/blog/mount-vmfs-datastore-in-linux-windows-esxi/