Giải thích các cấp độ RAID (phần 2)

RAID 01 (RAID 0+1) và RAID 10 (RAID 1+0):

RAID 01 và RAID 10 còn được gọi là RAID 0+1 và RAID 1+0. RAID 01 có thể được hoán đổi với RAID 10, nhưng hai loại RAID này không giống nhau. RAID 01 là một mảng stripe (RAID 0) được sao chép qua một mảng mirror (RAID 1). Loại RAID này có hiệu suất rất tốt và cũng khá đắt tiền, được triển khai trong các cơ sở hạ tầng đặc biệt, đòi hỏi hiệu suất cao nhưng không cần quy mô mở rộng cao.


RAID 10 là sự kết hợp của RAID 1 và RAID 0. Cũng như RAID 01, RAID 10 cung cấp hiệu suất tổng thể từ rất tốt đến tuyệt vời, bằng cách kết hợp khả năng chịu lỗi của RAID 1 với tốc độ của RAID 0 mà không cần tính toán parity. RAID 10 cung cấp khả năng chịu lỗi và hiệu suất tái tạo tốt hơn RAID 01.


RAID 10 chủ yếu được dùng trong doanh nghiệp hoặc tổ chức bởi chi phí tốn kém, đòi hỏi số lượng ổ đĩa nhiều hơn so với các cấp độ RAID khác. Đây là cấp độ RAID lý tưởng cho các máy chủ cơ sở dữ liệu được sử dụng với tần suất cao hoặc bất kỳ máy chủ nào phải thực thi nhiều hoạt động ghi. RAID 10 có thể được tạo thông qua phần cứng hoặc phần mềm, nhưng theo đánh giá chung, nhiều lợi ích về hiệu suất sẽ mất đi nếu bạn sử dụng phần mềm.

Một số người cho rằng RAID 01 và RAID 10 có điểm yếu so với RAID 6 (mặc dù rất hiếm gặp): Với RAID 01, khi có hai ổ đĩa chết nằm ở hai bên stripe (như trong hình của RAID 01 là ổ đĩa 0 và 2, hoặc 1 và 3); với RAID 10, khi có hai ổ đĩa chết trong cùng một phía mirror (như trong hình của RAID 10 là ổ đĩa 0 và 1 bên trái, hoặc 2 và 3 bên phải), khi đó dữ liệu bị mất hoàn toàn. Tình huống này không diễn ra với RAID 6, khi có hai ổ đĩa bất kỳ chết cùng một lúc, mảng vẫn hoạt động bình thường.

RAID 01 và RAID 10 đều yêu cầu tối thiểu bốn ổ đĩa và có dung lượng lưu trữ khá thấp, được tính như sau: (dung lượng của ổ đĩa nhỏ nhất) x (số lượng ổ đĩa) / 2.
Ví dụ: Nếu máy chủ có bốn ổ đĩa 1TB được cấu hình RAID 01 hoặc RAID 10, khi đó tổng dung lượng lưu trữ trong mảng sẽ là 1TB x 4 / 2 = 2TB.

RAID 03 (RAID 0+3) và RAID 30 (RAID 3+0):

RAID 03 (đôi khi là RAID 53) và RAID 30 còn được gọi là RAID 0+3 và RAID 3+0. Cả hai cấp độ này sử dụng kỹ thuật stripe theo byte có parity kết hợp với stripe theo khối để tạo nên các mảng lớn.

RAID 03 được tạo ra bằng cách đặt các mảng RAID 0 vào một mảng RAID 3. RAID 30 phổ biến hơn, được hình thành bằng cách stripe qua nhiều mảng con RAID 3. Sự kết hợp của parity, stripe theo khối nhỏ và stripe theo khối lớn gây khó khăn cho việc phân tích hiệu suất ở cấp độ này. Nói chung, RAID 30 cung cấp hiệu suất tốt hơn RAID 3 nhờ bổ sung thêm RAID 0, nhưng có tốc độ tổng thể gần với RAID 3 hơn RAID 0, đặc biệt là tốc độ ghi. RAID 30 cung cấp khả năng chịu lỗi và hiệu suất tái tạo tốt hơn so với RAID 03, nhưng cả hai đều phụ thuộc vào quy mô ổ đĩa của các mảng con RAID 3 và RAID 0: ổ đĩa parity nhiều hơn, hiệu quả lưu trữ và dung lượng thấp hơn, nhưng khả năng chịu lỗi tốt hơn.


