ZFS: Gương so với RAID-Z


14

Tôi đang lên kế hoạch xây dựng một máy chủ tệp bằng OpenSolaris và ZFS sẽ cung cấp hai dịch vụ chính - là mục tiêu iSCSI cho các máy ảo XenServer và là máy chủ tệp chung. Phần cứng tôi đang tìm kiếm bao gồm bộ điều khiển SATA 4 cổng 4 lần, ổ đĩa khởi động nhỏ 2x (một trên mỗi bộ điều khiển) và ổ đĩa lớn 4x để lưu trữ. Điều này cho phép một cổng miễn phí trên mỗi bộ điều khiển để nâng cấp mảng xuống đường.

Tôi hơi bối rối là làm thế nào để thiết lập các ổ lưu trữ. Đối với hiệu suất, phản chiếu dường như là vua. Tôi đang gặp khó khăn khi thấy lợi ích của việc sử dụng RAIDZ so với phản chiếu sẽ mang lại lợi ích gì. Với thiết lập này, tôi có thể thấy hai tùy chọn - hai nhóm được nhân đôi trong một sọc hoặc RAIDZ2. Cả hai nên bảo vệ chống lại 2 lỗi ổ đĩa và / hoặc một lỗi bộ điều khiển ... lợi ích duy nhất của RAIDZ2 là bất kỳ 2 ổ đĩa nào cũng có thể bị lỗi. Dung lượng lưu trữ phải là 50% dung lượng trong cả hai trường hợp, nhưng lần đầu tiên sẽ có hiệu suất tốt hơn nhiều, phải không?

Một điều khác tôi đang cố gắng để bao bọc tâm trí của tôi là lợi ích của các mảng được nhân đôi với hơn hai thiết bị. Đối với tính toàn vẹn dữ liệu, nếu có, sẽ là lợi ích của RAIDZ so với máy nhân bản ba chiều? Vì ZFS duy trì tính toàn vẹn của tệp, RAIDZ mang đến điều gì ... không kiểm tra tính toàn vẹn của ZFS có phủ nhận giá trị tương đương của RAIDZ không?

Câu trả lời:


14

Câu trả lời đơn giản là để phản chiếu thứ gì đó gần như không có sức mạnh xử lý - nó chỉ ghi vào đĩa lần thứ hai. Đối với RAID-Z2, bạn phải tính toán một khối chẵn lẻ hoàn toàn mới, mặc dù nhỏ có thể làm hỏng CPU khi bạn phải ghi một lượng lớn dữ liệu nhanh chóng.

Phản chiếu luôn là giải pháp ưa thích cho dữ liệu tốc độ cao, nếu chỉ là lưu trữ số lượng lớn mà không có tốc độ ghi nhanh, RAID-Z2 là một giải pháp thay thế tốt cho phép bất kỳ hai ổ đĩa nào chết khi bạn ám chỉ.

Ưu điểm khác là các nhóm được nhân đôi có thể được mở rộng với nhiều thiết bị được nhân đôi hơn - trong khi không thể mở rộng RAID-Z2 - mặc dù có thể thêm nhiều bộ lưu trữ RAID-Z2 vào nhóm, đó sẽ là hai nhóm lưu trữ RAID-Z2 được ghép nối (trong hiệu ứng) thay vì chia đều giữa tất cả các lưu trữ và sọc.


Nhưng trong ZFS, khối chẵn lẻ của RAIDZ mang lại cho bạn điều gì? Nó có cung cấp bất kỳ tính toàn vẹn dữ liệu bổ sung nào ngoài những gì ZFS đã cung cấp không? Hoặc đơn giản là nó cần thiết cho bất kỳ hai ổ đĩa để chết? Nếu đó là lợi ích duy nhất hơn trong kịch bản ba chiều, thì RAIDZ không có lợi ích gì so với gương, phải không?
John Clayton

