Cảnh báo 'Virtual Machine disks consolidation is needed' trong tab Summary của máy ảo trong console VMware vSphere có nghĩa là khi xóa snapshot (dùng tùy chọn Delete hoặc Delete All), file VMDK snapshot hoặc log không được xóa đúng cách (còn lại trên storage). Điều này gây lỗi backup máy ảo.
Những nguyên nhân điển hình của lỗi 'Virtual Machine disks consolidation is needed':
- Hiệu năng storage kém, khiến snapshot không thể xóa/hợp nhất do timeout hoặc kích thước snapshot lớn;
- Không đủ dung lượng trên VMFS store để thực hiện consolidation;
- vSphere hoặc ứng dụng thứ ba (thường là ứng dụng backup, như HP DataProtector, Veeam hoặc Netapp VSC) đã khóa file snapshot. Đảm bảo không có tiến trình backup VM đang chạy;
- Vấn đề kết nối (có thể tạm thời) giữa vCenter server và host ESXi.
Để sửa lỗi 'Virtual machine Consolidation Needed', chuột phải vào máy ảo chọn VM → Snapshots → Consolidate.
Cửa sổ xác nhận xuất hiện:
Confirm Consolidate
Thao tác này hợp nhất tất cả redo logs dư thừa trên máy ảo. Bạn có chắc muốn tiếp tục?
Xác nhận xóa log dư thừa. Sau đó vCenter sẽ hợp nhất đĩa và dọn dẹp log. Consolidation có thể mất vài phút và hiệu năng VM có thể giảm.
Sau đó cảnh báo consolidation VM biến mất.
Trong một số trường hợp, trong quá trình consolidation có thể thấy lỗi trong console 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.
Trong trường hợp này VMware khuyến nghị restart Management agents trên ESXi server. Kết nối host qua SSH chạy lệnh:
services.sh restart
Tuy nhiên, có thể thử unlock file VM như sau:
- Tắt VM nếu có thể;
- Tạo snapshot mới;
- Xóa tất cả snapshot VM dùng tùy chọn 'Delete All';
- Di chuyển VM đang chạy sang host ESXi khác dùng vMotion;
- Thử consolidate snapshot như mô tả trên.
Có thể tìm tất cả máy ảo cần consolidation dùng PowerCLI. Kết nối vCenter server:
Connect-VIServer mun_vsphere.woshub.com
Lấy danh sách tất cả VM với trạng thái 'Virtual machine disks consolidation is needed':
Get-VM | Where-Object {$_.Extensiondata.Runtime.ConsolidationNeeded}
Giờ có thể consolidate disk của tất cả máy trong danh sách:
Get-VM | Where-Object {$_.Extensiondata.Runtime.ConsolidationNeeded} | foreach {$_.ExtensionData.ConsolidateVMDisks_Task()}