在 CLI 中使用 vmkfstools 的分步指南

在 CLI 中使用 vmkfstools 的分步指南

我正在寻找一个解决没有可用 vCenter 的 VMware ESXi 环境问题的好的解决方案。

在保持 VMDK 精简配置的同时,将虚拟机从一个数据存储移动到另一个数据存储在单个 ESXi 主机上的最佳方法是什么?

这是一台独立服务器,已扩展了另一个驱动器阵列/数据存储。我想将旧阵列中包含的数据移动到新阵列。

编辑:目标数据存储大小实际上小于源。我没有足够的空间来复制厚文件。

答案1

您也可以使用文件 -> 导出 -> 导出 OVF 模板

然后导入。上次我尝试时,我认为这确实保留了 vmdk 格式。现在不太确定,因为已经过去了很长时间。

答案2

刚刚自己找到了一种方法来做到这一点。以下是一份易于遵循的指南,介绍如何将您的虚拟机移动到新的数据存储区,同时在传输过程中保留精简配置(从而减少传输时间):

在 CLI 中使用 vmkfstools 的分步指南

  1. 关闭虚拟机
  2. (选修的)如果需要的话,合并快照。
  3. 从 vCenter 清单中删除虚拟机
  • 右键单击虚拟机,然后单击“从库存中移除” 在此处输入图片描述
  1. 在 ESXi 计算机上启用 SSH
  • 在 vSphere 客户端中,转到:配置 -> 安全配置文件 -> 属性(服务旁边)-> SSH(在列表中)-> 选项 -> 开始
  1. 以 root 身份通过 SSH 登录
  2. 在目标数据存储上准备目录
  • mkdir "/vmfs/volumes/destination_datastore/Some VM"
  1. 使用精简配置克隆 .vmdk 文件
  • vmkfstools -i "/vmfs/volumes/source_datastore/Some VM/Some VM.vmdk" -d thin "/vmfs/volumes/destination_datastore/Some VM/Some VM.vmdk"
  1. 复制所有剩余文件(避免覆盖 .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
  1. 如果您在步骤2中没有合并快照,则可能存在快照.vmdk增量文件,我们还需要复制这些文件(这可能需要一些时间):
  • 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
  1. 完成克隆和复制所有必要文件后,将虚拟机从新数据存储添加回库存
  • 在 vSphere 客户端中,转到:配置->存储->数据浏览器,右键单击您将虚拟机移动到的目标数据存储,然后单击“浏览数据存储”。 在此处输入图片描述
  1. 浏览到您的虚拟机并右键单击.vmx文件,然后点击“添加到库存” 在此处输入图片描述
  2. 启动虚拟机以查看它是否正常工作,当被问到您是否复制或移动它时,只需回答您复制了它。(我不确定这是什么意思,但我认为它至少与更改 vNIC 的 MAC 地址有关。) 在此处输入图片描述
  3. 如果虚拟机启动正常,则可以从旧数据存储中删除该虚拟机。
  • rm -rf "/vmfs/volumes/source_datastore/Some VM"

注意:仅使用 ESXi 5 进行测试

插图厚颜无耻地抄袭自这个博客

答案3

查看这个答案同样的逻辑也适用于你的情况,即以下引文:

它被称为“转换器”,但实际上应该被称为“全功能操作系统数据移动器”。不过,这个名字不太好听。

唯一的区别是源主机和目标主机相同,但数据存储不同。这意味着文件将从 ESXi 主机传输到 Converter 计算机,然后再返回主机。如果 Converter 很“聪明”,知道这是同一台主机,那就太好了。不幸的是,这需要花钱。

警告:转换虚拟机将为任何网络适配器生成新的 MAC 地址。大多数客户操作系统将其解释为新设备。

答案4

我将复制该文件然后通过 vmkfstools 将其重新转换为精简版。

相关内容