vSphere-将虚拟机复制到外部 USB 硬盘

vSphere-将虚拟机复制到外部 USB 硬盘

我们在其他地方有一台 ESXi 服务器。我可以使用 vSphere 客户端连接到该服务器。

服务器中插入了一个外部 USB 硬盘。

如何将已停止的虚拟机复制到外部硬盘?

答案1

正如 ewwhite 在他的评论中所说,这比它应该的要难,而且如果不进行大量高级配置,几乎是不可能的。

这主要是因为 vSphere 背后的底层操作系统(我相信它大致基于 Red Hat Linux,但不要因此责怪我!)从未被设计为功能齐全的操作系统 - 这就是为什么它被定义为虚拟机管理程序

一个选择是亲自动手,在 ESXi 控制台上四处摸索。您需要检测(尝试fdisk -l作为起点)并安装设备。我不确定您是否可以安装它,因为 ESXi 可能不知道如何处理 FAT32/exFAT 文件系统(我思考它在底层使用 ext3 或 ext4,但没有系统可以检查)。

如果失败,您可以使用 USB 直通将连接的 USB 设备分配给 Windows VM,然后使用该 VM 中的 vSphere Client 通过数据存储浏览器将目录保存到 USB 设备。

VMware 文档:

答案2

这可以通过一种迂回的方式实现,但需要第二台虚拟机(或服务器)。

  1. 使用 USB 直通将 USB 驱动器安装到同一物理服务器上的第二台虚拟机。
  2. 使用 NFS 从此 VM 共享 USB 驱动器。
  3. 将 ESXi 中的 NFS 共享挂载为网络存储
  4. 使用 vsphere 客户端将 VM 文件直接从一个存储复制到另一个存储。

在第二台虚拟机中使用 vmxnet 网络驱动程序将使大多数驱动器达到最大容量。需要 NFS 服务器,但比使用 vsphere 客户端下载选项快得多,并且允许您保留精简配置的文件。

答案3

正如其他人所说,将拇指驱动器连接到 ESX 主机不会有太大帮助。但是,您可以使用 scp(或 Windows 等效程序)将文件复制到网络上的另一台主机。有一段时间,我使用 pscp 备份我的 VM 文件,您可以从PuTTY 下载页面。具体来说,我使用这个命令,在 Windows 服务器上运行:

pscp -C -v -r -pw <password> root@esxhost:/vmfs/volumes/datastore D:\localpath

这会将所有内容从某个数据存储递归复制到我的本地文件系统。-C 开关启用压缩,这在复制精简配置的 vmdk 文件时非常有用。

但请注意,如果您确实有精简配置的 vmdk 文件,则在复制到本地存储(或数据存储区中的任何位置)时,它们将变得“膨胀”。

答案4

我需要这样做才能将物理服务器迁移到 AWS。我首先需要将物理服务器转换为 VMDK,并选择结合使用 VMware vCenter Converter Standalone 和 VMware ESXi 6.5。两者都是免费的(至少是功能齐全的免费试用版),并且设置和使用相对简单。

问题是,物理服务器有近 2TB 的存储空间,我需要将其转换为 AWS 中的 EBS 卷。我不确定为什么,但每次我尝试通过 VMware ESXi Web 界面导出时,下载都会在约 700MB 后失败。

我的解决方案是使用 SCP。为了做到这一点,我首先必须在 VMware ESXi 服务器上启用 SSH 访问。接下来,我登录 VMware ESXi 网络界面并浏览到存储 > 我的大存储驱动器并获取存储卷的路径。 在此处输入图片描述

一旦启用该功能,我就会启动赛格威并开始转移:

# Make destination directory on external HDD plugged into Windows PC
mkdir -p /cygdrive/d/VMWareMachines/MyBigServer

# Copy the entire volume from the ESXi server to the external HDD
scp -r [email protected]:/vmfs/volumes/4b3dc0ea-ff5a5bd3-503d-00224d50922a/ /cygdrive/d/VMwareMachines/MyBigServer/

估计需要将近 23 小时才能完成,因为我正在读取/写入旋转磁盘和 USB 2.0,但它实现了我将服务器的 VMDK 复制到外部媒体的目标。显然,使用千兆交换机、SSD 读/写和/或 USB3+ 速度会更快。

相关内容