Tuy có khả năng phục hồi dữ liệu khi có sự cố nhưng RAID không thể xem là giải pháp backup vì một backup thực sự phải đáp ứng hai yếu tố phục hồi data deletion và data corruption. Lỗi vật lý trên disk có thể được khắc phục qua quá trình rebuilding nhưng một sai lầm quản trị xóa nhầm data thì không thể cứu vãn.
RAID-0
Dùng kỹ thuật disk striping để nâng cao throughput cho storage. Phù hợp với môi trường có nhiều file lớn và không yêu cầu data redundancy. Data sẽ được bẻ nhỏ thành các strip element có kích cỡ mặc định là 64KB và đẩy đồng thời vào nhiều disk trong array.
Với disk array gồm bốn disk sử dụng RAID-0, các strip element được phân bố đều vào bốn disk. Bằng cách truy xuất data đồng thời vào nhiều disk cùng lúc nên RAID0 sẽ nâng cao performance lên đáng kể. Nhưng với cách bố trí trên, bất kỳ disk nào trong bốn disk hỏng thì 1/4 lượng data sẽ đi tong không gì khôi phục nổi.
Đặc điểm:
- Redundancy data: Không có
- Fault tolerance: Không có
- Throughput: Được nâng cao cả read lẫn write.
- Storage capacity: Được tận dụng tối đa do không có redundancy data.
- Cần tối thiểu hai disk tham gia array
Tránh dùng RAID-0 với critical data. Thực sự, từ lúc đi làm hệ thống tôi chưa thấy có chỗ nào RAID-0 cả.
RAID-1
Dùng kỹ thuật disk mirroring để cho phép cùng một data được ghi đồng thời trên nhiều disk.
Bằng cách duplicate data, RAID-1 sẽ đảm bảo redundancy data. Khi một trong hai disk bị lỗi, data vẫn còn nguyên vẹn để khôi phục được. Vì redundancy data không gia tăng được dung lượng và write throughput nên trong thực tế mọi người chỉ sử dụng RAID-1 với hai disk.
Đặc điểm:
- Redundancy data: Data được duplicate lên một disk khác
- Fault tolerance: Tái phục hồi trong trường hợp một disk bị lỗi.
- Throughput: Nâng cao read throughput
- Storage capacity: Do chỉ redundancy data nên dung lượng bị giới hạn.
- Cần tối thiểu hai disk tham gia array
RAID-5
Thay vì dùng redundancy data, RAID-5 sử dụng parity data phân bố trên tất cả các disk. Parity data này sẽ tham gia vào quá trình tính toán để khôi phục lại data bị mất trên một disk bất kỳ.
Đặc điểm:
- Redundancy data: Sử dụng partiy data để thay thế cho giải pháp redundancy data
- Fault tolerance: Tái phục hồi trong trường hợp một disk bị lỗi, quá trình rebuilding disk lâu hơn so với RAID-1 do bận tính toán data. Với cơ chế parity data đã nói, khôi phục hai disk bị lỗi là bất khả thi.
- Throughput: Nâng cao read throughput, write throughput có nâng cao nhưng không thể bằng RAID-0 do quá trình tính toán parity data.
- Storage capacity: Tận dụng đươc dung lượng disk hơn.
- Cần tối thiểu ba disk tham gia array
RAID-6
Tương tự RAID-5 nhưng sử dụng hai parity data thay vì một parity data như RAID-5. Nhờ vậy, RAID-6 cho phép khôi phục được tối đa hai disk thay vì một disk như RAID-5
Nếu hai trong sáu disk bị hỏng, sử dụng hai parity data hệ thống raid có thể tính toán lại lượng data bị mất trên hai disk đó. Một cách không chính xác nhưng trực quan, bạn có thể xem hai parity data là kết quả của hai phép toán khác nhau. Khi có hai disk bị hỏng, RAID-6 sẽ tính toán lại data bằng cách giải một hệ phương trình có hai ẩn số. Tuy fault-tolerance nâng cao nhưng quá trình tính toán phức tạp hơn khiến rebuilding mất thời gian hơn và write throughput bị giảm hơn so với RAID-5
Đặc điểm:
- Redundancy data: Sử dụng partiy data để thay thế cho giải pháp redundancy data
- Fault tolerance: Tái phục hồi trong trường hợp hai disk bị lỗi, quá trình rebuilding disk lâu hơn so với RAID-5 do độ phức tạp tính toán cao hơn. Với cơ chế parity data đã nói, khôi phục ba disk bị lỗi là bất khả thi.
- Throughput: Nâng cao read throughput, write throughput có nâng cao nhưng không thể bằng RAID-5 do quá trình tính toán hai parity data.
- Storage capacity: Tận dụng đươc dung lượng disk hơn.
- Cần tối thiểu bốn disk tham gia array
RAID-10
Ở mức độ này, data được striping vào các mirror set. Raid array được chia thành các set, mỗi set đó là một cặp disk dùng RAID-1, sau đó data được striping theo kiểu RAID-0 xuống các set này. Do không sử dụng parity data nên hoàn toàn không lo down performance do tính toán. Đây là cách tổ chức data rất giống sharding trong mongodb, mysql cluster.
Khả năng fault-tolerance của RAID-10 rất cao, nó có thể khôi phục hầu hết mọi sự cố trừ khi toàn bộ disk thuộc cùng một mirror set hoàn toàn bị lỗi. Cũng vì cân bằng được performance và redundancy nên RAID-10 là lựa chọn phù hợp cho database.
Đặc điểm:
- Redundancy data: Sử dụng RAID-1 để redundancy data vào các mirror set.
- Fault tolerance: Cao nhất
- Throughput: Nâng cao read và write throughput nhưng không thể so được với RAID-0, raid-level chiến thắng hoàn toàn trong lãnh vực throughput.
- Storage capacity: Tận dụng đươc dung lượng disk hơn.
- Cần tối thiểu bốn disk tham gia array
RAID-01
Toàn bộ data của storage được duplicate lên, sau đó data ghi vào từng mirror sẽ được striping bên trong mỗi mirror. Tối thiểu cần bốn disk tham gia array. Về performance, dung lượng thì RAID-01 ngang ngửa RAID-01 nhưng về fault-tolerance lại kém hơn. Hiện tại, tôi cũng chưa thấy hệ thống nào dùng RAID-01. Với cùng số disk, RAID-10 luôn là lựa chọn tốt hơn
RAID-10 vs RAID-01
Tại sao nói RAID-01 có khả năng fault-tolerance kém hơn RAID-10 ?
RAID-10 chỉ bó tay khi disk 1,2 hỏng hoặc disk 3,4 hỏng hoặc disk 5,6 hỏng
RAID-01 sẽ bó tay khi disk 1,4 hỏng hoặc disk 2,5 hỏng hoặc disk 3,6 hỏng
(*) Các trường hợp không thể khôi phục khác đều có thể quy về các trường hợp đã kể trên.
Tuy số trường hợp lỗi ngang nhau nhưng về mặc xác suất toán học, với 6 ổ thì tỉ lệ xác suất rơi vào case bó tay của RAID-10 là 1/5 tương ứng 20% còn với RAID-01 là 3/5, tương ứng 60%
Chi tiết tính toán ở đây
https://serverfault.com/questions/145319/is-there-a-difference-between-raid-10-10-and-raid-01-01
Tham khảo:
http://www.dell.com/support/article/us/en/19/SLN129581/EN
https://en.wikipedia.org/wiki/RAID
http://www.thegeekstuff.com/2011/10/raid10-vs-raid01/
https://serverfault.com/questions/145319/is-there-a-difference-between-raid-10-10-and-raid-01-01
http://aput.net/~jheiss/raid10/
Nhận xét này đã bị tác giả xóa.
Trả lờiXóa