5/5 - (9467 bình chọn)

Raid là gì và Raid hoạt động ra sao?

Ngày nay với sự phát triển mạnh mẽ của công nghệ thì ổ đĩa càng ngày càng rẻ hơn, nhưng nhu cầu bảo đảm an toàn cho dữ liệu thì lại ngày càng tăng. Trong quá trình vận hành nếu có 1 ổ đĩa gặp sự cố sẽ dẫn đến việc mất dữ liệu của hệ thống nói chung. Như vậy thay vì mỗi đĩa lưu trữ một dữ liệu khác nhau ta tiến hành cho chúng vận hành song song (có nghĩa cùng lưu chung một dữ liệu) để tăng độ tin cậy.

Thiết lập này cung cấp khả năng cải thiện độ tin cậy của dữ liệu lưu trữ, bởi vì thông tin cần thiết có thể được lưu trữ trên nhiều đĩa. Một loạt các ổ đĩa nhỏ, giá rẻ được tổ chức kỹ thuật để “tập hợp sức mạnh” tương tự như trên nhằm tăng độ tin cậy cho dữ liệu. Đồng thời giải quyết được bài toán chi phí thay vì đầu tư cho các ổ cứng lưu trữ hiện đại và đắt tiền, được gọi chung công nghệ dự phòng dữ liệu trên các đĩa độc lập hay gọi là RAID.

cong nghe Raid 10

(Sơ đồ minh họa công nghệ Raid 10)

Chúng ta đã biết về Raid là gì,vậy Raid có sức mạnh thế nào?

Ví dụ thời gian sống trung bình của 1 đĩa là 100.000. Nếu dữ liệu của bạn được lưu trữ trên 1 hệ thống 100 đĩa thì thời gian trung bình 1 đĩa trong chuỗi bị sự cố là 100.000 / 100 = 1.000 giờ tương đương 41.66 ngày. Nếu không có các bản sao của dữ liệu, mỗi lần bị sự cố sẽ dẫn đến việc mất một số lượng lớn dữ liệu, và với một tỷ lệ cao như vậy là không thể chấp nhận.

Giải pháp nào cho vấn đề về độ tin cậy của dữ liệu? Câu trả lời là mirroring. Kỹ thuật này sẽ nhân đôi dữ liệu trên mỗi đĩa. Với mirroring, một đĩa logic bao gồm hai đĩa vật lý và cùng lưu một nội dung. Nếu một ổ đĩa có sự cố, dữ liệu có thể được đọc từ ổ kia. Khi đó, dữ liệu sẽ bị mất chỉ khi đĩa thứ hai cũng gặp sự cố khi bạn còn chưa kịp thay thế ổ đĩa thứ nhất. Thời gian trung bình gặp sự cố của một ổ đĩa mirrored phụ thuộc vào hai yếu tố. Một là thời gian trung bình gặp sự cố của 1 ổ đĩa đơn. Hai là thời gian sửa chữa, thay thế ổ đĩa khi có sự cố.

Nếu thời gian trung bình gặp sự cố của đĩa đơn là 100.000 giờ và thời gian trung bình để sửa chữa là 10 giờ, lúc đó thời gian trung bình mất dữ liệu trên hệ thống mirror là 100.0002 / (2 * 10) = 500*106 tương đương 57.000 năm!

Với thời gian như trên nghe có vẻ thật lý tưởng, nhưng thực tế không bao giờ tươi đẹp như vậy. Mất điện, thảm họa thiên nhiên, động đất, hỏa hoạn, lũ lụt có thể dẫn đến sự cố cho cả hai đĩa cùng một lúc. Ngoài ra, lỗi kỹ thuật trong dây chuyền sản xuất hàng loạt các đĩa cũng có thể là nguyên nhân khiến chúng “chết” cùng ngày. Chưa hết, thời gian sử dụng đĩa càng lâu, xác suất gặp sự cố càng cao, làm tăng tỉ lệ gặp sự cố cũng là lý do tuổi thọ của một ổ đĩa mirrored không bao giờ được như con số đã tính toán. Nhưng dù sao, hệ thống nhân bản đĩa cũng cung cấp cho chúng ta một độ tin cậy về dữ liệu cao hơn so với hệ thống đơn đĩa.

Với hệ thống đĩa mirrored, số đơn vị dữ liệu đọc được trên mỗi đơn vị thời gian tăng gấp đôi bằng phương pháp phân chia dữ liệu (Data Stripping). Ở dạng đơn giản nhất, các bit của mỗi byte được chia ra nằm trên mỗi đĩa (gọi là phân chia theo cấp bit). Ví dụ, nếu chúng ta có một mảng tám đĩa, bit i sẽ được ghi trên đĩa i. Với hệ thống này số lượng truy vấn đươc xử lý trên mỗi giây vẫn tương đương như hệ thống đơn đĩa nhưng mỗi truy vấn sẽ tăng tám lần tốc độ đọc dữ liệu trên cùng một đơn vị thời gian.

Phân chia theo cấp bit sẽ có đặc trưng ở số lượng đĩa là một bội số của 8. Ví dụ, nếu chúng ta sử dụng một mảng của bốn đĩa, bit thứ và thứ i +4  sẽ được ghi tại đĩa i. Hay tổng quan, với một hệ thống n đĩa, bit i sẽ được ghi tại đĩa (i mod n) + 1.  Quan trọng hơn, bản chất của cơ chế phân chia không còn nằm ở cấp bit nữa mà có thể thuộc về cấp bytes trong sector hoặc sectors trong block.
Dưới đây là một số cấp độ RAID, mỗi cấp sẽ tương ứng với chi phí triển khai khác nhau cũng như cung cấp một hiệu suất làm việc và mức độ tin cậy dữ liệu khác nhau:

RAID0: Không có phân chia hay dự phòng dữ liệu. Cung cấp hiệu suất hoạt động tốt nhưng không có khả năng chống chọi với sự cố.

RAID1: Còn được gọi là ánh xạ ổ đĩa(mirroring), cơ chế này bao gồm ít nhất hai ổ đĩa cùng lưu một dữ liệu. Không có phân chia dữ liệu. Hiệu suất đọc được cải thiện nếu hệ thống hỗ trợ đọc từ 2 đĩa cùng lúc. Hiệu suất ghi giống như đơn đĩa.

RAID2: Cấu hình này sử dụng cơ chế phân chia dữ liệu trên đĩa cùng một số ổ đĩa kiểm tra lỗi và sửa chữa (ECC). Nó không được đánh giá cao bằng RAID3 và hiện nay cũng không còn được sử dụng.

Hệ thống bộ nhớ tự phát hiện lỗi bằng bit chẵn lẻ. Mỗi byte trong một hệ thống được đánh số ví dụ 1 là chẵn (lẻ = 0) hoặc ngược lại. Nếu một bit trong byte bị hư hỏng (1 thành 0 hoặc 0 thành 1), tính chẵn lẻ sẽ bị vi phạm so với lưu trữ. Tương tự như vậy, nếu các bit chẵn lẻ lưu trữ bị hư hỏng sẽ không đồng nhất tính chẵn lẻ với tính toán của máy tính. Do đó, tất cả các lỗi sẽ được phát hiện bởi hệ thống bộ nhớ. Hệ thống sửa lỗi sẽ sao lưu các bit data và có thể phục hồi lại được khi một bit đơn bị hư hỏng.

Còn nữa…

Tác giả: Nguyễn Danh Trung