Làm chủ Log VMware vSphere: Cách ‘bắt bệnh’ hệ thống từ vmware.log, hostd.log và vpxd.log

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

Khi vCenter báo đỏ: Đừng đoán mò, hãy nhìn vào Log

Cảnh tượng khiến mọi quản trị viên hệ thống “thót tim” nhất là sáng thứ Hai mở máy ra, thấy vCenter báo đỏ rực. Một loạt máy ảo (VM) mất kết nối, hoặc tệ hơn, cả một Host ESXi trong cụm cluster báo trạng thái “Not Responding”. Mình đang vận hành cluster 8 node ESXi chạy gần 150 VM, và nói thật, giao diện Web Client (GUI) lúc này thường chỉ đưa ra mấy câu thông báo vô thưởng vô phạt như “An error occurred”.

Đây chính là lúc bạn cần SSH vào hệ thống để kiểm tra các file log – nơi ghi lại chi tiết từng tiến trình nhỏ nhất. Log không phải là những dòng chữ vô nghĩa. Chúng là bằng chứng sống giúp bạn biết chính xác tại sao một VM không khởi động được hay tại sao vCenter bỗng dưng từ chối kết nối với host mới.

Ba file log “sống còn” mà bạn phải thuộc lòng

Dù vSphere sinh ra hàng tá file log, nhưng dựa trên kinh nghiệm thực chiến của mình, có đến 90% lỗi phổ biến nằm gọn trong 3 cái tên sau:

  • vmware.log: Nhật ký riêng của từng VM, nằm ngay trong thư mục chứa file .vmx trên Datastore. Nếu máy ảo bị treo hoặc tự động tắt ngang xương, đây là nơi đầu tiên bạn phải mở ra.
  • hostd.log: Nằm tại /var/log/hostd.log trên ESXi. File này quản lý các hoạt động của host và lệnh gửi từ vCenter. Nếu host có vấn đề về tài nguyên phần cứng, cứ vào đây mà tra.
  • vpxd.log: Nằm trên vCenter Server Appliance (VCSA). Nó ghi lại toàn bộ giao tiếp giữa vCenter và các host ESXi.

Kỹ năng truy cập và lọc Log như dân chuyên nghiệp

Đừng bao giờ dùng vi hay nano để mở một file log nặng tới 2GB. Nó sẽ làm treo session của bạn ngay lập tức. Thay vào đó, hãy dùng bộ ba lệnh “thần thánh”: cat, greptail.

1. Bật SSH trên ESXi

Vì lý do bảo mật, SSH thường bị tắt mặc định. Bạn hãy vào phần Services trên ESXi hoặc vCenter để Start dịch vụ này trước khi dùng Termius hay PuTTY để kết nối.

2. Theo dõi log thời gian thực với tail -f

Giả sử bạn vừa bấm Power On một máy ảo và nó báo lỗi ngay lập tức. Hãy chạy lệnh này để xem các dòng log mới nhất nhảy ra liên tục:

tail -f /var/log/hostd.log

3. Lọc từ khóa bằng grep

Để tìm nhanh các lỗi liên quan đến lưu trữ (storage) giữa hàng ngàn dòng text, hãy kết hợp với less để dễ dàng cuộn trang:

grep -i "error" /var/log/hostd.log | less

Phân tích các tình huống thực tế

Case 1: VM tự tắt đột ngột (Soi vmware.log)

Di chuyển thẳng đến thư mục VM trên Datastore: /vmfs/volumes/STORAGE_NAME/VM_NAME/. Trong một lần xử lý ca VM tự sập, mình tìm thấy dòng này:

[msg.monitorEvent.halt] The CPU has been disabled by the guest operating system.

Nhìn dòng này là hiểu ngay: Lỗi không phải do VMware mà do hệ điều hành bên trong (Guest OS) bị Kernel Panic hoặc dính màn hình xanh (BSOD). Đỡ mất công đi tìm lỗi ở lớp ảo hóa.

Case 2: Host ESXi mất kết nối (Soi hostd.log)

Khi host báo “Not Responding”, mình thường kiểm tra xem liệu dịch vụ quản lý có bị tràn bộ nhớ không. Lỗi kinh điển thường thấy là:

VmkVigor: Resource mapping failed: Out of memory

Giải pháp nhanh nhất là khởi động lại các agent quản lý để giải phóng RAM:

/etc/init.d/hostd restart
/etc/init.d/vpxa restart

Case 3: Lỗi khi Migrate hoặc Clone VM (Soi vpxd.log)

File này nằm tại /var/log/vmware/vpxd/ trên vCenter. Nếu vMotion thất bại, vpxd.log sẽ chỉ ra điểm nghẽn. Ví dụ, nếu vCenter mất kết nối tới Database SQL, bạn sẽ thấy lỗi:

[VpxdDb] Failed to connect to database: [P0001] ERROR: database is starting up

Mẹo nhỏ nhưng “có võ” khi đọc Log

Sau nhiều năm trực chiến, đây là những thứ giúp mình tiết kiệm hàng giờ đồng hồ:

  1. Để ý múi giờ (Timestamp): Log VMware ghi theo giờ UTC. Nếu bạn ở Việt Nam, hãy nhớ cộng thêm 7 tiếng (UTC+7) để khớp với thời điểm lỗi xảy ra trên thực tế.
  2. Đọc file nén bằng zgrep: ESXi sẽ nén các log cũ thành file .gz. Bạn không cần giải nén, cứ dùng zgrep để tìm kiếm trực tiếp cho nhanh:
    zgrep -i "failed" /var/log/hostd.0.log.gz
  3. Tận dụng mã lỗi (Error Code): Thấy mã lỗi dạng 0x... thì đừng ngồi đoán. Hãy copy mã đó quăng lên trang Knowledge Base (KB) của VMware. 99% trường hợp đã có người bị và có sẵn hướng dẫn sửa lỗi.

Lời kết

Mới đầu nhìn vào màn hình terminal đen kịt với hàng nghìn dòng chữ chạy vèo vèo, ai cũng sẽ thấy nản. Nhưng khi đã làm quen với nhịp thở của vmware.log, hostd.log hay vpxd.log, bạn sẽ thấy tự tin hơn nhiều. Thay vì đoán mò, bạn sẽ đưa ra quyết định dựa trên bằng chứng kỹ thuật xác thực.

Hãy thử SSH vào host ngay hôm nay để xem hệ thống của bạn đang “nói” gì nhé. Chúc các bạn xử lý sự cố thành công!

Share: