Computer >> คอมพิวเตอร์ >  >> ซอฟต์แวร์ >> เครื่องเสมือน

คำถามที่พบบ่อย:การโยกย้ายเครื่องเสมือนแบบสดด้วย VMWare vMotion

vMotion อนุญาตให้ย้ายเครื่องเสมือน VMWare ที่ทำงานอยู่จากโฮสต์ ESXi จริงหนึ่งไปยังอีกโฮสต์หนึ่งโดยไม่ขัดจังหวะการทำงานและหยุดบริการใดๆ ในบทความนี้ เราจะพูดถึงคุณสมบัติของ VMWare vMotion:วิธีการทำงานของ vMotion, ประเภท vMotion ที่มีอยู่ และวิธีโยกย้ายเครื่องเสมือนระหว่างโฮสต์ ESXi หรือที่เก็บข้อมูลด้วยตนเอง เราจะพิจารณาวิธีการทั่วไปในการเพิ่มประสิทธิภาพ vMotion และการแก้ไขปัญหา

ดังที่เราได้กล่าวไปแล้ว vMotion ช่วยให้คุณดำเนินการการย้ายข้อมูลแบบสด ของเครื่องเสมือนโดยไม่มีการหยุดทำงานหรือขัดขวางการทำงานของผู้ใช้ vMotion ไม่ได้ถูกจัดวางเพื่อให้มีความพร้อมใช้งานสูงของ VM ประการแรก มันเป็นเครื่องมือที่ง่ายและสะดวกในการย้าย VM ที่มีประสิทธิผล เมื่อคุณต้องบำรุงรักษา/อัปเดต/เปลี่ยนเซิร์ฟเวอร์จริงด้วยไฮเปอร์ไวเซอร์ ESXi หรืออาร์เรย์จัดเก็บข้อมูลที่ติดตั้งไว้ นอกจากนี้ DRS (Dynamic Resource Scheduler) ซึ่งเป็นเทคโนโลยีที่ช่วยในการกระจาย (สมดุล) โหลดของเซิร์ฟเวอร์จริงขึ้นอยู่กับ vMotion

เทคโนโลยี Microsoft ที่คล้ายกันในการย้าย VM ระหว่างโฮสต์ Hyper-V เรียกว่า Hyper-V Live Migration

คำถามที่พบบ่อย:การโยกย้ายเครื่องเสมือนแบบสดด้วย VMWare vMotion

VMware vMotion ทำงานอย่างไร

ในการย้าย VM ระหว่างโฮสต์จริงโดยใช้ vMotion จะใช้คอมโพเนนต์ VMWare ต่อไปนี้:

  • A VMware vCenter เซิร์ฟเวอร์การจัดการ
  • A ที่เก็บข้อมูลที่ใช้ร่วมกัน (เชื่อมต่อโดยใช้ Fibre Channel, iSCSI หรือ NAS) ที่เก็บไฟล์เครื่องเสมือน พื้นที่เก็บข้อมูลที่ใช้ร่วมกันช่วยให้โฮสต์ ESXi จริงหลายโฮสต์เข้าถึงไฟล์ของ VM เดียวกันใน SAN ได้
  • A เครือข่ายที่รวดเร็วที่ใช้ร่วมกัน (อีเทอร์เน็ตอย่างน้อย 1GB) ระหว่างโฮสต์ ESXi ต้นทางและเป้าหมาย เมื่อโอนย้าย VM จะคงที่อยู่ MAC เดิมไว้ และ vMotion จะแจ้งสวิตช์เครือข่ายว่าตำแหน่งของที่อยู่ MAC ของเครื่องเสมือนมีการเปลี่ยนแปลง ช่วยให้สามารถเชื่อมต่อเครือข่ายได้
  • ความเข้ากันได้ของซีพียู บนโฮสต์หรือเปิดใช้งานตัวเลือก Enhanced vMotion Compatibility (EVC)

vMotion ทำการย้ายข้อมูลแบบสดอย่างไร ขั้นแรก โคลนเงาของ VM ต้นทางที่มีการกำหนดค่าเดียวกัน (จากไฟล์ VMX) จะถูกสร้างขึ้นบนโฮสต์เป้าหมาย โคลน VM เห็นไฟล์ VM ทั้งหมดบนที่จัดเก็บข้อมูลที่ใช้ร่วมกัน เนื้อหา RAM และสถานะของ VM ที่ทำงานอยู่จะถูกถ่ายโอนผ่านเครือข่ายจากต้นทางไปยังโฮสต์ ESXi เป้าหมาย vMotion สร้างสแน็ปช็อตหน่วยความจำ VM และคัดลอกไปยังเซิร์ฟเวอร์เป้าหมายผ่านเครือข่าย ในเวลาเดียวกัน vMotion จะติดตามการเปลี่ยนแปลงในหน้าหน่วยความจำและคัดลอกเฉพาะส่วนหน่วยความจำที่แก้ไขแล้วเท่านั้น (อาจเกิดขึ้นได้ในหลายขั้นตอน โดยแต่ละครั้งจะมีการคัดลอกข้อมูลน้อยลงและใช้เวลาน้อยลง)

ในบางจุด สถานะของ VM ต้นทางจะหยุดชั่วคราว เซ็กเมนต์หน่วยความจำที่เปลี่ยนแปลงและคำสั่ง CPU จะถูกคัดลอก และ VM เริ่มทำงานบนโฮสต์ ESXi เป้าหมาย กระบวนการทั้งหมดใช้เวลาสองสามวินาทีสำหรับ VM ขนาดกลางบนเครือข่ายอีเทอร์เน็ต 1/10 GB

ประเภท VMware vMotion

โดย vMotion นั้น VMWare หมายถึงเทคโนโลยีต่างๆ มากมายที่ช่วยให้คุณย้าย VM ที่ทำงานอยู่ได้ทันทีระหว่างโฮสต์ อาร์เรย์พื้นที่เก็บข้อมูล เมือง หรือในองค์กร และโครงสร้างพื้นฐานระบบคลาวด์

vประเภทการเคลื่อนไหว:

  1. มาตรฐาน vMotion – การโยกย้าย VM ที่ทำงานอยู่ระหว่างโฮสต์ ESXi;
  2. ที่เก็บข้อมูล vMotion – การย้ายไฟล์เครื่องเสมือนแบบออนไลน์ระหว่างที่เก็บข้อมูล (อาร์เรย์จัดเก็บข้อมูล SAN, NAS, vVol, NFS เป็นต้น);
  3. แชร์-ไม่มีอะไร vMotion – การโยกย้าย VM ระหว่างเซิร์ฟเวอร์ ESXi ในเครือข่ายโดยไม่ต้องใช้ที่เก็บข้อมูลที่ใช้ร่วมกัน (จำเป็นต้องมีเครือข่าย L2);
  4. ระยะไกล vMotion – การโยกย้าย VM ระหว่างไซต์ระยะไกล (เวลา Round Trip สูงสุดคือ 150 ms รวมถึงเครือข่าย L3 ด้วย) เปิดตัวใน vSphere 6.0;
  5. เข้ารหัส vSphere vMotion – อนุญาตให้เข้ารหัส VM เมื่อถ่ายโอนผ่านเครือข่าย (มีให้ใน vSphere 6.5);
  6. การโยกย้ายเย็นและร้อนข้ามเมฆ – การโยกย้ายออนไลน์หรือออฟไลน์ระหว่างโครงสร้างพื้นฐานภายในองค์กรและคลาวด์

คุณสมบัติ VMware Storage vMotion

ดังที่เราได้กล่าวไปแล้วว่า Storage vMotion อนุญาตให้คุณย้ายไฟล์ของเครื่องเสมือนที่รันอยู่ (ดิสก์เสมือน vmdk และไฟล์คอนฟิกูเรชัน) ไปยังที่เก็บข้อมูล VMFS/NFS/vVol อื่น (LUN, อาร์เรย์หน่วยเก็บข้อมูล) โดยไม่ต้องหยุด VM

