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

[玩转系统] 从 VMWare ESXi 访问 USB 闪存驱动器

作者:精品下载站 日期:2024-12-14 22:58:39 浏览:14 分类:玩电脑

从 VMWare ESXi 访问 USB 闪存驱动器


有时您可能需要将外部 USB 闪存驱动器(棒)直接连接到 VMWare ESXi 主机。例如,您可能需要它来复制虚拟机映像以将其发送到远程办公室(如果办公室之间的 WAN 通道速度较慢或负载较高)、将虚拟机文件备份到外部 USB 介质、将 ISO 文件或虚拟机映像复制到 ESXi 主机(最好不要使 LAN 过载)。在本文中,我们将展示如何将 USB 闪存驱动器/记忆棒作为 VMFS 数据存储连接到 ESXi 主机,或直接从 FAT32/NTFS 分区复制文件。

如何在 VMWare ESXi 中连接外部 USB 驱动器作为 VMFS 数据存储?

假设您想要将 USB 驱动器连接到 ESXi 主机并在其上创建 VMFS 数据存储,以方便地复制/移动虚拟机的文件和映像。

根据官方说法,VMWare 不支持外部 USB 驱动器作为 VMFS 数据存储。但是,它有效并且您可以使用它。此外,ESXi 不支持大于 2 TB 的 USB 设备。

在 VMWare ESXi 6.5 及更高版本中,将 USB 设备连接到主机的方法已更改。早期使用了几个驱动程序(xhci、ehci-hcd、usb-uhci、usb-storage)。然后一个 USB 驱动程序 (vmkusb) 取代了所有这些。

  1. 通过 SSH 连接到 ESXi 主机控制台;

  2. 停止USB 仲裁器。该服务用于将 USB 设备从 ESXi 主机直通到虚拟机(USB 直通):

    # /etc/init.d/usbarbitrator stop

    如果您不希望 USB 仲裁器在主机重新启动后启动,请运行以下命令:

    # chkconfig usbarbitrator off
  3. 将空 USB 驱动器连接到 ESXi 主机;

  4. 您可以在日志中识别 USB 驱动器的名称:/var/log/vmkernel.log 或使用 /dev/disks

    # ls /dev/disks/

    USB 磁盘通常命名为 mpx.vmhbaXnaa.X

    [玩转系统] 从 VMWare ESXi 访问 USB 闪存驱动器

  5. 在 USB 驱动器上创建 GPT (GUID) 分区表:

    # partedUtil mklabel /dev/disks/naa.5000000000000001 gpt
  6. 然后在驱动器上手动创建一个分区。为此,请指定驱动器上的第一个和最后一个扇区。列出有关磁盘扇区的信息:

     # partedUtil getptbl /dev/disks/naa.5000000000000001

    [玩转系统] 从 VMWare ESXi 访问 USB 闪存驱动器

  7. 第一个扇区始终是2048。最后一个扇区的大小是根据 getptbl 输出计算的。在我的示例中,计算如下:

    121597 * 255 * 63 -1 = 1953455804 

    如果驱动器上有分区,您可以将其删除:

    # partedUtil delete /dev/disks/naa.5000000000000001 1
  8. 创建 VMFS 分区(此类分区的 GUID 始终为 AA31E02A400F11DB9590000C2911D1B8):

    # partedUtil setptbl /dev/disks/naa.5000000000000001 gpt "1 2048 1953455804 AA31E02A400F11DB9590000C2911D1B8 0"
  9. 然后您可以使用 VMFS6 格式化分区:

    # vmkfstools -C vmfs6 -S USB-HDD-DSDatastore /dev/disks/naa.5000000000000001:1
  10. 打开图形 VMWare vSphere Client 并转到存储。您的 USB 驱动器将出现在可用数据存储列表中。

[玩转系统] 从 VMWare ESXi 访问 USB 闪存驱动器

如何将文件从 USB 驱动器 (NTFS/FAT32) 直接复制到 ESXi?

如果您不想将 USB 驱动器上的文件系统更改为 VMFS(有一个小技巧可以从 Windows 访问 VMFS),您可以从 ESXi 控制台访问 NTFS 或 FAT32 格式分区上的文件并复制所需的文件。

在将 USB 驱动器连接到 ESXi 主机之前禁用 USB 仲裁器服务。

要从 ESXi 访问 FAT32 格式的分区,您可以使用 mcopy 工具。要访问 USB 驱动器上的 NTFS 分区,请使用 ntfscat。最初也支持 Ext3 文件系统。基本限制是:

  • FAT32Ext3分区可读写;

  • NTFS 驱动器是只读的(这意味着您可以将数据从 NTFS USB 驱动器复制到 ESXi 主机,但反之则不然)。

要将文件从 FAT32 USB 设备复制到 ESXi,请使用以下命令:

# /bin/mcopy -i "/dev/disks/naa.5000000000000001:2" ::/some.iso /vmfs/volumes/12345678-ddd654321-4321-aaaabbbb2222/iso/some.iso

在哪里

/some.iso

是 USB 驱动器上文件的路径。第二条路径显示将文件复制到 ESXi 主机上(例如,直接复制到 VMFS 数据存储)。

要将文件从 ESXi 复制回 USB,只需交换命令中的路径即可。

FAT32 的主要问题是它不支持超过 4 GB 的文件。所以复制虚拟机的VMDK文件是相当困难的。通常,您可以在复制之前将源文件分成几个部分(例如 3 GB):

# split -b 3221225472 /vmfs/volumes/xx/vm1/vm1.vmdk

然后,您可以将所有部分复制到 USB 驱动器并将它们加入到目标 ESXi 主机上:

# cat vm1* > vm1.vmdk

要将文件从 NTFS 格式的 USB 驱动器复制到 ESXi 主机,请使用以下命令:

# /bin/ntfscat -f /dev/disks/naa.5000000000000001:2" some.iso > /vmfs/volumes/12345678-ddd654321-4321-aaaabbbb2222/iso/some.iso

您只能将文件复制到 ESXi,而不能复制回来。 NTFS 不能用 ntfscat 写入。

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

取消回复欢迎 发表评论:

关灯