RAID là viết tắt của Redundant Array of Independent Disks. RAID là hình thức ghép nhiều ổ đĩa cứng vật lý thành một hệ thống ổ đĩa cứng có chức năng gia tăng tốc độ đọc/ghi dữ liệu hoặc nhằm tăng thêm sự an toàn của dữ liệu chứa trên hệ thống đĩa hoặc kết hợp cả hai yếu tố trên.
RAID chứa các nhóm hoặc tập hợp hoặc Array. Sự kết hợp của các trình điều khiển tạo thành một nhóm đĩa để tạo thành RAID Array hoặc bộ RAID. Có thể tối thiểu 2 ổ đĩa được kết nối với RAID Controller và tạo một logical volume hoặc nhiều ổ đĩa có thể nằm trong một nhóm. Chỉ có thể áp dụng một cấp độ RAID trong một nhóm đĩa. RAID được sử dụng khi chúng ta cần hiệu suất tốt. Theo cấp độ RAID đã chọn, hiệu suất RAID sẽ khác nhau, tính an toàn dữ liệu, khả năng chịu lỗi và độ sẵn sàng cao.
Nội dung bài viết
Software RAID and Hardware RAID
Software RAID có hiệu suất thấp, do tiêu tốn tài nguyên từ máy chủ. Software RAID cần nạp để đọc dữ liệu từ software RAID volumes. Trước khi nạp software RAID, hệ điều hành cần khởi động để nạp software RAID.

Hardware RAID có hiệu suất cao. Là RAID Controller chuyên dụng được xây dựng vật lý bằng cách sử dụng PCI express cards. Hardware RAID không sử dụng tài nguyên máy chủ vì có NVRAM cho bộ nhớ cache để đọc và ghi. Bộ nhớ cache rebuild lại nếu hệ thống mất điện, nó sẽ lưu trữ bộ nhớ cache bằng cách sử dụng battery power backups.

Khái niệm đặc trưng của RAID
- Parity method in RAID: Tái tạo lại nội dung bị mất từ parity saved information. RAID 5, RAID 6 được xây dựng dựa trên Parity.
- Stripe: Chia sẻ dữ liệu ngẫu nhiên sang nhiều đĩa. Điều này sẽ không có đầy đủ dữ liệu trong một đĩa. Nếu chúng ta sử dụng 3 đĩa, một nửa dữ liệu của chúng ta sẽ nằm trong mỗi đĩa.
- Mirroring: Được sử dụng trong RAID 1 và RAID 10. Mirroring là tạo một bản sao của cùng một dữ liệu. Trong RAID 1, nó cũng sẽ lưu cùng một nội dung vào đĩa khác.
- Hot spare: Là một ổ đĩa dự phòng trong máy chủ có thể tự động thay thế các ổ đĩa bị lỗi. Nếu bất kỳ ổ nào bị lỗi trong arrays, hot spare disk sẽ được sử dụng và tự động rebuild.
- Chunks: Là một kích thước dữ liệu có thể tối thiểu từ 4KB trở lên. Bằng cách xác định chunk size, có thể tăng hiệu suất I/O.
Các RAID phổ biến
- RAID 0 = Striping
- RAID 1 = Mirroring
- RAID 5 = Single Disk Distributed Parity
- RAID 6 = Double Disk Distributed Parity
- RAID 10 = Combine of Mirror & Stripe. (Nested RAID)
RAID được quản lý bằng mdadm package trong hầu hết các Linux distributions.
RAID 0 Striping

Striping là RAID có hiệu suất tuyệt vời. Trong Raid 0 (Striping), dữ liệu sẽ được ghi vào đĩa bằng phương pháp chia sẻ. Một nửa nội dung sẽ nằm trong một đĩa và một nửa khác sẽ được ghi vào đĩa khác.
Giả sử chúng ta có 2 ổ đĩa, ví dụ: nếu chúng ta ghi dữ liệu “ANNINHMANG.PRO” vào ổ đĩa logic, nó sẽ được lưu dưới dạng “A” sẽ được lưu trong đĩa đầu tiên và “N” sẽ được lưu trong đĩa thứ hai và “N” sẽ được lưu trong đĩa Đầu tiên và một lần nữa ‘I’ sẽ được lưu trong đĩa thứ hai và nó tiếp tục trong quá trình quay vòng.
Trong tình huống này, nếu bất kỳ ổ nào bị lỗi, chúng ta sẽ mất dữ liệu của mình, vì với một nửa dữ liệu từ một trong các ổ đó không thể rebuilt RAID. Nhưng trong khi so sánh với tốc độ ghi và hiệu suất RAID 0 là tuyệt vời. Chúng ta cần ít nhất 2 đĩa để tạo RAID 0 (Striping). Nếu chúng cần lưu dữ liệu quan trọng của mình, đừng sử dụng RAID LEVEL này.
- Hiệu suất cao.
- Không có mất dung lượng trong RAID 0
- Khả năng chịu lỗi bằng 0.
- Viết và Đọc sẽ có hiệu suất tốt.
RAID 1 Mirroring

