У меня нет опыта работы с btrfs, но он рекламирует возможность дублирования файлов.
В моем приложении мне нужно будет дублировать целые деревья каталогов.
Из того, что я узнал, btrfs только дедуплицирует в некоторых пост-сканированиях, а не сразу. cp
Кажется, даже простое использование не вызывает дедупликации (по крайней мере, df
показывает увеличенное использование диска в размере копируемых файлов).
Могу ли я вообще избежать перемещения данных и сказать btrfs
напрямую, чтобы дублировать файл в другом месте, по сути, просто клонируя его метаданные?
По сути, похоже на жесткую ссылку, но с независимыми метаданными (разрешения, мод. Раз, ...).
cp
file-copy
btrfs
deduplication
Удо Г
источник
источник
cp --reflink=always
,cp --reflink=always
, результатом с точки зрения пользователя будут два совершенно независимых файла во всех отношениях. Тот факт, что базовая файловая система абстрагируется от копирования при записи, является лишь деталью реализации. Вы не получаете «жесткую ссылку, но с независимыми метаданными». Насколько мне известно, btrfs пока не выполняет автоматическую дедупликацию. Я думаю, что это план на будущее, но я не уверен в этом.Ответы:
Есть два варианта:
cp --reflink=always
cp --reflink=auto
Второе почти всегда предпочтительнее первого. Использование
auto
означает, что резервное копирование будет выполнено, если файловая система не поддерживает пересылку ссылок (например, ext4 или копирование в общий ресурс NFS). С первым вариантом я почти уверен, что он потерпит неудачу и прекратит копирование.Если вы используете это как часть сценария, который должен быть устойчивым в условиях неидеальных условий,
auto
он послужит вам лучше.источник
eestrada
когда кто-то когда-либо спрашивал меня об этом.