RAID là một từ viết tắt của cụm từ "Redundant array of independent (hay inexpensive) disks" và được thiết kế để cải tiến tốc độ và dùng sai về lỗi của các hệ thống lưu trữ máy tính. RAID đầu tiên được phát triển tại Đại học California ở Berkeley năm 1987, được thiết kế để một nhóm ổ đĩa ít đắt tiền hơn, nhỏ hơn có thể nối liền với phần cứng và phần mềm chuyên biệt để làm chúng thể hiện như một ổ đĩa đơn lớn hơn đối với hệ thống. Bằng cách dùng nhiều ổ đĩa để hoạt động như một ổ đĩa tăng tốc độ và đúng sai về lỗi có thể được nhận ra.
PATA/SATA RAID
Đầu tiên RAID được hình thành để đơn giản cho phép tất cả các ổ đĩa riêng biệt trong một mảng làm việc với nhau như một ổ đĩa đơn lớn hơn với không gian lưu trữ kết hợp của tất cả các ổ đĩa riêng biệt được thêm vào được gọi là cấu hình JBOD (Just a Bunch of Disks). Không may, nếu bạn có bốn ổ đĩa kết nối trong một mảng JBOD hoạt động như một ổ đĩa, khả năng xảy ra lỗi đĩa tăng cấp 4 lần so với nếu chỉ dùng một ổ đĩa đơn lớn hơn. Và do JBOD không dùng stripine tốc độ sẽ không tốt hơn một ổ đĩa đơn. Để cải thiện độ tin cậy và tốc độ, các nhà khoa học Berkeley đề nghị sáu mức (tương ứng với những phương pháp khác nhau) của RAID. Những mức độ này cung cấp tầm quan trọng khác nhau trên dùng sai về lỗi (độ tin cậy), dung lượng lưu trữ, tốc độ hay sự kết hợp của cả ba.
Mặc dầu không còn tồn tại, một tổ chức được gọi là RAID Advisory Board (RAB) thành lập vào tháng 7 năm 1992 để tiêu chuẩn hóa, phân loại và huấn luyện chủ đề RAID RAB đã phát triển những đặc điểm kỹ thuật cho RAID, một chương trình thống nhất cho các mức độ RAID khác nhau và một chương trình phân loại cho phần cứng RAID.
RAID Advisory Board định rõ bảy mức RAID tiêu chuẩn, được gọi là RAID 0->6. Hầu như các bộ điều khiển RAID cùng thực thi một kết hợp RAID 0+1, thường được gọi RAID 10. Các mức như sau:
- RAID Level 0: Striping — Dữ liệu tệp tin được ghi đồng thời cho nhiều ổ đĩa trong máng, hoạt động như một ổ đĩa lớn hơn. Cho tốc độ đọc/ghi cao nhưng độ tin cậy rất thấp. Yêu cầu tối thiểu hai ổ đĩa để thực thi.
- RAID Level 1: Mirroring — Dữ liệu được ghi vào một ổ đĩa được sao chép chính xác trên ổ kia, cung cấp dùng sai về lỗi tuyệt vời (nếu một ổ đĩa bị hỏng, ổ kia được sử dụng và dữ liệu không mất), nhưng không thực sự làm gia tăng tốc độ khi so sánh với một ổ đĩa đơn. Yêu cầu tối thiểu hai ổ đĩa để thực thi (hai ổ đĩa cùng dung lượng).
- RAID Level 2: Bit-level ECC — Dữ liệu được tách ra một bit tại thời điểm qua nhiều ổ đĩa và các mã sửa lỗi (ECC: error correction code) được ghi vào các ổ đĩa khác. Điều này được dự kiến cho các thiết bị lưu trữ không kết hợp ECC (tất cả các ổ đĩa SCSI và ATA đều có ECC). Nó là một tiêu chuẩn mà về mặt lý thuyết cung cấp các tốc độ dữ liệu cao với dung sai về lỗi tốt, nhưng bày ổ đĩa hay nhiều hơn cho > 50% hiệu suất và không có những bộ điều khiển RAID 2 thương mại và/hay những ổ đĩa không có khả năng ECC.
- RAID Level 3: Striped with parity — Kết hợp RAID Level 0 striping với một ổ đĩa thểm vào được dùng cho thông tin chẵn lẻ. Mức RAID này thực sự là sự phong theo RAID Level ở từ bo một số dung lượng, tương tự cho các ổ đĩa. Tuy vậy, nó cũng đạt mức tính toàn vẹn dữ liệu cao hay đúng sai về lỗi bởi vì dữ liệu thường có thể được tạo lại nếu một ổ đĩa bị hỏng. Yêu cầu tối thiếu ba ổ đĩa để thực thi (hai hay nhiều hơn cho dữ liệu và một cho thông tin chẵn lẻ).
- RAID Level 4: Blocked data with parity —Tương tự như RAID 3 ngoại trừ dữ liệu được ghi trong những khối lớn hơn đối với những ổ đĩa không phụ thuộc, cho tốc độ đọc nhanh hơn với những tệp tin lớn hơn. Yêu cầu tối thiểu ba ổ đĩa để thực thi.
- RAID Level 5: Blocked data with distributed parity — Tương tự như RAID 4 nhưng cho tốc độ được cải tiến bằng cách phân bố những vạch chẵn lẻ (parity stripes) qua một dãy ổ cứng. Yêu cầu tối thiểu ba ổ đĩa để thực thi (hai hay nhiều hơn cho dữ liệu và một cho thông tin chẵn lẽ).
- RAID Level 6: Blocked data with double distributed parity — Tương tự như RAID 5 ngoại trừ thông tin chẵn lẻ được ghi hai lần dùng hai sấp xếp chẵn lẻ khác nhau để cung cấp dung sai về lỗi tốt hơn trong trường hợp nhiều sự hỏng ổ đĩa. Yêu cầu tối thiểu bốn ổ đĩa để thực thi (hai hay nhiều hơn cho dữ liệu và hai cho thông tin chẵn lẻ).
- Cùng có những mức RAID kết hợp (nested RAID) được tạo bằng cách kết hợp vài hình thức của RAID.
- RAID Level 01: Mirrored stripes — Các ổ đĩa đầu tiên được kết hợp trong các bộ RAID ổ kế tiếp các bộ RAID ổ được phản chiếu trong một cấu hình RAID 1. Một bộ tối thiếu bốn ổ đĩa được yêu cầu. Tổng số ổ đĩa phải là một số chẵn. Hầu như các thực thi PC cho phép chỉ bốn ổ đĩa. Tổng dung lượng lưu trữ có thể sử dụng bằng nửa số ổ đĩa trong mảng nhân với kích cỡ ổ đĩa dung lượng thấp nhất. Các mảng RAID 01 có thể chấp nhận một hư hỏng ổ cứng và một số kết hợp hỏng nhiều ổ cứng (nhưng không phải tất cả). Nói chung thường không được đề nghị bởi vì RAID 01 cho nhiều tình trạng thừa và hiệu suất.
- RAID Level 10: Striped mirrors — Các ổ đĩa đầu tiên được kết hợp trong các bộ RAID 1. Kế tiếp các bộ RAID 1 được theo băng (striped) trong một cấu hình RAID 0. Tối thiểu bốn ổ đĩa được yêu cầu, tổng số ổ đĩa phải là số chẵn. Hầu hết các thực thi PC chỉ cho phép bốn ổ đĩa. Dung lượng lưu trữ có thể sử dụng bằng một nửa số ổ đĩa trong màng nhân với kích cỡ ổ đĩa dung lượng thấp nhất. Các mảng RAID 10 có thể chấp nhận hư hỏng ổ cứng và một số kết hợp hỏng nhiều ổ cứng (nhưng không phải tất cả). Tương tự như RAID 01, ngoại trừ độ tin cậy hơi được gia tăng bởi khả năng chịu lỗi và tạo ra sự thông suốt sau khi một ổ đĩa hư được thay thế thì nhanh hơn và khá hiệu quả.
Các mức độ RAID thiết kế riêng hay độc quyền thêm vào cơ bản không được hỗ trợ bởi RAID Advisory Board. Cho ví dụ từ 1993 đến hết 2004. “RAID T” là một thuật ngữ tiếp thị được đăng ký tên thương mại mô tả một thực thi RAID độc quyền do Storage Computer Corp phát hành (nay không còn tồn tại nữa).
Khi thiết lập tốc độ tối đa, các mảng thông thường chạy RAID Level 0, kết hợp băng dữ liệu (datastriping). Không may, RAID 0 cũng không có độ tin cậy nếu bất kỳ một ổ đĩa hư, tất cả dữ liệu trong màng bị mất. Thuận lợi là tốc độ cực cao. Với RAID 0, tốc độ thường tăng cường theo số ổ đĩa bạn thểm vào mans. Ví dụ: nếu bạn dùng 4 ổ cứng thì tuy không hạn tốc độ tăng gấp 4 lần so với 1 ổ nhưng có nhiều bộ điều khiển có thể đạt tới gần con số đó với sự truyền dẫn ổn định. Một số mức ở trên vẫn liên quan tới bộ điều khiển thực hiện việc trải dữ liệu này (striping) và các vấn đề vẫn tồn tại với thời gian chở đó là, mất bao lâu để tìm dữ liệu nhưng tốc độ sẽ cao hơn bất kỳ ổ đĩa đơn nào thông thường có thể đạt được.
Khi thiết lập tính tin cậy, các mảng thường chạy RAID Level 1, là sự phản chiếu ổ đĩa đơn giàn. Tất cả dữ liệu được ghi vào một ổ đĩa sẽ được ghi vào ổ kia. Nếu một ổ hỏng, hệ thống vẫn tiếp tục hoạt động trên ổ kia. Không may, điều này không làm tăng tốc độ và cũng có nghĩa là bạn chỉ sử dụng một nửa dung lượng ổ đĩa có sẵn. Mặt khác, bạn phải lắp đặt hai 0 đĩa, nhưng chỉ dùng một (ổ kia là phần phản chiếu). Tuy nhiên, trong kỷ nguyên dung lượng cao và giá thành ổ đĩa hạ, đây không là vấn đề đáng quan tâm.
Kết hợp tốc độ với dung sai về lỗi yêu cầu dùng một trong những mức độ RAID khác, như là RAID 5 hay 10. Cho ví dụ thực sự tất cà các bộ điều khiển RAID chuyên nghiệp dùng trong những máy chủ tệp tin mạng được thiết kế để sử dụng RAID Level 5. Các bộ điều khiển thực thi RAID Level 5 thì khá đắt và tối thiểu ba ổ đĩa phải được kết nối trong khi RAID 10 là bốn ổ đĩa.
Với bốn ổ đĩa 500GB trong cấu hình RAID 5, bạn sẽ có 1,5 TB tổng lưu trữ và sẽ chịu được sự hư hỏng bất kỳ ổ đĩa nào. Sau khi một ổ đĩa hư, dữ liệu sẽ vẫn được đọc từ ổ đĩa đó và được ghi vào mảng. Tuy nhiên tốc độ đọc/ghi sẽ chậm khác thường, nó sẽ vẫn như thế cho đến khi ổ đĩa được thay thế và mang này được xây dựng lại. Quy trình xây dựng lại mất thời gian khá dài nên nếu ổ đĩa kia hỏng trước khi tạo lại hoàn toàn, tất cả dữ liệu sẽ mất. Với bốn ổ đĩa trong cấu hình RAID 10 bạn chỉ có ITB tổng lưu trữ. Tuy nhiên, bạn sẽ chịu được nhiều lỗi ổ đĩa. Thêm nữa sau khi một ổ đĩa hư, dữ liệu sẽ vẫn được đọc từ ổ đĩa đó và được ghi vào màng ở tốc độ đủ, không mất mát đáng kể về tốc độ. Ngoài ra, một khi ổ đĩa được thay thế, quy trình xây dựng khá nhanh khi so sánh với việc tạo lại mảng RAID 5. Do những thuận lợi của RAID 10, nhiều người đề nghị nó như một thay thế cho RAID 5 vì tình trạng thừa và hiệu suất tối đa được yêu cầu.
Một bộ điều khiển SATA RAID thông thường cho phép lên tới bốn, sáu hay tám ổ đĩa được gắn vào. Bạn chạy chúng trong chế độ RAID Level 0. 1, 5 hay 10. Các card Parallel ATA RAID có khả năng nhưng hầu như các card RAID chuyển thành Serial ATA, không có các vấn đề chia sẻ kênh chính/phụ của Parallel ATA. Các card Serial ATA RAID dùng một kênh dữ liệu Serial ATA riêng biệt (cáp) cho mỗi ổ đĩa cho phép tốc độ tối đa. Các bộ điều khiển RAID trên bộ mạch chủ cùng dùng chọn lọc các ổ đĩa SATA.
Nếu bạn đang tìm một bộ điều khiển SATA RAID (hay một bộ mạch với một bộ điều khiển SATA RAID tích hợp), những điều cần tìm bao gồm:
- Những mức độ RAID được hỗ trợ (phần lớn hỗ trợ 0. 1. 5 và 10 sự thiếu hỗ trợ RAID 5 và/hay RAID 10 cho biết là sản phẩm cấp rất thấp)
- Hỗ trợ bốn, sáu, hay tám ổ đĩa.
- Hỗ trợ cho các tốc độ truyền Serial ATA 3Gbps hay 6 Gbps.
- Giao diện bus PCIe cho tốc độ tốt nhất và khả năng tương thích trong tương lai.
Một số hệ điều hành bao gồm khả năng RAID trên cơ sở phần mềm tuy nhiên, tôi không đề nghị dùng nó bởi vì các vấn đề tốc độ. Thông thường nếu muốn đạt cả tốc độ lẫn độ tin cậy, bạn nên tìm các bộ điều khiển Serial ATA RAID hỗ trợ RAID Level 5 hay 10.