Mirroring là RAID hiệu suất tốt. Mirroring có thể tạo bản sao của cùng một dữ liệu mà chúng ta có. Giả sử chúng ta có hai số ổ cứng 2TB, tổng số ở đó chúng ta có 4TB, nhưng khi mirroring trong các ổ đĩa nằm sau RAID Controller để tạo thành một ổ đĩa logic chúng ta chỉ có thể thấy 2TB ổ đĩa logic.
Trong khi chúng ta lưu bất kỳ dữ liệu nào, nó sẽ ghi vào cả hai ổ đĩa 2TB. Cần tối thiểu hai ổ đĩa để tạo RAID 1. Nếu xảy ra lỗi đĩa, chúng ta có thể tái tạo tập hợp RAID bằng cách thay thế một đĩa mới. Nếu bất kỳ một trong số đĩa bị lỗi trong RAID 1, chúng ta có thể lấy dữ liệu từ đĩa khác vì có một bản sao cùng một nội dung trong đĩa kia. Vì vậy, không có mất mát dữ liệu.
- Hiệu suất tốt.
- Khả năng chịu lỗi.
- Xây dựng lại sẽ nhanh hơn.
- Hiệu suất viết sẽ chậm.
- Hiệu suất đọc sẽ tốt.
RAID 5 Distributed Parity

RAID 5 chủ yếu được sử dụng ở cấp doanh nghiệp. RAID 5 hoạt động theo phương pháp distributed parity. Thông tin parity sẽ được sử dụng để rebuild dữ liệu. Nó rebuild từ thông tin còn lại trên các ổ đĩa tốt còn lại. Điều này sẽ bảo vệ dữ liệu của chúng ta khỏi lỗi ổ đĩa.
Giả sử chúng ta có 4 ổ đĩa, nếu một ổ đĩa bị lỗi và trong khi thay thế ổ đĩa bị lỗi, chúng ta có thể rebuild lại ổ đĩa đã thay thế từ parity informations. Parity informations được lưu trữ trong cả 4 ổ đĩa, nếu chúng ta có 4 ổ cứng 1TB. Parity informations sẽ được lưu trữ trong 256GB trong mỗi drivers và 768GB khác trong mỗi ổ đĩa sẽ được xác định cho người dùng. RAID 5 có thể tồn tại sau một lần hỏng ổ đĩa, nếu ổ đĩa bị lỗi nhiều hơn 1 ổ sẽ gây mất dữ liệu.
- Tốc độ đọc sẽ cực kỳ tốt.
- Việc ghi sẽ ở mức trung bình, chậm nếu chúng ta không sử dụng Hardware RAID Controller.
- Rebuild từ parity information cho tất cả các đĩa.
- Khả năng chịu lỗi.
- 1 dung lượng đĩa sẽ ở dưới parity.
- Có thể được sử dụng trong các file server, web servers, hệ thống backup.
RAID 6 Two Parity Distributed Disk

RAID 6 cũng giống như RAID 5 với hệ thống two parity distributed. Chủ yếu được sử dụng trong các arrays số lượng lớn. Chúng ta cần tối thiểu 4 ổ đĩa, ngay cả khi 2 ổ đĩa bị lỗi chúng ta vẫn có thể rebuild lại dữ liệu trong khi thay thế các ổ mới.
RAID 6 chậm hơn RAID 5, vì nó ghi dữ liệu vào cả 4 ổ đĩa cùng một lúc. Tốc độ sẽ ở mức trung bình khi chúng ta sử dụng hardware RAID Controller. Nếu chúng ta có 6 số ổ cứng 1TB, 4 ổ sẽ được sử dụng cho dữ liệu và 2 ổ sẽ được sử dụng cho Parity.
- Hiệu suất đọc tốt.
- Hiệu suất ghi sẽ kém nếu chúng ta không sử dụng hardware RAID Controller.
- Khả năng chịu lỗi.
- Dung lượng 2 đĩa sẽ ở dưới parity.
- Có thể được sử dụng trong các arrays lớn.
- Có thể được sử dụng trong mục đích backup, video streaming, được sử dụng trên quy mô lớn.
RAID 10 Mirror & Stripe

RAID 10 có thể được gọi là 1 + 0 hoặc 0 + 1. Điều này sẽ thực hiện cả hai công việc của Mirror & Striping. Đầu tiên là mirror và thứ hai là stripe trong RAID 10. Stripe đầu tiên và mirror là mirror thứ hai trong RAID 01. RAID 10 thì tốt hơn so với 01.
Giả sử, chúng ta có 4 ổ đĩa. Trong khi chúng ta đang ghi một số dữ liệu vào ổ đĩa logic của mình, nó sẽ được lưu trong tất cả 4 ổ đĩa bằng cách sử dụng phương pháp mirror và stripe.
Nếu ghi dữ liệu “ANNINHMANG.PRO” trong RAID 10, nó sẽ lưu dữ liệu như sau. Đầu tiên “A” sẽ ghi vào cả hai đĩa và “N” thứ hai sẽ ghi vào cả hai đĩa, bước này sẽ được sử dụng cho tất cả việc ghi dữ liệu. Nó cũng sẽ tạo một bản sao của mọi dữ liệu sang đĩa khác.
Đồng thời, nó sẽ sử dụng phương thức RAID 0 và ghi dữ liệu như sau “A” sẽ ghi vào đĩa đầu tiên và “N” sẽ ghi vào đĩa thứ hai. Một lần nữa “N” sẽ ghi vào đĩa đầu tiên và “I” vào đĩa thứ hai.
- Hiệu suất đọc và ghi tốt.
- Một nửa không gian sẽ bị mất tổng dung lượng.
- Khả năng chịu lỗi.
- Reuild lại nhanh chóng từ việc sao chép dữ liệu.
- Có thể được sử dụng trong lưu trữ Cơ sở dữ liệu để có hiệu suất và tính khả dụng cao.