Cấu hình VMware vSphere Fault Tolerance (FT): Đạt Zero Downtime cho hệ thống ‘sống còn’

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

Khi HA là chưa đủ: Câu chuyện lúc 2 giờ sáng

2 giờ sáng, điện thoại mình đổ chuông liên hồi. Hệ thống ERP của khách hàng báo sập. Kiểm tra log, mình thấy một Host trong Cluster bị lỗi RAM và reboot đột ngột. Cơ chế vSphere High Availability (HA) hoạt động đúng như thiết kế: nó tự động kích hoạt khởi động lại các máy ảo (VM) trên một Host khác khỏe mạnh.

Tuy nhiên, vấn đề nằm ở 180 giây chờ đợi. 3 phút để Windows boot, SQL Server lên dịch vụ và ứng dụng kết nối lại là quá dài. Trong 3 phút đó, hàng trăm giao dịch bị kẹt, và sếp tổng đã kịp gọi điện “hỏi thăm”. Với những hệ thống mission-critical, HA vẫn có kẽ hở. Đó là lý do bạn cần Fault Tolerance (FT) – giải pháp Zero Downtime đúng nghĩa.

Phân biệt các cấp độ bảo vệ máy ảo

Nhiều anh em thường nhầm lẫn giữa các giải pháp này. Hãy cùng điểm qua để tránh chọn sai “thuốc” cho hệ thống.

1. Backup truyền thống

Đây là phương án dự phòng cơ bản nhất. Nếu VM hỏng, bạn restore từ bản backup. Thời gian downtime (RTO) thường tính bằng giờ. Dữ liệu mất mát (RPO) tùy thuộc vào lịch backup (thường là 1 ngày). Cách này chỉ dành cho các server không quá gấp gáp.

2. vSphere High Availability (HA)

HA bảo vệ ở mức Host vật lý. Khi Host chết, VM được bật lại ở Host khác. Hệ thống sẽ gián đoạn khoảng 2-5 phút vì VM phải trải qua quá trình boot OS. Đây là tiêu chuẩn cho 90% hệ thống hiện nay vì tính kinh tế.

3. vSphere Fault Tolerance (FT)

FT tạo ra một bản sao (Secondary VM) chạy song song với bản chính (Primary VM) trên một Host khác. Hai VM này chạy theo cơ chế “Lockstep” – hễ Primary làm gì thì Secondary làm y hệt. Nếu Primary sập, Secondary lên thay thế ngay lập tức. Người dùng cuối sẽ không nhận ra bất kỳ sự gián đoạn nào.

Dùng FT: Đừng chỉ nhìn vào màu hồng

Dù xịn sò là vậy, FT không phải là “viên đạn bạc” cho mọi vấn đề. Có 3 rào cản lớn bạn cần cân nhắc:

  • Ngốn tài nguyên gấp đôi: Một VM bật FT sẽ chiếm gấp đôi CPU và RAM trong Cluster. Thực tế bạn đang chạy 2 máy ảo cho cùng một công việc.
  • Áp lực băng thông: Dữ liệu đồng bộ (FT Logging) cực kỳ lớn. Một tác vụ ghi đĩa nặng có thể đẩy lưu lượng mạng lên tới vài Gbps. Nếu mạng chậm, hiệu năng VM sẽ bị kéo lùi thê thảm.
  • Giới hạn vCPU: vSphere 8.0 hiện hỗ trợ tối đa 8 vCPU cho một VM dùng FT. Đây là con số khá khiêm tốn với các Database Server khủng.

Lời khuyên: Chỉ nên dành FT cho các dịch vụ “cấm chết” như: Domain Controller, Gateway thanh toán hoặc Database lõi.

Điều kiện cần để triển khai FT

Để cấu hình FT trơn tru mà không gặp lỗi “Incompatible”, hãy kiểm tra danh sách này:

  1. CPU: Phải cùng dòng và hỗ trợ Hardware Virtualization. Tốt nhất là dùng các Host có CPU y hệt nhau để tránh lỗi tập lệnh.
  2. Networking: Bắt buộc có đường mạng riêng cho FT Logging. Mình khuyến cáo dùng card 10Gbps. Với card 1Gbps, bạn chỉ nên chạy tối đa 1-2 VM FT để tránh nghẽn cổ chai.
  3. Storage: Shared Storage (SAN/NAS) là bắt buộc. Cả hai Host phải cùng nhìn thấy file máy ảo.
  4. License: Bạn cần vSphere Enterprise Plus để tận dụng tối đa sức mạnh của FT (nhiều vCPU).

Các bước cấu hình chi tiết

Bước 1: Thiết lập FT Logging

Đây là mạch máu của FT. Nếu không có nó, tính năng này sẽ không thể kích hoạt.

  1. Vào vCenter, chọn Host -> Configure -> Networking -> VMkernel adapters.
  2. Chọn Add Networking -> VMkernel Network Adapter.
  3. Tại phần Port properties, hãy tích chọn ô Fault Tolerance Logging.
# Kinh nghiệm: Nếu có thể, hãy tách biệt FT Logging và vMotion.
# Việc chạy chung trên một port 1Gbps rất dễ gây treo máy khi đồng bộ dữ liệu lớn.

Bước 2: Dọn dẹp máy ảo trước khi bật

Chuột phải vào VM -> Compatibility -> Run Compatibility Check. FT sẽ từ chối hoạt động nếu:

  • VM vẫn còn Snapshot (hãy xóa hết trước khi bắt đầu).
  • Đang mount file ISO từ máy tính cá nhân vào CD-ROM của VM.
  • Tính năng Hot-plug CPU/RAM đang ở trạng thái Enabled.

Bước 3: Kích hoạt Fault Tolerance

Thao tác cuối cùng khá đơn giản:

  1. Chuột phải vào VM -> Fault Tolerance -> Turn On Fault Tolerance.
  2. Chọn Datastore để lưu file cho Secondary VM.
  3. Chọn Host dự phòng.
  4. Nhấn Finish và theo dõi thanh Progress đồng bộ.

Khi hoàn tất, icon máy ảo sẽ chuyển sang màu xanh đậm. Tab Summary lúc này sẽ hiển thị trạng thái “Protected”.

Bài test “đau tim”: Rút dây nguồn server

Để kiểm chứng giá trị của FT, hãy thử một bài test thực tế. Mở CMD trên máy tính, ping liên tục đến IP của máy ảo:

ping 192.168.1.100 -t

Bây giờ, hãy shutdown đột ngột hoặc rút dây mạng của Host đang chứa Primary VM. Nếu cấu hình chuẩn, lệnh ping sẽ không rớt gói nào. Có thể latency sẽ tăng nhẹ trong 1 giây, nhưng dịch vụ vẫn thông suốt. Đó chính là sự khác biệt giữa “khởi động lại” và “chạy liên tục”.

Kinh nghiệm thực chiến

Sau nhiều dự án triển khai, mình rút ra vài lưu ý sống còn:

  • Memory Reservation: FT yêu cầu giữ chặt RAM (Full Reservation). Nếu VM có 32GB RAM, Host sẽ chiếm dụng đủ 32GB đó, không cho phép dùng chung (Overcommit). Hãy tính toán kỹ tổng RAM của Cluster.
  • Độ trễ mạng: Nếu latency giữa các Host cao (>1ms), hiệu năng ứng dụng bên trong VM sẽ giảm rõ rệt. Hãy ưu tiên dùng switch core tốc độ cao cho FT Logging.
  • Bảo trì: Khi cần update patch cho Host, hãy dùng tính năng “Suspend FT” thay vì tắt hẳn để tiết kiệm thời gian cấu hình lại sau đó.

Hy vọng những chia sẻ này giúp bạn tự tin hơn khi triển khai vSphere FT. Nếu gặp lỗi trong quá trình cấu hình, đừng ngần ngại để lại comment, mình sẽ hỗ trợ giải đáp!

Share: