RAID¶
RAID (Redundant Array of Independent Disks) gộp nhiều ổ đĩa thành một khối lưu trữ logic để tăng hiệu năng, độ tin cậy hoặc cả hai.
Bản khung
Trang này mới là khung, sẽ bổ sung nội dung. Nền tảng về ổ đĩa nằm ở Storage: HDD và SSD.
1. Ý tưởng chính¶
- Striping: chia dữ liệu thành các stripe rải đều lên nhiều ổ, tăng băng thông.
- Mirroring: ghi cùng dữ liệu lên nhiều ổ, chịu được lỗi ổ.
- Parity: lưu thông tin chẵn lẻ (XOR) để dựng lại dữ liệu khi mất một ổ.
2. Các mức RAID¶
Mỗi mức RAID là một cách kết hợp ba kỹ thuật trên. Hình dưới cho thấy các khối dữ liệu (A1, A2, ...) và khối parity (P, Q, màu đỏ nhạt) nằm trên từng ổ.
| Mức | Kỹ thuật | Số ổ tối thiểu | Chịu lỗi | Dung lượng khả dụng |
|---|---|---|---|---|
| RAID 0 | Striping | 2 | Không | N |
| RAID 1 | Mirroring | 2 | N-1 ổ | 1 ổ |
| RAID 5 | Striping + parity | 3 | 1 ổ | N-1 |
| RAID 6 | Striping + 2 parity | 4 | 2 ổ | N-2 |
| RAID 10 | Mirror rồi stripe | 4 | 1 ổ mỗi cặp mirror | N/2 |
3. Vấn đề cần lưu ý¶
- Write penalty của RAID 5/6 (read-modify-write).
- Write hole và cách xử lý (journal, bitmap).
- Rebuild: thời gian dựng lại và rủi ro lỗi ổ thứ hai.
- RAID không thay thế sao lưu.
4. Hardware RAID và software RAID¶
TODO: so sánh RAID controller, firmware/fake RAID và software RAID.
5. RAID trên Linux¶
TODO: md/mdadm, dm-raid, ví dụ tạo và theo dõi array (/proc/mdstat). RAID kết hợp NBD xem Network Block Device.