通过vSphere命令行界面组合vMotion和SvMotion

自vSphere 5.x以来,我们现在可以通过Web Client同时请求组合的 vMotion和Storage vMotion – 但是可以通过CLI(而不是PowerCLI)来完成吗?

我已经阅读了5.1 CLI的文档,并且search了很多,但是我找不到任何参考。 另外,如果我find答案,我认为它应该有一个容易find的地方。

可以通过CLI(而不是PowerCLI)完成吗?

当你说“不PowerCLI”时,你真的需要澄清你的意思。 有VMA,然后有一个ESX服务器上的权利。

不过,我最近参加了vSphere 5的课程…

这两个操作需要非常不同的东西,并且当您使用基于Web的UI时,将按顺序(一个接一个地)而不是同时完成。

这意味着当你从VMA命令行执行时,你必须做两件不同的事情。 (据我所知,你的问题不可能直接来自ESX服务器)

那么,由于VMotion是一个许可的vCenterfunction,因此调用它将需要由vCenter服务器完成。 也许目前没有通过CLI暴露的原因是由于一些商业/许可的原因。

无论如何,我看了,也找不到任何与传统VMotion的“svmotion”相当的VMware参考资料。

我想,如果你不想使用PowerCLI,你可以尝试使用vmware-cmd编写类似vmotion的脚本,但即使它工作正常(我怀疑),它将会很笨重,完全不受支持。

VMotion操作背后的基本结构是:

  1. 在源主机上创build正在运行的虚拟机的内存快照
  2. 从快照开始跟踪对虚拟机内存映射的更改
  3. 将原始内存快照传输到目标ESX主机
  4. 让虚拟机停顿
  5. 将内存快照增量应用于目标主机上的原始内存快照
  6. 停止源主机上的虚拟机
  7. 使用内存快照在目标主机上启动虚拟机

有一个vmware-cmd参数可以实现静止和内存快照,所以当你无法完成(2)的时候,你可能可以完成剩下的工作。

Virtual Machine Operations vmware-cmd <conn_option> <config_file_path> [answer | connectdevice <device_name> | createsnapshot <name> <description> quiesce [0|1] memory [0|1] | ... 

我怀疑它会在足够短的时间内运行,对服务的损失有用。 对不起,可能不是你正在寻找的答案。

– ab1

参考:

http://pubs.vmware.com/vsphere-51/index.jsp?topic=%2Fcom.vmware.vcli.ref.doc%2Fvmware-cmd.html

在v5.1文档中,它看起来像你可以使用svmotion命令,但我不确定它是否能够做存储或两者兼而有之。

 svmotion [standard vCLI options] - -datacenter=<datacenter_name> - -vm <VM config datastore path>:<new datastore> [- -disks <virtual disk datastore path>:<new datastore>, <virtual disk datastore path>:<new datastore>] 

svmotion链接

这也是另一种方法 – 如何在没有vCenter或Storage VMotion的情况下移动虚拟机