Không may: Không thật sự lắm.
Có, đôi khi không có chủ ý, chủ yếu là hai hoạt động phá hoại trong ZFS: zfs destroy
và zpool create
. Cụ thể là lệnh zpool destroy
Là không phải phá hoại, và trên thực tế là khá dễ dàng đảo ngược nếu bạn chỉ nhận ra sai lầm của mình một cách nhanh chóng; nó chỉ đơn giản là đặt cờ, trong trường hợp đó zpool import -D
là bạn của bạn.
Các lệnh này có tính hủy diệt vì các lý do tương tự, nhưng hơi khác nhau:
zfs destroy
là phá hoại vì nó loại bỏ các tham chiếu đến tập dữ liệu đang bị hủy, vì vậy không có cách nào tìm thấy nó trên đĩa bằng bất kỳ công cụ tiêu chuẩn nào. (Nhưng cũng thấy câu hỏi này .)
zpool create
là phá hoại vì nó ghi đè lên tất cả các überblocks của pool, điều đó có nghĩa là không có cách nào để mã ZFS tìm thấy sự khởi đầu của cấu trúc dữ liệu cây Merkle trên đĩa. Một khi gốc của cây không thể được tìm thấy, phần còn lại của dữ liệu sẽ không thể truy cập được.
Cả hai đều bị làm trầm trọng thêm bởi định dạng trên đĩa phức tạp của ZFS, điều này làm phức tạp thêm bất kỳ nỗ lực phục hồi nào. Với hầu hết các tập tin hệ thống tập tin khác sẽ nói chung là tiếp giáp nhau, hoặc trong một số ít địa điểm khác biệt. Với ZFS, dữ liệu hoàn toàn có thể được lan truyền trên toàn bộ đĩa, không còn lại gì sau một trong hai lệnh trên để chỉ ra phần nào thuộc về nơi nào. Để làm cho vấn đề trở nên tồi tệ hơn, bạn chắc chắn đang tìm kiếm các khối dữ liệu nén và có thể cho những thứ như dữ liệu bị trùng lặp. (Sự trùng lặp không có khả năng trong kịch bản của bạn, nhưng chắc chắn đó là một khả năng trong trường hợp chung.)
Nó có thể có thể tranh thủ một số chuyên gia ZFS trong việc khôi phục dữ liệu của bạn, nhưng các dịch vụ khôi phục dữ liệu thông thường dường như không thể giúp bạn tại thời điểm này và phần mềm khôi phục hệ thống tệp có sẵn thường không hiểu ZFS. Giả sử bạn có thể tìm thấy những người sẵn sàng làm việc với bạn, nó cũng sẽ rất đắt; Tôi đã thấy đề cập đến giá cả bắt đầu trong phạm vi năm chữ số cho các kịch bản tương tự.
Sự lựa chọn tốt nhất của bạn tại thời điểm này có lẽ là khôi phục bản sao lưu dữ liệu gần đây của bạn và tiếp tục với cuộc sống.
Tôi thực sự có một chút bối rối tại sao bạn có thể ghi đè lên nhóm bằng một lệnh giống như lệnh được nêu trong câu hỏi của bạn. Trên hệ thống của tôi, với ZFS Trên Linux 0.6.4, đã xây dựng một kịch bản tương tự, zpool
từ chối create
hoạt động với lỗi "đặc tả vdev không hợp lệ" cho biết thiết bị sao lưu is part of exported pool '...'
. Bạn nên có một lỗi tương tự, trừ khi bạn thông qua rõ ràng -f
để zpool buộc hoạt động, trong trường hợp bạn đang nói với ZFS rằng có, bạn thực sự thực sự thực sự muốn để làm điều này. Mà đặc biệt trong trường hợp ZFS thường là không phải bạn muốn làm gì.
-f
(vâng, vâng, tôi đã làm. Đôi khi tôi không được phép ở gần máy tính.)