Một mảng RAID-Z lớn có tệ như một mảng RAID-5 lớn không?


11

Trong một thời gian dài, tôi đã nghe về một ý tưởng tồi tệ như thế nào một mảng RAID-5 lớn (> 5TB?) Đơn giản chỉ vì có nguy cơ cao khiến một ổ đĩa khác bị hỏng.

RAID-Z1 đã quản lý để khắc phục điều này cho một mảng có kích thước bất kỳ (nếu bạn thực sự cần một số xem xét 4x2TB hoặc 5x2TB)? Có lẽ một cách an toàn hơn để sao chép lại dữ liệu không dữ dội trên tất cả các ổ đĩa?

Câu trả lời:


8

Ngay cả khi đưa ra một trong những câu trả lời khác ở đây, cụ thể là ZFS chỉ hoạt động với các khối được sử dụng thực tế và không có không gian trống, vâng, vẫn rất nguy hiểm khi tạo một RAIDZ1 vdev lớn. Hầu hết các nhóm kết thúc ít nhất 30-50% được sử dụng, nhiều người đi đúng với mức tối đa 80% được đề xuất (một số vượt qua nó, tôi khuyên bạn không nên làm điều đó, vì lý do hiệu suất), vì vậy chỉ giao dịch ZFS với các khối được sử dụng không phải là một chiến thắng lớn. Ngoài ra, một số câu trả lời khác làm cho nó có vẻ như là một bài đọc tồi là nguyên nhân gây ra vấn đề. Đây không phải là như vậy. Một chút thối rữa bên trong một khối không phải là thứ sẽ làm bạn khó chịu ở đây, thông thường, đó là một đĩa khác bị hỏng trong khi trình phục hồi từ đĩa đầu tiên bị hỏng vẫn sẽ tiếp tục giết chết bạn .. và trên 3 đĩa TB trong một cuộc đột kích lớn, nó có thể mất vài ngày, thậm chí vài tuần để phục hồi vào một đĩa mới, vì vậy khả năng điều đó xảy ra là không đáng kể.

Khuyến cáo cá nhân của tôi cho khách hàng là không bao giờ sử dụng RAIDZ1 (tương đương RAID5) với các đĩa> 750 GB, để tránh nhiều khó chịu tiềm ẩn. Tôi đã đồng ý với việc họ phá vỡ quy tắc này vì những lý do khác (hệ thống có bản sao lưu ở nơi khác, dữ liệu không quan trọng, v.v.), nhưng thường thì tôi cố hết sức để thúc đẩy RAIDZ2 như một tùy chọn tối thiểu với quy mô lớn đĩa.

Ngoài ra, vì một số lý do, tôi thường khuyên bạn không nên đi quá 8-12 đĩa trong một dải raidz2 hoặc 11-15 đĩa trong một dải raidz3. Bạn nên ở cấp thấp trong các phạm vi đó với các đĩa 3 TB và có thể ổn ở cấp cao của các phạm vi đó trên các đĩa 1 TB. Rằng điều này sẽ giúp bạn tránh xa ý tưởng rằng nhiều đĩa sẽ thất bại hơn trong khi một trình phục hồi đang diễn ra chỉ là một trong những lý do đó, nhưng là một lý do lớn.

Nếu bạn đang tìm kiếm một số quy tắc thông minh có ý nghĩa ngay cả đối với các nhóm SSD nhưng tất cả các nhóm SSD không phải là một điều trong đầu tôi khi tôi viết chúng xuống):

  • Không sử dụng raidz1 ở tất cả các đĩa> 750 GB.
  • Không sử dụng ít hơn 3 hoặc nhiều hơn 7 đĩa trên raidz1.
  • Nếu nghĩ đến việc sử dụng raidz1 vdevs 3 đĩa, hãy nghiêm túc xem xét vdevs 3 chiều thay thế.
  • Không sử dụng ít hơn 6 hoặc nhiều hơn 12 đĩa trên raidz2.
  • Không sử dụng ít hơn 7 hoặc nhiều hơn 15 đĩa trên raidz3.
  • Luôn nhớ rằng không giống như các mảng RAID truyền thống nơi # đĩa tăng IOPS, trong ZFS, đó là # của VDEVS, do đó, việc sử dụng vdevs sọc ngắn sẽ cải thiện tiềm năng IOPS của nhóm.

Với sự thay đổi về kích thước và hiệu suất của đĩa, bạn vẫn sẽ đề xuất quy tắc tương tự chứ? (2014)
Chúa Loh.

Bất kỳ nguồn hoặc động lực cho các quy tắc của ngón tay cái?
Kenny Evitt

Nguồn này là kinh nghiệm của bản thân tôi và đồng nghiệp trong suốt 1000 triển khai ZFS tại Nexenta. Đối với một bản cập nhật - giá trị quy tắc (04/10/15), không có gì thay đổi khiến tôi muốn chỉnh sửa các gạch đầu dòng, mặc dù tôi muốn nói rằng tôi đã viết các quy tắc đó mà không cần đến SSD. Các quy tắc không nhất thiết giống nhau đối với SSD, tùy thuộc vào các yếu tố hoàn cảnh. Với họ, bạn cũng có một số cân nhắc khác, như tắc nghẽn HBA.
Nex7

