RAID là gì?

RAID là một giải pháp được phát triển ban đầu cho thị trường máy chủ mạng như một phương tiện tạo dung lượng lớn với chi phí thấp hơn. Về cơ bản, nó sẽ mất nhiều ổ cứng chi phí thấp hơn và đặt chúng lại với nhau thông qua một bộ điều khiển để cung cấp một ổ đĩa dung lượng lớn hơn. Đây là những gì RAID là viết tắt của: mảng dư thừa của các ổ đĩa hoặc ổ đĩa rẻ tiền. Để đạt được điều này, phần mềm và bộ điều khiển chuyên biệt là cần thiết để quản lý dữ liệu được phân chia giữa các ổ đĩa khác nhau.

Cuối cùng, sức mạnh xử lý của hệ thống máy tính tiêu chuẩn của bạn cho phép các tính năng lọc theo cách của họ vào thị trường máy tính cá nhân .

Bây giờ bộ nhớ RAID có thể là phần mềm hoặc phần cứng , và có thể được sử dụng cho ba mục đích riêng biệt. Chúng bao gồm khả năng, bảo mật và hiệu suất. Dung lượng là một công cụ đơn giản có liên quan đến hầu hết mọi loại thiết lập RAID được sử dụng. Ví dụ, hai ổ đĩa cứng có thể được liên kết với nhau như một ổ đĩa duy nhất cho hệ điều hành có hiệu quả làm cho một ổ đĩa ảo đó là gấp đôi khả năng. Hiệu suất là một lý do quan trọng khác để sử dụng thiết lập RAID trên máy tính cá nhân. Trong ví dụ tương tự của hai ổ đĩa được sử dụng như một ổ đĩa đơn, bộ điều khiển có thể chia một đoạn dữ liệu thành hai phần và sau đó đặt từng bộ phận trên một ổ đĩa riêng biệt. Điều này có hiệu quả gấp đôi hiệu suất của việc viết hoặc đọc dữ liệu trên hệ thống lưu trữ. Cuối cùng, RAID có thể được sử dụng để bảo mật dữ liệu.

Điều này được thực hiện bằng cách sử dụng một số không gian trên ổ đĩa để cơ bản sao chép dữ liệu được ghi vào cả hai ổ đĩa. Một lần nữa, với hai ổ đĩa, chúng tôi có thể làm cho nó để dữ liệu được ghi vào cả hai ổ đĩa. Vì vậy, nếu một ổ đĩa bị lỗi, người kia vẫn có dữ liệu.

Tùy thuộc vào mục tiêu của mảng lưu trữ mà bạn muốn kết hợp với hệ thống máy tính của mình, bạn sẽ sử dụng một trong các mức RAID khác nhau để đạt được ba mục tiêu này.

Đối với những người sử dụng ổ đĩa cứng trong máy tính của họ , hiệu suất có lẽ sẽ có nhiều vấn đề hơn là khả năng. Mặt khác, những người sử dụng ổ đĩa trạng thái rắn có thể sẽ muốn có một cách để lấy các ổ đĩa nhỏ hơn và liên kết chúng lại với nhau để tạo ra một ổ đĩa lớn hơn. Vì vậy, chúng ta hãy nhìn vào các cấp độ khác nhau của RAID có thể được sử dụng với một máy tính cá nhân.

RAID 0

Đây là mức thấp nhất của RAID và thực sự không cung cấp bất kỳ hình thức dự phòng nào, đó là lý do tại sao nó được gọi đến mức 0. Về cơ bản, RAID 0 mất hai hoặc nhiều ổ đĩa và đặt chúng lại với nhau để thời trang một ổ đĩa dung lượng lớn hơn. Điều này đạt được thông qua một bộ xử lý gọi là dải. Các khối dữ liệu được chia thành các khối dữ liệu và sau đó được viết theo thứ tự trên các ổ đĩa. Điều này cung cấp hiệu suất tăng lên vì dữ liệu có thể được ghi đồng thời với các ổ đĩa bằng bộ điều khiển có hiệu quả nhân tốc độ của các ổ đĩa. Dưới đây là một ví dụ về cách điều này có thể làm việc trên ba đĩa:

Lái xe 1 Drive 2 Lái xe 3
Khối 1 1 2 3
Khối 2 4 5 6
Khối 3 7 số 8 9


