Làm cách nào để di chuyển tệp từ một hệ thống tệp zfs sang hệ thống tệp zfs khác trong cùng một nhóm?


17

Tôi có hai hệ thống tập tin trong cùng một nhóm zfs, /mnt/fs_a/mnt/fs_b. Tôi muốn chuyển khoảng 1TB dữ liệu từ fs_asang fs_b. Nhưng khi tôi:

mv /mnt/fs_a/mythtv_recordings /mnt/fs_b/

tôi ngạc nhiên khi nó bắt đầu sao chép các tập tin theo từng khối. Với thời gian cần thiết để di chuyển một tệp 2 GB, có vẻ như thao tác này sẽ mất nhiều ngày để hoàn thành.

Phải có một cách thông minh hơn và nhanh hơn để làm điều này, phải không?

Câu trả lời:


22

(điều này bắt đầu như một bình luận nhưng đã trở nên quá dài nên bây giờ là một câu trả lời)

Rất tiếc, câu trả lời là không". Không có cách nào nhanh hơn hay thông minh hơn để làm việc này.

Các hệ thống tệp ZFS (mặc dù chúng nằm trên cùng một nhóm) là các hệ thống tệp riêng biệt. Không mvphải bất kỳ công cụ nào khác có thể di chuyển các con trỏ khối hoặc bất cứ thứ gì để các tệp fs_ađang được bật fs_b.

(BTW, nhiều phân vùng được định dạng hoặc khối lượng LVM trên cùng một đĩa hoặc mảng đột kích cũng là các hệ thống tệp riêng biệt và mvphá hủy để sao chép và xóa đối với chúng)

Vấn đề này đã xuất hiện nhiều lần trong nhiều năm (với một số thảo luận về việc tạo ra một công cụ để làm những gì bạn muốn) và theo tôi hiểu, khó khăn lớn khiến nó rơi vào giỏ quá khó là câu hỏi về cách xử lý ảnh chụp nhanh - nếu có ảnh chụp nhanh fs_a, các khối sẽ nằm trong cả hai hệ thống tệp cùng một lúc. Điều tương tự cũng đúng với các tập tin có liên kết cứng.

Tôi đã tự mình sử dụng nó nhiều lần (ví dụ như khi di chuyển các tệp giữa các bộ dữ liệu như bạn đã làm hoặc khi tôi cần chuyển đổi thư mục con sang fs) và vừa học được cách xử lý sự bất tiện này. Nó có thể là một PITA chính.

nếu fs_blà trống hoặc chưa tồn tại và bạn muốn di chuyển toàn bộ nội dung của fs_ađể fs_b(và không chỉ một số hoặc thậm chí hầu hết các file và thư mục), bạn có thể sử dụng zfs renameđể đổi tên fs_ađể fs_b. Tôi nghi ngờ rằng điều này không liên quan đến tình huống của bạn, mặc dù.

Có một vấn đề mở về vấn đề này đối với ZFSOnLinux tại https://github.com/zfsonlinux/zfs/issues/2991

Tôi chưa tìm kiếm nhưng tôi hy vọng rằng OpenZFS ngược dòng và thậm chí cả Sun / Oracle ZFS có thể có các báo cáo lỗi / yêu cầu tính năng tương tự.

BTW, xem thêm /server/584693/freenas-why-isnt-mv-command-instant-within-a-stonz1-volume


3
Cảm ơn đã phản hồi kỹ lưỡng. Tôi đánh giá cao đề xuất đổi tên, nhưng khi bạn nghi ngờ tôi thậm chí còn có nhiều dữ liệu hơn về điều mà tôi không muốn trên b. Ít nhất tôi có thể di chuyển ngay bây giờ và sao chép các tệp qua đĩa đệm để ít nhất loại bỏ việc đập.
Fred Hamilton
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.