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 được chia theo 2 dạng raid cứng (card raid) và raid mềm (phần mềm để chạy raid)

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 máy chủ: Ổ 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ỳ.

Các chuẩn RAID thông thường:

RAID được viết tắt từ Redundant Array of Independent Disks và cần ít nhất hai ổ cứng để thiết lập một mảng RAID với mục đích là:

Tăng cường tốc độ truy cập dữ liệu hệ thống lưu trữ.

Hoặc tăng cường độ tin cậy về mặt dữ liệu.

Hoặc cả hai mục tiêu trên .

raid server

RAID có rất nhiểu chuẩn như RAID 0 (striping), RAID 1 (Mirror), RAID 0+1, RAID 10, RAID 5(Parity), RAID 50 … Với các dòng mainboard desktop cao cấp và các main server 1 way và 2 way có hỗ trợ RAID thì thường dùng RAID 0, 1, 5 RAID 0+1, RAID 10.

RAID 0 : dữ liệu được ghi xen kẽ với mục đích để tăng cường tốc độ truy cập dữ liệu trong ổ cứng . Nó làm việc bằng cách chia những file ghi trên đĩa thành nhiều mẩu ( gọi là xen kẽ ) và ghi mỗi mẩu trên những ổ cứng khác nhau . Ví dụ nếu bạn có file với dung lượng 200KB và 02 ổ đĩa cứng , nó sẽ cắt thành hai mẩu 100KB mỗi một mẩu ghi trên ổ cứng khác nhau .

Chúng ta sẽ giải thích tóm tắt như sau : trên thực tế mỗi một mẩu có dung lượng nhất định tuỳ theo cấu hình của RAID khi chúng ta thiết lập hệ thống . Nếu hệ thống RAID0 thành những mẩu 128KB thì nó sẽ chia file dung lượng 200 KB của chúng ta thành 02 mẩu 128KB ( trong đó sẽ có một mẩu 28KB trống ). Nếu hệ thống của chúng ta dùng một mẩu 32KB thì 200KB của chúng ta được chia thành 8 mẩu 32KB và hệ thống sẽ gửi 04 mẩu cho mỗi đĩa.

Như thế thì như thế nào là hiệu quả nhất. Trong ví dụ chúng ta đưa ra thay vì ghi trên một đĩa một file dung lượng 200KB thì mỗi đĩa sẽ ghi dung lượng là 100KB file lưu trữ như vậy xét về mặt lí thuyết thời gian lưu trữ 100KB bằng một nửa thời gian lưu trữ 200 KB. Điều cơ bản trong RAID0 là đặt những ổ cứng làm việc song song với nhau .

Dung lượng tổng cộng của ổ cứng trong hệ thống RAID0 bằng tổng dung lượng của hai ổ đĩa . Nếu chúng ta dùng 02 ổ cứng 80GB thì hệ thống đĩa của chúng ta là 160GB . Do đó nếu bạn muốn tăng hiệu suất làm việc của hệ thống thì bạn có thể xem xét việc mua 02 ổ cứng dung lượng nhỏ và thiết lập cấu hình hệ thống dùng RAID0 thay thế cho việc mua 01 ổ cứng có dung lượng lớn.

RAID 1 : không phải là cải tiến hiệu suất công việc nhưng nó có mục đích để nâng cao độ tin cậy của dữ liệu. Nó làm việc bằng cách Copy mọi thứ gửi tới ổ cứng thứ nhất và gửi tới ổ cứng thứ hai, người ta hay gọi nó là “mirroring”. Có thể coi như RAID1 là một hệ thống lưu trữ Back-up phần cứng. Nếu ổ đĩa thứ nhất hỏng thì ổ đĩa thứ hai thay thế ngay lập tức .

Do đĩa cứng thứ hai lưu trữ tương tự như đĩa cứng thứ nhất nên dung lượng lưu trữ trên toàn hệ thống bằng dung lượng đĩa cứng thứ nhất. Nếu bạn có 02 ổ cứng dung lượng 80GB , thiết lập cấu hình hệ thống RAID 1 thì tổng số dung lượng hệ thống là 80GB.

Nếu chúng ta quan tâm đến độ an toàn dữ liệu thì RAID 1 là cách nên làm.

Còn có những cấu hình RAID khác cũng rất thuận tiện nhưng phần cứng điều khiển RAID phải hỗ trợ (hầu hết tất cả các card điều khiển dều hỗ trợ RAID0 và RAID1 ). Dưới đây là tóm tắt một số RAID thông dụng nữa khác mà hệ thống của chúng ta có thể hỗ trợ .

RAID 0+1 : Hệ thống dùng RAID0 và RAID1 cùng một lúc. Nó cần 04 ổ cứng giống hệt nhau . Nếu một ổ cứng hỏng thì hệ thống trở thành RAID0

RAID 10 : Hệ thống dùng RAID0 và RAID1 cùng một lúc. Nó cần 04 ổ cứng giống hệt nhau . Nếu một ổ cứng hỏng thì hệ thống trở thành RAID1.

RAID 5 : Nó là hệ thống RAID0 lưu trữ những thông tin Parity cho độ tin cậy cao hơn. Nó cần ít nhất 03 ổ cứng. Đối với hệ thống có 03 ổ cứng thì tổng số dung lượng lưu trữ hệ thống kích thước của 01 ổ cứng nhân với 2. Ví dụ có 03 ổ cứng 80GB thiết lập hệ thống dùng RAID5 thì dung lượng toàn bộ hệ thống lưu trữ là 160KB, trong đó dùng lượng tương đương với 1 ổ cứng dùng để lưu thông tin Parity

Ngoài ra với một số mainboard desktop còn hỗ trợ một chuẩn nữa là JBOD. JBOD: được viết tắt từ “Just a Bunch of Disks” và không phải là hệ thống RAID nó không phải với mục đích cải thiện hiệu suất của ổ cứng hay độ tin cậy. Nó dùng để ghép những ổ cứng có dung lượng khác nhau thành một dung lượng lưu trữ duy nhất. Ví dụ: nếu hệ thống dùng JBOD thêm ổ cứng 40GB với ổ 80GB để thành 120GB.