Xử lý triệt để lỗi “Virtual machine disks consolidation is needed” trên VMware vSphere

VMware tutorial - IT technology blog
VMware tutorial - IT technology blog

Cảnh báo vàng trên vCenter: Không đơn giản là lỗi hiển thị

Bạn mở vCenter và thấy dòng chữ vàng “Virtual machine disks consolidation is needed” hiện lên ở tab Summary. Bạn thử nhấn Delete All Snapshot nhưng thông báo vẫn lì lợm không biến mất. Đây là tình huống cực kỳ phổ biến nhưng lại dễ gây ức chế cho anh em quản trị hệ thống.

Đừng coi thường dòng cảnh báo này. Khi các file snapshot (file delta) tồn đọng quá lâu, hiệu suất I/O của máy ảo có thể giảm từ 20% đến 50%. Thậm chí, nếu file delta phình to chiếm hết dung lượng Datastore, máy ảo sẽ bị “stun” (treo) ngay lập tức. Mình từng xử lý một server SQL bị treo cứng chỉ vì có hơn 15 file snapshot cũ chồng chéo lên nhau.

Tại sao VMware lại báo lỗi này?

Thông thường, khi bạn xóa một Snapshot, VMware sẽ gộp (consolidate) toàn bộ dữ liệu từ file delta vào đĩa gốc (.vmdk). Nếu quy trình này bị ngắt quãng, vCenter sẽ báo lỗi. Dưới đây là những lý do “kinh điển”:

  • Xung đột với phần mềm Backup: Các công cụ như Veeam hay Commvault thường dùng cơ chế HotAdd để mount đĩa VM vào Proxy. Nếu tiến trình backup bị crash, đĩa vẫn bị khóa (locked) và không thể gộp lại.
  • Cạn kiệt dung lượng Datastore: Quá trình gộp đĩa cần khoảng 5-10% không gian trống để làm vùng đệm. Nếu Datastore của bạn chỉ còn vài GB trống, tiến trình chắc chắn sẽ thất bại.
  • File đĩa bị “kẹt” trên Host khác: Trong cụm Cluster, một Host ESXi khác có thể đang giữ khóa file .vmdk do lỗi đồng bộ metadata.
  • Chuỗi Snapshot quá dài: Việc để snapshot tồn tại hơn 72 giờ khiến bảng chỉ mục dữ liệu trở nên quá phức tạp.

3 bước xử lý từ đơn giản đến chuyên sâu

Hãy thực hiện theo thứ tự dưới đây để đảm bảo an toàn cho dữ liệu.

Cách 1: Ép hệ thống tự tính toán lại (The Double Snapshot Trick)

Đây là mẹo “lấy độc trị độc” cực kỳ hiệu quả. Khi nút Consolidate thông thường bị lỗi, hãy ép VMware tạo ra một điểm neo mới.

  1. Tạo một Snapshot mới (đặt tên tùy ý, ví dụ: “Fix_Error”).
  2. Sau khi tạo xong, chọn Snapshots -> Delete All Snapshots.

Thao tác này buộc VMware phải quét lại toàn bộ chuỗi metadata và gộp sạch các file delta cũ. Mẹo này giải quyết được khoảng 90% các ca thông thường.

Cách 2: Tìm và mở khóa file bằng SSH

Nếu cách trên báo lỗi “File is locked”, bạn cần can thiệp sâu hơn qua dòng lệnh. Hãy SSH vào Host ESXi đang chạy máy ảo đó.

Đầu tiên, di chuyển vào thư mục chứa VM và kiểm tra xem host nào đang giữ lock:

cd /vmfs/volumes/TEN_DATASTORE/TEN_VM/
vmkfstools -D ten_o_cung-flat.vmdk

Hãy nhìn vào dòng “Owner” trong kết quả. Nếu địa chỉ MAC hiện ra không trùng với Host hiện tại, bạn cần sang Host đó để khởi động lại dịch vụ quản lý.

Cách 3: Restart Management Agents

Đôi khi dịch vụ hostd hoặc vpxa bị treo khiến trạng thái của máy ảo không được cập nhật đúng. Bạn có thể khởi động lại chúng mà không làm gián đoạn máy ảo đang chạy:

# Chạy lệnh này trên Host ESXi
/etc/init.d/hostd restart
/etc/init.d/vpxa restart

Sau khi chạy xong, hãy quay lại vCenter và nhấn Consolidate một lần nữa. Lúc này nút lệnh thường sẽ hoạt động trơn tru.

Kinh nghiệm thực tế: Đừng để “nước đến chân mới nhảy”

Để hệ thống luôn khỏe mạnh, mình thường áp dụng bộ quy tắc “vàng” sau:

  1. Quy tắc 72 giờ: Tuyệt đối không giữ snapshot quá 3 ngày. Snapshot không phải là giải pháp backup lâu dài.
  2. Ngưỡng trống 20%: Luôn giữ Datastore trống tối thiểu 20%. Nếu dung lượng xuống thấp, các tác vụ Snapshot sẽ trở thành quả bom nổ chậm.
  3. Kiểm tra Backup định kỳ: Nếu lỗi Consolidation lặp lại thường xuyên, hãy kiểm tra log của Veeam. Có thể bạn cần cấu hình lại chế độ Direct Storage Access để tránh lỗi khóa file.
  4. Tự động hóa: Sử dụng script PowerCLI để quét hệ thống mỗi sáng. Lệnh Get-VM | Where-Object {$_.ExtensionData.Runtime.ConsolidationNeeded} sẽ giúp bạn tìm ra các VM lỗi trước khi khách hàng kịp phàn nàn.

Xử lý lỗi VMware không khó, quan trọng là bạn phải hiểu rõ cơ chế khóa file của hệ thống VMFS. Hy vọng những chia sẻ này giúp bạn tiết kiệm thời gian trong những ca trực đêm.

Share: