我正在寻找一个很好的解决scheme来处理没有vCenter可用的VMware ESXi环境问题。
在单个ESXi主机上将VM从一个数据存储移动到另一个数据存储的最佳方式是什么,同时保持VMDK精简configuration?
这是一个独立的服务器,已经被另一个驱动器arrays/数据存储扩展了。 我想将包含在旧数组中的数据移动到新的位置。
编辑:目标数据存储大小实际上比源。 我没有足够的空间来复制厚文件。
您也可以使用文件 – >导出 – >导出OVF模板
然后导入它。 最后一次我试了一下,我认为这确实保留了vmdk格式。 现在还不是很确定,因为已经有一段时间了。
刚刚通过find自己的方式来做到这一点。 这里有一个简单的介绍如何将您的虚拟机迁移到新的数据存储,同时在传输过程中保留精简configuration(从而减less传输时间)的指南:
mkdir "/vmfs/volumes/destination_datastore/Some VM"
vmkfstools -i "/vmfs/volumes/source_datastore/Some VM/Some VM.vmdk" -d thin "/vmfs/volumes/destination_datastore/Some VM/Some VM.vmdk"
find "/vmfs/volumes/source_datastore/Some VM" -maxdepth 1 -type f | grep -v ".vmdk" | while read file; do cp "$file" "/vmfs/volumes/destination_datastore/Some VM"; done
find "/vmfs/volumes/source_datastore/Some VM" -maxdepth 1 -type f | grep [0123456789][0123456789][0123456789][0123456789][0123456789][0123456789] | grep ".vmdk" | while read file; do cp "$file" "/vmfs/volumes/destination_datastore/Some VM"; done
rm -rf "/vmfs/volumes/source_datastore/Some VM"
注意:只能使用ESXi 5进行testing
无耻地从这个博客复制的插图。
看看这个答案 。 你的情况也适用同样的逻辑,即这个引用:
它被称为“转换器”,但它应该被称为“通用OS数据移动器”。 尽pipe如此,不会很好地滚动舌头。
唯一的区别是源主机和目标主机将是相同的,但是数据存储将有所不同。 这确实意味着文件将从ESXi主机转到Converter机器,然后返回到主机。 如果Converter是“聪明的”,并且知道它是同一个主机,那将会很好。 不幸的是,这花钱。
CAVEAT:转换VM将为任何networking适配器生成一个新的MAC地址。 大多数客户操作系统将其解释为新设备。
其实只是在目标目的地创build文件夹,然后复制源文件夹中的文件,它会保持精简。 如果您复制文件夹,它将从薄到厚..
我会复制文件,然后通过vmkfstools重新转换为精简。