ดีเนื่องจาก VMotion เป็นคุณสมบัติ vCenter ที่มีลิขสิทธิ์การเรียกใช้จึงจำเป็นต้องทำโดยเซิร์ฟเวอร์ vCenter บางทีเหตุผลที่ยังไม่เปิดเผยในขณะนี้ผ่านทาง CLI นั้นเป็นเพราะเหตุผลทางการค้า / การออกใบอนุญาตบางประการ
อย่างไรก็ตามฉันได้ค้นหาและไม่พบการอ้างอิงใด ๆ กับ VMware ที่เทียบเท่ากับ "svmotion" สำหรับ VMotion แบบดั้งเดิมเช่นกัน
ฉันคิดว่าถ้าคุณไม่ต้องการใช้ PowerCLI คุณสามารถลองสคริปต์บางอย่างที่คล้ายกับ VMotion ด้วย vmware-cmd แต่แม้ว่ามันจะใช้งานได้ (ซึ่งฉันสงสัย) มันก็จะไม่น่าเชื่อถือ
โครงสร้างพื้นฐานที่อยู่เบื้องหลังการดำเนินการ VMotion คือ:
- สร้างภาพรวมหน่วยความจำของ VM ที่ทำงานอยู่บนโฮสต์ต้นทาง
- เริ่มติดตามการเปลี่ยนแปลงการแม็พหน่วยความจำ VM ตั้งแต่ภาพรวม
- ถ่ายโอนภาพรวมหน่วยความจำดั้งเดิมไปยังโฮสต์ ESX เป้าหมาย
- quiesce VM
- ใช้หน่วยความจำเดลต้าสแน็ปช็อตกับสแน็ปช็อตหน่วยความจำดั้งเดิมบนโฮสต์เป้าหมาย
- หยุด VM บนโฮสต์ต้นทาง
- สตาร์ท VM บนโฮสต์เป้าหมายด้วยสแน็ปช็อตหน่วยความจำ
มีพารามิเตอร์ vmware-cmd ที่ทำ quiescing และ snapshot ของหน่วยความจำดังนั้นในขณะที่คุณไม่สามารถทำได้ (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