Trong vài năm trở lại đây , RAID đã trở nên vô cùng đại chúng . RAID có mặt trên những Mainboard bằng những Chip điều khiển tích hợp ngay trên đó mà không cần những Card RAID cồng kềnh trước kia
. Nguyên nhân của RAID được phổ biến rộng rãi như vậy là do tăng tốc độ truy cập dữ liệu , tăng độ tin cậy của dữ liệu hoặc đơn giản để khoe khoang với người khác .
RAID được viết tắt từ Redundant Array of Inexpensive Disks hoặc Redundant Array of Independent Disks . Tên ban đầu của nó liên quan tới kỹ thuật sử dụng một loạt ổ cứng mà không phải sử dụng một ổ cứng .
RAID là cách đã được dùng để tăng hiệu suất và sửa chữa những lỗi trong quá trình làm việc của ổ cứng . Có nhiều kiểu RAID khác nhau , mỗi kiểu có thể mạnh riêng và hạn chế riêng , không một mức RAID nào được cho là tốt nhất và mỗi mức RAID được sử dụng theo những giải pháp riêng biệt được lựa chọn .
Những kiểu RAID khác nhau sẽ có những lợi ích khác nhau , nó có thể được dùng để cho cơ sở dữ liệu với hàng ngàn người truy cập cùng một lúc , cho máy trạm Video HD hiệu suất cao hoặc đơn giản sử dụng trong nhà để lưu trữ những bức hình . Tất nhiên mỗi kiểu sẽ có những yêu cầu về thiết bị khác nhau , và mức đầu tư cũng khác nhau .
Có một số mức RAID tập trung vào hiệu suất hệ thống mà không quan tâm tới lưu trữ những dữ liệu thừa ( Redundance ) , một số khác trước hết lại quan tâm tới hiệu suất lưu trữ mà hiệu suất làm việc có thể chấp nhận được một mức độ nào đó .
Tăng cường hiệu suất
Khi đọc hoặc ghi dữ liệu trên đĩa của ổ cứng sẽ có hạn chế về mặt tốc độ của ổ cứng . Rất không may mắn khi cấu trúc cơ khí của ổ cứng chính là nguyên nhân gây sự chậm trễ khi dữ liệu di chuyển tới những bộ phận khác của máy tính . Những đĩa và những bộ phận cơ khí khác bên trong ổ đĩa chạy với tốc độ nhanh nhưng vẫn không bằng với các thiết bị khác trong PC như RAM .
Sự bổ xung quan trọng nhất của RAID chính tăng tăng hiệu suất cao hơn khi sử dụng một ổ đĩa bằng cách đọc hoặc ghi tới nhiều đĩa cùng một lúc . Theo lí thuyết thì dữ liệu có thể được khôi phục lại từ hai đĩa bằng nửa thời gian từ một đĩa duy nhất , từ 08 đĩa nhanh gấp bốn lần so với 02 đĩa ... như vậy với nhiều ổ cứng có hai ổ đĩa hoặc hai trăm ổ đĩa thì RAID có thể tăng hiệu suất ở một mức độ nào đó .
An toàn dữ liệu :
An toàn dữ liệu là khái niệm mà một mảng nhiều ổ cứng có thể khắc phục được lỗi của một ổ cứng và không mất mất kì dữ liệu nào trên đó . Điều đó được thực hiện thông qua dữ liệu những dữ liệu thừa ( Redundancy ) trên mảng nhiều ổ cứng , có nghĩa là có một số dung lượng đĩa cứng dành cho với lợi ích lưu trữ những dữ liệu phụ . Những dữ liệu thừa có thể cung cấp bằng cách Copy bản sao của tất cả dữ liệu thông qua những thông tin Parity , mà chúng ta sẽ đề cập sau .
Tính sẵn sàng của dữ liệu
Tính sẵn sàng của dữ liệu không nhầm lẫn với Độ an toàn của dữ liệu , khi mà mảng nhiều ổ cứng có thể chứa đựng ổ cứng lỗi nhưng dữ liệu vẫn không bị mất , luồng dữ liệu không bị dán đoạn và dịch vụ không bị ngắt .
Đặc điểm này không thực sự quan trọng cho những máy tính dùng trong gia đình , nhưng nó lại vô cùng cần thiết để duy trì hoạt động kinh doanh . Đôi khi nó không đơn giản chỉ là việc tạm ngừng dịch vụ , trang Web là một ví dụ , nhưng việc thay thế ổ cúng hỏng lại là đơn giản . Tính sẵn sàng của dữ liệu phải bao gồm Độ an toàn của dữ liệu , nhưng Độ an toàn dữ liệu nhiều khi lại không thực sự cần thiết bằng tính sẵn sàng của dữ liệu . Sự thay thế ổ cứng mà không cần tắt hệ thống ( Hot-swap ) với những thiết bị cho phép thay thế kiểu này ( Hot – Spare ) là một đặc điểm của bộ phận điều khiển RAID cho phép thay thế ổ cứng bị hỏng ngay trong khi hệ thống đang làm việc trong mảng nhiều ổ cứng .
Tăng dung lượng
Khi bạn cần nhiều khoảng trống trên một phân vùng duy nhất , đôi khi những ổ cứng có dung lượng lớn nhất hiện tại mà vẫn chưa đủ .
Ví dụ nếu bạn muốn ghi vài giờ Video 1080p ( có độ nét cao ) mà không nén thì với ổ cứng dung lượng 1TB vẫn không đủ để lưu trữ tất cả thông tin . Lúc đó với một mảng nhiều ổ cứng dung lượng 500GB không chỉ tạo thành một phân dùng duy nhất mà còn rẻ hơn nhiều nếu bạn dùng những ổ cứng dung lượng 1TB . Để giải thích rõ hơn về điều này ví dụ bạn có 01 ổ cứng với dung lượng 500GB thì bạn không thể tạo một phân vùng , như ổ C Logic chẳng hạn , có dung lượng lớn hơn 500GB , nhưng bạn có thể ghép 02 ổ cứng 500 GB để tạo thành một ổ C Logic có dung lượng 1TB .
Một số thuật ngữ của RAID
Striping
Hầu hết các mức RAID đều dùng Stripping , nó là một kiểu được dùng để mô tả khi những File riêng lẻ được phân chia thành nhiều gói nhỏ và những gói này được ghi trên 02 ổ đĩa cứng trở lên .
Stripping là cách mà RAID tăng cường hiệu suất truy cập dữ liệu bằng cách đọc , ghi liên tục tất cả các đĩa một cách liên tục . Ví dụ đơn giản để các bạn hình dùng trong một mảng gồm có 04 ổ cứng , một phần tư của mỗi File được ghi trên mỗi đĩa khác nhau . Như vậy mỗi đĩa chỉ có một phần tư của File vì thế mà công việc của nó được nhanh hơn là ghi trên một đĩa duy nhất . Cũng với khái niệm tương tự như vậy với thời gian đọc trở lại một phần tư File trên một ổ đĩa sẽ nhanh hơn đọc cả nội dung một File trên một ổ đĩa .
Stripping có thể làm theo mức từng Byte hoặc theo mức từng khối ( block ) . Stripping mức Byte có nghĩa là mỗi File được chia thành từng phần , mỗi phần có kích thước là một Byte . Ví dụ sử dụng mảng gồm 04 đĩa , thì Byte thứ 1 ghi vào ổ thứ 1 , Byte thứ 2 ghi vào ổ thứ 2 và cứ như vậy , cho tới khi Byte thứ 5 ghi lại vào ổ thứ 1 và quá trình đó lại bắt đầu lại .
Trong trường hợp Stripping theo mức Block , kích thước mỗi Block có thể được thiết lập theo cấu hình bên trong của BIOS trong bộ phận điều khiển RAID . Thông thường kích thước Block ngầm định ban đầu là 512 byte . Nếu file có kích thước dung lượng nhỏ hơn kích thước của Block thì nội dung File này được ghi trên một ổ đĩa cứng .
Stripping là cách làm duy nhất mà không có chứa dữ liệu thừa ( Redundance ) , nhưng khuyết điểm của nó lại không bảo vệ việc mất dữ liệu . điều đó có nghĩa là nếu một ổ cứng bị hỏng thì dữ liệu không thể khôi phục lại được .
Mirroring :
Mirroring là cách đơn giản nhất là sử dụng bằng cách lưu trữ dữ liệu thừa ra . Kỹ thuật này chỉ dùng 02 ổ cứng kết hợp lại với nhau không như Stripping . Khi dữ liệu được ghi trên một đĩa thì ngay lập tức đã được ghi thêm trên một đĩa khác . Nếu một đĩa bị lỗi , những công việc của nó vẫn tiếp tục không bị ngắt quãng và không mất dữ liệu . Giải pháp RAID trong những Mainboard này hay được sử dụng do giá thành của bộ phận điều khiển RAID rẻ nhất . Những mảng nhiều đĩa sử dụng Mirroring thì một nửa trong tổng số dung lượng của ổ cứng là lưu trữ dữ liệu thừa .
Ví dụ : Với Mirroring khi sử dụng 02 ổ cứng 500GB thì khả năng lưu trữ của hai ổ cứng này chỉ là 500GB dữ liệu có ích chứ không phải là 1TB bởi vì 500GB đã ghi dữ liệu thừa .
Parity
Parity được dùng bên cạnh với Stripping nhưng đó là cách mà không mất 50% dung lượng ghi những dữ liệu thừa như trong Mirroring . Trong mảng nhiều ổ cứng sử dụng Parity cho dữ liệu thừa , chỉ một phần khoảng trống trên ổ cứng được sử dụng để lưu trữ thông tin cần để khôi phục lại dữ liệu tất cả mảng nhiều ổ cứng trong trường hợp ổ cứng bị hỏng . Thông tin Parity được tạo ra từ dữ liệu lưu trữ trên ổ cứng bằng phép toán Logic “XOR” .
Bảng dưới đây chính là bảng trạng thái của phép toán Logic “XOR”
Bảng trên cho thấy nếu A và B khác nhau thì cho giá trị đầu ra là 1 . Nếu A và B giống nhau thì cho giá trị đầu ra là 0 .
Dựa vào bảng này cho thấy từ bảng kết quả đầu ra nếu biết cột A thì sẽ xác định được giá trị ở cột B và ngược lại nếu biết giá trị cột B sẽ tìm được giá trị ở cột A .
Như vậy bạn sẽ thấy chỉ cần biết giá trị của hai cột là sẽ tính được giá trị của cột còn lại , vì vậy nếu một ổ cứng nào bị hỏng từ thuật toán Logic XOR sẽ tính được nội dung dữ liệu của ổ cứng bị hỏng .
Cũng từ bảng trên cho thấy chỉ cần biết dữ liệu của 03 cột là sẽ tính toán được dữ liệu ở cột còn lại và cứ như vậy . Để giảm số liệu lưu trữ dư thừa thì chỉ cần tăng số phép tính XOR lên nhiều cột , nhưng bên cạnh đó việc tính toán cũng sẽ trở nên vô cùng phức tạp .
Điều không thuận lợi khi sử dụng Parity cho những thông tin dư thừa đó là tính toán phức tạp . Nếu số cột tham gia vào phép XOR tăng lên , bên cạnh là giảm khoảng lưu trữ dư thừa thì lại mất thời gian tính toán lại khi một ổ cứng nào đó bị hỏng . Nếu một mảng gồm 04 ổ cứng với tốc độ ghi 50MB/s thì bộ phận điều khiển RAID phải thực hiện gần 300 triệu phép tính XOR trong một giây .
RAID 0 - Stripping mức từng khối ( Block ) mà không có dữ liệu dư thừa
RAID0 là một trong những mức RAID hầu như được sử dụng trong các Motherboard hiện nay với mục đích tăng hiệu suất truy cập dữ liệu . Mọi File được ghi lên mảng nhiều ổ cứng , các File được chia thành những Block , mỗi Block có kích thước tuỳ theo thiết lập trong BIOS của bộ phận điều khiển RAID . Điều này có thể tăng tốc việc đọc và ghi trên ổ cứng bởi vì hoạt động của nó được thực hiện đồng thời trên những ổ cứng song song với nhau .
Tăng cường hiệu suất đọc ghi dữ liệu trên đĩa phụ thuộc vào kích thước của Block và những ứng dụng được sử dụng . Ví dụ một mảng có 04 ổ cứng , với kích thước Block là 512 Byte , nếu File dữ liệu có kích thước 1124 Byte thì sẽ chỉ dùng 03 Block ghi trên 03 ổ cứng mà không sử dụng tới ổ cứng thứ 4
Ích lợi :
Không thuận lợi :
(còn phần 2)
Nguồn: TVTH- IFC
Các bài viết khác