我在具有 20 GB 可用空间的 Windows 服务器上使用 PowerCLI 版本 6。我正在尝试将 copy-datastoreitem 与 PowerCLI 一起使用。似乎可以将 .vmdk 文件从 ESXi 数据存储传输到具有 PowerCLI 的 Windows 服务器。没有错误消息,但有一个问题。.VMDK 文件在数据存储中占用 5 GB 空间。vSphere GUI 反映了这一点。PowerCLI 命令运行后在 Windows 服务器上的复制文件只有 1 KB。显然副本没有正常工作。
除了 copy-datastoreitem 命令之外,还有其他更有效的命令吗?
什么会导致文件大小如此不同?使用其他 PowerCLI 命令,我发现 5 GB 文件(源文件)具有作为 VM 的 35 GB 存储空间的容量。它是一个工作的、非损坏的文件。副本不是。但是我的 PowerCLI 命令没有错误。有证据表明它们有效,除了复制文件的大小存在巨大差异。问题是 100% 可重现的。
描述符文件定义了 VMDK 映像数据的存储方式和存储位置。数据存储在扩展数据文件中。
我认为 copy-datastoreitem 只复制一个文件,在您的情况下:您只需复制/下载非常小的描述符文件。
我没有找到下载 VMDK 的 PowerCLI 命令,但也许Export-VApp可以帮助您。
在reddit 上有人说“你需要下载 flat.vmdk,而不是 .vmdk,它只是磁盘描述符”。