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

Dù bạn đang tìm kiếm để tối ưu hóa hiệu suất máy chủ hoặc để tránh nguy cơ mất dữ liệu hoàn toàn trên thiết bị NAS, bạn sẽ cần đến RAID. Nhưng phải chọn cấp độ nào cho phù hợp? Đây là bài viết giải thích các cấp độ RAID, bao gồm những dạng RAID tiêu chuẩn đến những dạng RAID ghép (hay còn gọi là RAID lai) hai cấp, ba cấp. Hy vọng bài viết này sẽ hữu ích đối với những ai đang có nhu cầu sử dụng hoặc tìm hiểu về RAID.


Nếu bạn đã từng xem xét kỹ khi mua một thiết bị NAS hoặc máy chủ, đặc biệt cho doanh nghiệp nhỏ, bạn không còn xa lạ gì về thuật ngữ "RAID". RAID là viết tắt của Redundant Array of Independent Disks hoặc Redundant Array of Inexpensive Disks (tạm dịch: Mảng Ổ Đĩa Độc Lập Dự Phòng hay Mảng Ổ Đĩa Rẻ Tiền Dự Phòng). Nói chung, hệ thống hỗ trợ RAID sử dụng hai hoặc nhiều ổ đĩa để cải thiện hiệu suất hay mang lại khả năng chịu lỗi cho một máy - thường là NAS hoặc máy chủ. Khả năng chịu lỗi chỉ đơn giản là mang đến sự an toàn khi phần cứng bị hỏng, bằng cách đảm bảo cho máy có thành phần hỏng (HDD hoặc SSD), vẫn có thể hoạt động bình thường. Khả năng chịu lỗi giúp tránh gián đoạn năng suất làm việc, và cũng làm giảm nguy cơ mất dữ liệu.

Khả năng chịu lỗi tùy thuộc vào cấp độ RAID mà bạn thiết lập. Cấp độ RAID phụ thuộc vào các yếu tố như: số lượng ổ đĩa mà bạn đang có trong thiết bị lưu trữ, tình trạng hư hỏng cũng như phục hồi ổ đĩa nghiêm trọng thế nào đối với dữ liệu của bạn, và tầm quan trọng của việc tối đa hiệu suất. Ví dụ, nếu so với một người dùng tại nhà, một doanh nghiệp nói chung sẽ thấy khẩn cấp hơn trong việc bảo toàn dữ liệu khi hư hỏng phần cứng xảy ra. Các cấp độ RAID khác nhau thể hiện các cấu hình khác nhau, nhằm cung cấp sự cân bằng khác nhau giữa tối ưu hóa hiệu suất và bảo vệ dữ liệu.

Tổng quan về RAID:

Trước đây RAID được ứng dụng trong các doanh nghiệp và tổ chức, những nơi cần phải có khả năng chịu lỗi và tối ưu hiệu suất, không phải thứ xa xỉ. Máy chủ và NAS trong các trung tâm dữ liệu thường có bộ điều khiển RAID - loại phần cứng điều khiển mảng ổ đĩa. Các hệ thống này có nhiều HDD hoặc SSD, tùy thuộc vào cấu hình RAID. Do nhu cầu lưu trữ của người tiêu dùng tăng lên, các thiết bị NAS gia đình cũng hỗ trợ RAID. Ngày càng nhiều thiết bị NAS dành cho doanh nghiệp nhỏ, người tiêu dùng chuyên nghiệp (prosumer - kết hợp của professional và consumer), và gia đình hỗ trợ hai hoặc nhiều khay ổ đĩa, để người dùng có thể tận dụng sức mạnh của RAID giống như doanh nghiệp.

RAID mềm nghĩa là bạn có thể thiết lập RAID mà không cần phần cứng điều khiển, khả năng RAID đã vốn có trong hệ điều hành. Windows 8 có tính năng Storage Spaces và Windows 7 (phiên bản Pro, Ultimate) hỗ trợ tích hợp RAID. Bạn có thể thiết lập một ổ đĩa đơn với hai phân vùng: một để khởi động, một để lưu trữ dữ liệu và có phân vùng dữ liệu được "mirror" (tức là "sao chép", sẽ được nói đến trong phần RAID 1 bên dưới).