Hãy xem xét hai mảng khác nhau của RAID 30 với 21 ổ đĩa (ví dụ 1 và 2 bên dưới): mảng thứ nhất gồm ba nhóm RAID 3, mỗi nhóm bảy ổ đĩa có dung lượng lưu trữ cao hơn, nhưng khả năng chịu lỗi chỉ tối đa ba ổ đĩa; mảng thứ hai gồm bảy nhóm RAID 3, mỗi nhóm ba ổ đĩa có dung lượng lưu trữ thấp hơn, nhưng khả năng chịu lỗi lên tới 7 ổ đĩa; cả hai mảng này có số nhóm RAID 3 khác nhau. Trong trường hợp 21 ổ đĩa này được áp dụng vào RAID 03, nếu ổ đĩa thứ hai bị hỏng ngay sau sự cố của ổ đĩa thứ nhất, sẽ phá hỏng mảng con RAID 0 và dẫn đến sụp đổ trên toàn mảng.

Cả hai cấp độ đều yêu cầu tối thiểu sáu ổ đĩa và có dung lượng được tính như sau:
+ RAID 03: (dung lượng ổ đĩa nhỏ nhất) x (số nhóm RAID 0 - 1) x (số lượng ổ đĩa trong mỗi nhóm RAID 0)
Ví dụ: Nếu máy chủ có 15 ổ đĩa 1TB được cấu hình RAID 03 với ba nhóm RAID 0, mỗi nhóm có năm ổ đĩa, khi đó tổng dung lượng lưu trữ trong mảng sẽ là: 1TB x (3 - 1) x 5 = 10TB.
+ RAID 30: (dung lượng ổ đĩa nhỏ nhất) x (số lượng ổ đĩa trong mỗi nhóm RAID 3 - 1) x (số nhóm RAID 3)
Ví dụ 1: Nếu máy chủ có 21 ổ đĩa 1TB được cấu hình RAID 30 với ba nhóm RAID 3, mỗi nhóm có bảy ổ đĩa, khi đó tổng dung lượng lưu trữ trong mảng sẽ là: 1TB x (7 - 1) x 3 = 18TB.
Ví dụ 2: Nếu máy chủ có 21 ổ đĩa 1TB được cấu hình RAID 30 với bảy nhóm RAID 3, mỗi nhóm có ba ổ đĩa, khi đó tổng dung lượng lưu trữ trong mảng sẽ là: 1TB x (3 - 1) x 7 = chỉ có 14TB.


RAID 03 và RAID 30 không được sử dụng rộng rãi như các cấp độ khác, do chi phí triển khai khá cao và phức tạp, ngoại trừ những ứng dụng đòi hỏi tốc độ cao, kết hợp với khả năng chịu lỗi và dung lượng lưu trữ cao, chẳng hạn như các máy chủ chứa dữ liệu đa phương tiện, cơ sở dữ liệu hoặc tập tin có kích thước lớn và rất quan trọng.

RAID 05 (RAID 0+5) và RAID 50 (RAID 5+0):

RAID 05 và RAID 50 còn được gọi là RAID 0+5 và RAID 5+0, cả hai cấp độ này tạo nên các mảng lớn bằng cách kết hợp stripe theo khối và parity của RAID 5 với stripe theo khối của RAID 0. RAID 05 là một mảng RAID 5 chứa nhiều mảng con RAID 0; nó ít phổ biến hơn so với RAID 50, là một mảng RAID 0 stripe qua các mảng con RAID 5.


