Tăng độ tin cậy bằng cách phân vùng đĩa có kích thước khác nhau?


8

Tôi hiểu ZFS sẽ thích tất cả các đĩa có cùng kích thước. Tuy nhiên, trong trường hợp tôi có hai đĩa có kích thước khác nhau (1TB và 1,5TB), tôi muốn có một số dự phòng nhất định, nhưng không phản chiếu. Vì vậy, tôi cắt hai đĩa thành 5 phân vùng, với mỗi phân vùng khoảng 500 GB và tạo ra một nhóm "raidz" ... zfs vui vẻ bắt buộc. Liệu nó thiết lập thực sự làm tăng độ tin cậy? Ý nghĩ là nếu một đĩa không bị hỏng hoàn toàn và chỉ một phần của nó bị lỗi, tôi vẫn có thể truy cập dữ liệu?


5
Điều này thêm không có độ tin cậy và làm giảm hiệu suất.
Michael Hampton

1
Hầu hết các câu trả lời / nhận xét tôi nhận được, không đi sâu hơn đủ để lý do tại sao. Đơn giản "chống lại thực tiễn tốt nhất" hoặc "các đĩa bằng nhau chỉ có ý nghĩa chung" thực sự không có ý nghĩa nhiều đối với tôi. Rõ ràng, với những đĩa đặc biệt mà tôi có, tôi sẽ không theo đuổi thứ tốt nhất về độ tin cậy và hiệu suất. Tôi đang hỏi những gì có thể được thực hiện cho những gì tôi có. Ngoài ra, mọi thứ thay đổi: trong cuốn sách "Master FreeBSD ZFS" ... các tác giả đã nói rõ ràng trong thời đại cũ / năng lượng mặt trời, việc cung cấp toàn bộ đĩa được coi là rất quan trọng, bây giờ thì không. Cung cấp dựa trên phân vùng là tốt hoặc thậm chí được khuyến khích.
python52

Đặc biệt đối với sự dư thừa dựa trên tính chẵn lẻ, không có yêu cầu tuyệt đối về kích thước bằng nhau (tôi mơ hồ nhớ cuốn sách zfs cũng cho biết cùng một ổ đĩa dung lượng từ các nhà cung cấp khác nhau có kích thước khác nhau). Tùy thuộc vào cách thuật toán vị trí dữ liệu ZFS chọn xử lý điều đó để cân bằng việc trải đều các bit chẵn lẻ và cân bằng hiệu suất.
python52

@ python152 Nó luôn phụ thuộc vào việc bạn có thể sống với nhược điểm hay không (ZFS thực sự khá linh hoạt, thực tiễn tốt nhất là các khuyến nghị, không phải là quy tắc). Nếu bạn có thể chấp nhận thời gian chết và tự tin trong quản lý phân vùng, việc thay thế các đĩa bị lỗi một phần không quan trọng, chẳng hạn. Tôi vẫn sẽ cảnh giác với lỗ ghi RAID5, tồn tại bất kể phần cứng sao lưu của bạn là đĩa, phân vùng hay thậm chí là tệp.
121391

Câu trả lời:


3

Ý nghĩ là nếu một đĩa không bị hỏng hoàn toàn và chỉ một phần của nó bị lỗi, tôi vẫn có thể truy cập dữ liệu?

Về lý thuyết, suy nghĩ này là chính xác. Miễn là bạn gặp lỗi trên một thiết bị của RAIDZ1 vdev, ZFS có thể và sẽ thông báo cho bạn và sửa lỗi, giả sử các thiết bị khác không có lỗi.