ข้อกำหนดในการเรียกใช้ Storage vMotion สำเร็จ:

  • ประเภทของดิสก์ VM ต้องเป็นแบบถาวรหรือ RDM
  • ไม่รองรับการย้าย VM ระหว่างการติดตั้ง VMware Tools
  • เวอร์ชัน VMFS ของพื้นที่เก็บข้อมูลมีความสำคัญต่อการย้ายข้อมูล ตัวอย่างเช่น คุณไม่สามารถย้ายไฟล์ vmdk เกิน 2 TB จาก VMFS5 ไปยัง VMFS3 ได้
  • ใบอนุญาตบนโฮสต์ ESXi
  • โฮสต์ที่ VM กำลังทำงานอยู่จะต้องมีสิทธิ์เข้าถึงทั้งที่เก็บข้อมูลต้นทางและปลายทาง
  • เทคโนโลยี Changed Block Tracking (CBT) จะใช้เมื่อคัดลอกดิสก์ของเครื่องเสมือน อนุญาตให้ติดตามบล็อกข้อมูลที่เปลี่ยนแปลงและคัดลอกได้

ปรับปรุงความเข้ากันได้ของ vMotion (EVC) ใน VMWare

ปรับปรุงความเข้ากันได้ของ vMotion (EVC) โหมดสำหรับคลัสเตอร์ VMware HA/DRS จะใช้หากคลัสเตอร์อิงตามโฮสต์ที่มี CPU รุ่นต่างๆ (แต่ไม่ใช่ผู้ผลิต!!!) หากคุณเปิดใช้งาน EVC สำหรับคลัสเตอร์ ไฮเปอร์ไวเซอร์จะเริ่มปิดบังคำสั่ง CPU ที่โฮสต์ทั้งหมดไม่รองรับ เมื่อเปิดใช้งาน EVC คุณลักษณะ CPU ทั้งหมดของโฮสต์ ESXi ในคลัสเตอร์จะเข้ากันได้กับชุดคำสั่งโปรเซสเซอร์ขั้นต่ำขั้นพื้นฐานที่กำหนดโดยผู้ดูแลระบบ vSphere ในการตั้งค่าคลัสเตอร์

ดังนั้น ต้องขอบคุณ EVC ที่ทำให้คุณสามารถย้าย VM ระหว่างโฮสต์ที่มีชุดคำสั่งโปรเซสเซอร์ที่รองรับที่แตกต่างกันได้

อย่าผสมโฮสต์กับผู้จำหน่ายโปรเซสเซอร์ที่แตกต่างกัน เช่น Intel หรือ AMD ในคลัสเตอร์ vSphere เดียวกัน EVC ช่วยให้สามารถทำงานร่วมกันได้ระหว่างโปรเซสเซอร์โดยผู้จำหน่ายรายเดียวกัน

คุณสามารถเปิดใช้งาน VMWare EVC ในระดับคลัสเตอร์ ไปที่ กำหนดค่า -> การกำหนดค่า -> VMware EVC และคลิกแก้ไข .

คำถามที่พบบ่อย:การโยกย้ายเครื่องเสมือนแบบสดด้วย VMWare vMotion

หากคุณเปิดใช้งาน EVC สำหรับคลัสเตอร์ คุณจะต้องเลือกโหมด EVC (สำหรับโฮสต์ AMD หรือ Intel) และเลือกจากรายการดรอปดาวน์รุ่น CPU ขั้นต่ำจากผู้ขายรายนี้ที่คุณมีในคลัสเตอร์ VMWare

คำถามที่พบบ่อย:การโยกย้ายเครื่องเสมือนแบบสดด้วย VMWare vMotion

