vCLS là gì mà bỗng dưng xuất hiện trong vCenter của bạn?
Nếu vừa nâng cấp hệ thống lên vSphere 7.0 Update 1 hoặc các bản cao hơn, bạn sẽ thấy vài con máy ảo lạ hoắc có tên vCLS-xxxx... xuất hiện. Chúng không có địa chỉ IP, dung lượng ổ cứng chỉ khoảng 100MB-2GB và đặc biệt là bạn chẳng hề nhấn nút tạo.
Thực chất, đây là vSphere Cluster Services (vCLS). Trước đây, các tính năng cốt lõi như DRS hay HA phụ thuộc hoàn toàn vào vCenter. Nếu vCenter “ngỏm”, các tính năng này sẽ tê liệt ngay lập tức. Để xóa bỏ điểm yếu chí mạng này, VMware đã tách logic quản lý cụm ra khỏi vCenter. Họ đưa chúng vào các Agent VM siêu nhỏ chạy trực tiếp trên host ESXi. Nhờ đó, cụm máy ảo có thể tự duy trì trạng thái ổn định ngay cả khi vCenter mất kết nối.
Khi mình thử nghiệm chuyển một vài node từ VMware sang Proxmox, mình thấy Proxmox quản lý quorum qua Corosync khá gọn. Tuy nhiên, với hệ sinh thái khổng lồ của vSphere, vCLS là bước đi bắt buộc để tiến tới kiến trúc phi tập trung hoàn toàn.
Tại sao vCLS đôi khi lại gây phiền toái?
Dù mục đích rất tốt, vCLS thường khiến anh em quản trị “nổi cáu” vì hai lý do thực tế sau:
- Chiếm dụng Datastore bừa bãi: vCLS mặc định sẽ chọn bất kỳ Datastore nào nó thấy tiện. Đã có trường hợp vCLS tự ý nhảy vào LUN dành riêng cho Database tốc độ cao hoặc các ổ cứng sắp cạn dung lượng.
- Kẻ ngáng đường khi bảo trì: Khi bạn cần đưa Host ESXi vào Maintenance Mode hoặc muốn xóa một Datastore cũ, các con vCLS VM này thường xuyên báo lỗi vMotion hoặc nhất quyết không chịu di chuyển.
Cách di chuyển vCLS VM sang Datastore chỉ định
Thay vì để vCLS “thích đâu nằm đó”, mình thường gom chúng vào một Datastore nhỏ riêng biệt. Một phân vùng khoảng 10GB là quá đủ để giữ hệ thống gọn gàng. Các bước thực hiện như sau:
- Truy cập vào Cluster trên giao diện vSphere Client.
- Chuyển đến tab Configure, tìm mục vSphere Cluster Services và chọn Datastores.
- Nhấn vào Edit Allowed Datastores.
- Tại đây, hãy chọn các Datastore bạn muốn cấp phép hoặc chặn không cho vCLS khởi tạo.
Kinh nghiệm xương máu: Hãy ưu tiên chọn các Shared Storage có độ trễ thấp để đảm bảo các dịch vụ DRS luôn phản hồi nhanh nhất.
Tuyệt chiêu “Retreat Mode”: Xóa sạch vCLS VM khi cần thiết
Có những lúc bạn cần dọn sạch các máy ảo vCLS để decommission cluster hoặc sửa lỗi EAM (ESX Agent Manager). Bạn không thể xóa chúng bằng cách “Delete from Disk” thông thường vì vCenter sẽ tự động hồi sinh chúng chỉ sau vài giây.
Giải pháp lúc này là kích hoạt Retreat Mode. Đây là cách chúng ta ra lệnh cho vCenter tạm dừng mọi dịch vụ cụm để xử lý kỹ thuật.
Cách lấy chính xác Cluster ID
Mỗi Cluster có một định danh riêng. Bạn chỉ cần chọn Cluster đó và nhìn lên thanh địa chỉ trình duyệt. Hãy tìm cụm từ có dạng domain-c<số>, ví dụ: domain-c8.
Kích hoạt Retreat Mode qua Advanced Settings
- Chọn vCenter Server ở mức cao nhất trong cây thư mục quản lý.
- Vào tab Configure, chọn Advanced Settings.
- Nhấn Edit Settings và thêm một Key mới với cấu trúc:
# Thay domain-c8 bằng ID thực tế của Cluster bạn
config.vcls.clusters.domain-c8.enabled = false
Chỉ sau vài giây nhấn Save, các máy ảo vCLS sẽ biến mất như chưa từng tồn tại. Sau khi bảo trì xong, bạn chỉ cần đổi giá trị trên thành true để khôi phục lại tính năng DRS và HA.
Dùng PowerCLI để kiểm tra nhanh trạng thái
Nếu quản lý hệ thống lớn với hàng chục Cluster, việc click chuột thủ công là một cực hình. Mình thường dùng đoạn script PowerCLI dưới đây để quét nhanh toàn bộ vCLS VM đang chạy:
# Kết nối tới vCenter
Connect-VIServer -Server vcenter.yourdomain.com
# Liệt kê máy ảo vCLS và vị trí lưu trữ
Get-VM | Where-Object {$_.Name -like "vCLS-*"} | Select-Object Name, PowerState, Host, Datastore
# Kiểm tra trạng thái sức khỏe của Cluster
$clusters = Get-Cluster
foreach ($cluster in $clusters) {
Write-Host "Cluster: $($cluster.Name) - Status: $($cluster.ExtensionData.VclsConfigStatus)"
}
Xử lý sự cố: Khi vCenter báo lỗi vCLS mất tích
Đôi khi vCenter báo lỗi “vCLS VMs are missing” dù máy ảo vẫn đang chạy lù lù. Lỗi này thường do dịch vụ ESX Agent Manager (EAM) bị treo. Thay vì khởi động lại toàn bộ vCenter Appliance mất 15-20 phút, bạn hãy thử restart riêng service EAM qua SSH:
# Truy cập SSH vào VCSA bằng quyền root
service-control --restart vmware-eam
Sau khi lệnh thực thi, vCenter sẽ quét lại Cluster và tự động khớp nối lại các Agent VM. Nếu vẫn không hiệu quả, hãy kết hợp với chiêu bài “Retreat Mode” (tắt đi bật lại) để ép hệ thống tái cấu hình.
Lời kết
vCLS là một phần không thể thiếu của hạ tầng ảo hóa hiện đại. Việc hiểu rõ cách điều hướng nó sang Datastore riêng sẽ giúp bạn tránh được những phiền phức không đáng có khi bảo trì. Đừng để những con Agent VM nhỏ bé này làm gián đoạn kế hoạch uptime của hệ thống.
Bạn đã bao giờ gặp lỗi vCLS làm treo tiến trình xóa Datastore chưa? Hãy chia sẻ trải nghiệm của bạn ở phần bình luận nhé. Chúc anh em quản trị hệ thống luôn mượt mà!

