今天我们将讨论从 Linux、Windows 和 ESXi 访问存储在 ESXi 主机的 VMFS 数据存储上的数据(这些是配置文件、数据文件和虚拟机快照)的三种简单方法。实际上,本文基于我们客户的一个真实案例,当时唯一具有 VMware ESXi 管理程序的生产服务器突然停止工作。



如果您的 ESXi 主机崩溃,但服务器的本地磁盘(磁盘)仍然可用,您始终可以从 VMFS 数据存储中复制虚拟机文件(数据驱动器和配置文件)并在不同的服务器上运行 VM(甚至在 VMware 上)工作站或 Hyper-V)。主要问题是常见的操作系统(Windows 和 Linux)默认不识别带有 VMFS 文件系统的分区,因为它们没有 VMFS 驱动程序。在本文中,我们将了解如何访问具有 VMFS 文件系统的磁盘上的虚拟机文件。

问题是未配置 VMware 虚拟机的备份以及没有时间诊断和解决 ESXi 主机引导问题。因此,决定从 VMFS 存储手动复制关键虚拟机的文件,并在另一台紧急安装 ESXi 的主机上运行它。

让我们检查访问 VMFS 数据存储上的数据的三个场景。


内容:


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

您可以在安装了 Ubuntu 的计算机上使用 VMFS 文件系统挂载分区(在这种情况下,Ubuntu Live CD 不适合我们)。



首先,您必须将带有 VMFS 文件系统的物理磁盘连接到带有 Ubuntu 的计算机(服务器)。要访问 VMFS 卷上的数据,您必须安装特殊的第三方vmfs-tools包。此软件包允许您从非 ESXi 主机访问 VMFS。您可以以只读模式访问此分区上的数据。第二个重要限制:vmfs-tools 的开发人员正式宣布支持 VMFS 文件系统版本高达 VMFS 5.0。无法保证将分区与 VMFS 6(vSphere 6.0 和 6.5.)连接。

使用以下命令安装软件包:


apt-get install vmfs-tools


注意在 Ubuntu 存储库中,只有 vmfs-tools 0.2.1 可用,其主要缺点是只能与 VMFS v3 配合使用。如果您需要挂载 VMFS 5 数据存储,则必须下载并安装vmfs-tools 0.2.5或更高版本,例如,在这里:

  1. http://mirrors.kernel.org/ubuntu/pool/universe/v/vmfs-tools/vmfs-tools_0.2.5-1_amd64.deb
  2. http://mirrors.kernel.org/ubuntu/pool/universe/v/vmfs-tools/vmfs-tools_0.2.5-1_i386.deb

下载对应的包版本如下:



#wget http://mirrors.kernel.org/ubuntu/pool/universe/v/vmfs-tools/vmfs-tools_0.2.5-1_amd64.deb



并安装它:





#dpkg -i vmfs-tools_0.2.5-1_amd64.deb



要安装软件包依赖项,请使用以下命令:


#apt-get install vmfs-tools


安装包后,您需要创建一个挂载点,VMFS 分区将挂载到该挂载点:


#mkdir /mnt/vmfs


下一步是查看磁盘上的分区。除了用于虚拟机文件的分区(VMFS 分区)之外,安装时还会创建多个服务分区。

如果 ESXi 版本为 4 或更早版本,或者 VMFS 存储已从 VMFS 3 更新到 VMFS 5,并且其大小不超过 2TB,则显示磁盘和分区列表如下:




#fdisk -l


esxi 挂载 类型 未知 esxi挂载vmfs_esxi 挂载 类型 未知

如您所见,VMFS 分区是/dev/sdb3(标签 VMware VMFS)。


重要的。 在 ESXi 5 及更高版本中,VMFS v5 与 GPT 分区表一起使用。GUID 分区表允许创建更大的存储(大于 2TB),以及在物理兼容模式下连接 RDM 驱动器。因此,要查看分区表,您必须使用parted命令而不是fdisk

所以,显示分区信息如下:



#parted -l



现在你只需要挂载一个带有 VMFS 存储的分区:




#vmfs-fuse /dev/sdb3 /mnt/vmfs


列出挂载分区的内容:


#ls -all /mnt/vmfs