RAID mềm cũng có sẵn trong các hệ điều hành khác, như OS X Server, Linux và Windows Server. Do loại RAID này được tích hợp như một tính năng trong hệ điều hành, nên người dùng không phải tốn thêm tiền mua nó. RAID mềm cũng có thể bao gồm các giải pháp ảo hóa, với sự hỗ trợ của những adapter RAID ảo mạnh mẽ dựa trên máy chủ, được cung cấp bởi các công ty như Dot Hill Systems. Tuy nhiên đó là một giải pháp phù hợp hơn với mô hình doanh nghiệp.

Nên chọn cấp độ RAID nào cho phù hợp?

Như đã đề cập, có nhiều cấp độ RAID khác nhau, và cấp độ mà bạn chọn phụ thuộc vào việc bạn dùng RAID để tăng hiệu suất hay khả năng chịu lỗi (hoặc cả hai). Việc bạn sử dụng RAID cứng hay RAID mềm cũng là vấn đề, bởi vì phần mềm hỗ trợ ít cấp độ hơn so với RAID dựa trên phần cứng. Trong trường hợp RAID cứng, chủng loại bộ điều khiển lại cũng là vấn đề. Nhiều bộ điều khiển khác nhau hỗ trợ các cấp độ RAID khác nhau và có thể quy định loại ổ đĩa bạn có thể dùng trong một mảng: HDD hay SSD, hỗ trợ chuẩn giao tiếp SCSI, SAS hay SATA,...

RAID 0:

Được sử dụng để tăng hiệu suất của máy chủ, còn được gọi là "disk striping" (ổ đĩa sọc). Với RAID 0, dữ liệu được stripe (chia sọc) trên nhiều đĩa (tối thiểu là 2). Điều này nghĩa là công việc mà máy tính đang thực hiện được xử lý bởi nhiều ổ đĩa chứ không phải chỉ có một, giúp tăng tốc độ đọc ghi dữ liệu. RAID mềm và RAID cứng, cũng như hầu hết bộ điều khiển đều hỗ trợ cấp độ này.


Nhược điểm của RAID 0 là không có khả năng chịu lỗi. Nếu một ổ đĩa bị hỏng thì sẽ ảnh hưởng đến toàn mảng, số lượng ổ đĩa càng nhiều thì nguy cơ mất dữ liệu càng cao.

Dung lượng RAID 0 được tính như sau: (dung lượng của ổ đĩa nhỏ nhất) x (số lượng ổ đĩa).
Ví dụ: Nếu máy chủ có hai ổ đĩa 1TB được cấu hình RAID 0, khi đó tổng dung lượng lưu trữ của RAID 0 sẽ là 1TB x 2 = 2TB.

RAID 1:

Là loại cấu hình có khả năng chịu lỗi, còn được gọi là "disk mirroring" (ổ đĩa gương). Với RAID 1, dữ liệu được mirror (sao chép) liên tục và đồng thời, từ đĩa này sang đĩa khác, tạo nên một bản sao hay còn gọi là gương. Nếu một ổ đĩa bị hỏng, ổ kia vẫn có thể tiếp tục hoạt động. Đây là cách đơn giản nhất để tạo khả năng chịu lỗi và chi phí tương đối thấp.


RAID 1 còn có ưu điểm giúp cải thiện tốc độ đọc, do dữ liệu có thể được truy xuất cùng một lúc trên nhiều ổ đĩa. Nhược điểm là RAID 1 gây ảnh hưởng nhỏ đến tốc độ ghi. Như vừa đề cập ở trên, hai ổ đĩa phải được sao chép liên tục và đồng thời, nếu ổ đĩa nào có tốc độ chậm hơn sẽ ảnh hưởng đến tốc độ ghi tổng thể của hệ thống. Đây là lý do vì sao chúng ta nên sử dụng các ổ đĩa giống hệt nhau khi chạy RAID.

RAID 1 có thể được tạo thông qua phần mềm hoặc phần cứng. Tối thiểu phải có hai ổ đĩa vật lý để triển khai RAID 1 cứng. Với RAID 1 mềm, thay vì hai đĩa, dữ liệu có thể được sao chép giữa các phân vùng trên một ổ đĩa đơn.

