Chế độ tin cậy cao đối với các thành phần lƣu trữ

Một phần của tài liệu Đảm bảo hiệu năng và độ tin cậy cho hệ thống thư điện tử lưu lượng lớn (Trang 49)

Nguồn gốc của RAID: Ý tưởng của RAID được định nghĩa năm 1988, khi một nhóm nhà nghiên cứu thuộc đại học Berkeley(David Patterson, Garth Gibson, Randy Katz) công bố bài viết về Raid đầu tiên. Họ dự đoán rằng tốc độ CPU và kích thước bộ nhớ sẽ tăng nhanh và I/O sẽ được cải thiện, hệ thống máy tính sẽ cần các tính năng cao cấp khi tốc độ tính toán và bộ nhớ được tăng cường. Do các đĩa cứng được sản xuất theo thiết kế SLED(Single Large Expensive Disks), khi dung lượng lưu trữ tăng lên, nhưng tốc độ của chúng vẫn gặp phải giới hạn cố hữu và thường nhỏ hơn so với tốc độ của các mạch điện tử. Để vượt qua giới hạn này, nhóm nghiên cứu đề xuất phương án lưu tất cả dữ liệu trên một ổ đĩa logic, một vài đĩa nhỏ rẻ tiền sẽ được kết hợp để tạo các phân mảnh dữ liệu(chia dữ liệu ra lưu trên nhiều đĩa), do đó các thao tác đọc và ghi sẽ được thực hiện song song trên các đĩa. Để đơn giản hóa quản lý I/O, một điều khiển giành riêng sẽ sử dụng để thuận tiện cho quá trình phân chia dữ liệu và nhiều đĩa nhỏ trên một máy tính sẽ được kết thành một ổ ứng logic lớn. Họ đã đánh giá sự cải thiện hiệu năng và cho rằng nó tốt hơn là sử dụng các SLED.

nữa. Có nhiều đĩa nên xác suất hỏng đĩa logic sẽ cao hơn so với xác suất hỏng một đĩa. Để giải quyết vấn đề, các nhà nghiên cứu dự định thêm đĩa mở rộng vào nhóm RAID để lưu trữ thông tin dư thừa. Điều này có nghĩa là nếu một đĩa hỏng, một đĩa khác trong nhóm có thể chứa thông tin bị mất, do đó có thể tổng hợp lại thông tin mất, như vậy tất cả dữ liệu sẽ luôn sẵn sàng, người dùng cuối sẽ không mất thời gian dừng hệ thống và quá trình tái tạo sẽ được hoàn thành ở phía sau. Nếu người dùng đòi hỏi thông tin chưa được khởi tạo lại, dữ liệu sẽ được cấu trúc lại rất nhanh và người dùng có thể không nhận biết về quá trình đó.

Nguồn gốc các mức RAID: Nhóm dưới đây bao gồm 6 mức RAID khác nhau từ RAID mức 0 đến RAID mức 5. Những mức khác nhau cung cấp các cách lựa chọn để thực hiện khả năng chịu đựng lỗi, cải thiện hiệu suất vào ra.

Họ sử dụng ba cách xây dựng các khối trong các kiến trúc sau đây:

1. Chia mảnh dữ liệu: Dữ liệu từ một máy tính sẽ được chia thành các mảnh nhỏ và phân tán ở nhiều ổ đĩa trong một RAID. Mỗi khoảng lưu trữ trong đĩa được chia vào nhiều mảnh. Các mảnh được đưa vào các khối lưu trữ logic được tạo ra trong các mảnh trên mỗi đĩa. Lợi ích chính là hiệu suất vào ra được cải thiện và tính có khả năng tạo ra các đĩa logic rất lớn. Phương thức này sử dụng RAID 0.

2. Ánh xạ: Dữ liệu từ các máy sẽ được nhân đúp lên dưới dạng khối sang khối từ hai đĩa. Nếu một đĩa hỏng, dữ liệu vẫn sẵn sang trên đĩa còn lại. Phương thức này sử dụng RAID 1 và 1+0

