เทคโนโลยี Live Migration ในระบบเวอร์ชวลไลเซชัน Hyper-V ช่วยให้สามารถย้ายเครื่องเสมือนที่กำลังทำงานระหว่างโฮสต์ Hyper-V ได้โดยไม่ต้องหยุดการทำงานหรือไม่มีผลกระทบต่อความพร้อมใช้งานของบริการ ใน Hyper-V เวอร์ชันก่อนหน้า การใช้ Live Migration คุณสามารถย้ายเครื่องเสมือนระหว่างโหนดของ Failover Cluster เท่านั้น ข้อจำกัดนี้จะถูกลบออกใน Hyper-V 3.0 (Windows Server 2012) และสูงกว่าเนื่องจาก Shared Nothing Live Migration เทคโนโลยี. ในบทความนี้เราจะแสดงวิธีเปิดใช้งาน Live Migration และย้าย VM ที่ทำงานอยู่ระหว่างโฮสต์ Hyper-V แบบสแตนด์อโลนที่ใช้ Windows Server 2016
ข้อกำหนดการย้ายข้อมูล Shared Nothing Live:
- สามารถย้ายข้อมูลระหว่างเซิร์ฟเวอร์ที่ใช้ระบบปฏิบัติการต่อไปนี้:Windows Server 2012 R2 หรือ Windows Server 2016
- เวอร์ชันเครื่องเสมือนต้องเป็น 5 หรือสูงกว่า
- คอมพิวเตอร์ทั้งสองเครื่องต้องอยู่ในโดเมน Active Directory เดียวกันหรือในโดเมนที่เชื่อถือได้
- ผู้ใช้ที่ทำการกำหนดค่าต้องมีสิทธิ์ของผู้ดูแลระบบ Hyper-V ขณะกำหนดค่าการมอบสิทธิ์ที่จำกัด Kerberos ผู้ใช้ต้องมีสิทธิ์ของผู้ดูแลระบบโดเมน (หรือสิทธิ์ของบัญชีเซิร์ฟเวอร์)
สมมติว่าเรามี 2 เซิร์ฟเวอร์ที่ใช้ Windows Server 2016 โดยมีบทบาท Hyper-V:Srv01 และ Srv03 เซิร์ฟเวอร์ทั้งสองเป็นสมาชิกของโดเมน Active Directory และไม่ได้จัดกลุ่ม (Windows Server Failover Clustering) เริ่ม Hyper-V Manager คอนโซลบนเซิร์ฟเวอร์ใด ๆ และเพิ่มเซิร์ฟเวอร์ทั้งสองเข้าไป
จากนั้นเปิดใช้งาน Live Migration ในการตั้งค่าของทั้งสองเซิร์ฟเวอร์ โดยคลิกขวาที่เซิร์ฟเวอร์ Hyper-V แล้วเลือก Hyper-V การตั้งค่า . ไปที่ การย้ายข้อมูลแบบสด และเลือก เปิดใช้งานการย้ายข้อมูลสดขาเข้าและขาออก . จำกัดรายการการย้ายข้อมูลไปยังที่อยู่ IP ของโฮสต์ Hyper-V สองโฮสต์
จากนั้นเลือก ใช้ Kerberos เป็นโปรโตคอลการตรวจสอบสิทธิ์ใน คุณลักษณะขั้นสูง ส่วน.
คุณสามารถทำสิ่งเดียวกันได้โดยใช้คำสั่ง PowerShell ต่อไปนี้:
Enable-VMMigration
Set-VMMigrationNetwork 192.168.10.41 192.168.10.21
Set-VMHost -VirtualMachineMigrationAuthenticationType
ในการย้ายข้อมูล VM โดยใช้การตรวจสอบสิทธิ์ Kerberos ผู้ดูแลระบบไม่จำเป็นต้องลงชื่อเข้าใช้บนเซิร์ฟเวอร์ แต่ต้องมีการกำหนดค่าการมอบสิทธิ์แบบจำกัดใน Active Directory (KCD — Kerberos constrained delegation)
เริ่มสแนปอิน ADUC ค้นหาบัญชีของเซิร์ฟเวอร์ Hyper-V แรก เปิดคุณสมบัติและไปที่ การมอบหมาย แท็บ
ทำเครื่องหมายที่ เชื่อถือคอมพิวเตอร์เครื่องนี้สำหรับการมอบหมายบริการที่ระบุเท่านั้น และ ใช้ Kerberos เท่านั้น และคลิก เพิ่ม .
ในหน้าต่างถัดไป คลิก ผู้ใช้ และ คอมพิวเตอร์ และระบุชื่อของเซิร์ฟเวอร์ Hyper-V ที่สอง ในรายการบริการที่มี ให้เลือก Microsoft Virtual System Migration Service .
เคล็ดลับ . หากคุณต้องย้ายที่เก็บข้อมูล VM ด้วย ให้เลือก cifs โปรโตคอลเช่นกัน
บันทึกการตั้งค่าการมอบหมาย กำหนดการตั้งค่าเดียวกันสำหรับเซิร์ฟเวอร์ Hyper-V ที่สอง
ยังคงต้องรอการจำลองการเปลี่ยนแปลงใน AD และออกตั๋ว Kerberos ใหม่ จากนั้นคุณสามารถดำเนินการย้ายข้อมูล VM แบบสดได้ คลิกขวาที่เครื่องเสมือนและเลือก ย้าย .
เลือก ย้ายเครื่องเสมือน เป็นประเภทของการย้ายถิ่น
ระบุชื่อของโฮสต์ Hyper-V ที่คุณต้องการย้าย VM
จากนั้นเลือกโฟลเดอร์บนโฮสต์เป้าหมายเพื่อย้ายไฟล์ VM ไป (โฟลเดอร์นั้นต้องมีอยู่แล้ว)
คลิก เสร็จสิ้น และรอจนกว่ากระบวนการ Live Migration ของเครื่องเสมือนไปยังเซิร์ฟเวอร์ Hyper-V ที่สองจะสิ้นสุดลง
เคล็ดลับ . คุณสามารถเริ่มการย้ายข้อมูล VM โดยใช้คำสั่ง PowerShell ต่อไปนี้:
Move-VM srvapp1 Srv01 -IncludeStorage -DestinationStoragePath c:\hyperv\vm
หากไม่ได้เปิดความเข้ากันได้ของโปรเซสเซอร์ในการตั้งค่า VM การย้ายข้อมูลจะถูกขัดจังหวะโดยมีข้อผิดพลาดดังต่อไปนี้:
เครื่องเสมือนไม่สามารถย้ายไปยังคอมพิวเตอร์ปลายทางได้ ฮาร์ดแวร์ในคอมพิวเตอร์ปลายทางเข้ากันไม่ได้กับข้อกำหนดด้านฮาร์ดแวร์ของเครื่องเสมือนนี้ในการแก้ปัญหานี้ คุณจะต้องปิด VM และเปิดใช้งานความเข้ากันได้ของ CPU:
Set-VMProcessor srvapp1 -CompatibilityForMigrationEnabled $true