Cần lưu ý là dung lượng RAID 1 bằng chính dung lượng của ổ đĩa nhỏ nhất.
Ví dụ: Nếu máy chủ có hai ổ đĩa 1TB được cấu hình RAID 1, khi đó tổng dung lượng lưu trữ của RAID 1 sẽ là 1TB, chứ không phải 2TB.

RAID 2:

Được ví như "chú cừu đen" của gia đình RAID, bởi vì nó là cấp độ RAID duy nhất không sử dụng một hoặc nhiều kỹ thuật "tiêu chuẩn" như mirror, stripe và/hoặc parity (tính chẵn lẻ - là dữ liệu bổ sung được sử dụng cho việc khôi phục). RAID 2 sử dụng một thứ tương tự như stripe có parity, nhưng không giống như cách được dùng trong các cấp độ RAID 3, 4, 5, 6, 7.


Dữ liệu của RAID 2 được stripe ở cấp độ bit, phân bố qua nhiều ổ đĩa dữ liệu và ổ đĩa dự phòng. Các bit dự phòng được tính toán bằng mã Hamming, một dạng Mã Sửa Lỗi (ECC - Error Correcting Code hoặc Error Checking & Correcting). Khi có hoạt động stripe dữ liệu, những mã này được tính toán và ghi cùng với dữ liệu lưu vào ổ đĩa ECC riêng biệt. Khi có hoạt động đọc dữ liệu, những mã ECC cũng được đọc để xác nhận rằng không có lỗi xảy ra kể từ lúc ghi dữ liệu. Nếu một lỗi đơn xảy ra, nó sẽ được sửa ngay tức thì. Cấp độ này có khả năng chịu lỗi một ổ đĩa.

RAID 2 đòi hỏi một bộ điều khiển phức tạp, chuyên dụng và đắt tiền. Loại RAID này hiếm khi được sử dụng bởi chi phí triển khai quá lớn (một hệ thống điển hình yêu cầu đến 10 ổ đĩa dữ liệu, 4 ổ đĩa ECC), và có hiệu suất không cao (do stripe ở cấp độ bit).

RAID 3:

Dữ liệu được stripe qua nhiều ổ đĩa ở cấp độ byte; số lượng byte của mỗi stripe có thể thay đổi nhưng thông thường dưới 1024 byte (tức 1KB). Parity được tính toán và lưu vào một ổ đĩa riêng biệt, nhưng có khả năng chịu lỗi khi sự cố xảy ra với một ổ đĩa bất kỳ. Nếu một ổ đĩa bị lỗi hoặc không thể khởi động, dữ liệu ban đầu sẽ được tái tạo từ những dữ liệu đã stripe và ổ đĩa parity này - diễn ra liên tục và hoàn toàn tự động. Về cơ bản, hệ thống vẫn hoạt động ngay cả khi một ổ đĩa bị chết và đến khi bạn thay thế ổ đĩa hỏng đó.


Ổ đĩa parity trong RAID 3 gây nên tình trạng nghẽn cổ chai khiến hiệu suất không cao, đặc biệt trong hoạt động ghi ngẫu nhiên, bởi vì nó phải được truy cập liên tục khi có dữ liệu được ghi. Điều này trái ngược với RAID 5, cải thiện hiệu suất ghi bằng cách phân bố parity trên tất cả ổ đĩa (mặc dù loại RAID này cũng phải chịu ảnh hưởng bởi hoạt động ghi, sẽ được đề cập sau).

RAID 3 có tốc độ đọc ghi tuần tự khá tốt, nhưng lại hạn chế về tốc độ đọc ngẫu nhiên (do stripe ở cấp độ byte) và tốc độ ghi ngẫu nhiên (do dùng ổ đĩa parity riêng biệt). Vì vậy RAID 3 ít khi được sử dụng, ngoại trừ các ứng dụng có dung lượng tập tin lớn, đòi hỏi tốc độ truy xuất tuần tự cao và yêu cầu ổ đĩa dự phòng, chẳng hạn như xử lý các video nguyên bản (không nén).

Loại RAID này yêu cầu tối thiểu ba ổ đĩ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 - 1).
Ví dụ: Nếu máy chủ có bốn ổ đĩa 1TB được cấu hình RAID 3, khi đó tổng dung lượng lưu trữ trong mảng sẽ là 1TB x (4 - 1) = 3TB.

