Khi HDD dung lượng lớn tiếp tục vượt quá tốc độ của chúng, đã đến lúc cần có một cấp độ RAID mới .
Các kỹ thuật tạo RAID hiện tại sẽ hữu dụng thêm bao lâu nữa trong thực tế? Các công nghệ RAID đã được hoàn thiện vào cuối những năm 1980; double-parity RAID, được gọi là RAID-6, là tiêu chuẩn hiện tại cho thiết bị lưu trữ có tính sẵn sàng cao và hiệu suất lưu trữ cao. Tuy nhiên, sự tăng trưởng đáng kinh ngạc của dung lượng ổ cứng có thể gây ra những hạn chế nghiêm trọng đối với độ tin cậy của hệ thống RAID-6. Các xu hướng ổ cứng gần đây cho thấy triple-parity RAID phải sớm trở nên phổ biến. Năm 2005, tạp chí Scientific American báo cáo về định luật Kryder, dự đoán rằng mật độ dữ liệu trên ổ cứng sẽ tăng gấp đôi không gian lưu trữ hàng năm. Trong thực tế, tốc độ tăng gấp đôi về mật độ lưu trữ tuy không hoàn toàn như định luật, nhưng cũng gần đạt mức gấp đôi như định luật.
Có vấn đề đối với RAID, tốc độ HDD không theo kịp với hệ số tăng trưởng mật độ lưu trữ với cấp số nhân. Ngày nay, việc sửa chữa một HDD mật độ cao trong một nhóm RAID có thể mất hơn bốn giờ hoặc tốn thời gian lâu hơn nữa, và vấn đề đang ngày càng trở nên rõ ràng hơn đáng kể khi dung lượng ổ cứng tiếp tục vượt quá tốc độ của chúng. Khi thời gian cần thiết để tái tạo lại dữ liệu trên một ổ đĩa thay thế tăng lên, xác suất mất dữ liệu cũng tăng theo. Khả năng của các nhà cung cấp ổ cứng trong việc vừa duy trì độ tin cậy trong khi đẩy dung lượng lên cao hơn đã được đặt câu hỏi trong tạp chí này. Sau đây là bài kiểm tra về RAID, tốc độ tăng dung lượng trong ngành công nghiệp ổ cứng, và nhu cầu về triple-parity RAID như là một phản ứng đối với độ tin cậy đang giảm dần của các chuẩn mực RAID hiện tại.
Lịch sử sơ lược về Raid
Các kỹ thuật đầu tiên mà sau này sẽ được gọi là RAID đã được phát triển vào giữa những năm 1980. David Patterson, Garth Gibson và Randy Katz thuộc Đại học California, Berkeley, đã phân loại các hệ thống đó thành năm nhóm riêng biệt thuộc hệ thống RAID (redundant arrays of inexpensive disks: các mảng ổ đĩa giá rẻ có tính dự phòng). Trong bài báo vào năm 1988 của họ, RAID trở thành người tí hon David đấu với gã khổng lồ Goliath SLED (single large expensive disks: các ổ đĩa đơn, lớn, đắt tiền). Cả hai đại diện cho các chiến lược khác nhau một cách cơ bản về cách tiếp cận với tương lai của bộ lưu trữ máy tính. Trong khi SLED cung cấp hiệu suất và độ tin cậy chuyên biệt – với một cái giá – RAID đã tìm cách lắp ghép một bộ lưu trữ đáng tin cậy, hiệu suất cao từ các bộ phận giá rẻ, tạo ra một xu hướng rộng lớn hơn trong ngành công nghiệp máy tính. Tính kinh tế của các thành phần hàng hóa là không thể ngăn cản.
Patterson và cộng sự dường như đã đoán trước được kết luận của họ: “Với những lợi thế về tương quan giữa hiệu suất và chi phí, độ tin cậy, mức tiêu thụ điện năng và tốc độ tăng trưởng module, chúng tôi kỳ vọng RAID sẽ thay thế SLED trong các hệ thống I/O trong tương lai.” Tuy nhiên, mô tả về đặc điểm của RAID của họ, là “một mảng ổ đĩa được tạo thành từ các ổ đĩa máy tính cá nhân”, có một chút quá cụ thể và quá kỳ vọng. Tuy RAID chắc chắn được tạo ra từ những ổ đĩa dung lượng lớn, rẻ tiền, nhưng trong thực tế RAID ngày nay là sự kết hợp thuật toán về độ tin cậy và sự cải tiến hiệu suất với các ổ đĩa thường được thiết kế cho hiệu suất và độ tin cậy, do đó nó vẫn đắt tiền. Sự cải tiến này đã được phản ánh trong sự biến đổi tinh tế nhưng quan trọng về ý nghĩa của chữ I trong RAID từ rẻ tiền (inexpensive) sang độc lập (independent) diễn ra vào giữa những năm 1990 (trong thực tế, chính các nhà sản xuất SLED đã thúc đẩy sự thay đổi này để áp dụng nghiên cứu mới vào các sản phẩm hiện có của họ).
Vào năm 1993, Gibson, Katz và Patterson, cùng với Peter Chen, Edward Lee, đã hoàn thành phân loại các cấp độ RAID mà vẫn được giữ nguyên cho tới ngày nay. Trong số bảy cấp độ RAID được mô tả, chỉ có bốn cấp độ thường được sử dụng:
- RAID-0. Dữ liệu được băm nhỏ & ghi đều(striped) trên các thiết bị để có hiệu suất ghi tối đa. Nó là một ngoại lệ trong số các cấp độ RAID khác vì nó không cung cấp khả năng bảo vệ dữ liệu thực tế.
- RAID-1. Các ổ đĩa được tổ chức thành các cặp bản sao (mirrored) và dữ liệu được sao chép trên cả hai nửa bản sao. Đây thường là mức RAID có hiệu suất cao nhất, nhưng bị đánh đổi bởi dung lượng khả dụng thấp hơn. (Thuật ngữ RAID-10 hoặc RAID-1+0 được sử dụng để chỉ định dạng RAID trong đó các cặp bản sao được chia thành sọc và RAID-01 hoặc RAID-0+1 dùng để chỉ các định dạng được chia thành sọc trước, sau đó được sao chép. Các thuật ngữ này ngày càng ít quan trọng vì hiện nay đa phần dữ liệu đều được phân chia trên nhiều nhóm RAID.)
- RAID-5. Một nhóm N + 1 ổ đĩa được duy trì sao cho việc mất bất kỳ một ổ đĩa nào sẽ không dẫn đến việc mất dữ liệu. Điều này đạt được bằng cách viết một khối parity, P, cho mỗi hàng logic gồm N khối ổ đĩa. Vị trí của parity này được phân tán, luân phiên giữa các ổ đĩa sao cho tất cả các ổ đĩa đều đóng góp như nhau vào hiệu suất của hệ thống. Thông thường P được tính đơn giản là phép toán XOR theo bit của các khối khác trong cùng một hàng.
- RAID-6. Định dạng này giống như RAID-5, nhưng sử dụng hai khối parity, P và Q, cho mỗi hàng logic của N + 2 khối ổ đĩa. Có vài cách cấu hình RAID-6 như EVENODD của IBM, Row-Diagonal Parity của NetApp, hoặc các loại mã hóa chung Reed-Solomon. (Chen và các cộng sự gọi RAID-6 là dự phòng P+Q, ngụ ý rằng nó gồm P ổ đĩa dữ liệu với số lượng ổ đĩa parity tùy ý, Q. Trên thực tế, RAID-6 chỉ đề cập đến RAID 2-parity; P và Q chính là hai khối parity.) Để cho đầy đủ, cũng cần lưu ý đến các cấp độ RAID ít phổ biến hơn còn lại bao gồm:
- RAID-2. Dữ liệu được bảo vệ bởi cơ chế ECC (error correcting codes: mã sửa lỗi) kiểu bộ nhớ. Số lượng ổ đĩa parity cần thiết tỷ lệ với logarit số lượng ổ đĩa dữ liệu; điều này làm cho RAID-2 tương đối kém linh hoạt và kém hiệu quả hơn RAID-5 hoặc RAID-6 trong khi lại có hiệu suất và độ tin cậy thấp hơn.
- RAID-3. Giống như RAID-5, có khả năng bảo vệ khỏi sự cố của bất kỳ ổ đĩa nào trong nhóm N+1, nhưng các khối được phân chia và sắp đặt theo parity kiểu ổ đĩa, khác với parity kiểu khối của RAID-5. Ngoài ra, parity chỉ nằm trên một ổ đĩa duy nhất thay vì được phân phối giữa tất cả các ổ đĩa. Hệ thống RAID-3 có vẻ kém hiệu quả hơn đáng kể so với RAID-5 đối với các yêu cầu đọc dữ liệu nhỏ; nhưng để đọc cả một khối, thì phải truy cập vào tất cả các ổ đĩa; do đó khả năng cho các hoạt động đọc dữ liệu dễ bị cạn kiệt hơn.
- RAID-4. Đây chỉ đơn thuần là RAID-5, nhưng với một ổ đĩa parity chuyên dụng thay vì phân phối parity vào tất cả các ổ đĩa. Vì ít ổ đĩa tham gia vào việc đọc hơn (ổ đĩa parity chuyên dụng không được đọc ngoại trừ trường hợp bị lỗi), nên RAID-4 hoàn toàn kém hiệu quả hơn RAID-5.
RAID-6, hay còn gọi là double parity RAID, không được mô tả trong bài báo gốc năm 1988 của Patterson, Gibson và Katz nhưng đã được bổ sung vào năm 1993 khi nhận thấy khi dung lượng các mảng ổ đĩa tăng lên, thì khả năng xảy ra lỗi kép cũng tăng theo. Ngoài ra, trong trường hợp xảy ra lỗi theo bất kỳ mô hình dự phòng nào, thì dữ liệu trên tất cả các ổ đĩa trong nhóm dự phòng đó phải được đọc thành công để dữ liệu có trong ổ đĩa bị lỗi được tái tạo lại. Lỗi đọc trong quá trình tái tạo sẽ dẫn đến mất dữ liệu. Như Chen và các đồng nghiệp phát biểu rằng:
“Nguyên nhân chính của lỗi bit không thể sửa được có vẻ xảy ra khi một ổ đĩa bị lỗi và nội dung của ổ đĩa bị lỗi phải được tái tạo bằng cách đọc dữ liệu từ các ổ đĩa không bị lỗi. Ví dụ, việc tái tạo lại một ổ đĩa bị lỗi trong một mảng ổ đĩa 100 GB yêu cầu quá trình đọc thành công khoảng 200 triệu sector thông tin. Tỷ lệ lỗi bit bằng 1 trên 1014 bit chỉ ra rằng một sector cỡ 512-byte trong 24 tỷ sector có thể đọc sai. Do đó, nếu ta giả định rằng xác suất đọc các sector độc lập với nhau, thì xác suất đọc thành công tất cả 200 triệu sector là xấp xỉ
(1 – 1/(2.4 x 1010)) ^ (2.0 x 108) = 99.2%.
Điều này có nghĩa là trung bình, 0,8% lỗi ổ đĩa sẽ gây ra mất dữ liệu do lỗi bit không thể sửa chữa.”
Kể từ việc quan sát đó, tỷ lệ bit lỗi đã được cải thiện khoảng hai cấp khuếch đại (two orders of magnitude) trong khi dung lượng ổ đĩa đã tăng hơn hai cấp khuếch đại một chút, tăng gấp đôi khoảng hai năm một lần và gần như tuân theo định luật Kryder. Ngày nay, một nhóm RAID với 10 TB (gần 20 tỷ sector) đã trở nên phổ biến và tỷ lệ bit lỗi điển hình là 1 trên 1016 bit:
(1 – 1/(2.4 x 1012)) ^ (2.0 x 1010) = 99.2%
Mặc dù tỷ lệ bit lỗi gần như bắt kịp với sự tăng trưởng dung lượng ổ đĩa, nhưng thông lượng vẫn chưa được xem xét thích đáng khi xác định độ tin cậy của RAID.
Như động lực cho giải pháp RAID-6 của mình, NetApp đã công bố một so sánh nhỏ giữa RAID-5 và -6 với dung lượng bằng nhau (7+1 cho RAID-5 và 14+2 cho RAID-6) và ổ cứng có chất lượng và dung lượng khác nhau. Lưu ý rằng mặc dù có thêm một ổ đĩa parity, RAID-6 không cần phải giảm tổng dung lượng của hệ thống. Thông thường, RAID phân chia (stripe) độ rộng – là số lượng ổ đĩa trong một nhóm RAID đơn – cho RAID-6 cao gấp đôi so với RAID-5 tương đương; do đó, số lượng ổ đĩa dữ liệu vẫn giữ nguyên. So sánh của NetApp không xác định cụ thể về tỷ lệ bit lỗi của các thiết bị được kiểm tra, độ tin cậy của chính các ổ đĩa hoặc độ dài của khoảng thời gian mà xác suất mất dữ liệu được tính toán; do đó, chúng tôi đã không cố gắng tái tạo các kết quả cụ thể này. Điểm quan trọng cần quan sát trong hình 1 là sự khác biệt rõ ràng khi đo đạc xác suất mất dữ liệu giữa RAID-5 và RAID-6.
Khi kiểm tra độ tin cậy của giải pháp RAID, các yếu tố cần cân nhắc điển hình bao gồm từ độ tin cậy của các ổ đĩa thành phần đến thời gian để quản trị viên thay thế các ổ đĩa bị lỗi. Thông lượng của các ổ đĩa không phải là trọng tâm mặc dù rất quan trọng đối với việc tái tạo RAID, vì thông lượng hiện đã quá đủ. Trong khi các yếu tố như tỷ lệ bit lỗi đã bắt kịp với dung lượng, thông lượng lại bị tụt lại phía sau, nên bắt buộc phải có bài kiểm tra mới về độ tin cậy của RAID.
So sánh độ tin cậy của Raid
Do sự chênh lệch ngày càng lớn giữa tốc độ tăng dung lượng của ổ cứng và những cải tiến về hiệu suất của chúng, triển vọng dài hạn của RAID-6 phải được xem xét lại. Thời gian để sửa chữa một ổ đĩa bị lỗi ngày càng tăng, đồng thời thời gian quét lỗi cũng kéo dài làm tăng khả năng gặp lỗi trong quá trình sửa chữa. Trong hình 6, chúng tôi đã chọn các giá trị hợp lý cho tỷ lệ bit lỗi và tỷ lệ lỗi hàng năm, và tốc độ tăng dung lượng tương đối khiêm tốn (tăng gấp đôi sau mỗi ba năm). Điều này là để ước tính hành vi của các ổ đĩa 7200 RPM chi phí thấp, mật độ cao. Các giá trị khác nhau sẽ thay đổi vị trí chính xác của các đường cong, nhưng không thay đổi hình dạng tương đối của chúng.
Mười lăm năm trước, RAID-5 đã đạt đến ngưỡng mà nó không còn cung cấp khả năng bảo vệ đầy đủ. Câu trả lời sau đó là RAID-6. Ngày nay RAID-6 đang nhanh chóng đạt đến ngưỡng tương tự. Trong khoảng 10 năm nữa, RAID-6 sẽ chỉ cung cấp mức độ bảo vệ mà chúng ta nhận được từ RAID-5 ngày nay. Đã đến lúc phải tạo ra một cấp độ RAID mới để đáp ứng nhu cầu thực tế về độ tin cậy, dung lượng và thông lượng của ổ đĩa, để đơn thuần duy trì cùng mức bảo vệ dữ liệu đó.