RAID là gì? Các loại Raid cơ bản
Để dữ liệu của bạn được an toàn hơn khi chạy trên hệ thống server thì cách phổ biến là bằng cách ghép các ổ cứng lại với nhau để backup dự phòng dữ liệu.
Một cách định nghĩa cơ bản thì RAID (nhóm các chữ đầu của các từ tiếng Anh sau: RedundantArrays of Independent Disks) là hình thức ghép nhiều ổ cứng vật lý thành một hệ ổ cứng có chức năng 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.
LỊCH SỬ
Lần đầu tiên RAID được phát triển năm 1987 tại trường Đại học California ở Berkeley với những đặc điểm chỉ ghép các phần đĩa cứng nhỏ hơn thông qua phần mềm để tạo ra một hệ thống đĩa dung lượng lớn hơn thay thế cho các ổ cứng dung lượng lớn giá đắt thời bấy giờ.
Mặc dù hiện nay không tồn tại nữa, nhưng Hội đồng tư vấn phát triển RAID (RAID Advisory Board: Viết tắt là RAB) đã ra thành lập tháng 7 năm 1992 để định hướng, lập ra các tiêu chuẩn, định dạng cho RAID. RAB đã phân ra các loại cấp độ RAID (tôi dịch từ từ: level), các tiêu chuẩn phần cứng sử dụng RAID. RAB đã phân ra 7 loại cấp độ RAID từ cấp độ 0 đến cấp độ 6. Cấp độ ở đây không được hiểu rằng cứ cấp độ cao là cao cấp hoặc là “đời sau”, mà chúng chỉ phân biệt rằng giữa loại RAID này và loại RAID khác, (nhưng lại được sử dụng để giải thích giữa các loại với nhau).
CÁC LOẠI RAID CHUẨN
Theo RAB thì RAID được chia thành 7 cấp độ (level), mỗi cấp độ có các tính năng riêng, hầu hết chúng được xây dựng từ hai cấp độ cơ bản là RAID 0 và RAID 1.
RAID 0
RAID 0 là cấp độ cơ bản: Các dữ liệu cần chứa trên hệ thống RAID 0 được phân tách thành hai phần để chứa trên tối thiểu hai ổ cứng khác nhau.
Một cách đơn giản nhất, ta có thể hiểu theo ví dụ sau: Có hai ổ cứng: Ổ 0 và ổ 1 (trong tin học thường đánh số thứ tự bắt đầu từ số 0 – điều này hơi khác thường đối với tư duy của bạn, nhưng nếu như bạn muốn hiểu về nó thì hãy chấp nhận như vậy), với dữ liệu mang nội dung A (có thể phân tách thành hai phần dữ liệu bằng nhau là A1 và A2) sẽ được ghi lại ở cùng trên hai đĩa: Đĩa 0 ký tự dữ liệu A1 và đĩa 1 chứa dữ liệu A2. Khi đọc dữ liệu A này thì đồng thời cả hai ổ cứng đều hoạt động, cùng lấy ra dữ liệu A1 và A2 trên mỗi ổ cứng. Hệ điều hành sẽ tiếp nhận được nguyên vẹn nội dung dữ liệu A như nó được ghi vào.
Qua ví dụ trên có thể nhận thấy rằng tốc độ đọc và ghi dữ liệu của hệ thống RAID 0 được tăng lên gấp đôi (cùng một thời điểm cùng đọc và cùng ghi trên cả hai ổ cứng vật lý khác nhau). Do đó RAID 0 rất phù hợp với các hệ thống máy chủ, các máy tính của game thủ khó tính hoặc các máy tính phục vụ việc đọc/ghi dữ liệu với băng thông cao. Ở máy chủ, ta biết rằng việc truy cập dữ liệu để phục vụ người truy xuất được tiến hành hầu như đồng thời (ví dụ bạn đang truy cập vào máy chủ chứa các nôi dung của blog này, thấy rằng trong một thời điểm thì không chỉ có bạn, mà còn có rất nhiều người khác cùng tham gia truy cập, như vậy nếu như máy chủ chỉ có một ổ cứng thì việc truy cập sẽ rất chậm)
Cũng trong ví dụ trên, nếu như xảy ra hư hỏng một trong hai ổ cứng thì sẽ ra sao ?. Câu trả lời là dữ liệu sẽ mất hết, bởi dữ liệu cùng được tách ra ghi ở hai đĩa không theo dạng hoàn chỉnh. Trong ví dụ trên, nếu như chỉ còn một chữ A1 (hoặc A2) thì hệ thống không thệ nhận biết chính xách đầy đủ dữ liệu được ghi vào là A. Vậy đặc điểm của RAID 0 sẽ là làm tăng băng thông đọc/ghi dữ liệu, nhưng cũng làm tăng khả năng rủi ro của dữ liệu khi hư hỏng ổ cứng.
RAID 1
RAID 1 cũng là một cấp độ cơ bản. Từ các nguyên lý của RAID 0 và RAID 1 có thể giải thích về các cấp độ RAID khác.
RAID 1 là sự kết hợp của ít nhất hai ổ cứng trong đó dữ liệu được ghi đồng thời trên cả hai ổ cứng đó. Lặp lại ví dụ trên: Nếu dữ liệu có nội dung A được phân tách thành A1, A2 thì RAID 1 sẽ ghi nội dung A được ghi tại đồng thời cả hai ổ cứng 0 và ổ cứng 1 (xem hình RAID 1).
Mục đích của RAID 1 là tạo ra sự lưu trữ dữ liệu an toàn. Nó không tạo ra sự tăng tốc độ đọc và ghi dữ liệu (tốc độ đọc/ghi tương đương với chỉ sử dụng duy nhất một ổ cứng). RAID 1 thường sử dụng trong các máy chủ lưu trữ các thông tin quan trọng. Nếu có sự hư hỏng ổ cứng xảy ra, người quản trị hệ thống có thể dễ dàng thay thế ổ đĩa hư hỏng đó mà không làm dừng hệ thống. RAID 1 thường được kết hợp với việc gắn nóng các ổ cứng (cũng giống như việc gắn và thay thế nóng các thiết bị tại các máy chủ nói chung).
RAID 2
RAID 2 thì ít được sử dụng trong thực tế, cũng có ít tài liệu nói về nó do đó tôi chưa tìm hiểu kỹ được. Trên trang AC&NC Raid có giải thích về RAID 2 bằng hình như sau:
Như vậy RAID 2 gồm hai cụm ổ đĩa, cụm thứ nhất chứa các dữ liệu được phân tách giống như là RAID 0, cụm thứ hai chứa các mã ECC dành cho sửa chữa lỗi ở cụm thứ nhất. Sự hoạt động của các ổ đĩa ở RAID 2 là đồng thời để đảm bảo rằng các dữ liệu được đọc đúng, chính do vậy chúng không hiệu quả bằng một số loại RAID khác nên ít được sử dụng.
RAID 3
RAID 3 là sự cải tiến của RAID 0 nhưng có thêm (ít nhất) một ổ cứng chứa thông tin có thể khôi phục lại dữ liệu đã hư hỏng của các ổ cứng RAID 0. Giả sử dữ liệu A được phân tách thành 3 phần A1, A2, A3 (Xem hình minh hoạ RAID 3), khi đó dữ liệu được chia thành 3 phần chứa trên các ổ cứng 0, 1, 2 (giống như RAID 0). Phần ổ cứng thứ 3 chứa dữ liệu của tất cả để khôi phục dữ liệu có thể sẽ mất ở ổ cứng 0, 1, 2. Giả sử ổ cứng 1 hư hỏng, hệ thống vẫn hoạt động bình thường cho đến khi thay thế ổ cứng này. Sau khi gắn nóng ổ cứng mới, dữ liệu lại được khôi phục trở về ổ đĩa 1 như trước khi nó bị hư hỏng.
Yêu cầu tối thiểu của RAID 3 là có ít nhất 3 ổ cứng.
RAID 4
RAID 4 tương tự như RAID 3 nhưng ở một mức độ các khối dữ liệu lớn hơn chứ không phải đến từng byte. Chúng cũng yêu cầu tối thiểu 3 đĩa cứng (ít nhất hai đĩa dành cho chứa dữ liệu và ít nhất 1 đĩa dùng cho lưu trữ dữ liệu tổng thể)
RAID 5
RAID 5 thực hiện chia đều dữ liệu trên các ổ đĩa giống như RAID 0 nhưng với một cơ chế phức tạp hơn. Theo anh Hoàng Linh thì giải thích như sau (xem ở nguồn tham khảo, tôi trích nguyên văn ra đây): “Đây có lẽ là dạng RAID mạnh mẽ nhất cho người dùng văn phòng và gia đình với 3 hoặc 5 đĩa cứng riêng biệt. Dữ liệu và bản sao lưu được chia lên tất cả các ổ cứng. Nguyên tắc này khá rối rắm. Chúng ta quay trở lại ví dụ về 8 đoạn dữ liệu (1-8) và giờ đây là 3 ổ đĩa cứng. Đoạn dữ liệu số 1 và số 2 sẽ được ghi vào ổ đĩa 1 và 2 riêng rẽ, đoạn sao lưu của chúng được ghi vào ổ cứng 3. Đoạn số 3 và 4 được ghi vào ổ 1 và 3 với đoạn sao lưu tương ứng ghi vào ổ đĩa 2. Đoạn số 5, 6 ghi vào ổ đĩa 2 và 3, còn đoạn sao lưu được ghi vào ổ đĩa 1 và sau đó trình tự này lặp lại, đoạn số 7,8 được ghi vào ổ 1, 2 và đoạn sao lưu ghi vào ổ 3 như ban đầu. Như vậy RAID 5 vừa đảm bảo tốc độ có cải thiện, vừa giữ được tính an toàn cao. Dung lượng đĩa cứng cuối cùng bằng tổng dung lượng đĩa sử dụng trừ đi một ổ. Tức là nếu bạn dùng 3 ổ 80GB thì dung lượng cuối cùng sẽ là 160GB”.
RAID 5 cũng yêu cầu tối thiểu có 3 ổ cứng.
RAID 6
RAID 6 phần nào giống như RAID 5 nhưng lại được sử dụng lặp lại nhiều hơn số lần sự phân tách dữ liệu để ghi vào các đĩa cứng khác nhau. Ví dụ như ở RAID 5 thì mỗi một dữ liệu được tách thành hai vị trí lưu trữ trên hai đĩa cứng khác nhau, nhưng ở RAID 6 thì mỗi dữ liệu lại được lưu trữ ở ít nhất ba vị trí (trở lên), điều này giúp cho sự an toàn của dữ liệu tăng lên so với RAID 5.
RAID 6 yêu cầu tối thiểu 4 ổ cứng.
Trong RAID 6, ta thấy rằng khả năng chịu đựng rủi ro hư hỏng cứng được tăng lên rất nhiều. Nếu với 4 ổ cứng thì chúng cho phép hư hỏng đồng thời đến 2 ổ cứng mà hệ thống vẫn làm việc bình thường, điều này tạo ra một xác xuất an toàn rất lớn. Chính do đó mà RAID 6 thường chỉ được sử dụng trong các máy chủ chứa dữ liệu cực kỳ quan trọng.
CÁC RAID KHÔNG TIÊU CHUẨN
Trên thực tế thì việc ghép các ổ cứng thành hệ thống RAID không hoàn toàn tuân thủ như các cấp độ như trên, mà chúng đã được biến đổi đi theo các cách khác nữa. Hiện nay có các loại RAID 10, RAID 50 và RAID 0+1. Tuy nhiên do giới hạn hiểu biết về RAID của bản thân nên tôi cũng chỉ cung cấp cho bạn một cái nhìn cơ bản về RAID còn những sự nghiên cứu sâu hơn – xin hãy đọc các tài liệu kèm theo ở mục dưới, và tìm thêm trên Internet.
Ngoài lý do về tăng tốc độ truy cập dữ liệu trên hệ thống đĩa cứng, sự ra đời của các chuẩn RAID còn đảm bảo sự an toàn dữ liệu của hệ thống. Qua đây ta thấy rằng người ta đã rất quan trọng việc đảm bảo an toàn dữ liệu cho máy tính và đặc biệt là cho máy chủ.
Giả sử, các máy chủ của một website bị hư hỏng một ổ cứng, chúng sẽ làm mất dữ liệu nếu như không có quá trình sao lưu dự phòng. Nếu dữ liệu này lại quan trọng đến mức thay đổi theo thời gian thực (chỉ một khoảng thời gian ngắn thì dữ liệu đã được sửa chữa, thay đổi) thì việc sao lưu quả là khó khăn nếu không sử dụng các loại RAID. Tại sao lại thế, bởi vì việc sao lưu dữ liệu định kỳ chỉ giúp cho ta lấy lại dữ liệu ở thời điểm lưu lại, còn những giữ liệu từ thời điểm đó cho đến lúc hư hỏng có thể bị mất.
Bạn có thể không chứa các dữ liệu quan trọng của mình bởi có thể chúng chỉ là một vài tập tin văn bản bình thường, nhưng đối với các dữ liệu quan trọng liên quan đến tài chính chẳng hạn thì việc mất dữ liệu là một tai hoạ lớn, làm ảnh hưởng không những đến công ty mà còn đến các khách hàng của công ty đó.
Và thử hình dung, ổ cứng trong máy tính của bạn bị hỏng đột ngột ngay lúc này, bạn sẽ cảm nhận được sự cần thiết phải sao lưu là như thế nào. Có lẽ không đơn thuần là các tập tin văn bản mà dễ dàng có thể soạn lại, mà các bảng tính, các tập hợp và kết quả làm việc của bạn trong thời gian gần đây đã bị mất hết theo chúng. Chắc là bạn sẽ rất bực bội, và cuối cùng là đã hối tiếc rằng đã không sao lưu các dữ liệu đó lại một cách thường xuyên, định kỳ.