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

Invalid State ของ Virtual Machine บน VMWare ESXi

ค่อนข้างบ่อยที่ผู้ดูแล VMWare เจอว่ารายการ Virtual Machines มี VMs ที่มีสถานะ Invalid (Unknown) โดยทั่วไป ปัญหาเกิดหลังจากลบ Virtual Machine ซึ่งข้อมูลคงอยู่ในการตั้งค่า VMWare vSphere/ESXi ในบางเหตุผล สามารถเกิดได้หลังจากลบไฟล์ VM จาก VMFS Storage ด้วยตนเองหลังรัน vMotion และในบางกรณีอื่น ไม่สามารถลบ VM แบบนี้จาก vSphere Web Client ด้วยเครื่องมือ Built-in ได้ (ตัวเลือก Unregister ในเมนู Actions ไม่ใช้งานได้)

Invalid State ของ Virtual Machine บน VMWare ESXi
วิธีเดียวที่จะลบ VM แบบนี้คือใช้ SSH Console ของ ESXi Host

  1. เปิดใช้งาน SSH บน ESXi Host ที่มี VM ปัญหา (Actions → Settings → Security Profile → Services → SSH → Edit → Start) Invalid State ของ Virtual Machine บน VMWare ESXi
  2. เชื่อมต่อกับ ESXi Host โดยใช้ SSH Client (Putty, mputty ฯลฯ)
  3. เพื่อหา ID ของ Virtual Machine ที่มีปัญหา รันคำสั่ง: vim-cmd vmsvc/getallvms | grep invalid
  4. จะแสดงรายการ VMs ทั้งหมดที่มีสถานะ Invalid ลงทะเบียนบน Host นี้ ควรมีบรรทัดแบบ: Skipping invalid VM '22' ในกรณีนี้ 22 คือ ID ของ Virtual Machine
  5. หากต้องการลอง Restore VM นี้ใน vSphere รันคำสั่ง: vim-cmd vmsvc/reload 22 (ใน 1 นาที Refresh Client Interface และตรวจสอบสถานะ VM)
  6. หากต้องการ Unregister (ลบ) Virtual Machine ที่มีปัญหา รันคำสั่ง: vim-cmd /vmsvc/unregister 22
  7. Refresh vSphere Client Interface Virtual Machine ที่มีสถานะ Invalid ควรหายไป

ยังสามารถลบ VM ที่มีปัญหาออกจากไฟล์การตั้งค่าโฮสต์ /etc/vmware/hostd/vmInventory.xml ได้ด้วยตนเอง ลบ Section ที่มีข้อมูล VM ปัญหาจากไฟล์ vmInventory.xml (Backup ไฟล์ก่อนทำอะไร) ใน Text Editor (vi, nano) และ Restart Host Services: services.sh restart

Invalid State ของ Virtual Machine บน VMWare ESXi

หาก Virtual Machine ที่กำลังรันได้รับสถานะ Invalid น่าจะเป็นที่ไฟล์ Configuration ของ VM เสียหาย วิธีแก้:

  • ลบ VM ออกจาก Inventory และ Restart ESXi Host
  • จากนั้นสร้าง VM ใหม่ และต่อ Virtual Disks (vmdk) ของ VM เก่าเข้าไป (Use an Existing Disk)
  • ทำ Storage vMotion เพื่อรวมไฟล์ทั้งหมดของ VM ใหม่ในโฟลเดอร์เดียว
  • Start VM ใหม่ และตรวจสอบว่าทำงานได้
  • ลบไฟล์ของ VM เก่า

หากปัญหา Invalid VM เกิดหลังจากสูญเสียการเข้าถึง VMFS Storages เมื่อเข้าถึงได้แล้ว VMs ที่เริ่มต้นจะรัน และ VMs ที่หยุดจะกลายเป็น Isolated ต้องลบออกจาก Inventory ด้วยตนเอง และลงทะเบียนด้วยตนเอง โดยหาไฟล์ VMX ของ Virtual Machine ใน VMFS Storage คลิกขวา และเลือก Register VM จากนั้น Start VM และตรวจสอบว่าพร้อมใช้งาน

Invalid State ของ Virtual Machine บน VMWare ESXi