现在您可以看到 VMFS 存储上的所有虚拟机文件,这些文件在只读模式下可用。这意味着您可以将必要虚拟机的目录和/或单个文件复制到一个单独的驱动器,然后在另一个 ESXi 主机上运行它们。

从 Windows 访问 VMFS 卷

要连接 VMFS 卷并从 Windows 访问虚拟机文件,您需要一个特殊的 Java 驱动程序——开源 VMFS 驱动程序。此驱动程序需要 Java 版本 6 或更高版本,并允许以只读模式挂载 VMFS 卷。

您可以在此处下载开源 VMFS 驱动程序:https : //code.google.com/archive/p/vmfs/。目前,该项目自 2010 年以来尚未更新,站点上可用的最新版本的驱动程序是 VMFS 驱动程序 r95,它仅支持 VMFS 3(< ESXi 5)。


注意。如果您尝试连接到较新版本的 VMFS,您将收到一条错误消息:未检测到 VMware 文件系统。


  • 下载开源 VMFS 驱动程序(fvmfs_r95_dist.zip 并将其解压到任何目录(例如,C:\vmfs)。
  • 可以查看java-application fvmfs.jar的运行情况如下:
cd \vmfs
java -jar fvmfs.jar
  • 接下来,您需要确定连接到 Windows 计算机的包含 VMFS 存储的 HDD 的数量。您可以在磁盘管理控制台或使用 diskpart 找到磁盘编号(在我们的示例中,连接的磁盘具有索引 1 – Disk1。对于 fvmfs 驱动程序,该磁盘具有以下名称:\\.\PhysicalDrive 1)。
  • 尝试获取有关此磁盘的信息:
java -jar fvmfs.jar  \\.\PhysicalDrive1 info

esxi 挂载 类型 未知 esxi挂载vmfs_windows_02

  • 与 WebDAV 共享此磁盘:
java -jar fvmfs.jar \\.\PhysicalDrive1 webdav
  • 确保服务 WebClient 已启动。如果服务被禁用,请运行它。

    esxi 挂载 类型 未知 esxi挂载vmfs_linux_03

  • 挂载共享磁盘:
net use * http://localhost:50080/vmfs
  • 系统中应出现一个包含可供读取的 VMFS 数据存储的新磁盘; 

    esxi 挂载 类型 未知 esxi挂载vmfs_windows_04

  • 系统中应出现一个包含可供读取的 VMFS 数据存储的新磁盘;
  • 在处理 VMFS 存储上的文件时不要关闭控制台窗口。

在新的 ESXi 主机上挂载现有的 VMFS 数据存储

如您所见,在上述两种情况下,Linux 和 Windows 的第三方 VMFS 驱动程序都不允许使用 VMFS 6.0。因此,访问故障服务器的 VMFS 分区上的数据最通用的方法是将其磁盘连接到新的 ESXi 服务器(您可以在不到一个小时的时间内在新主机上安装 ESXi)。这是最简单的方法。通过这种方式,您可以从存储设备(通过 FC 或 iSCSI)重新连接物理硬盘和 LUN。

新的 ESXi 主机必须正确识别附加的 VMFS 数据存储,您才能访问其上的文件。

按照以下步骤将现有 VMFS 存储连接到新的 ESXi 主机,而不对其进行格式化:

  1. 使用 vSphere Web Client 连接到新的 ESXi 服务器;
  2. 将驱动器连接到新服务器并运行存储重新扫描;
  3. 转到配置->数据存储部分并选择创建新的数据存储项;

    esxi 挂载 类型 未知 esxi挂载vmfs_linux_05

  4. 选择存储类型:磁盘或LUN;
  5. 在可用设备列表中,选择具有 VMFS 存储的连接驱动器 (LUN);
  6. 选择连接方式。选择保留现有签名项;

    esxi 挂载 类型 未知 esxi挂载vmfs_linux_06

  7. 点击完成按钮;
  8. 转到主机的存储部分。选择连接的存储。单击Datastore 浏览器按钮可以显示其内容;

    esxi 挂载 类型 未知 esxi挂载vmfs_数据存储_07

  9. 现在您可以找到必要的 vmx 文件,在主机上注册它们并立即启动关键虚拟机。