Skip to content

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 ổ.

Striping, mirroring và parity

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 ổ.

Bố cục khối dữ liệu của RAID 0, 1, 5, 6, 10

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.