Giới thiệu tổng quan về vSAN và FTT
vSAN là gì?
vSAN (viết tắt của VMware vSphere Virtual SAN) là một giải pháp lưu trữ hợp nhất (hyper-converged) do VMware phát triển. vSAN cho phép gộp nhiều ổ đĩa trong các máy chủ vật lý (host ESXi) thành một khối lưu trữ ảo dùng chung cho toàn bộ cụm máy chủ. Nhờ vậy, doanh nghiệp có thể tiết kiệm chi phí đầu tư phần cứng, tăng tính linh hoạt trong quản lý và dễ dàng mở rộng hệ thống.
vSAN mang lại hiệu quả cao về hiệu suất, khả năng mở rộng linh hoạt, tích hợp chặt chẽ với môi trường ảo hóa VMware, đồng thời giúp đơn giản hóa vận hành hệ thống lưu trữ.

FTT trong vSAN là gì?
FTT là viết tắt của “Failures To Tolerate”, tức là số lỗi phần cứng mà hệ thống vSAN có thể chịu được mà vẫn duy trì hoạt động bình thường. FTT trong vSAN thể hiện số lượng thành phần (như ổ đĩa hoặc máy chủ) mà hệ thống có thể bị mất hoặc gặp sự cố mà không gây mất mát dữ liệu. Cấu hình FTT giúp đảm bảo tính liên tục của dịch vụ và bảo vệ dữ liệu khỏi rủi ro phần cứng. Các mức FTT phổ biến:
- FTT = 0: Không có khả năng chịu lỗi – dữ liệu chỉ có 1 bản sao duy nhất. Nếu host chứa bản sao này gặp sự cố, dữ liệu sẽ mất.
- FTT = 1: Chịu được lỗi của 1 host hoặc ổ đĩa. Dữ liệu được nhân bản thành 2 bản sao.
- FTT = 2: Chịu được lỗi của 2 host. Cần ít nhất 5 host để triển khai.
- FTT = 3: Chịu lỗi đến 3 host. Cần tối thiểu 7 host trong cụm.
Mỗi mức FTT là sự đánh đổi giữa hiệu suất, chi phí lưu trữ và độ an toàn dữ liệu.

Môi trường thử nghiệm
Để bắt đầu tìm hiểu khả năng chịu lỗi của vSAN (FTT), LANIT sẽ thử nghiệm trên môi trường nhất định.
Ta có hệ thống vSAN:
- Host: số lượng 7
- vSAN DiskGroup: số lượng 7

VM Storage Policy
Site disaster tolerance: Mô hình Non-Standard Cluster
Trong mô hình này, toàn bộ dữ liệu được lưu trữ trong cùng một site vật lý. Rất phù hợp với các hệ thống chỉ triển khai tại một địa điểm duy nhất, không áp dụng cho môi trường đa site.
Failures to Tolerate: Chịu lỗi ở mức 1 – Sử dụng RAID-1 (Dạng Mirroring)
Trong trường hợp cấu hình với FTT = 1, máy ảo có thể tiếp tục hoạt động bình thường nếu xảy ra lỗi tại một node, một ổ đĩa, hoặc một kết nối mạng trong cụm.
Cơ chế bảo vệ dữ liệu như sau:
- Dữ liệu được nhân đôi thành hai bản (gọi là replicas). Một replica là bản chính. Bản còn lại đóng vai trò bản sao dự phòng.
- Ngoài ra còn có một thành phần gọi là witness, giữ thông tin metadata (trạng thái đồng thuận). Witness này giúp vSAN đưa ra quyết định bản sao nào còn hợp lệ nếu xảy ra sự cố.
Khi cấu hình FTT = 1, mỗi object trong hệ thống sẽ bao gồm 2 replicas và 1 witness, được phân phối tối thiểu trên 3 host khác nhau trong cluster. Với mô hình này, dung lượng sử dụng thực tế chỉ còn khoảng 50% do dữ liệu được nhân đôi để đảm bảo khả năng chịu lỗi.
Phân bổ Object
Một VM thông thường sẽ bao gồm 3 object:
- VM Folder
- VM Swap
- VM Disk