Để RAID 0 hoạt động hiệu quả để tăng hiệu suất của hệ thống, bạn cần phải thử và có các ổ đĩa phù hợp. Mỗi ổ đĩa phải có cùng khả năng lưu trữ và các đặc điểm biểu diễn chính xác.

Nếu không, thì dung lượng sẽ bị giới hạn ở nhiều ổ đĩa nhỏ nhất và hiệu suất đến chậm nhất của ổ đĩa vì nó phải đợi cho tất cả các sọc được viết trước khi chuyển sang tập tiếp theo. Có thể sử dụng các ổ đĩa không khớp nhưng trong trường hợp đó, một thiết lập JBOD có thể hiệu quả hơn.

JBOD là viết tắt của một loạt các ổ đĩa và hiệu quả chỉ là một tập hợp các ổ đĩa có thể được truy cập độc lập với nhau nhưng xuất hiện như một ổ lưu trữ duy nhất cho hệ điều hành. Điều này thường đạt được bằng cách có khoảng dữ liệu giữa các ổ đĩa. Thường thì điều này được gọi là SPAN hoặc BIG.

Một cách hiệu quả, các hoạt động nhìn thấy tất cả chúng như một đĩa đơn nhưng các khối sẽ được ghi trên đĩa đầu tiên cho đến khi nó đầy, sau đó tiến tới thứ hai, sau đó thứ ba, v.v. Điều này rất hữu ích để bổ sung thêm dung lượng vào hệ thống máy tính hiện có và với các ổ đĩa có kích thước khác nhau nhưng nó sẽ không làm tăng hiệu suất của mảng ổ đĩa.

Vấn đề lớn nhất với các thiết lập RAID 0 và JBOD là bảo mật dữ liệu. Vì bạn có nhiều ổ đĩa, cơ hội tham nhũng của dữ liệu tăng lên vì bạn có nhiều điểm thất bại hơn . Nếu bất kỳ ổ đĩa nào trong mảng RAID 0 không thành công, tất cả dữ liệu sẽ không thể truy cập được. Trong một JBOD, một thất bại ổ đĩa sẽ dẫn đến sự mất mát của bất kỳ dữ liệu nào đã xảy ra trên ổ đĩa đó. Kết quả là, nó là tốt nhất cho những người muốn sử dụng phương pháp lưu trữ này để có một số phương tiện khác để sao lưu dữ liệu của họ.

RAID 1

Đây là mức RAID thực sự đầu tiên vì nó cung cấp mức dự phòng đầy đủ cho dữ liệu được lưu trữ trên mảng. Điều này được thực hiện thông qua một quá trình được gọi là phản chiếu. Có hiệu quả, tất cả dữ liệu được ghi vào hệ thống được sao chép vào mỗi ổ đĩa trong một mảng mức 1. Hình thức RAID này thường được thực hiện chỉ với một cặp ổ đĩa khi thêm nhiều ổ đĩa sẽ không thêm bất kỳ dung lượng bổ sung nào, chỉ dư thừa nhiều hơn. Để đưa ra một ví dụ về điều này tốt hơn, đây là một biểu đồ cho thấy nó sẽ được viết như thế nào với hai ổ đĩa:

Lái xe 1 Drive 2
Khối 1 1 1
Khối 2 2 2
Khối 3 3 3


Để sử dụng hiệu quả nhất từ ​​thiết lập RAID 1, hệ thống một lần nữa sẽ sử dụng các ổ đĩa phù hợp có cùng dung lượng và xếp hạng hiệu suất.

Nếu các ổ đĩa không khớp được sử dụng, thì dung lượng mảng sẽ bằng với dung lượng ổ đĩa nhỏ nhất trong mảng. Ví dụ, nếu một terabyte một và một nửa và một terabyte được sử dụng trong một mảng RAID 1, dung lượng của mảng này trên hệ thống sẽ chỉ là một terabyte đơn.

