当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何从 Linux、Windows 或 ESXi 访问 VMFS 数据存储

作者:精品下载站 日期:2024-12-14 23:27:32 浏览:13 分类:玩电脑

如何从 Linux、Windows 或 ESXi 访问 VMFS 数据存储


让我们看看从 Linux、Windows 和 VMware 管理程序访问存储在 ESXi 主机的 VMFS 文件系统数据存储上的数据(这些是配置文件、数据文件和虚拟机快照)的几种方法。事实上,本文是基于我们客户的一个真实案例,当时单个VMware ESXi主机突然崩溃。

如果您的 ESXi 主机崩溃,但本地磁盘(或 LUN)仍然可用,您可以复制虚拟机文件并在另一台主机(在 VMware Workstation 甚至 Hyper-V 上)上运行虚拟机。默认情况下,常见操作系统(Windows 和 Linux)不会看到具有 VMFS 文件系统的分区上的数据,因为它们没有 VMFS 驱动程序

让我们考虑访问 VMFS 数据存储上的数据的三种场景。

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

让我们看看如何在安装了 Ubuntu 20.04 LTS 的计算机上挂载具有 VMFS 文件系统的分区。根据 VMFS 文件系统的版本安装 vmfstools 软件包:

  • vmfs-tools - 支持 VMFS 3 (ESXi 3.x、4x) 和 VMFS 5 (ESXi 5.x)

  • vmfs6-tools - VMFS 6(自 vSphere 6.5 起在现代版本的 ESXi 中默认使用)

在我们的示例中,磁盘连接到 ESXi 7.1 主机,因此您需要安装 vmfs6-tools 来访问 VMFS6 文件系统上的数据:

# apt-get -y install vmfs6-tools

[玩转系统] 如何从 Linux、Windows 或 ESXi 访问 VMFS 数据存储

创建挂载目录:

# mkdir /mnt/vmfs

获取磁盘名称和分区类型:

# fdisk -l

在我们的示例中,您可以看到 /dev/sdb 驱动器有一个带有 VMware VMFS 文件系统的 sdb1 分区。

[玩转系统] 如何从 Linux、Windows 或 ESXi 访问 VMFS 数据存储

笔记。要访问大于 2 TB 的磁盘上的 GPT 分区表,请使用 parted 命令而不是 fdisk:

# parted -l

要在 Linux 上挂载此 VMFS 分区,请运行以下命令:

# sudo vmfs6-fuse /dev/sdb1 /mnt/vmfs

该命令返回指定分区包含 VMFS6 文件系统并将其安装到目标目录。

VMFS 磁盘上的虚拟机文件以只读模式提供给您,您可以复制它们或使用 VMware Player/Workstation 快速运行它们。

[玩转系统] 如何从 Linux、Windows 或 ESXi 访问 VMFS 数据存储

挂载分区时可能会出现错误:

VMFS Unsupported version 5
Unable to openfilesystem

在这种情况下,您需要安装支持VMFS3和VMFS5的vmfs-tools:

# apt-get install vmfs-tools

仍然需要使用 VMFS 5 数据存储挂载磁盘分区:

#vmfs-fuse /dev/sdb1 /mnt/vmfs

在新的 VMware ESXi 主机上挂载 VMFS 分区

上面,我们了解了如何使用第三方 VMFS 驱动程序挂载 VMFS 分区。但是,访问故障服务器的 VMFS 数据存储上的数据的最通用方法是将其磁盘连接到新的 ESXi 服务器(您可以在一小时内将 ESXi 安装到新主机上)。我认为这是从存储阵列设备(通过光纤通道或 iSCSI 连接)上的物理硬盘或 LUN 挂载 VMFS 卷的最简单方法。

请按照以下步骤在新 ESXi 主机上挂载现有 VMFS 数据存储,而不对其进行格式化:

  1. 使用 vSphere Web Client 连接到新的 ESXi 服务器(本例中为 ESXi 6.7);

  2. 将磁盘连接到新主机并执行存储重新扫描(如果您的VMFS位于iSCSI LUN上,则根据指南进行连接);

  3. 转到设备选项卡,然后在列表中找到您的 LUN。确保 ESXi 在那里看到 VMFS 分区;

    [玩转系统] 如何从 Linux、Windows 或 ESXi 访问 VMFS 数据存储

    如果 VMFS 数据存储已从存储设备中删除,请查看帖子“如何恢复意外删除的 VMFS 数据存储?” ”

  4. 通过SSH连接到ESXi主机的控制台并运行命令:

    vmkfstools -V

    [玩转系统] 如何从 Linux、Windows 或 ESXi 访问 VMFS 数据存储

  5. 此命令应在磁盘上找到可用的 VMFS 分区并挂载它们;

  6. 打开 vSphere Client 并确保您的 VMFS 存储现在可用。点击它并选择安装

    [玩转系统] 如何从 Linux、Windows 或 ESXi 访问 VMFS 数据存储

  7. 打开数据存储浏览器。现在您可以访问 VMFS 数据存储上的所有文件。您可以找到必要的 vmx 文件,将它们注册到当前 ESXi 主机上,然后立即运行关键虚拟机。

在以前版本的 ESXi(6.5、6.0、5.x)中,可以从 vSphere Client GUI 挂载现有 VMFS 卷。为此,请在添加新的 VMFS 数据存储时选择保留现有签名选项。

[玩转系统] 如何从 Linux、Windows 或 ESXi 访问 VMFS 数据存储

从 Windows 访问 VMFS 数据存储

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

您可以在此处下载开源 VMFS 驱动程序:https://code.google.com/archive/p/vmfs/。该项目自 2010 年以来就没有更新过,网站上提供的最新驱动程序版本是 VMFS 驱动程序 r95,它仅支持 VMFS 3 (

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

  1. 下载开源VMFS驱动程序(fvmfs_r95_dist.zip)并将其解压到任意目录(例如C:mfs);

  2. 您可以检查 java 应用程序 fvmfs.jar 的运行情况,如下所示:

    cd \vmfs
    java -jar fvmfs.jar
  3. 接下来,您需要确定包含连接到 Windows 计算机的 VMFS 数据存储的磁盘的编号。您可以在磁盘管理控制台中或使用diskpart找到磁盘编号(在我们的示例中,连接的磁盘具有索引1 - Disk1。对于fvmfs驱动程序,该磁盘具有以下名称\.\PhysicalDrive1);

  4. 尝试获取有关此磁盘的信息:

    java -jar fvmfs.jar  \.\PhysicalDrive1 info

    [玩转系统] 如何从 Linux、Windows 或 ESXi 访问 VMFS 数据存储

  5. 与 WebDAV 共享此磁盘:

    java -jar fvmfs.jar \.\PhysicalDrive1 webdav
  6. 确保 WebClient 服务已启动。如果该服务被禁用,则运行它;

    [玩转系统] 如何从 Linux、Windows 或 ESXi 访问 VMFS 数据存储

  7. 挂载共享磁盘:

    net use * http://localhost:50080/vmfs
  8. Windows 中将出现一个包含只读 VMFS 数据存储的新磁盘;

    [玩转系统] 如何从 Linux、Windows 或 ESXi 访问 VMFS 数据存储

  9. 处理 VMFS 数据存储上的文件时,请勿关闭命令提示符窗口。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