1
RAID-Z cho phép một ổ đĩa chết - nếu bạn có 10 ổ đĩa, bạn sẽ nhận được 9 ổ dữ liệu. Với RAID-Z2, bạn có thể có bất kỳ hai ổ đĩa nào chết và có 8 ổ dữ liệu. Với gương, bạn có thể có một nửa số ổ chết, nhưng chỉ một trong hai bộ. Tôi nghi ngờ bạn đã biết điều này rồi, nhưng đây là trường hợp bên lề gồm 4 ổ đĩa cung cấp hai giải pháp cho hai ổ đĩa bị lỗi - chế độ RAID-Z2 và Mirror. Không có phụ cấp toàn vẹn dữ liệu bổ sung "hữu ích" trong một kịch bản bình thường.
dotwaff

Vì vậy, để rõ ràng lợi ích của RAIDZ so với gương là bảo vệ nhiều hơn một chút khỏi các lỗi phần cứng? RAIDZ1 và một bản sao với các ổ X về cơ bản là tương đương?
John Clayton

5
Tính chẵn lẻ của RAID-Z là một siêu bộ kiểm tra tích hợp sẵn của ZFS. Tất cả các tổng kiểm tra là đảm bảo rằng dữ liệu được đọc từ các đĩa là chính xác. Nó được thiết kế để kiểm tra nhanh với ít chi phí. Điều tương đương của RAID-Z mang lại cho bạn là khả năng xây dựng lại dữ liệu bị hỏng trong trường hợp mất ổ đĩa (hoặc 2 cho RAID-Z2). Nhưng các tính toán để tạo dữ liệu chẵn lẻ này tốn nhiều CPU hơn so với tổng kiểm tra khối đơn giản và phải được tính trên toàn bộ dải, ngay cả khi bạn chỉ viết một khối 4KB.
afrazier

4
@ John Clayton: mức độ dư thừa phụ thuộc vào cách bạn định cấu hình bộ nhớ của mình. Bạn có thể tạo một máy nhân bản N-way, nghĩa là dung lượng dữ liệu của bạn là kích thước của một ổ đĩa, nhưng bạn có thể mất các ổ đĩa N-1 mà không mất bất kỳ dữ liệu nào. Ví dụ: nếu bạn có gương 3 chiều, cả 3 ổ đĩa đều chứa cùng một dữ liệu và bạn có thể mất 2 ổ đĩa mà không mất bất kỳ dữ liệu nào. Sự khác biệt là việc thêm các ổ đĩa vào gương N-way làm tăng sự dư thừa (nhưng dung lượng của bạn luôn là kích thước của 1 ổ đĩa), trong khi thêm các ổ đĩa vào raidz2 sẽ tăng dung lượng (nhưng dự phòng của bạn luôn là 2 ổ đĩa).
cướp

18

RAID-Z loại bỏ hầu hết các hình phạt ghi và các vấn đề toàn vẹn dữ liệu mà khối lượng RAID 5/6 phải chịu, với chi phí của một số thời gian CPU. Thông thường, các hệ thống có chu kỳ CPU dự phòng, do đó, dành thời gian CPU để cải thiện hiệu suất IO và tính toàn vẹn dữ liệu là một sự thỏa hiệp tốt so với phản chiếu.

Dưới đây là một lời giải thích chi tiết về RAID-Z có thể trả lời các câu hỏi khác.

Ngoài ra, hãy nhớ rằng RAID là một giải pháp chống lỗi . Bạn không triển khai RAID-Z2 để bảo vệ chống mất dữ liệu - bạn thực hiện sao lưu hoặc sao chép để thực hiện điều đó. Bạn chọn triển khai RAID-Z2 so với RAID-Z hoặc RAID-10 so với RAID-6 so với RAID-5 để giữ cho hệ thống của bạn hoạt động trong trường hợp xảy ra lỗi phần cứng.


1
Gotta đưa ra câu trả lời cho dotwaff kể từ khi anh ấy giúp tôi hiểu sự khác biệt kỹ thuật. Lời khuyên tuyệt vời về mục đích sử dụng mặc dù ... điều đó thực sự khiến tôi dừng lại và suy nghĩ.
John Clayton

1
Một điều quan trọng cần lưu ý là trong khi RAIDZ giải quyết các vấn đề về hình phạt ghi , nó đưa ra các vấn đề về hình phạt đọc do sự gia tăng đồng thời cho mỗi hoạt động đọc
the-wmus
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.