Những gì có thể khác nhau trong thực tế là một số điều:

  • Lỗi có thể trải rộng trên các phân vùng và do đó hai hoặc nhiều thiết bị sẽ bị ảnh hưởng, điều này có thể dẫn đến lỗi không thể phục hồi hoặc thậm chí mất toàn bộ nhóm (tùy thuộc vào vị trí và số lượng lỗi). Bạn có thể sử dụng RAIDZ2 hoặc Z3 để giảm thiểu điều này, nhưng vấn đề luôn nằm ở đó.
  • Trong khi khôi phục phân vùng, đĩa cần đọc (2 lần) và ghi (1 lần) vào cùng một đĩa đồng thời và ngẫu nhiên. Trừ khi bạn sử dụng Solaris 11.3 với khả năng phục hồi tuần tự, điều này sẽ rất rất chậm. Cho đến khi bạn kết thúc quá trình khôi phục, bạn dễ bị lỗi trên các phân vùng khác. Nếu thời gian phục hồi của bạn lâu hơn, cơ hội gặp phải một URE bổ sung sẽ tăng lên. Nó cũng đặt tải bổ sung trên ổ đĩa, làm tăng khả năng thất bại ổ đĩa hoàn toàn.
  • Hãy tưởng tượng phân vùng thứ 3 của bạn (cái cuối cùng trên đĩa 1,5TB) hiển thị đủ lỗi để làm giảm nhóm và gọi thay thế. Nếu bạn không thể thêm đĩa khác, bạn không thể thay thế mà không tắt / xuất và thậm chí sau đó nó phức tạp hơn bình thường.

Dựa trên những điểm đó, tôi khuyên bạn không nên làm điều này nếu độ tin cậy là mục tiêu chính của bạn. Giả sử một tình huống phần cứng cố định, tôi sẽ làm một trong những điều sau đây:

  1. Sử dụng gương và mất 500GB, nhưng có được thiết lập đơn giản với khả năng mở rộng dễ dàng trong tương lai
  2. Sử dụng hai nhóm riêng biệt và copies = 2nếu bạn muốn một số khả năng phục hồi đối với các lỗi nhỏ hơn (toàn bộ lỗi đĩa sẽ chỉ giết 2/5 hoặc 3/5 dữ liệu của bạn so với thiết lập của bạn)
  3. Sử dụng các hệ thống tệp khác ngoài ZFS nếu bạn cũng muốn có bánh của mình và ăn nó

5

Những gì bạn đang mô tả là một chút khó khăn.

ZFS muốn các đĩa đầy đủ có kích thước và khả năng như nhau. Điều này rất quan trọng vì nhiều lý do, nhưng cũng chỉ có ý nghĩa chung.

Tất cả những gì bạn sẽ làm trong tình huống bạn vạch ra là thêm sự phức tạp cho môi trường và tăng rủi ro của bạn.


1
Chưa kể giảm hiệu suất.
Michael Hampton

@MichaelHampton Thế nào?
con mèo

2
@cat Vì ZFS nghĩ rằng bạn có năm con quay, khi bạn thực sự có hai con quay.
Michael Hampton

4

Hãy đặt nó theo cách này:

  • Nếu bạn có 1 TB dữ liệu trên đĩa một, bạn có thể sao chép nó vào đĩa hai và bạn có thể đủ khả năng để mất một trong hai đĩa.

  • Nếu bạn có 1,5 TB dữ liệu trên đĩa hai, bạn chỉ có thể sao chép 1 TB dữ liệu đầu tiên vào đĩa một. Trong trường hợp này, nếu đĩa hai không thành công, bạn SILL mất dữ liệu.

ZFS rất có khả năng nhưng theo nguyên tắc chung, theo hai điểm trên, các thiết lập đĩa hỗn hợp là ngớ ngẩn và không siêu hữu ích. Nếu bạn quan tâm đến độ tin cậy và dự phòng, giả vờ đĩa thứ hai cũng chỉ có 1TB.


4
Tôi đang đưa ra nhận xét này vì tôi không cảm thấy nó thực sự phù hợp với "câu trả lời" như vậy, nhưng nếu bạn thực sự muốn sử dụng tất cả dung lượng trên đĩa của mình, tôi sẽ thiết lập gương 1TB và sau đó sử dụng 500GB cuối cùng như một ổ đĩa thông thường, không sao chép cho không gian đầu và các tệp tạm thời mà tôi không thực sự quan tâm (chẳng hạn như thư mục tải xuống trình duyệt của tôi - thật tuyệt khi có những thứ cũ được lưu trong đó, nhưng thực sự không có gì bỏ lỡ nếu tôi mất nó).
Benny Mackney
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.