RAID 05 và RAID 50 cải thiện hiệu suất của RAID 5 thông qua việc bổ sung RAID 0, nhất là trong quá trình ghi. Hai loại RAID này cũng cung cấp khả năng chịu lỗi tốt hơn so với cấp độ RAID đơn, đặc biệt nếu được cấu hình như RAID 50 (mỗi mảng con chịu lỗi một ổ đĩa).


Phần lớn các đặc tính của RAID 05 và RAID 50 tương tự như RAID 03 và RAID 30, như số lượng ổ đĩa tối thiểu, cách tính dung lượng, khả năng chịu lỗi,...

RAID 05 và RAID 50 có xu hướng thích hợp hơn trong môi trường kinh doanh, nơi sử dụng dữ liệu có kích thước nhỏ, hoặc những ứng dụng yêu cầu khả năng chịu lỗi, dung lượng và hiệu suất truy cập ngẫu nhiên cao. Hai cấp độ này không được sử dụng rộng rãi như nhiều cấp độ RAID khác. Đôi khi được sử dụng thay thế RAID 5 để tăng dung lượng, đôi khi được sử dụng trong các cơ sở dữ liệu lớn.

RAID 06 (RAID 0+6) và RAID 60 (RAID 6+0):

RAID 06 và RAID 60 còn được gọi là RAID 0+6 và RAID 6+0. Hai cấp độ này tương tự như RAID 05 và 50, ngoại trừ mảng RAID 6 có parity gấp đôi so với RAID 5. RAID 06 và 60 được hình thành bằng cách kết hợp stripe theo khối và parity kép của RAID 6 với stripe theo khối của RAID 0.


RAID 60 có khả năng chịu lỗi và hiệu suất tái tạo tốt hơn RAID 06. Mặc dù RAID 06 cho phép hỏng đến hai mảng con RAID 0 bất kỳ (như hình trên, bạn có thể mất tất cả sáu ổ đĩa trong hai mảng con RAID 0 mà không lo mất dữ liệu); còn RAID 60 chỉ cho phép hỏng tối đa hai ổ đĩa bất kỳ trong mỗi mảng con RAID 6. Nhưng trong thực tế, khả năng hỏng nhiều ổ đĩa trong một mảng con như trên rất hiếm gặp.


Hiệu suất, khả năng chịu lỗi, hiệu quả lưu trữ, tính ứng dụng,... của RAID 06 và 60 so với RAID 05 và 50, cũng giống như RAID 6 so với RAID 5. Nghĩa là RAID 06 và 60 có tốc độ đọc và khả năng chịu lỗi tốt hơn, nhưng lại có tốc độ ghi và hiệu quả lưu trữ thấp hơn so với RAID 05 và 50.

RAID 06 và RAID 60 đều yêu cầu tối thiểu tám ổ đĩa và có dung lượng được tính như sau:
+ RAID 06: (dung lượng ổ đĩa nhỏ nhất) x (số nhóm RAID 0 - 2) x (số lượng ổ đĩa trong mỗi nhóm RAID 0)
Ví dụ: Nếu máy chủ có 12 ổ đĩa 1TB được cấu hình RAID 06 như hình trên (có bốn nhóm RAID 0, mỗi nhóm có ba ổ đĩa), khi đó tổng dung lượng lưu trữ trong mảng sẽ là: 1TB x (4 - 2) x 3 = 6TB.
+ RAID 60: (dung lượng ổ đĩa nhỏ nhất) x (số lượng ổ đĩa trong mỗi nhóm RAID 6 - 2) x (số nhóm RAID 6)
Ví dụ: Nếu máy chủ có 12 ổ đĩa 1TB được cấu hình RAID 60 như hình dưới (có ba nhóm RAID 6, mỗi nhóm có bốn ổ đĩa), khi đó tổng dung lượng lưu trữ trong mảng sẽ là: 1TB x (4 - 2) x 3 = 6TB.

RAID 15 (RAID 1+5) và RAID 51 (RAID 5+1):