Tình huống lỗi và cách xử lý
Trường hợp số lượng host bị mất nhỏ hơn hoặc bằng mức FTT (≤ FTT)
Nếu host bị lỗi chứa một replica: hệ thống vẫn có thể hoạt động ổn định vì còn lại một bản replica và một witness. Với 2 trong 3 thành phần còn khả dụng, quorum được duy trì và máy ảo tiếp tục chạy bình thường.
Nếu witness bị lỗi: hai bản dữ liệu (replica) vẫn còn và đủ để giữ vững quorum. Do đó, máy ảo không bị ảnh hưởng.
Trong cả hai tình huống trên, nếu hệ thống còn tài nguyên, vSAN sẽ tự động tái tạo lại component bị mất trên một host khác nhằm khôi phục đầy đủ cấu trúc dữ liệu.
Trường hợp mất nhiều hơn số lượng host được phép theo FTT (> FTT)
Như đã đề cập, nếu một host bị lỗi, hệ thống sẽ cố gắng phục hồi dữ liệu trên các node còn lại. Tuy nhiên, nếu một host khác tiếp tục gặp sự cố trước khi quá trình khôi phục hoàn tất, số lượng component còn lại không đủ để duy trì quorum (< 2/3). Khi đó, máy ảo sẽ bị dừng hoạt động.
Xét một vài tình huống cụ thể
Tình huống 1: Nếu tất cả component của object chứa đĩa ảo của máy ảo đều bị mất thì đương nhiên, máy ảo sẽ không thể truy cập được đĩa (Inaccessible Disk) và ngừng hoạt động.

Tình huống 2: Nếu một số component vẫn còn (ví dụ như ổ đĩa và thư mục), thì máy ảo có thể tiếp tục chạy. Tuy nhiên, nếu mất thành phần VM Swap Object, nó sẽ được tạo lại khi máy ảo khởi động lại.


Trong trường hợp này, Swap Object sẽ tạm thời không truy cập được (Swap Inaccessible), và hệ thống chỉ còn lại 6 trong 9 component ban đầu của vSAN object.
Khả năng chịu lỗi tối đa:
FTT (Failures To Tolerate) cho biết cụm vSAN có thể mất bao nhiêu host mà vẫn đảm bảo dữ liệu hoạt động an toàn. Khi số host bị lỗi vượt quá giới hạn này, hệ thống cần thời gian để khôi phục và tái cân bằng dữ liệu.
Ví dụ với một cụm gồm 7 node, hệ thống có thể chịu được sự cố lên đến 4 node. Trong trường hợp này, vẫn còn 3 node – đủ để duy trì 2 bản sao dữ liệu (mirror) và 1 witness nhằm đảm bảo quorum.
Tuy nhiên, nếu cụm chỉ còn lại đúng 3 node thì mức độ rủi ro trở nên rất cao. Bởi nếu thêm một node nữa gặp sự cố, hệ thống sẽ không còn đủ thành phần để duy trì quorum, dẫn đến việc không thể truy cập dữ liệu.

Lưu ý
Trong cấu hình 7 node sử dụng RAID 1 và FTT=1, nếu xảy ra tình huống mất đến 4 node, cần lưu ý những điểm sau để bảo toàn dữ liệu:
- Thực hiện bảo trì thận trọng: Không nên cùng lúc loại bỏ hoặc tắt nhiều node. Cần chắc chắn rằng dữ liệu đã được tái tạo trước khi tiếp tục các thao tác bảo trì. Ít nhất 3 node phải luôn được giữ online để duy trì tính sẵn sàng và độ tin cậy của hệ thống.
- Duy trì đủ quorum: Sau khi mất 4 node, 3 node còn lại phải chứa đủ 2 bản sao dữ liệu (replica) và 1 witness. Sự phân phối hợp lý này cho phép hệ thống tiếp tục hoạt động mà không bị gián đoạn.
- Đảm bảo tài nguyên còn lại: Các node còn hoạt động phải có đủ dung lượng để chứa lại các thành phần (component) bị mất. Nếu không đủ tài nguyên, quá trình phục hồi (rebuild) sẽ không thể thực hiện, gây nguy cơ mất dữ liệu.

Trong mô hình 7 node sử dụng RAID 1 và FTT=1, hệ thống chỉ thực sự an toàn nếu xảy ra lỗi bất ngờ ở 1 node. Tuy nhiên, nếu tuân thủ đúng các bước kỹ thuật, hệ thống có thể chịu được đến 4 node bị mất. Để tăng cường khả năng chịu lỗi, bạn nên xem xét:
- Nâng cấp FTT lên mức 2 hoặc 3 để tăng số lượng lỗi có thể chấp nhận.
- Chuyển sang cấu hình RAID-5 hoặc RAID-6 để tiết kiệm dung lượng lưu trữ, tuy nhiên cần chú ý rằng điều này có thể ảnh hưởng đến hiệu suất.
Ngoài ra, cần phân biệt rõ giữa các khái niệm: RAID, FTT, Fault Domains và Storage Policies để tránh hiểu sai khi cấu hình hệ thống.
Chúng ta có tỷ lệ dung lượng bảo vệ dữ liệu như sau:
- RAID-1: 50%
- RAID-5: 33%
- RAID-6: 25%
Lời kết
Trên đây là bài viết tìm hiểu về khả năng chịu lỗi của vSAN (FTT). Để ra được kết quả, LANIT đã thử nghiệm trên môi trường nhất định, phân tích và đưa ra kết quả. Hy vọng bài viết mang lại thông tin hữu ích đến bạn. Cảm ơn bạn nhiều vì đã theo dõi!
Tham khảo thêm các bài viết cùng chủ đề: