Câu hỏi Chuyển đổi FreeBSD ZFS hai đĩa unmirrored hồ bơi để nhân đôi


Tôi có một bể chứa được gọi là aptly storage với hai đĩa trong đó. Ban đầu, tôi muốn thêm đĩa thứ hai làm gương nhưng sai lầm của ZFS newbie khi sử dụng zpool add storage <device> thay vì zpool attach storage <device>.

Mọi nỗ lực để remove hoặc là detach thiết bị thứ hai từ nhóm không thành công, vì ZFS phàn nàn về việc không có ổ đĩa dự phòng. Sau khi đọc nó, tôi hiểu vấn đề và tại sao lại như vậy. Tuy nhiên, tôi đã không thể tìm thấy một giải pháp làm thế nào để loại bỏ các ổ đĩa để đính kèm lại nó hoặc chỉ đơn giản là chuyển đổi toàn bộ hồ bơi để nhân đôi thay vì sọc. Tôi cũng hơi bối rối vì thực tế dường như không có cách nào để làm điều đó.

Có cách nào để đạt được điều này để phá hủy và tái tạo hồ bơi không? Tôi không muốn mua một ổ 4TB khác và sao chép tất cả dữ liệu đó.


7
2017-07-07 22:19


gốc




Các câu trả lời:


Thật không may, vào thời điểm này, về cơ bản bạn có hai lựa chọn tốt:

  • Phá hủy và tạo lại hồ bơi với cấu hình dự kiến, sau đó khôi phục dữ liệu của bạn từ bản sao phục hồi
  • Nhận thêm hai ổ đĩa (kích thước tối thiểu tương tự như mỗi cái tương ứng bạn đã có) và mở rộng hồ bơi của bạn thành hai cặp nhân đôi thay vì hai đĩa đơn

Sau này có thể được thực hiện tại chỗ, và có tiền thưởng cung cấp cho bạn không gian lưu trữ bổ sung, nhưng yêu cầu bạn phải mua thêm phần cứng (mà bạn đã nói trong câu hỏi mà bạn không muốn làm). Trước đây không thể được thực hiện tại chỗ, nhưng cung cấp cho bạn một cơ hội tốt để kiểm tra chiến lược phục hồi của bạn (bạn làm có một chiến lược phục hồi, Tôi đoán?).

Như bạn đã phát hiện ra, không thể xóa thành phần JBOD trong một nhóm ZFS. Bởi adding hơn là attaching ổ đĩa mới, bạn tạo ra một tình huống JBOD với nhiều đĩa.

nếu bạn làm đi với mở rộng các hồ bơi, tôi đề nghị mạnh mẽ xem xét mở rộng vào raidz2 thay vì hai cặp nhân đôi. Bạn nhận được (về cơ bản) khả năng lưu trữ có thể sử dụng tương tự, nhưng khả năng tồn tại sự thất bại của bất kì hai trong số các ổ đĩa, trái ngược với chỉ một cái mỗi cặp. Bạn có thể tạo ra raidz2 vdev với hai tệp thưa thớt và sau đó xóa các tệp đó trước khi thay thế chúng bằng ổ đĩa bạn đang di chuyển dữ liệu, để di chuyển từ tình trạng hiện tại của đĩa JBOD 2 đĩa sang RAIDZ2 4 đĩa chỉ thêm hai đĩa nữa.


1
2017-07-10 12:40



Về lời khuyên về raidz2: Đúng là bạn có thể sống với sự thất bại của hai đĩa, nhưng thời gian phục hồi của bạn sẽ chậm hơn (tất cả các đĩa phải được đọc hoàn toàn thay vì chỉ có gương bị ảnh hưởng). Trong cửa sổ resilver, hiệu suất của bạn sẽ tồi tệ hơn (đặc biệt là đọc ngẫu nhiên, và điều này trở nên tồi tệ hơn khi bạn mở rộng hồ bơi của bạn), và cuối cùng, mở rộng hồ bơi của bạn bây giờ cần bốn thay vì hai ổ đĩa nếu bạn muốn bố trí đối xứng. Bạn nhận được tất cả những nhược điểm của cuộc đột kích chẵn lẻ không có cải tiến về không gian - tôi sẽ gắn bó với gương. - user121391


Thật không may, phá hủy và tái tạo hồ bơi sẽ là lựa chọn duy nhất của bạn.

Nếu bạn chỉ muốn trích xuất ổ đĩa đơn cụ thể này (vì các lý do khác, như nếu nó có hiệu suất thấp hơn tất cả các ổ đĩa khác), bạn có thể gắn ổ đĩa gương vào vdev rồi tháo ổ đĩa cũ khỏi vdev, do đó "giải nén" các ổ đĩa trong khi rời khỏi hồ bơi nguyên vẹn (trừ thời gian resilver của khóa học). Nhưng trong trường hợp của bạn, điều này không giúp được gì nhiều.

Do đó, tôi sẽ đề nghị mua một ổ đĩa lớn hơn giữ dữ liệu hồ bơi hoàn chỉnh của bạn, nếu không bạn không có sao lưu. ZFS có thể là hệ thống tập tin an toàn nhất có sẵn, nhưng nó không phải là không có lỗi. Một bộ điều khiển chết, chết đồng thời của cả hai ổ đĩa, hỏng nguồn điện, lỗi quản trị, kẻ tấn công lừa đảo hoặc đơn giản là lỗi trong ZFS hoặc hệ thống máy chủ có thể dẫn đến mất dữ liệu một phần hoặc toàn bộ mà không cần sao lưu. RAID không được sao lưu, và không phải là ZFS.

Lưu ý rằng bạn có thể truyền tải tất cả dữ liệu của bạn với ZFS gửi / recv, do đó, ngoài tiền đầu tư và thời gian truyền tải nó là khá đơn giản.


0
2017-07-08 08:56