VMWare แนะนำให้เปิดใช้งาน EVC เสมอ ไม่ว่าคุณจะมีโฮสต์ใดในคลัสเตอร์ของคุณ หากคุณต้องการขยายคลัสเตอร์ คุณจะทำได้ง่ายกว่า มีแม้กระทั่งบทความ KB แยกต่างหากที่พิสูจน์ว่าแม้ว่า VM ของคุณจะไม่ได้ใช้คำสั่ง CPU แบบเต็ม แต่ก็จะไม่ส่งผลต่อประสิทธิภาพของโฮสต์

VMware vSphere 6.7 นำเสนอเทคโนโลยีการย้ายข้อมูลระหว่างระบบคลาวด์และภายในองค์กร (Cross-Cloud Cold and Hot Migration) หากต้องการย้าย VM ไปยังระบบคลาวด์ ขณะนี้คุณสามารถเปิดใช้งาน Per-VM EVC ในการตั้งค่า VM (มีให้ใช้งานใน vSphere 6.7 พร้อมฮาร์ดแวร์เวอร์ชัน 14)

คุณสามารถรับระดับ EVC พื้นฐานที่ตั้งไว้สำหรับ VM ในคลัสเตอร์โดยใช้ PowerCLI:

Get-VM | Select Name,HardwareVersion,
@{Name='VM_EVC_Mode';Expression={$_.ExtensionData.Runtime.MinRequiredEVCModeKey}},
@{Name='Cluster_Name';Expression={$_.VMHost.Parent}},
@{Name='Cluster_EVC_Mode';Expression={$_.VMHost.Parent.EVCMode}} | ft

ในการรับโหมด EVC สูงสุดที่รองรับ:
Get-VMHost | Select-Object Name,ProcessorType,MaxEVCMode

จะเปิดใช้งาน vMotion ใน VMWare vSphere ได้อย่างไร

มาดูวิธีเปิดใช้งานและกำหนดค่า vMotion ใน VMWare vSphere 6.7 กัน หากต้องการใช้ vMotion การมีใบอนุญาต Essentials Plus VMWare ก็เพียงพอแล้ว

vMotion เปิดใช้งานที่ VMkernel ระดับของสวิตช์เสมือนโฮสต์ ESXi เลือกโฮสต์และไปที่ กำหนดค่า -> เครือข่าย -> อแดปเตอร์ VMkernel .

เลือกอะแดปเตอร์ VMkernel ของคุณแล้วคลิกแก้ไข .

คำถามที่พบบ่อย:การโยกย้ายเครื่องเสมือนแบบสดด้วย VMWare vMotion

ในคุณสมบัติพอร์ต vmk ให้เปิดใช้งาน vMotion ใน บริการที่เปิดใช้งาน ส่วน

คำถามที่พบบ่อย:การโยกย้ายเครื่องเสมือนแบบสดด้วย VMWare vMotion

ในตัวอย่างของฉัน มีการสร้างคลัสเตอร์ VMWare HA แล้ว และใช้ vSphere Distributed Switch (VDS)

จะย้าย VM ระหว่างโฮสต์โดยใช้ vMotion ได้อย่างไร

ในการย้าย VM ที่ทำงานอยู่ระหว่างสองโฮสต์ ESXi ให้เปิดไคลเอ็นต์ vSphere คลิกขวาที่ VM ที่คุณต้องการย้ายและเลือก โอนย้าย .

คำถามที่พบบ่อย:การโยกย้ายเครื่องเสมือนแบบสดด้วย VMWare vMotion

เลือกประเภทการย้ายข้อมูลที่คุณต้องการใช้:

  • เปลี่ยนทรัพยากรการประมวลผลเท่านั้น — ย้าย VM ไปยังโฮสต์ ESXi อื่น
  • เปลี่ยนที่เก็บข้อมูลเท่านั้น — นี่หมายถึง Storage vMotion (เปลี่ยนที่เก็บข้อมูลที่มีไฟล์ VM);
  • เปลี่ยนทั้งทรัพยากรการประมวลผลและพื้นที่เก็บข้อมูล — โหมดการโยกย้ายที่ไม่มีที่เก็บข้อมูลที่ใช้ร่วมกัน (vMotion ที่ไม่มีที่เก็บข้อมูลที่ใช้ร่วมกัน/แชร์-ไม่มีอะไร) ไฟล์ VM จะถูกคัดลอกระหว่างโฮสต์ผ่านเครือข่าย

ฉันได้เลือกตัวเลือกแรกแล้ว

วิซาร์ดการโยกย้ายจะเสนอให้คุณเลือกโฮสต์ คลัสเตอร์ พูลทรัพยากร หรือ vApp เพื่อย้ายเครื่องเสมือนไป เลือกโฮสต์ หากกำหนดค่า vMotion อย่างถูกต้องและไม่พบข้อขัดแย้ง คุณจะเห็น การตรวจสอบความเข้ากันได้สำเร็จ ข้อความใน ความเข้ากันได้ มาตรา.

หากคุณพบข้อผิดพลาดใดๆ ในแท็บความเข้ากันได้ ให้ศึกษาอย่างละเอียดและแก้ไข

คลิกถัดไป

คำถามที่พบบ่อย:การโยกย้ายเครื่องเสมือนแบบสดด้วย VMWare vMotion

วิซาร์ดการโยกย้าย VM จะแจ้งให้คุณเลือกเครือข่ายเพื่อวาง vNIC ของ VM บนโฮสต์เป้าหมาย หากคุณต้องการให้ VM พร้อมใช้งานหลังจากการโยกย้าย ให้วางไว้ในส่วนเครือข่าย (VLAN) เดียวกันกับโฮสต์ต้นทาง หากคุณกำลังใช้สวิตช์ vSphere มาตรฐาน ให้สร้างกลุ่มพอร์ตเดียวกันบนโฮสต์ ESXi ทั้งหมด เมื่อใช้ VDS กลุ่มพอร์ตบนโฮสต์คลัสเตอร์ทั้งหมดจะเหมือนกัน

คำถามที่พบบ่อย:การโยกย้ายเครื่องเสมือนแบบสดด้วย VMWare vMotion

ในขั้นตอนสุดท้าย เลือกลำดับความสำคัญของงาน vMotion โดยค่าเริ่มต้น ระบบจะใช้ลำดับความสำคัญสูงสุด (กำหนดเวลา vMotion ด้วยลำดับความสำคัญสูง ). ฉันใช้มันเสมอ

คำถามที่พบบ่อย:การโยกย้ายเครื่องเสมือนแบบสดด้วย VMWare vMotion

จากนั้นคลิก ถัดไป -> เสร็จสิ้น และการโยกย้าย VM ไปยังโฮสต์อื่นจะเริ่มต้นขึ้น คุณสามารถติดตามสถานะการย้ายข้อมูลได้ในงานล่าสุด แผง (ย้ายเครื่องเสมือน งาน). ในกรณีของฉัน การโยกย้าย VM โดยใช้ vMotion บนอีเทอร์เน็ต 10 GB ใช้เวลาประมาณ 3 วินาที

ตรวจสอบให้แน่ใจว่า VM ของคุณกำลังทำงานอยู่บนโฮสต์ ESXi อื่น

คำถามที่พบบ่อย:การโยกย้ายเครื่องเสมือนแบบสดด้วย VMWare vMotion

คุณสามารถย้าย VM ที่รันอยู่ไปยังโฮสต์อื่นใน PowerCLI ได้โดยใช้ Move-VM cmdlet ของ PowerShell ตัวอย่างเช่น เราต้องการย้าย VM ทั้งหมดจาก mun-esxi01 ไปยัง mun-esxi02:

Get-VMHost mun-esxi01|Get-Vm| Move-VM –Destination (Get-VMHost mun-esxi02)

เหตุใด VMWare vMotion จึงไม่ทำงาน

