我在具有 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 文件(源文件)作为虚拟机具有 35 GB 的存储空间容量。它是一个正常工作且未损坏的文件。副本则不是。但我的 PowerCLI 命令没有错误。有证据表明它们有效,只是复制文件的大小有很大差异。该问题 100% 可重现。
答案1
描述符文件定义了 VMDK 映像的数据如何存储以及存储在哪里。数据存储在范围数据文件中。
我认为 copy-datastoreitem 只复制文件,这就是你的情况:你只需复制/下载描述符文件即可是相当小。
我没有找到用于下载 VMDK 的 PowerCLI 命令,但也许导出-VApp可以帮你。
在reddit 有人说“您需要下载 flat.vmdk,而不是 .vmdk,它只是磁盘描述符”。