Mức RAID này có hiệu quả cao đối với bảo mật dữ liệu vì hai ổ đĩa có hiệu quả giống nhau. Nếu một trong hai ổ đĩa bị lỗi, thì ổ kia có dữ liệu hoàn chỉnh của ổ kia. Vấn đề với kiểu thiết lập này thường xác định ổ đĩa nào không thành công vì thường bộ nhớ không thể truy cập được khi một trong hai không thành công và sẽ không được phục hồi đúng cho đến khi một ổ đĩa mới được chèn vào vị trí của ổ đĩa bị lỗi và phục hồi tiến trình đang chạy. Như đã đề cập trước đó, cũng không có hiệu suất nào đạt được từ điều này. Trong thực tế, sẽ có một sự mất mát hiệu suất nhỏ từ phía trên của bộ điều khiển cho RAID.

RAID 1 + 0 hoặc 10

Đây là một sự kết hợp hơi phức tạp của cả cấp độ RAID 0 và cấp 1 . Có hiệu quả, bộ điều khiển sẽ cần tối thiểu bốn ổ đĩa để hoạt động trong chế độ này bởi vì những gì nó sẽ làm là tạo hai cặp ổ đĩa. Tập hợp đầu tiên của các ổ đĩa là một mảng được nhân bản, nhân bản dữ liệu giữa hai. Tập thứ hai của ổ đĩa cũng được nhân đôi nhưng thiết lập là dải đầu tiên. Điều này cung cấp cả dư thừa dữ liệu và lợi ích hiệu suất. Dưới đây là ví dụ về cách dữ liệu sẽ được ghi trên bốn ổ đĩa bằng cách sử dụng loại thiết lập này:

Lái xe 1 Drive 2 Lái xe 3 Drive 4
Khối 1 1 1 2 2
Khối 2 3 3 4 4
Khối 3 5 5 6 6


Thành thật mà nói, đây không phải là một chế độ mong muốn của RAID để chạy trên một hệ thống máy tính. Trong khi nó cung cấp một số hiệu suất tăng nó thực sự không phải là tốt vì số lượng lớn các chi phí trên hệ thống. Ngoài ra, nó là một sự lãng phí rất lớn của không gian như mảng ổ đĩa sẽ chỉ ở hầu hết một nửa năng lực của tất cả các ổ đĩa kết hợp. Nếu ổ đĩa không phù hợp được sử dụng, hiệu năng sẽ bị giới hạn ở mức chậm nhất của ổ đĩa và dung lượng sẽ chỉ tăng gấp đôi ổ đĩa nhỏ nhất.

RAID 5

Đây là mức RAID cao nhất có thể được tìm thấy trong các hệ thống máy tính của người tiêu dùng và là một phương pháp hiệu quả hơn để tăng dung lượng và dự phòng. Nó đạt được điều này thông qua một quá trình phân chia dữ liệu với tính chẵn lẻ. Cần có tối thiểu ba ổ đĩa để thực hiện điều này vì dữ liệu được chia thành các sọc trên một số ổ đĩa nhưng sau đó một khối trên sọc được đặt sang một bên cho tính chẵn lẻ. Để giải thích điều này tốt hơn, trước tiên hãy xem xét cách dữ liệu có thể được ghi trên ba ổ đĩa:

Lái xe 1 Drive 2 Lái xe 3
Khối 1 1 2 p
Khối 2 3 p 4
Khối 3 p 5 6


Về bản chất, bộ điều khiển ổ đĩa có một đoạn dữ liệu được ghi trên tất cả các ổ đĩa trong mảng. Bit đầu tiên của dữ liệu được đặt trên ổ đĩa đầu tiên và thứ hai được đặt vào thứ hai. Ổ đĩa thứ ba nhận bit chẵn lẻ mà về cơ bản là so sánh dữ liệu nhị phân trên đầu tiên và thứ hai. Trong toán học nhị phân, bạn chỉ có 0 và 1. Một quá trình toán học boolean được thực hiện để so sánh các bit. Nếu cả hai cộng một số chẵn (0 + 0 hoặc 1 + 1) thì bit chẵn lẻ sẽ bằng không. Nếu hai cộng một số lẻ (1 + 0 hoặc 0 + 1) thì bit chẵn lẻ sẽ là một. Lý do cho điều này là nếu một trong các ổ đĩa bị lỗi, bộ điều khiển có thể tìm ra dữ liệu bị thiếu. Ví dụ, nếu ổ đĩa không thành công, chỉ cần lái xe hai và ba, và ổ đĩa hai có một khối dữ liệu của một và ổ đĩa ba có một khối chẵn lẻ của một, sau đó khối dữ liệu còn thiếu trên ổ đĩa phải là số không.