RAID 4:

Nhiều người đôi khi nhầm lẫn loại này với RAID 3. RAID 4 cải thiện hiệu suất bằng cách stripe dữ liệu qua nhiều ổ đĩa theo khối và có khả năng chịu lỗi thông qua ổ đĩa parity riêng biệt. Điều này làm cho RAID 4 giống như "anh em ruột" với RAID 3 và RAID 5 do có những điểm tương đồng. Nó giống RAID 3 ngoại trừ việc sử dụng các khối thay vì các byte khi phân bố dữ liệu, và giống RAID 5 ngoại trừ việc sử dụng ổ đĩa parity riêng biệt thay vì phân bố parity.


So với RAID 3, stripe của RAID 4 được cải tiến từ byte sang block, giúp cải thiện hiệu suất truy cập ngẫu nhiên, nhưng việc dùng ổ đĩa parity giống nhau nên vẫn bị tình trạng nghẽn cổ chai, đặc biệt trong hoạt động ghi ngẫu nhiên.

RAID 4 yêu cầu số lượng ổ đĩa tối thiểu, dung lượng lưu trữ, khả năng chịu lỗi và các thuộc tính khác cũng tương tự như RAID 3 và RAID 5.

RAID 5:

Một trong những cấu hình RAID phổ biến nhất dành cho máy chủ và thiết bị NAS doanh nghiệp. RAID 5 tương tự RAID 4 ngoại trừ việc không dùng ổ đĩa parity riêng biệt mà sử dụng thuật toán để phân bố parity, dữ liệu và khối parity được ghi trên tất cả ổ đĩa trong mảng. Với kỹ thuật này, RAID 5 tránh khỏi tình trạng nghẽn cổ chai mà hai "anh em" RAID 3 và RAID 4 gặp phải, giúp cải thiện tốc độ ghi.


Lợi ích của RAID 5 là nó cho phép nhiều ổ đĩa NAS và máy chủ có thể được "thay nóng" (hot-swappable hay hotswap) trong trường hợp một ổ đĩa trong mảng bị hỏng. Ổ đĩa này có thể được thay thế bởi một ổ đĩa mới mà không cần tắt NAS hoặc máy chủ, và cũng không làm gián đoạn người dùng đang truy cập NAS hoặc máy chủ đó. Đây là một giải pháp tuyệt vời cho khả năng chịu lỗi do ổ đĩa hỏng (hoặc dần dần sẽ hỏng), dữ liệu có thể được tái tạo (hay còn gọi là đồng bộ) trên ổ đĩa mới khi ổ đĩa hỏng được thay thế. Thời gian tái tạo phụ thuộc vào nhiều yếu tố như dung lượng dữ liệu cần tái tạo, tốc độ ghi của ổ đĩa mới, mức độ ưu tiên tái tạo (rebuild priority),... có thể mất nhiều tiếng hoặc thậm chí nhiều ngày mới hoàn tất.

RAID 5 trở nên phổ biến bởi đây là sự kết hợp lý tưởng: hiệu suất tốt, khả năng chịu lỗi tốt, dung lượng lưu trữ cao. Loại RAID này phù hợp nhất với các công việc kinh doanh và dịch vụ đa năng. Đối với những ứng dụng đòi hỏi hoạt động ghi nhiều, RAID 1 hoặc RAID 10 (hay còn gọi là RAID 1+0, sẽ được giới thiệu sau) có lẽ là lựa chọn tốt hơn (mặc dù chi phí phần cứng cao hơn), bởi hiệu suất của RAID 5 sẽ bắt đầu giảm đi đáng kể trong môi trường nặng hoạt động ghi.

Hiệu suất của RAID 5 có thể được "điều chỉnh" bằng cách thay đổi kích thước stripe, sao cho đáp ứng tốt nhất với ứng dụng đang được triển khai. Dung lượng lưu trữ của cấp độ này tương tự RAID 3.

RAID 6:

