RAID là gì? Khái niệm về RAID và các cấp độ RAID

RAID là viết tắt của Redundant Arrays of Inexpensive Disks, 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 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 trong Linux

Raid chứa các nhóm hoặc tập hợp hoặc mảng. 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 mảng RAID hoặc bộ RAID. Nó có thể là tối thiểu 2 đĩa được kết nối với bộ điều khiển và tạo một ổ đĩa hợp lý hoặc nhiều ổ đĩa có thể nằm trong một nhóm. Chỉ một cấp độ Raid có thể được áp dụng trong một nhóm đĩa. Raid được sử dụng khi chúng ta cần hiệu suất và tính toàn vẹn của dữ liệu trên disk. Theo các cấp độ RAID hiệu suất sẽ khác nhau.

RAID phần mềm và RAID phần cứng

RAID phần mềm có hiệu suất thấp, vì tiêu tốn tài nguyên từ máy chủ. Phần mềm RAID cần tải để đọc dữ liệu từ các disk. Trước khi tải dữ liệu, hệ điều hành cần khởi động để tải phần mềm RAID.

RAID phần cứng có hiệu suất cao. Chúng là bộ điều khiển RAID chuyên dụng được xây dựng vật lý bằng cách sử dụng thẻ PCI express. Nó sẽ không sử dụng tài nguyên máy chủ. Nó có NVRAM cho bộ nhớ cache để đọc và ghi. Lưu trữ bộ nhớ cache trong khi xây dựng lại ngay cả khi mất điện, nó sẽ lưu trữ bộ nhớ cache bằng cách sử dụng các bản sao lưu nguồn pin.

Thẻ RAID phần cứng sẽ giống như bên dưới:


RAID phần cứng

Các khái niệm về RAID

  • Phương pháp chẵn lẻ trong RAID tái tạo nội dung bị mất từ ​​thông tin đã lưu chẵn lẻ. RAID 5, RAID 6 Dựa trên Chẵn lẻ.
  • Stripe đang 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. Sao chép 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 mảng, ổ dự phòng nóng này sẽ được sử dụng và tự động xây dựng lại.
  • 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 kích thước phân đoạn, từ đó có thể tăng hiệu suất I/O.

RAID có nhiều Cấp độ khác nhau. Ở đây chúng ta sẽ chỉ thấy các Mức RAID được sử dụng chủ yếu trong môi trường thực.

  • RAID0 = Striping
  • RAID1 = Mirroring
  • RAID5 = Single Disk Distributed Parity
  • RAID6 = Double Disk Distributed Parity
  • RAID10 = Combine of Mirror & Stripe (RAID lồng nhau)

RAID được quản lý bằng gói mdadm trong hầu hết các bản phân phối Linux. Dưới đây là sơ lược về từng Cấp độ RAID.

RAID 0

Raid 0 là loại Raid khá phổ biến và được nhiều người sử dụng hiện nay do có khả năng nâng cao hiệu suất tốc độc đọc ghi trao đổi dữ liệu của ổ cứng. Để tiến hành setup Raid 0 thì server cần tối thiểu 2 ổ đĩa (Disk 0, Disk 1).

     Raid 0 sẽ lưu trữ như sau. Giả sử bạn có 1 file A dung lượng 100MB. Khi tiến hành lưu trữ thay vì file A sẽ được lưu vào 1 ổ cứng duy nhất, Raid 0 sẽ giúp lưu vào 2 ổ đĩa disk 0, disk 1 mỗi ổ 50MB (Striping) giúp giảm thời gian đọc ghi xuống 1 nửa so với lý thuyết.

Raid 0 có một số ưu điểm như tốc độ đọc ghi nhanh (gấp đôi bình thường theo lý thuyết). Không có mất mát dung lượng trong RAID 0. Viết và Đọc sẽ có hiệu suất tốt. Mặc dù vậy raid 0 vẫn tiềm ẩn rủi ro về dữ liệu. Lý do dữ liệu được chia đôi lưu trên 2 ổ đĩa. Trường hợp 1 trong 2 ổ đĩa bị hỏng thì nguy cơ mất dữ liệu rất cao. Về ổ cứng yêu cầu phải 2 ổ cùng dung lượng, nếu 2 ổ khác dung lượng thì lấy ổ thấp nhất.

RAID 1