RAID 15 và RAID 51 còn được gọi là RAID 1+5 và RAID 5+1. Mảng RAID 15 được hình thành bằng cách tạo ra một nhóm stripe có parity, sử dụng nhiều cặp mirror làm các mảng con; nó tương tự như khái niệm của RAID 10, ngoại trừ stripe có parity. Tương tự RAID 15, RAID 51 được tạo bằng cách mirror toàn mảng RAID 5; nó cũng tương tự như RAID 01, ngoại trừ các mảng con RAID 5 thay thế cho RAID 0 và vì thế có parity bảo vệ. Hiệu suất của các mảng này tốt nhưng không quá cao, không tương xứng với chi phí phải bỏ ra, cũng không sánh bằng với nhiều cấp độ RAID khác.


Khả năng chịu lỗi của RAID 15 và 51 thực sự tuyệt vời; một mảng RAID 15 với tám ổ đĩa có thể chịu lỗi ba ổ đĩa cùng lúc; một mảng RAID 51 với tám ổ đĩa cũng có thể chịu lỗi ba và thậm chí năm ổ đĩa, miễn là ít nhất một trong các mảng con RAID 5 chỉ có tối đa một ổ đĩa sự cố! Cái giá phải trả cho khả năng phục hồi này là chi phí triển khai cao, phức tạp và hiệu quả lưu trữ rất thấp.


Trong thực tế, người ta có thể ghép liên tiếp các mảng con RAID 1 của hai cấp độ này thay vì mirror chỉ để tăng khả năng chịu lỗi nhiều hơn.

RAID 15 và RAID 51 yêu cầu tối thiểu sáu ổ đĩa và có dung lượng được tính như sau: (dung lượng của ổ đĩa nhỏ nhất) x ((số lượng ổ đĩa / 2) -1).
Ví dụ: Nếu máy chủ có tám ổ đĩa 1TB được cấu hình RAID 15 hoặc RAID 51, khi đó tổng dung lượng lưu trữ trong mảng sẽ là: 1TB x ((8 / 2) - 1) = chỉ có 3TB.

RAID 16 (RAID 1+6) và RAID 61 (RAID 6+1):

RAID 16 và RAID 61 còn được gọi là RAID 1+6 và RAID 6+1. Cũng tương tự như RAID 15 và  RAID 51, RAID 16 có stripe và parity là các mảng con mirror, còn RAID 61 được tạo bằng cách mirror toàn mảng RAID 6. Hai cấp độ này có tốc độ đọc và khả năng chịu lỗi rất cao, nhưng tốc độ ghi không cao và hiệu quả lưu trữ rất thấp.


RAID 16 và RAID 61 yêu cầu tối thiểu 8 ổ đĩa, có dung lượng được tính như sau: (dung lượng của ổ đĩa nhỏ nhất) x ((số lượng ổ đĩa / 2) - 2).
Ví dụ: Nếu máy chủ có tám ổ đĩa 1TB được cấu hình RAID 16 hoặc RAID 61, khi đó tổng dung lượng lưu trữ trong mảng sẽ là: 1TB x ((8 / 2) - 2) = chỉ có 2TB.


Cũng như RAID 15 và RAID 51, trong thực tế, người ta có thể ghép liên tiếp các mảng con RAID 1 của hai cấp độ này thay vì mirror chỉ để tăng khả năng chịu lỗi nhiều hơn.

RAID 100 (RAID 10+0):

RAID 100 còn được gọi là RAID 10+0, là cấu hình ba cấp được tạo ra bằng cách ghép hai cấp độ phổ biến RAID 10 và RAID 0 lại với nhau. RAID 100 có tốc độ đọc tuyệt vời, tốc độ ghi rất tốt nhờ bổ sung stripe của RAID 0. Tương tự RAID 10, cấp độ này có khả năng chịu lỗi không cao, chỉ cho phép mỗi mảng con RAID 1 được sự cố một ổ đĩa.


Có thể bạn sẽ thắc mắc tại sao chúng ta phải sử dụng nhiều lớp RAID 0 mà không kết hợp tất cả các mảng con RAID 1 vào một mảng RAID 0 duy nhất, nghĩa là dùng RAID 10 nhưng có quy mô rộng lớn hơn? RAID 100 có gì nổi trội so với RAID 10? Câu trả lời là còn tùy vào mục đích mong muốn của bạn.