ต่อไปนี้คือรายการสาเหตุทั่วไปที่ทำให้ vMotion อาจล้มเหลวหรือการย้าย VM อาจช้ามาก:

  • ความเข้ากันไม่ได้ของ CPU (เปิดใช้งานโหมดความเข้ากันได้ของ EVC/Enhanced vMotion);
  • vMotion ไม่ได้เปิดใช้งานในอินเทอร์เฟซ VMkernel
  • การตั้งค่าเครือข่ายไม่ถูกต้องของโฮสต์ ESXi หรือสวิตช์เสมือน กลุ่มพอร์ต (Jumbo Frames กำหนดค่าไม่ถูกต้อง ที่อยู่ IP ขัดแย้งกันในเครือข่าย vMotion การตั้งค่า vSwitch ไม่ถูกต้อง เครือข่ายช้า แพ็กเก็ตสูญหาย)
  • ไม่มีที่เก็บข้อมูลที่ใช้ร่วมกัน (สำหรับ vSphere เวอร์ชัน 5.1 หรือเก่ากว่า) ใน vSphere 5.1 หรือสูงกว่านั้นไม่มี VMotion ที่แชร์ไว้
  • ไม่มีซีดี/ดีวีดีหรืออิมเมจ ISO บนโฮสต์เป้าหมาย
  • เปิดใช้งานกฎการต่อต้านผู้สนใจ
  • กำลังติดตั้งเครื่องมือ VMWare ในระบบปฏิบัติการของแขก
  • หากระบบปฏิบัติการของแขกกำลังเปลี่ยนเนื้อหา RAM อยู่ vMotion อาจล่าช้าในการย้ายข้อมูลที่แก้ไขไปยังสำเนา VM บนโฮสต์อื่นบนเครือข่าย
  • หากโฮสต์เป้าหมายมีทรัพยากร CPU หรือ RAM ไม่เพียงพอในการสร้าง Shadow VM vMotion จะล้มเหลวโดยมีข้อผิดพลาด
หากเกิดข้อผิดพลาดในการโยกย้าย vMotion VM ของคุณจะไม่ปิดและยังคงทำงานอยู่บนโฮสต์ต้นทาง

จะปรับปรุง/เพิ่มประสิทธิภาพความเร็ว vMotion เพื่อย้าย VM อย่างรวดเร็วได้อย่างไร

คุณสามารถเร่งการโยกย้ายเครื่องเสมือนของคุณได้หลายวิธี

  • อย่างแรกเลย จะดีกว่าถ้าใช้เครือข่ายที่มีประสิทธิภาพสูงสุดระหว่างสองโฮสต์ ESXi ใช้เครือข่ายอย่างน้อย 10 GB, 25 GB ดียิ่งขึ้น (อะแดปเตอร์เครือข่ายของเซิร์ฟเวอร์ ESXi และสวิตช์ทางกายภาพต้องรองรับโหมดนี้)
  • ใช้อินเทอร์เฟซทางกายภาพที่แตกต่างกันสำหรับการรับส่งข้อมูล vMotion
  • การโยกย้าย vMotion ใช้เธรด (aka streams) หนึ่งเธรดถูกสร้างขึ้นสำหรับแต่ละ VMkernel ที่เปิดใช้งาน vMotion อย่างไรก็ตาม เธรดนี้สามารถใช้คอร์โปรเซสเซอร์ได้เพียงคอร์เดียวเท่านั้น

ในการจัดเตรียมคอร์ CPU มากกว่าหนึ่งคอร์สำหรับกระบวนการ vMotion ให้สร้างอินเทอร์เฟซ VMkernel หลายอัน เปิดใช้งาน vMotion สำหรับคอร์เหล่านั้น และเชื่อมโยงเข้ากับอินเทอร์เฟซ NIC เดียว เธรด vMotion มีปริมาณงานเฉลี่ยประมาณ 15 GbE ดังนั้นในการโหลด 100 GbE คุณต้องมี 6 เธรด

นอกจากนี้ คุณสามารถเพิ่มจำนวนเธรด vMotion สำหรับอินเทอร์เฟซ VMkernel ได้โดยใช้ Migrate.VMotionStreamHelpers ตัวเลือกในการตั้งค่าระบบขั้นสูง