3. Tƣơng đƣơng: Dữ liệu từ máy tính sẽ được ghi vào nhiều đĩa. Một trong các đĩa sẽ được gán là đĩa chứa các thông tin tương tự, trong trường hợp một đĩa hỏng, thông tin tương tự sẽ được kết hợp với các dữ liệu còn lại để tổng hợp lại thông tin bị mất. Phương thức này sử dụng các mức RAID 3,4 và 5. RAID 0 cộng với 5 mức cơ bản được phát triển bởi các nhà nghiên cứu của đại học Berkeley được liệt kê như sau:

RAID mức 0:

 Phân mảnh các đĩa

 Hiệu năng: Rất tốt

 Độ tin cậy: Kém hơn so với một đĩa đơn(không dư thừa)

 Giá thành: Thấp

RAID mức 1:  Ánh xạ đĩa

 Hiệu năng: Khá hơn so với đĩa đơn

 Độ tin cậy: Xuất sắc

 Giá thành: Cao(tốn 2 lần đĩa)

RAID mức 2:

 Sử dụng các bit chèn và ECC(Phương thức này đang được sử dụng phổ biến nhất hiện nay)

 Hiệu năng: Tương tự như RAID 1 với các vào ra tốc độ lớn. Với các vào ra nhỏ thì rất chậm, do phải đọc tất cả các đĩa mà không xử lý song song

 Độ tin cậy: Tốt

 Giá thành: Giá giảm hơn so với tạo ánh xạ đĩa ở mức giảm 20-40%

 Sử dụng các byte chèn vào các với các mảnh thay thế của ECC. Dữ liệu phân mảnh được lưu trữ tại các đĩa dành riêng

 Hiệu năng: Tương đương với mức RAID 0 ở chế độ đọc, và chậm hơn với chế độ ghi

 Độ tin cậy: Tốt

 Giá thành: Cao hơn so với RAID 0 do phải bổ sung 1 đĩa vào 1 RAID

RAID mức 4:

 Tương tự như RAID mức 3, nhưng dùng các bit thay thế rẻ quạt

 Hiệu năng: Tương tự như RAID 0 ở chế độ đọc, ghi thì chậm hơn 1 chút

 Độ tin cậy: Tốt

 Giá thành: Giá cao hơn do bổ sung 1 đĩa cho 1 RAID.

RAID mức 5: (adsbygoogle = window.adsbygoogle || []).push({});

 Tương tự như mức 4, nhưng phân tán các mảnh cho tất cả các đĩa

 Hiệu năng: Ghi nhanh ơn so với RAID 3,4, nhưng đọc thì chậm hơn.

 Độ tin cậy: tốt

 Giá thành: Giá cao do bổ sung them 1 đĩa cho 1 RAID

RAID thông dụng: Các mức RAID được sử dụng phổ biến là: RAID 0: Phân mảnh dữ liệu

RAID 1: Ánh xạ

RAID 10: Ánh xạ và phân mảnh RAID (0+1): Phân mảnh và ánh xạ

RAID 3: Phân mảnh với các đĩa giành riêng chẵn lẻ RAID 5: Phân mảnh với các đĩa phân tán chẵn lẻ

Ngày nay, các mức RAID quan trọng thường có những đặc điểm sau đây:

RAID 0: Dãy đĩa chia mảnh: RAID 0 không có chế độ chịu đựng lỗi, nếu một đĩa hỏng, tất cả dữ liệu trên dãy đĩa sẽ mất. Nó được sử dụng với mục tiêu tăng tốc độ đọc ghi đĩa. Nó cung cấp hiệu quả cao cho các kiểu dãy đĩa:

Ưu điểm:

 Cải thiện tốc độ đọc ghi

 Kiểu RAID có hiệu năng làm việc cao nhất

 Tạo ra các khối đĩa logic lớn Nhược điểm:

 RAID 0 không sử dụng đĩa để cho chế độ dư thừa

 Nếu một đĩa hỏng, tất cả dữ liệu sẽ mất Cấu hình:

 Dãy đĩa RAID 0 được tạo bởi một nhóm hai hoặc nhiều đĩa với nhau để tạo thành một đĩa ảo và hệ thống nhận biết đĩa này như một đĩa vật lý. Mỗi đĩa vật lý được chia thành các mảnh. Các mảnh được chèn vào đĩa ảo để tạo thành các mảnh luân phiên từ mỗi đĩa.

 Để cải thiện hiệu năng, RAID 0 ghi các khối dữ liệu với các mảnh trên nhóm RAID 0, điều này cho phép các đĩa thực hiện các vào ra song song, cải thiện hiệu năng vào ra.

Sử dụng RAID 0: RAID 0 nên được sử dụng với các ứng dụng đòi hỏi hiệu năng cao và không chứa các dữ liệu quan trọng như:

tiết kiệm được do tốc độ truy xuất cao có thể nhiều hơn thời gian trong trường hợp phải khôi phục do đĩa hỏng.

RAID 1: Dãy đĩa ánh xạ: RAID 1 cung cấp một cơ chế bảo vệ hoàn thiện cho các ứng dụng chứa các dữ liệu quan trọng. Nó sử dụng cặp đĩa, trong đó mỗi đĩa vật lý là đối tác của một đĩa vật lý thứ hai. Mỗi đĩa vật lý chứa dữ liệu giống như dữ liệu trên đĩa ảo. Dữ liệu được bảo vệ bởi nó được ghi hai block giống nhau mỗi lần cho trên các đĩa. Không có cơ chế phân mảnh dữ liệu. Hiệu năng sẽ được cải thiện vì cả hai đĩa sẽ cùng đọc trong cùng thời điểm. Tốc độ ghi tương đương với đĩa đơn. RAID 1 cung cấp một hiệu năng tốt và một cơ chế thứ lỗi tốt.

Máy tính sẽ nhìn nhận cặp đĩa này như một đĩa đơn. Bộ phận điều khiển RAID quản lý nơi dữ liệu đọc và ghi, cho phép có thể 1 đĩa hỏng mà hệ thống không cần quan tâm, và có thể thực hiện thay thế đĩa hỏng vào thời điểm thích hợp và tiến hành khởi tạo lại.

Ưu điểm:

 Bảo vệ ở mức cao nhất,

 Hiệu suất đọc cao hơn so với đĩa đơn(Nếu bộ điều khiển dãy đĩa đủ năng lực để thực hiện đọc đồng thời từ hai thiết bị ở chế độ ánh xạ)

 Cung cấp một hiệu năng cao trong quá trình tái tạo lại đĩa hỏng

 Không cần phải xây dựng lại dữ liệu. Nếu một đĩa hỏng, chỉ cần copy các khối sang khối trên đĩa mới là xong.

 Không bị sốc về hiệu năng khi một đĩa bị hỏng

 Chỉ có một lựa chọn nếu chỉ sử dụng 2 đĩa Nhược điểm:

 RAID 1 phải ghi dữ liệu 2 lần. Tuy nhiên vấn đề này không quan trọng khi so sánh với việc ghi trên 1 đĩa đơn. (adsbygoogle = window.adsbygoogle || []).push({});

 Hiệu năng vào ra trong các môi trường đọc ghi không tốt hơn so với trường hợp sử dụng một đĩa.

 Đòi hỏi gấp đôi số đĩa, nên giá thành tăng gấp đôi

Sử dụng RAID 1: RAID 1 cung cấp chế độ bảo vệ hoàn thiện, tuy vậy, nó đòi hỏi gấp đôi số đĩa vật lý. Trong quá khứ, mức RAID này được sử dụng duy nhất trong các hệ thống mạng nhỏ nhưng quan trọng để giảm chi phí. Với giá thành của tủ đĩa ngày càng rẻ, các hệ thống ứng dụng lớn ngày nay cũng đã bắt đầu sử dụng RAID

RAID 10: Ánh xạ và phân mảnh: RAID 10 chứa nhiều bộ đĩa ánh xạ khác nhau. Có những đĩa thực hiện ánh xạ xong sau đó sẽ phân mảnh với nhau để tạo thành đĩa ảo cuối cùng. Kết quả là một dãy đĩa ánh xạ cực lớn, có khả năng đọc và ghi rất nhanh.