Raid 1 là loại Raid cơ bản được sử dụng khá nhiều hiện nay do khả năng đạt an toàn về dữ liệu. để tiến hành setup Raid 1 thì cũng giống như Raid 0, server cần tối thiểu 2 ổ cứng để lưu trữ.

 Không giống như Raid 0, Raid 1 đảm bảo an toàn hơn về dữ liệu do dữ liệu được ghi vào 2 ổ giống hệt nhau (Mirroring). Trường hợp 1 trong 2 ổ đĩa bị hỏng thì dữ liệu vẫn có khả năng đáp ứng dịch vụ. Tuy nhiên hiệu suất của raid 1 không cao, nâng cao chi phí (giả sử khách hàng sử dụng 2 ổ cứng 500GB. Khi sử dụng Raid 1 thì dung lượng lưu trữ có thể sử dụng chỉ được 500GB). Về ổ cứng yêu cầu phải 2 ổ cùng dung lượng, nếu 2 ổ khác dung lượng thì lấy ổ thấp nhất.

RAID 5

 Raid 5 cũng là một loại Raid được phổ biến khá rộng rãi. Nguyên tắc cơ bản của Raid 5 cũng gần giống với 2 loại raid lưu trữ truyền thống là Raid 1 và Raid 0. Tức là cũng có tách ra lưu trữ các ổ cứng riêng biệt và vẫn có phương án dự phòng khi có sự cố phát sinh đối với 1 ổ cứng bất kì trong cụm.

     Để setup Raid 5 ta cần tối thiểu 3 ổ cứng. Theo như hình minh họa phương án lưu trữ của Raid 5 như sau. Giả sử có 1 file A thì khi lưu trữ sẽ tách ra 3 phần A1, A2, A3. Ba phần nãy sẽ tương ứng lưu trên ổ đĩa Disk 0, Disk 1, Disk 2, còn ổ đĩa Disk 3 sẽ giữ bản sao lưu backup của 3 phần này. Tương tự các file sau cũng vậy và tùy theo tiến trình thực hiện mà bản sao lưu có thể được lưu ở bất kì 1 trong những ổ trong cụm Raid.

Raid 5 có hiệu suất cao, an toàn dữ liệu, tiết kiệm chi phí. Chi phí phát sinh thêm 1 ổ so với hình thức lưu trữ thông thường. (tổng dung lượng ổ cứng sau cùng sẽ bằng tổng dung lượng đĩa sử dụng trừ đi 1 ổ. Giả sử bạn có 4 ổ 500GB thì dung lượng sử dụng sau cùng khi triển khai Raid 5 bạn chỉ còn 1500GB).

RAID 6

RAID 6 giống như RAID 5 với hệ thống phân tán hai chẵn lẻ. Chủ yếu được sử dụng trong một số lượng lớn các mảng. Chúng ta cần tối thiểu 4 disk, ngay cả khi 2 disk bị lỗi chúng ta vẫn có thể xây dựng lại dữ liệu trong khi thay thế các ổ mới.

Chậm hơn RAID 5, vì nó ghi dữ liệu vào cả 4 trình điều khiển cùng một lúc. 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.

Raid 6 có hiệu suất thấp. Hiệu suất ghi sẽ kém nếu không sử dụng RAID Phần cứng. Tuy nhiên khả năng chịu lỗi của raid 6 rất cao. Có thể được sử dụng trong mục đích sao lưu, phát trực tuyến video, được sử dụng trên quy mô lớn.

RAID 10

Raid 10 là sự kết hợp giữa 2 loại raid phổ biến và Raid 1 và Raid 0. Để setup Raid 10 khách hàng cần sử dụng tối thiểu 4 ổ cứng (Disk 0, Disk 1, Disk 2, Disk 3).

     Đối với Raid 10 dữ liệu sẽ được lưu đồng thời vào 4 ổ cứng. 2 ổ dạng Striping (Raid 0) và 2 ổ (Mirroring) Raid 1.

Đây là 1 hình thức lưu trữ nhanh và an toàn, vừa nâng cao hiệu suất mà lại đảm bảo dữ liệu không bị thất thoát khi 1 trong số 4 ổ cứng bị hỏng. Tuy nhiên chi phí cao. Đối với Raid 10 dung lượng sẵn sàng sử dụng chỉ bằng ½ dung lượng của 4 ổ. (giống như raid 1).

Tổng kết

Trong bài viết này, chúng ta tìm hiểu RAID là gì và những cấp độ nào được sử dụng chủ yếu trong RAID trong môi trường thực. Hy vọng bạn đã hiểu một phần về RAID. Để thiết lập RAID, người ta phải biết về Kiến thức cơ bản về RAID. Nội dung trên sẽ đáp ứng những hiểu biết cơ bản về RAID.