1
@ Nex7, logic cho điều này trong bài viết trên blog của bạn là gì? "8. RAIDZ - Số lượng đĩa chẵn / lẻ: Hãy thử (và không quá khó) để giữ số lượng đĩa dữ liệu trong một raidz vdev thành một số chẵn"
Costin Gușă

Điều quan trọng là phải nhớ các trường hợp sử dụng. Ở đây trên serverfault, chúng tôi tập trung vào các ứng dụng chuyên nghiệp / kinh doanh để câu trả lời của bạn là đúng. Điều đó nói rằng, đối với những người đang thực hiện cài đặt cho người tiêu dùng (và thậm chí có thể giới hạn các ứng dụng kinh doanh?), Hãy xem xét việc mất một khối từ một tệp duy nhất (có thể là một cặp) từ mảng của bạn như thế nào nếu bạn gặp lỗi trong một xây dựng lại. Không vấn đề gì? Sau đó RAIDZ1 có thể ổn.
Dan Pritts

11

RAID-Z có tệ như R5 không, không. Nó có tốt như R1 hay R10 không, thường là không.

RAID-Z nhận biết các điểm trống trên các ổ đĩa, trong đó R5 thì không. Vì vậy, RAID-Z chỉ phải đọc các khu vực có dữ liệu để khôi phục đĩa bị thiếu. Ngoài ra, dữ liệu không nhất thiết phải sọc trên tất cả các đĩa. Một tệp rất nhỏ có thể nằm trên một đĩa đơn, với tính chẵn lẻ trên một đĩa khác. Do RAID-5 này sẽ phải đọc chính xác nhiều dữ liệu như không gian được sử dụng trên mảng (nếu 1mb được sử dụng trên mảng 5TB, thì việc xây dựng lại chỉ cần đọc 1 mb).

Theo một cách khác, nếu hầu hết một mảng lớn đã đầy, thì hầu hết dữ liệu sẽ cần phải được đọc hết tất cả các đĩa. So với R1 hoặc R10, nơi dữ liệu chỉ cần được rút ra chính xác một đĩa (trên mỗi đĩa bị lỗi; nếu nhiều đĩa chỉ bị lỗi trong trường hợp mảng vẫn có thể phục hồi được).

Điều bạn lo lắng là thực tế là với mọi hoạt động đọc của khu vực, có khả năng bạn sẽ tìm thấy một khu vực không được viết chính xác hoặc không còn có thể đọc được. Đối với một ổ đĩa thông thường hiện nay khoảng 1x10 ^ -16 (không phải tất cả các ổ đĩa đều bằng nhau, vì vậy hãy tìm kiếm thông số kỹ thuật trên các ổ đĩa của bạn để tìm ra xếp hạng của chúng). Điều này là không thường xuyên, nhưng cứ sau 1 1PB thì lại xuất hiện khoảng một lần; đối với mảng 10TB có 1% khả năng mảng của bạn là bánh mì nướng và bạn không biết điều đó cho đến khi bạn cố gắng khôi phục nó.

ZFS cũng giúp giảm thiểu cơ hội này, vì hầu hết các lĩnh vực không thể đọc được đều đáng chú ý trước khi bạn bắt đầu xây dựng lại mảng của mình. Nếu bạn thường xuyên xóa mảng ZFS của mình, thao tác chà sẽ xử lý các lỗi này và khắc phục xung quanh chúng (hoặc cảnh báo bạn để bạn có thể thay thế đĩa nếu đó là cách bạn cuộn). Họ khuyên bạn nên chà đĩa cấp doanh nghiệp khoảng một đến bốn lần một tháng; và ổ đĩa cấp tiêu dùng ít nhất một lần một tuần, hoặc nhiều hơn.


3

Một số ưu điểm của RAID-Z so với RAID-5 truyền thống là nó không yêu cầu phần cứng chuyên dụng và đáng tin cậy hơn bằng cách tránh lỗ ghi RAID-5.

Tuy nhiên, cả RAID-Z và RAID-5 đều không duy trì nhiều hơn một lỗi đĩa.

Nếu bạn muốn tồn tại hai lỗi đĩa với ZFS, bạn có thể sử dụng RAIDZ2 và ba đĩa RAIDZ3 bị lỗi .


1
+1 Ngoài ra, tổng kiểm tra perblock cho phép ZFS, nếu nó tìm thấy tham nhũng trong một mảng, để loại bỏ các tệp bị ảnh hưởng. Hầu hết các HBA R5 sẽ chỉ đơn giản đánh dấu toàn bộ ổ đĩa là bị hỏng hoặc báo cáo lại cho HĐH rằng một khu vực bị hỏng, dù bằng cách nào, HBA không có cách nào biết được đĩa nào sai trong kịch bản tham nhũng.
Chris S

Thảo luận thêm về xử lý lỗi của trình phục hồi của ZFS
CVn
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.