TỔNG QUAN VỀ CÁC LOẠI HÌNH RAID STORAGE
I. CÔNG NGHỆ RAID STORAGE
RAID (Redundant Arrays of Inexpensive Disks) là một công nghệ cho phép ghép nhiều ổ cứng vật lý thành một hệ thống ổ cứng Logic (Virtual Disk/Virtual Storage) nhằm gia tăng tốc độ đọc/chép dữ liệu hoặc đảm bảo tính an toàn, khả năng dự phòng của dữ liệu trên hệ thống ổ đĩa.
II. MỘT SỐ DẠNG RAID PHỔ BIẾN
1. RAID 0
RAID 0 là dạng RAID phổ biến và được sử dụng nhiều nhất hiện nay do khả năng nâng cao hiệu suất đọc ghi dữ liệu của ổ cứng, RAID 0 yêu cầu Server phải có tối thiểu hai ổ cứng vật lý.
RAID 0 sẽ phân chia đều dữ liệu lưu trữ đều xuống các ổ vật lý, chẳng hạn ta có RAID 0 với 2 ổ đĩa Disk 0 và Disk 1 thì khi lưu trữ một File dung lượng 100MB. RAID 0 sẽ hỗ trợ lưu trữ File ấy vào cả hai ổ đĩa với mỗi ổ lưu 50MB (Striping) nên giúp giảm thời gian đọc ghi xuống phân nửa so với lý thuyết.
Ưu điểm: Tốc độ đọc ghi nhanh hơn n lần với n là số lượng ổ đĩa.
Nhược điểm: Rủi ro gây ra Corrupt dữ liệu vì dữ liệu được phân bổ đều lên các ổ cứng nên chỉ cần 1 ổ cứng bị hỏng là dữ liệu cũng sẽ bị mất mát, hư hỏng theo. RAID 0 yêu cầu các ổ cứng phải cùng loại và cùng dung lượng.
2. RAID 1
RAID 1 cũng là một dạng RAID phổ biến được sử dụng khá nhiều hiện nay do khả năng đảm bảo an toàn về dữ liệu. RAID 1 cũng yêu cầu Server có tối thiểu 2 ổ cứng vật lý nhưng khi lưu trữ dữ liệu thì RAID 1 sẽ lưu trữ y chang nhau (Mirroring) trên các ổ cứng.
Ưu điểm: Đảm bảo tính sẵn sàng và an toàn dữ liệu, nếu hư bất kỳ một ổ cứng thì dữ liệu vẫn có thể đáp ứng được.
Nhược điểm: Hiệu suất không cao, chi phí đắt hơn do phải lưu trữ song song nên dung lượng lưu trữ thực tế khả dụng chỉ một nửa.
3. RAID 01
RAID 01 là sự kết hợp của RAID 0 (Stripe) và RAID 1 (Mirror) đề tối ưu hiệu suất và đảm bảo an toàn dữ liệu. Dữ liệu sẽ được phân bổ ra các ổ đĩa tạo thành một nhánh chính và nhánh ấy lại được sao chép ra thêm một nhánh nữa đề dự phòng. Loại RAID này có hiệu suất khá tốt và cũng khá đắt tiền, thường được triển khai trong các cơ sở hạ tầng đặc biệt đòi hỏi hiệu suất cao nhưng không có nhu cầu mở rộng quy mô.
4. RAID 10
RAID 10 là sự kết hợp của RAID 1 và RAID 0 để vừa tối ưu hiệu suất vừa đảm bảo an toàn dữ liệu phần nào. RAID 10 đòi hỏi Server phải có tối thiểu 4 ổ cứng vật lý với 2 ổ dùng cho Striping (RAID 0) và 2 ổ Mirroring (RAID 1). Ngược lại với RAID 01, dữ liệu RAID 10 sẽ được phân bổ sang các nhánh và mỗi nhánh thì có cơ chế Mirror dự phòng bên trong. Giải pháp này chi phí tốn kém hơn, cần nhiều ổ đĩa hơn nhưng phò hợp với yêu cầu sử dụng tần suất cao, có khả năng mở rộng.
Raid 10 đảm bảo dữ liệu vẫn an toàn ngay cả khi có hai ổ cứng cùng lúc hư hỏng.
Ưu điểm: Vừa nâng cao hiệu suất vừa đảm bảo an toàn dữ liệu, có khả năng mở rộng cao ở hai nhánh RAID 1.
Nhược điểm: Chi phí cao và khả năng lưu trữ hiệu dụng chỉ một nửa.
5. RAID 5
RAID 5 cũng là một loại RAID khá phổ biến với nguyên tắc cũng gần giống với RAID 1 và RAID 0. Cơ bản thì RAID 5 cũng có cách phân chia ổ cứng lưu trữ và cũng có phương án dự phòng dữ liệu nhưng tương đối phức tạp hơn RAID 10.
RAID 5 đòi hỏi Server phải có ít nhất 3 ổ cứng vật lý, nguyên tắc lưu trữ và dự phòng của RAID 5 như sau:
- Giả sử ta có RAID 5 với 4 ổ cứng thì khi lưu một File A, File ấy sẽ bị phân tách ra làm 3 phần tương đương dung lượng A1, A2, A3 và lưu trên 3 ổ đĩa bất kỳ.
- Ổ đĩa còn lại sẽ lưu Backup của cả 3 phần phân tách này. Tương tự đối với các File B, C, D.
- Thay vì phải đầu tư một ổ Parity chuyên biệt để lưu trữ Backup như RAID 3, RAID 4 thì RAID 5 sẽ phân bố Backup (dữ liệu Parity) đều lên các ổ đĩa. Nhờ đó RAID 5 giải quyết được tình trạng nghẽn cổ chai của hai dạng RAID kia và tối ưu hóa được tốc độ ghi đọc dữ liệu.
Một trong những lợi ích hàng đầu của RAID 5 là khả năng cho phép nhiều ổ đĩa thực hiện NAS và cho phép Server có thể thay nóng (Hot-Swappable hay Hotswap) trong trường hợp có một ổ đĩa bị hư hỏng. Ổ đĩa này có thể được thay ngay tức thời mà không phải tắt NAS hoặc Server và cũng không làm gián đoạn quá trình truy xuất dữ liệu của người dùng đang truy cập NAS hoặc Server ấy. Thời gian tái tạo dữ liệu hư hòng tùy thuộc vào nhiều yếu tố như dung lượng dữ liệu cần tái tạo, tốc độ ghi của ổ đĩa mới thay, mức độ ưu tiên tái tạo, ... dẫn tới có thể mất nhiều giờ hoặc nhiều ngày để hoàn thành.
Ưu điểm: Nâng cao hiệu suất, an toàn dữ liệu, tiếp kiệm chi phí hơn so với RAID 10, giải quyết được nghẽn cổ chai ở RAID 3 và RAID 4, phù hợp với các công việc kinh doanh và dịch vụ đa năng.
Nhược điểm: Cơ bản chỉ tối ưu hơn RAID 10 nhưng chi phí triển khai vẫn khá cao và dung lương hiệu dụng vẫn thâm hụt, nếu không may có hai ổ cứng cùng lúc hư hỏng thì dữ liệu cũng sẽ Corrupt.
.
III. MỘT SỐ DẠNG RAID KHÁC
1. JBOD
JBOD (Just a Bunch Of Disk) thực tế không phải là một dạng RAID chính thống nhưng lại có một số đặc điểm liên quan đến RAID và được đa số các thiết bị điều khiển RAID hỗ trợ. JBOD cho phép ta gắn tùy ý bao nhiêu ổ cứng vật lý vào để tích hợp lại thành một ổ cứng lớn hơn cho hệ thống sử dụng. JBOD đơn giản là tích hợp gom lại một khối lớn hơn và hoàn toàn không có một khác biệt vượt trội gì về hiệu năng hay an toàn dữ liệu như các RAID truyền thống.
2. RAID 2
RAID 2 không sử dụng các kỹ thuật tiêu chuẩn như Mirror, Stripe, Parity để phân bố dữ liệu. Dữ liệu RAID 2 được phân bố bằng một kỹ thuật riêng tương tự như Stripe có tính Parity (tính chẳn lẻ trong phân bố dự liệu) ở cấp độ Bit.
Dữ liệu sẽ được phân bố qua nhiều ổ đĩa dữ liệu và ổ đĩa dự phòng, các Bit dự phòng được tính bằng mã Hamming (một dạng mã sửa lổi ECC - Error Correcting Code). Khi có hoạt động ghi/phân bố dữ liệu (Stripe) thì những mã này sẽ được tính toán và ghi chung với dữ liệu vào ổ đĩa ECC riêng biệt. Khi đọc dữ liệu những mã ECC này cũng được đọc để xác nhận rằng không có lỗi xảy ra kể từ lúc ghi dữ liệu. Do vậy nếu có một lỗi đơn xảy ra thì nó sẽ được sửa lại tức thì, cấp độ RAID này có khả năng chịu lỗi trên một ổ đĩa.
Tuy nhiên, RAID 2 đòi hỏi một bộ điều khiển phức tạp, chuyên dụng và đắt tiền, loại RAID này hiếm khi được sử dụng bởi chi phí triển khai quá lớn. Cơ bản RAID 2 yêu cầu tới 10 ổ đĩa vật lý để ghi dữ liệu và 4 ổ đĩa vật lý khác phục vụ cho việc dự phòng dữ liệu (ECC). Hiệu suất thao tác dữ liệu của RAID 2 cũng không được cao cho lắm khi Stripe dữ liệu ở cấp độ Bit.
3. RAID 3
RAID 3 được xem là dạng cải tiến của RAID 2 khi có thể Stripe dữ liệu qua nhiều ổ đĩa ở cấp độ Byte. Số lượng Byte của mỗi Stripe có thể thay đổi nhưng thông thường dưới 1KB. Parity được tính toán lưu vào một ổ đĩa riêng biệt và cũng có khả năng chịu lỗi sự cố xảy ra với một ổ đĩa bất kỳ. Nếu một ổ đĩa bị lỗi không thể khởi động hay truy xuất dữ liệu thì dữ liệu ban đầu sẽ được tái tạo lại từ những dữ liệu đã Stripe và dữ liệu từ ổ đĩa Parity một cách liên tục và hoàn toàn tự động. Cơ bản thì hệ thống vẫn hoạt động trơn chu ngay cả khi có một ổ đĩa bị chết, chính vì tính chịu lỗi cao này mà chi phí cho các dòng RAID này khá đắt đỏ, thường phải là những hệ thống cực kỳ quan trọng mới dùng tới.
RAID 3 có tốc độ đọc ghi tuần tự khá tốt nhưng lại hạn chế về tốc độ đọc ngẫu nhiên (do Stripe ở cấp độ Byte) và tốc độ ghi ngẫu nhiên (dùng ổ Parity chuyên biệt). Ngoài ra, ổ đĩa Parity trong RAID 3 gây nên tình trạng nghẽn cổ chai khiến hiệu suất không được cao đặc biệt trong hoạt động ghi ngẫu nhiên bởi vì nó phải được truy cập liên tục khi có dữ liệu được ghi. RAID 3 thường dùng đối với các ứng dụng có dung lượng tập tin lớn, đòi hỏi tốc độ truy xuất tuần tự cao và yêu cầu ổ đĩa dự phòng nhưng xử lý các Video/Film nguyên bản không nén.
RAID 3 yêu cầu tối thiểu 3 ổ đĩa có dung lượng được tính theo công thức: (Dung lượng ổ đỉa nhỏ nhất)*(Số lượng ổ đĩa – 1).
VD: Với 4 ổ đĩa 1TB dùng cho RAID 3 thì tổng dung lượng lưu trữ hiệu dụng là: Storage = 1TB * (4 – 1) = 3TB
4. RAID 4
Dạng cải tiến tiếp theo là RAID 4 với khả năng cải thiện hiệu suất bằng các Stripe dữ liệu qua nhiều ổ đĩa theo khối và có khả năng chịu lỗi thông qua ổ đĩa Parity chuyên biệt. RAID 4 so với RAID 3 và RAID 5 có nhiều điểm tương đồng, tương đồng với RAID 3 ngoại trừ việc sử dụng các khối (Block) thay vì Byte, tương đồng với RAID 5 ngoại trừ việc dùng ổ Parity chuyên biệt thay vì phân bố dữ liệu Parity ra các ổ.
RAID 4 giúp cải thiện hiệu suất truy cập ngẫu nhiên khi Stripe dữ liệu bằng Block nhưng vẫn bị nghẽn cổ chai dữ liệu khi ghi ngẫu nhiên. RAID 4 yêu cầu số lượng ổ đĩa, dung lượng lưu trữ và khả năng chịu lỗi tương tự như RAID 3 và RAID 5.
5. RAID 6
Tương tự như RAID 5 nhưng RAID 6 là một giải pháp mạnh mẽ hơn bởi nó sử dụng tới hai khối Parity và yêu cầu hệ thống phải có tối thiểu 4 ổ đĩa vật lý.
Ưu điểm nổi trội của RAID 6 là nếu hệ thống vô tình có hai ổ cứng cùng chết đồng thời thì vẫn tiếp tục hoạt động trơn chu được. Về mặt hiệu suất thì RAID 6 có tốc độ không bằng RAID 5 do phải tính toán nhiều khối Parity phức tạp hơn nhưng bù lại tốc độ đọc ngẫu nhiên nhanh hơn một chút dữ liệu được Stripe qua nhiều ổ đĩa hơn (RAID 6 yêu cầu nhiều ổ đĩa hơn hơn RAID 5). Tương tự như RAID 5, hiệu suất RAID 6 có thể được điều chỉnh bằng cách thay đổi kích thước Stripe.
Mặc dù mạnh mẽ hơn RAID 5 nhưng trong thực tế RAID 6 không được ưa chuộng lắm vì đa số các công ty không ai muốn chi tiền đầu tư cho một sự kiện rất hiếm gặp "Hai ổ đĩa chết đồng thời", điều này rất là lãng phí và vô nghĩa. Dung lượng hiệu dụng của RAID 6 được tính bằng công thức (Dung lượng ổ đỉa nhỏ nhất)*(Số lượng ổ đĩa – 2).
6. RAID 7
RAID 7 không phải là một chuẩn công nghiệp mà là một thuật ngữ thương mại của Storage Computer Corporation (SCC) để miêu tả cho thiết kế RAID độc quyền của họ.
RAID 7 dựa trên RAID 3 và RAID 4 nhưng có nhiều cải tiến khắc phục nhược điềm của hai dạng RAID này. RAID 7 kết hợp một bộ nhớ Cache được sắp xếp theo nhiều cấp và một bộ xử lý theo thời gian thực chuyên dụng để quản lý mảng theo kiểu bất đồng bộ. Do sử dụng truy cập bất đồng bộ nên RAID 7 đã phá vỡ kiến trúc kỹ thuật trước đây của RAID chuẩn và nhờ đó giảm thiểu đáng kể tình trạng nghẽn cổ chai trong quá trình ghi dữ liệu. Ngoài ra, với sự hỗ trợ của phần cứng (Cache) RAID 7 có thể xử lý nhiều hoạt động cùng lúc giúp cải thiện đáng kể hiệu suất trong khi vẫn duy trùy khả năng chịu lỗi. Đây là một giải pháp đắt tiền được hỗ trợ bởi một cộng ty duy nhất, yêu cầu khách hàng vừa phải mua thiết bị chuyên dụng của hãng vừa phải mua thêm bản quyền của SCC, giải pháp này chỉ thích hợp với những doanh nghiệp, tổ chức lớn có yêu cầu công việc hết sức đặc biệt.
7. RAID 03 (RAID 0+3) & RAID 30 (RAID 3+0)
Hai dạng RAID này sử dụng kỹ thuật Stripe theo Byte có Parity và kết hợp Stripe theo khối để tạo nên các mảng lớn.
RAID 03 được tạo ra bằng cách đặt các mảng RAID 0 vào một mảng RAID 3.
RAID 30 được hình thành bằng cách Stripe qua nhiều mảng con RAID 3.
8. RAID 05 (RAID 0+5) và RAID 50 (RAID 5+0)
Hai dạng RAID này tạo nên các mảng lớn bằng cách kết hợp Stripe theo khối và Parity của RAID 5 với Stripe theo khối của RAID 0.
RAID 05 là một mảng RAID 5 chứa nhiều mảng con RAID 0.
RAID 50 là một mảng RAID 0 được Stripe qua các mảng con RAID 5.
9. RAID 06 (RAID 0+6) và RAID 60 (RAID 6+0)
Hai dạng RAID này tương tự như RAID 05 và RAID 50 ngoại trừ có Parity gấp đôi, RAID 06 và RAID 60 được hình thành bằng cách kết hợp Stripe theo khối và Parity kép của RAID 6 với Stripe theo khối của RAID 0.
10. RAID 15 (RAID 1+5) và RAID 51 (RAID 5+1)
RAID 15 được hình thành bằng cách tạo ra một nhóm Stripe có Parity, sử dụng nhiều cặp Mirror làm các mảng con.
RAID 51 thì được tạo bằng cách Mirror toàn mảng RAID 5.
11. RAID 16 (RAID 1+6) và RAID 61 (RAID 6+1)
Tương tự như RAID 15 và RAID 51, RAID 16 có Stripe và Parity là các mảng con Mirror, còn RAID 61 được tạo bằng cách Mirror toàn mảng RAID 6.
12. RAID 100 (RAID 10+0)
RAID 100 là sự kết hợp của RAID 10 và RAID 0 với tốc độ đọc , tốc độ ghi rất tốt nhờ bổ dung Stripe của RAID 0. Tuy nhiên, dạng này không có khả năng chịu lỗi cao.
13. RAID 160 (RAID 16+0)
RAID 160 là sự kết hợp của 3 cấp RAID 1, RAID 6 và RAID 0, RAID 160 có tốc độ đọc và khả năng chịu lỗi tuyệt vời khi có thể cho phép hỏng đến 5 ổ đĩa. Tuy nhiên, RAID 160 có hiệu suất ghi và khả năng lưu trữ không cao do sử dụng quá nhiều ổ đĩa Mirror.