Chúng ta có thể sử dụng nhiều card RAID, mỗi card là một mảng RAID 10 cứng, và kết hợp chúng với RAID 0 mềm. Như hình trên, chúng ta sẽ sử dụng ba card RAID cứng, mỗi card điều khiển một mảng RAID 10, được ghép lại bằng cách dùng RAID 0 mềm trên hệ điều hành máy tính.

Việc sử dụng nhiều card RAID giúp cải thiện hiệu suất tổng thể trong mảng, đơn giản vì chúng ta có nhiều bộ xử lý RAID. Điều này rất hữu ích trong trường hợp có một ổ đĩa hỏng: mỗi card RAID có thể nhanh chóng tái tạo mảng con, mà không phải xử lý các chức năng khác trong mảng đó.

RAID 100 yêu cầu tối thiểu tám ổ đĩa và có dung lượng lưu trữ được tính như sau: (dung lượng của ổ đĩa nhỏ nhất) x (số lượng ổ đĩa) / 2.
Ví dụ: Nếu máy chủ có 12 ổ đĩa 1TB được cấu hình RAID 100, khi đó tổng dung lượng lưu trữ trong mảng sẽ là 1TB x 12 / 2 = 6TB.

RAID 160 (RAID 16+0):

RAID 160 còn được gọi là RAID 16+0, là cấu hình ba cấp được tạo ra bằng cách ghép hai cấp độ RAID 16 và RAID 0 lại với nhau. RAID 160 có tốc độ đọc và khả năng chịu lỗi tuyệt vời (cho phép hỏng đến năm ổ đĩa). Tuy nhiên, việc dựa trên RAID 16 nên cấp độ lai này có hiệu suất ghi không cao và hiệu quả lưu trữ rất thấp (do sử dụng nhiều ổ đĩa mirror).


Tương tự RAID 100, RAID 160 cũng sử dụng nhiều card RAID, kết hợp với RAID 0 mềm, điều này giúp cải thiện hiệu suất tổng thể trong mảng.

RAID 160 yêu cầu tối thiểu 16 ổ đĩa và có dung lượng được tính như sau: (dung lượng của ổ đĩa nhỏ nhất) x [(số lượng ổ đĩa / 2) - (số mảng RAID 6 x 2)].
Ví dụ: Nếu máy chủ có 16 ổ đĩa 1TB được cấu hình RAID 160, khi đó tổng dung lượng lưu trữ trong mảng sẽ là: 1TB x [(16 / 2) - (2 x 2)] = chỉ có 4TB.

Nhận xét:

Với hầu hết các doanh nghiệp có quy mô từ nhỏ đến vừa, RAID 0, 1, 5 và trong một số trường hợp RAID 6, 10 là đã có đủ khả năng chịu lỗi và hiệu suất tốt. Với phần lớn người dùng gia đình, RAID 5 có lẽ hơi quá sức, sẽ phù hợp hơn nếu sử dụng RAID 1, vừa túi tiền mà vẫn tận dụng được khả năng chịu lỗi của loại RAID này.

Điều quan trọng nên nhớ RAID không có nghĩa là sao lưu, cũng không phải để thay thế cho một kế hoạch sao lưu - mà chỉ là một công cụ lưu trữ tự động, giúp cải thiện hiệu suất và có khả năng chịu lỗi nhất định. Cách tốt nhất, hãy sao lưu thường xuyên những dữ liệu quan trọng vào một nơi an toàn khác. Sở hữu một thiết bị có hỗ trợ RAID, mà bạn sử dụng nó như máy chủ hoặc thiết bị lưu trữ chính là không nên. RAID có thể là cách tuyệt vời để tối ưu hóa hiệu suất NAS và máy chủ, đồng thời giúp khôi phục nhanh chóng khi gặp sự cố phần cứng, nhưng nó chỉ là một phần của giải pháp khôi phục sau thảm họa (disaster recovery) tổng thể.

Comments

Popular Posts