VMWare: จำเป็นต้องมีการรวมดิสก์เครื่องเสมือน
คำเตือน 'จำเป็นต้องมีการรวมดิสก์ของเครื่องเสมือน' ในแท็บสรุปของเครื่องเสมือนในคอนโซลไคลเอนต์ VMware vSphere หมายความว่าเมื่อลบสแน็ปช็อต (โดยใช้ตัวเลือกลบหรือลบทั้งหมด) จะมีไฟล์เหลืออยู่ บนดิสก์ที่ไม่สามารถผสาน (คอมมิต) กับไฟล์ดิสก์เสมือนหลัก (vmdk) ด้วยเหตุนี้ คุณจึงไม่สามารถสำรองข้อมูลเครื่องเสมือนดังกล่าวได้ และประสิทธิภาพจะลดลง
Virtual machine Consolidation Needed status.
Virtual Machine disks consolidation is needed.สาเหตุทั่วไปส่วนใหญ่ของข้อผิดพลาด 'ต้องการการรวมดิสก์เครื่องเสมือน' คือ:
ประสิทธิภาพการจัดเก็บไม่ดีเนื่องจากสแน็ปช็อตไม่สามารถลบ/รวมได้เนื่องจากหมดเวลาหรือสแน็ปช็อตขนาดใหญ่
มีพื้นที่ว่างไม่เพียงพอบนที่เก็บข้อมูล VMFS เพื่อทำการรวมข้อมูล ต้องมีพื้นที่ว่างอย่างน้อย 1 GB (ดูวิธีเพิ่มความจุที่เก็บข้อมูล VMFS ใน VMware ESXi)
-
ไฟล์สแนปชอตถูกล็อคโดย vSphere หรือแอพของบุคคลที่สาม (โดยทั่วไปคือแอพสำรองข้อมูล เช่น HP DataPtotector, Veeam หรือ Netapp VSC) ตรวจสอบให้แน่ใจว่าไม่มีกระบวนการสำรองข้อมูล VM ที่กำลังทำงานอยู่
ปัญหาอาจเกิดจากการเพิ่มดิสก์ VM (เพิ่มด่วน) ไปยังอุปกรณ์สำรองข้อมูลเมื่อทำการสำรองข้อมูล ในบางกรณี คุณต้องยกเลิกการเชื่อมต่อดิสก์เสมือนของ VM ที่มีปัญหาด้วยตนเองในการตั้งค่าอุปกรณ์สำรองข้อมูล (สิ่งนี้เกิดขึ้นใน Veeam Backup Proxy, Symantec NetBackup และ CommVault Media Agent)
VM มีสแน็ปช็อตมากกว่า 32 ภาพ (จำนวนสูงสุดที่แนะนำโดย VMware)
มีการเปิดตัวกระบวนการพื้นหลังของการรวมสแน็ปช็อตขนาดใหญ่
ปัญหาการเชื่อมต่อ (อาจเกิดขึ้นชั่วคราว) ระหว่างเซิร์ฟเวอร์ vCenter และโฮสต์ ESXi
จะรวมดิสก์ใน VMware ได้อย่างไร
ในการแก้ไขข้อผิดพลาด 'Virtual machine Consolidation Needed' ให้คลิกขวาที่เครื่องเสมือนแล้วเลือก VM -> Actions -> Snapshots -> รวมบัญชี
หน้าต่างที่มีคำขอต่อไปนี้ปรากฏขึ้น:
Confirm Consolidate
This operation consolidates all redundant redo logs on your virtual machine. Are you sure you want to continue?ยืนยันว่าคุณต้องการลบบันทึกที่ซ้ำซ้อน จากนั้น vCenter จะรวมดิสก์และล้างบันทึก กระบวนการรวมอาจใช้เวลานานขึ้นอยู่กับขนาดของ VM จำนวนของสแน็ปช็อต และโหลดโฮสต์/ที่เก็บข้อมูลปัจจุบัน ในระหว่างการรวม ประสิทธิภาพของ VM อาจลดลง รอให้งาน “รวมไฟล์ดิสก์เครื่องเสมือน” เสร็จสิ้น
เมื่อทำการรวมข้อมูล ข้อมูลจากดิสก์เดลต้าจะถูกรวมเข้ากับดิสก์หลัก และไฟล์ที่ไม่จำเป็นในหน่วยเก็บข้อมูลจะถูกลบออก หลังจากนั้น คำเตือนของการรวม VM จะหายไป
ข้อผิดพลาดในการล็อกไฟล์การรวมดิสก์
ในบางกรณี เมื่อดำเนินการรวมบัญชี คุณอาจเห็นข้อผิดพลาดนี้ในคอนโซล vSphere:
Unable to access file since it is locked. An error occurred while consolidating disks: Failed to lock the file. Consolidation failed for disk node ‘scsi0:0’: Failed to lock the file.หรือ
Consolidate virtual machine disk files - Unable to access file since it is locked.ในกรณีนี้ VMware แนะนำให้รีสตาร์ทเอเจนต์การจัดการบนเซิร์ฟเวอร์ ESXi โดยเชื่อมต่อกับโฮสต์ ESXi ผ่าน SSH และรันคำสั่งนี้:
services.sh restartหากไม่ได้ผล ให้ตรวจสอบว่าใครล็อกไฟล์เครื่องเสมือน
ไปที่ไดเรกทอรี VM บนที่เก็บข้อมูล VMFS:
# cd /vmfs/volumes/xxxxxx-xxxxxx-xxxx-xxxxxxx/WINSRV1แสดงรายการไฟล์ VM ที่ถูกล็อคและโฮสต์ ESXi ใดที่มีไฟล์เหล่านี้:
# for i in `ls`; do vmfsfilelockinfo -p $i ;done|grep 'is locked in\|Host owning the lock\|Total time taken' | sed 's|Host owning the lock on file is||g'|sed 's|Total time|---|g' | awk '{print $1}' |uniq-
คำสั่งก่อนหน้าจะส่งคืนสิ่งนี้:
--- "WINSRV1-bf11abd3.vswp" Esxi01, --- "WINSRV1-flat.vmdk" Esxi02, Esxi01 ในตัวอย่างนี้ คุณจะเห็นว่าไฟล์ WINSRV1-flat.vmdk ถูกล็อกโดยสองโฮสต์ หากต้องการปลดล็อคไฟล์จากโฮสต์ที่สอง ให้เชื่อมต่อกับ Esxi02 ผ่าน SSH และรันคำสั่ง:
# /etc/init.d/hostd restart # /etc/init.d/vpxa restartเรียกใช้การรวมบัญชีจากอินเทอร์เฟซ vSphere Client
นอกจากนี้ คุณสามารถลองปลดล็อกไฟล์ VM ได้ดังต่อไปนี้:
ปิด VM ถ้าเป็นไปได้;
สร้างภาพรวมใหม่
ลบสแน็ปช็อต VM ทั้งหมดโดยใช้ตัวเลือก 'ลบทั้งหมด'
ย้าย VM ที่รันอยู่ไปยัง ESXi อื่นโดยใช้ vMotion
พยายามรวมสแนปชอตตามที่อธิบายไว้ข้างต้น
หากตัวเลือกการรวมบัญชีไม่ทำงานในเมนู VM (ปุ่มเป็นสีเทา) และยังคงมีไฟล์สแน็ปช็อตเดลต้าจำนวนมากในที่เก็บข้อมูล ความสมบูรณ์ของห่วงโซ่สแน็ปช็อตน่าจะเสียหายมากที่สุด (ข้อผิดพลาด:
Unable to enumerate all disks).
ลองลบ VM ด้วยตนเองจากรายการ (ลบออกจากสินค้าคงคลัง) และลงทะเบียนไฟล์ VMX ของเครื่องเสมือนอีกครั้งจาก Datastore Browser หากไม่ได้ผล ให้ตรวจสอบและแก้ไขข้อผิดพลาดในห่วงโซ่สแนปชอตตามที่อธิบายไว้ที่นี่:
The parent virtual disk has been modified since the child was created(https://kb.vmware.com/s/article/1007969).
รวม VM Snapshots กับ PowerCLI
คุณสามารถค้นหาเครื่องเสมือนทั้งหมดที่ต้องการการรวมบัญชีโดยใช้ PowerCLI (โมดูลนี้ช่วยให้คุณจัดการโครงสร้างพื้นฐานของ VMware) โดยเชื่อมต่อกับเซิร์ฟเวอร์ vCenter หรือโฮสต์ ESXi ของคุณ:
Connect-VIServer mun_vsphere.a-d.siteรับรายการ VM ทั้งหมดที่มีสถานะ 'จำเป็นต้องรวมดิสก์เครื่องเสมือน':
Get-VM | Where-Object {$_.Extensiondata.Runtime.ConsolidationNeeded}ตอนนี้คุณสามารถรวมดิสก์ของเครื่องเสมือนทั้งหมดในรายการ:
Get-VM | Where-Object {$_.Extensiondata.Runtime.ConsolidationNeeded} | foreach {$_.ExtensionData.ConsolidateVMDisks_Task()}คุณสามารถรวมสแน็ปช็อต VM ที่เก่ากว่า 30 วันโดยอัตโนมัติโดยใช้สคริปต์ PowerShell ต่อไปนี้:
$VMName = Get-VM | Get-Snapshot |
Where {$_.Created -lt (Get-Date).AddDays(-30)} | select VM |
ForEach-Object {
$VMName.ExtensionData.ConsolidateVMDisks()
}