Ưu điểm:

 Độ tin cậy rất cao

 Do có nhiều bộ ánh xạ, RAID 10 có thể tạo ra các đĩa ảo lớn hơn. Máy tính sẽ nhận diện nó như một đĩa đơn với kích thước đặc biệt.

 Cung cấp hiệu năng rất cao với dữ liệu được bảo vệ

 Do có nhiều bộ ánh xạ, cấu hình này có thể cho phép nhiều đĩa hỏng 1 lúc mà đĩa ảo vẫn tồn tại.

 Có thể dung hoà với các truy vấn dữ liệu với cường độ lớn hoặc các chuyển vận dữ liệu cường độ lớn

Nhược điểm:

 Cũng giống như RAID 1, RAID 10 ghi dữ liệu hai lần, do đó hiệu năng ghi sẽ kém hơn chút ít so với ghi vào đĩa đơn.

 Hiệu năng vào ra với môi trường đọc ghi không tốt hơn so với hiệu năng của đĩa đơn.

 Đòi hỏi thêm đĩa để cài đặt bộ ánh xạ

Sử dụng RAID 10: Ứng dụng có hiệu năng cao và độ tin cậy sẽ cần dùng RAID 10. Ví dụ trong các môi trường giao dịch tài chính hoặc các giao dịch trực tuyến với đặc thù:

 Sự sẵn sàng của dữ liệu là một điều kiện vô cùng quan trọng

 Hiệu năng của xử lý song song là rất cần thiết.

RAID (0+1): Phân mảnh và ánh xạ: RAID 0+1 khác rất nhiều so với RAID 10. Các ổ đĩa trước hết được phân mảnh, sau đó các ổ đĩa được ánh xạ. Điển hình, hai hoặc nhiều đĩa được phân mảnh để tạo ra một phân đoạn và một số lượng đĩa bằng như vậy được phân mảnh để tạo thành một phân đoạn bổ sung. Có hai phân đoạn đã phân mảnh được ánh xạ để tạo ra một đĩa ảo cuối cùng.

Ưu điểm:

 Tốc độ vào ra cao

 Có khả năng tạo ra các khối logic lớn Nhược điểm:

 Độ tin cậy kém RAID1 và 10. Nếu một đĩa hỏng, chúng ta sẽ có một RAID 0. Nếu có nhiều đĩa tạo thành RAID 0, xác suất hỏng đĩa sẽ lớn hơn.

 Đòi hỏi gấp đôi các ổ đĩa dẫn đến chỉ dùng được 1 nửa.

Sử dụng RAID 0+1: Dành cho các ứng dụng đòi hỏi hiệu năng cao, nhưng không đòi hỏi mức độ quá cao của độ tin cậy

RAID 3: Chia mảnh với các đĩa tƣơng đƣơng: RAID 3 là phiên bản chịu đựng lỗi của RAID 0. Chế độ chịu đựng lỗi được thực hiện bằng cách thêm một đĩa mở rộng vào dãy đĩa và dành riêng nó để chứa thông tin tương tự. Thông tin tương tự được tổng hợp và ghi trong suốt quá trình vận hành và kiểm tra các tác vụ đọc. Nó đòi hỏi tối thiểu là ba đĩa và cung cấp chế độ bảo vệ. Trường hợp một đĩa bị hỏng, dữ liệu được khôi phục bằng cách tính toán loại trừ OR(XOR) các thông tin được lưu trong các đĩa khác. Khi có một quá trình vào ra với địa chỉ của tất cả các đĩa trong cùng một thời điểm, RAID 3 không thể cho thực hiện gối đầu cho các I/O. Vì vậy, RAID 3 tốt cho một hệ thống người dùng đơn với các ứng dụng có nhiều dữ liệu lưu trữ.

