Як перемістити файли з однієї файлової системи zfs до іншої файлової системи zfs в одному пулі?


17

У мене є дві файлові системи в одному пулі zfs, /mnt/fs_aі /mnt/fs_b. Я хочу перемістити близько 1 ТБ даних з fs_aна fs_b. Але коли я:

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

на мій подив, він починає копіювати файли по-блоку. Зважаючи на час, необхідний для переміщення файлу 2 Гб, схоже, що ця операція потребує днів масового обмолоту, щоб закінчити.

Має бути набагато розумніший і швидший спосіб зробити це, правда?

Відповіді:


22

(це почалося як коментар, але стало занадто довгим, тому зараз відповідь)

На жаль, відповідь - «Ні». Немає швидшого чи розумнішого способу зробити це.

Файлові системи ZFS (навіть якщо вони знаходяться в одному пулі) - це окремі файлові системи. Ні один, mvні будь-який інший інструмент не можуть просто переміщувати блок-покажчики чи будь-що інше, щоб fs_aтепер увімкнути файли fs_b.

(BTW, декілька форматованих розділів або томів LVM на одному диску або рейдовому масиві - це також окрема файлова система і mvпередається для копіювання та видалення для них також)

Це питання виникало декілька разів протягом багатьох років (з деякими розмовами про створення інструменту робити те, що ви хочете), і, як я розумію, основна складність, яка вкладає його в занадто жорсткий кошик, - це питання, як обробляти знімки. - якщо є знімки fs_a, блоки будуть в обох файлових системах одночасно. Те саме стосується файлів, які мають жорсткі посилання.

Я сам неодноразово натрапляв на нього (наприклад, коли переміщував файли між наборами даних, як ти, або коли мені потрібно конвертувати підкаталог у fs), і щойно навчився миритися з незручностями. Це може бути головним ПДФА.

якщо fs_bпорожньо або ще не існує , і ви хочете , щоб перемістити всі вміст fs_aдо fs_b(а не тільки деякі або навіть більшості файлів і каталогів) , які можна використовувати zfs renameдля перейменування fs_aв fs_b. Я підозрюю, що це не стосується вашої ситуації.

Про це для ZFSOnLinux відкрите питання на веб-сторінці https://github.com/zfsonlinux/zfs/isissue/2991

Я не шукав, але сподіваюся, що в OpenZFS і навіть Sun / Oracle ZFS, ймовірно, є подібні звіти про помилки / функції-запити.

BTW, див. Також /server/584693/freenas-why-isnt-mv-command-instant-within-a-raidz1-volume


3
Дякую за ретельну відповідь. Я ціную пропозицію про перейменування, але, як ви підозрюєте, у мене є ще більше даних про те, що я не хочу на b. Принаймні, я можу зараз перейти і скопіювати файли через буферний диск, щоб принаймні усунути обмолот.
Фред Гамільтон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.