Đây cũng là RAID thường được sử dụng trong các doanh nghiệp. Tương tự như RAID 5, nhưng RAID 6 là giải pháp mạnh mẽ hơn bởi nó sử dụng đến hai khối parity và yêu cầu tối thiểu 4 ổ đĩa. Nếu bạn có hai ổ đĩa chết cùng một lúc, hệ thống vẫn có thể tiếp tục hoạt động. Về mặt hiệu suất, nhìn chung RAID 6 có tốc độ ghi không bằng RAID 5 do phải tính toán nhiều khối parity phức tạp hơn, nhưng có tốc độ đọc ngẫu nhiên nhanh hơn một chút do dữ liệu được stripe qua nhiều ổ đĩa hơn. Giống như RAID 5, hiệu suất RAID 6 có thể được điều chỉnh bằng cách thay đổi kích thước stripe.


Về lý thuyết, RAID 6 thích hợp với các ứng dụng giống RAID 5, nhưng chỉ áp dụng cho những trường hợp cần tăng cường khả năng chịu lỗi. Trên thực tế, RAID 6 ít được dùng hơn so với RAID 5 và RAID 10. Lý do là một số công ty không muốn chi tiền cho một sự kiện hiếm gặp - hai ổ đĩa hỏng cùng lúc (nếu điều này không xảy ra, việc sử dụng RAID 6 vừa vô ích vừa lãng phí).

Ở tầm thấp hơn, sự phát triển của RAID 5 với các tính năng hotswap và tự tái tạo đã khiến cho RAID 6 ít được chú ý hơn. Bởi vì với những tính năng tiên tiến này, mảng RAID 5 có thể phục hồi sự cố một ổ đĩa chỉ trong vòng vài giờ (đây là lúc RAID 6 chiếm ưu thế, do RAID 5 đòi hỏi thời gian chết (downtime) để tái tạo lại dữ liệu). Ở tầm cao hơn, RAID 6 không bằng các giải pháp khác, chẳng hạn như RAID 10 - cung cấp khả năng chịu lỗi nhiều ổ đĩa và có hiệu suất tốt hơn.

Dung lượng RAID 6 đượ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ó năm ổ đĩa 1TB được cấu hình RAID 6, khi đó tổng dung lượng lưu trữ trong mảng sẽ là 1TB x (5 - 2) = 3TB.

RAID 7:

Khác với những RAID trên, RAID 7 không phải là một chuẩn công nghiệp; nó là thuật ngữ thương mại của Storage Computer Corporation (SCC), được dùng để miêu tả cho thiết kế RAID độc quyền của họ.

RAID 7 dựa trên RAID 3 và RAID 4, nhưng được cải tiến để khắc phục một số hạn chế của hai loại RAID này. RAID 7 kết hợp một bộ nhớ cache được sắp xếp theo nhiều cấp và một bộ xử lý thời gian thực (real-time) chuyên dụng để quản lý mảng theo kiểu bất đồng bộ. Với việc sử dụng truy cập bất đồng bộ, RAID 7 phá vỡ kiến trúc kỹ thuật trước đây của RAID chuẩn, giảm đáng kể tình trạng nghẽn cổ chai trong quá trình ghi dữ liệu.


Nhờ sự hỗ trợ của phần cứng - đặc biệt là bộ nhớ cache - cho phép mảng RAID 7 xử lý nhiều hoạt động cùng một lúc, giúp cải thiện đáng kể hiệu suất trong khi vẫn duy trì khả năng chịu lỗi. Cụ thể, RAID 7 cung cấp tốc độ đọc và ghi ngẫu nhiên tốt hơn nhiều so với RAID 3 hoặc RAID 4, bởi khi có phần cứng hỗ trợ, hoạt động đọc truy xuất dữ liệu từ bộ nhớ cache thay vì truy cập các ổ đĩa trong mảng, còn hoạt động ghi giảm bớt sự lệ thuộc vào ổ đĩa parity riêng biệt.

Với hiệu suất tăng cao của RAID 7, tất nhiên cái giá phải trả không hề nhỏ. Ngoài chi phí mua thiết bị chuyên dụng, khách hàng phải tốn thêm khoản phí bản quyền cho SCC. RAID 7 chỉ thích hợp với những doanh nghiệp, tổ chức lớn, có yêu cầu công việc hết sức đặc biệt. Đây là một giải pháp đắt tiền, chỉ được triển khai và hỗ trợ bởi một công ty duy nhất

Comments

Popular Posts