Ưu điểm:

 Bảo vệ dữ liệu tốt

 Hiệu năng ghi tốt

 Hiệu năng đọc tốt (adsbygoogle = window.adsbygoogle || []).push({});

 Số đĩa dùng được là số đĩa trong dãy trừ đi 1 Nhược điểm:

 Một đĩa hỏng sẽ đưa đến cấu hình RAID 0

 Hiệu năng thấp với các dữ liệu nhỏ

 Các ứng dụng nặng về ghi

 Các môi trường trong đó lưu trữ các khối dữ liệu lớn.

RAID 5: Chia mảnh và tƣơng đƣơng: RAID 5 tương tự như RAID 3, nhưng dữ liệu tương đương không lưu trong một đĩa chỉ định. Thay thế vào đó, thông tin tương đương lưu rải ra các đĩa trong dãy đĩa. RAID 5 đòi hỏi tối thiểu 3 đĩa. Nếu một đĩa hỏng, không ảnh hưởng đến tính sẵn sàng của dữ liệu. Trong trường hợp hỏng hóc, bộ điều khiển sẽ tổng hợp lại dữ liệu bị mất từ các đĩa còn lại. Bằng cách phân tán thông tin tương đương ra các đĩa trong dãy, RAID 5 giảm thiểu nghẽn cổ chai của quá trình ghi. Kết quả là hiệu năng sẽ không đối xứng, với tốc độ đọc lớn hơn tốc độ ghi. Để giảm thiểu sự bất đối xứng này, RAID 5 được sử dụng với các kỹ thuật dạng như caching và xử lý song song nhiều bộ xử lý.

Ưu điểm:

 Phù hợp với các ứng dụng nặng về đọc

 Số đĩa sử dụng được là tổng số đĩa trừ đi 1 Nhược điểm:

 Một đĩa hỏng sẽ đưa cấu hình về RAID 0

 Hiệu năng sẽ thấp hơn RAID 1 khi xây dựng lại dữ liệu

 Tốc độ ghi sẽ thấp hơn tốc độ đọc

 Tốc độ chuyển vận khối dữ liệu ngang với dùng đĩa đơn

Sử dụng RAID 5: RAID 5 được dùng cho các giải pháp lưu trữ, được mặc định dùng cho:

 Độ sẵn sàng dữ liệu là quan trọng

 Lưu trữ các dung lượng dữ liệu lớn

 Các ứng dụng với các tác vụ vào ra với các kích cỡ khác nhau

 Cần hiệu năng đọc tốt và hiệu năng ghi vừa phải.

Tổng kết về RAID:

Các mức RAID khác nhau sẽ dẫn đến các vấn đề liên quan về hiệu năng, độ sẵn sàng dữ liệu và các mức toàn vẹn dữ liệu phụ thuộc vào môi trường vào ra. Cần chú ý những vấn đề sau:

 Các mức RAID không có tính chất tối ưu dần lên: Các mức RAID từ 0,1,2,3 … nhưng không có nghĩa là tối ưu thêm về toàn vẹn dữ liệu, hiệu năng, hoặc giá thành. Mỗi mức RAID là độc lập.

 Không phải tất cả các mức RAID đều có tính dư thừa: RAID 0 không có dư thừa dữ liệu, có thể dễ mất dữ liệu hơn so với các đĩa cục bộ, vì khi một đĩa hỏng sẽ kéo theo cả nhóm RAID hỏng và mất toàn bộ dữ liệu.

 Không có các chuẩn cho RAID: Mỗi nhà cung cấp sẽ triển khai theo cách của họ và có thể sử dụng các kỹ thuật khác nhau. Một số nhà cung cấp có thể đầu tư các kỹ thuật riêng(ví dụ như EMC phát triển RAID 7). Các nhà sản xuất thường không vừa lòng với RAID 3 và họ thường tiến hành thay đổi nó. Người dùng sẽ phải sử dụng các công nghệ đóng do các nhà cung cấp phát đưa ra.

 RAID có thể được triển khai tại các vị trí khác nhau trên hệ thống: Trên các thiết bị tủ đĩa, trên các bảng mạch điều khiển Raid, và trên hệ điều hành. Ví dụ RAID 0 trên

Một phần của tài liệu Đảm bảo hiệu năng và độ tin cậy cho hệ thống thư điện tử lưu lượng lớn (Trang 49)