Điều này cung cấp dự phòng dữ liệu hiệu quả cho phép tất cả dữ liệu được khôi phục trong trường hợp lỗi ổ đĩa. Bây giờ đối với hầu hết các thiết lập của người tiêu dùng, một lỗi sẽ vẫn dẫn đến hệ thống không phải vì nó không ở trạng thái chức năng. Để có được chức năng của hệ thống, cần phải thay thế ổ đĩa bị lỗi bằng một ổ đĩa mới. Sau đó, một quá trình tái tạo dữ liệu phải được thực hiện ở cấp điều khiển mà sau đó sẽ thực hiện một hàm boolean đảo ngược để tạo lại dữ liệu trên ổ đĩa bị thiếu. Điều này có thể mất một thời gian, đặc biệt là cho các ổ đĩa dung lượng lớn hơn nhưng ít nhất là có thể phục hồi được.

Bây giờ dung lượng của một mảng RAID 5 phụ thuộc vào số lượng ổ đĩa trong mảng và dung lượng của chúng. Một lần nữa, mảng bị giới hạn bởi ổ đĩa dung lượng nhỏ nhất trong mảng vì vậy tốt nhất nên sử dụng các ổ đĩa phù hợp. Dung lượng lưu trữ hiệu quả bằng với số ổ đĩa trừ đi một lần công suất thấp nhất. Vì vậy, trong thuật ngữ toán học, nó là (n-1) * Capacitymin . Vì vậy, nếu bạn có ba ổ đĩa 2 GB trong một mảng RAID 5, tổng dung lượng sẽ là 4GB. Một mảng RAID 5 khác sử dụng 4 ổ cứng 2GB sẽ có dung lượng 6GB.

Bây giờ hiệu năng cho RAID 5 phức tạp hơn một chút so với một số dạng RAID khác vì quá trình boolean phải được thực hiện để tạo bit chẵn lẻ khi dữ liệu được ghi vào ổ đĩa. Điều này có nghĩa là hiệu năng ghi sẽ nhỏ hơn mảng RAID 0 với cùng số lượng ổ đĩa. Mặt khác, hiệu suất đọc không bị ảnh hưởng nhiều bởi quá trình viết bởi vì quá trình boolean không được thực hiện vì nó đọc dữ liệu thẳng từ các ổ đĩa.

Vấn đề lớn với tất cả các thiết lập RAID

Chúng tôi đã thảo luận về những ưu điểm và khuyết điểm khác nhau của mỗi cấp độ RAID có thể được sử dụng trên máy tính cá nhân nhưng có một vấn đề khác mà nhiều người không nhận ra khi tạo ổ đĩa RAID. Trước khi thiết lập RAID có thể được sử dụng, trước tiên nó phải được xây dựng bằng phần mềm điều khiển phần cứng hoặc trong phần mềm của hệ điều hành. Điều này về cơ bản khởi tạo các định dạng đặc biệt cần thiết để theo dõi đúng cách dữ liệu sẽ được viết và đọc trên ổ đĩa.

Điều này có lẽ không có vẻ giống như một vấn đề nhưng nó là nếu bạn thậm chí cần phải thay đổi cách bạn muốn mảng RAID của bạn được cấu hình. Ví dụ, giả sử bạn đang chạy thấp trên dữ liệu và muốn thêm một ổ đĩa bổ sung cho một mảng RAID 0 hoặc RAID 5. Trong hầu hết các trường hợp, bạn sẽ không thể mà không cần cấu hình lại mảng RAID trước đó và cũng sẽ loại bỏ bất kỳ dữ liệu nào được lưu trữ trong các ổ đĩa đó. Điều này có nghĩa rằng bạn phải sao lưu hoàn toàn dữ liệu của bạn, thêm ổ đĩa mới, cấu hình lại mảng ổ đĩa, định dạng ổ đĩa, và sau đó khôi phục dữ liệu ban đầu của bạn trở lại ổ đĩa. Đó có thể là một quá trình cực kỳ đau đớn. Kết quả là, hãy chắc chắn rằng bạn thực sự có thiết lập mảng theo cách bạn muốn lần đầu tiên bạn làm điều đó.