Можно ли дословно сделать резервную копию раздела btrfs (включая все общие структуры, которые экономят место, помечая деревья моментальных снимков как COW) на другой? Например, я хотел бы сделать резервную копию своего корневого раздела, который имеет несколько подтомов btrfs (снимки самого /).
Я могу думать только о том, чтобы использовать инструмент для копирования блоков, например dd
но это неэффективно, поскольку мой раздел заполнен только на 20%, и я намерен регулярно создавать его резервные копии. Я уже сделал резервную копию всего инкрементно, используя rsync
, так что это не способ решения другой проблемы. Мне просто нужно немного клонировать мой раздел btrfs без использования такого инструмента, как dd
.
Я знаю, например, что ext3 предоставляет утилиту дампа и восстановления. Это то, что я ищу.
ОБНОВИТЬ
Вот обновление, чтобы прояснить тот факт, что я хочу иметь доступ к файлам в хранилище резервных копий так же, как и на живом диске (т.е. я не хочу хранить файлы дампа в хранилище резервных копий).
партклон это инструмент, который вы ищете.
dd
он просматривает карту размещения файловых систем (например, таблицы FAT и exFAT, карты экстентов BTRFS и т. д.) и клонирует только используемые блоки.В зависимости от вашей схемы использования:
-b
(длинный: --dev-to-dev
), если и исходное, и резервное целевое черное устройство видны на одной машине (в основном, если оба диска подключены к одному компьютеру).-c
и -r
(длинный: --clone
и --restore
), чтобы сначала клонировать в собственный формат образа partclone на исходной машине, а затем восстановить из образа на резервной машине.Совершенно другой способ справиться с проблемой - использовать btrfs send
и btrfs receive
механизм.
Так что собственный механизм btrfs не является сектор идеальная копия (в отличие от партклона), но это степень идеальная копия (намного лучше, чем rsynv -aSHAX
который обрабатывает только файлы с жесткой связью).
Еще не пробовал, но btrfs-image
похоже, решает эту проблему:
https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-image
Обновить: Не используйте это как резервную копию. Спасибо за комментарий.
Я оставляю это открытым и не буду удалять, чтобы другие тоже могли извлечь из этого урок.
Подключите выход dd
через что-то вроде bzip2
или ваша другая любимая программа сжатия, которая будет читать со стандартного ввода. Я сделал это на диске емкостью 500 ГБ, который имел относительно небольшую установку и в итоге получил файл размером 8 ГБ.
просто fyi ext2 / 3/4 dump не делает то, что вы хотите сделать ... только fs, способные делать это, о которых я знаю, это ntfs (с использованием ntfs-3g) и zfs
хотя вы могли бы сделать это с помощью lvm и экспериментальной тонкой подготовки ...
Изменить: вернулся к этому несколько лет спустя, осознав, что вы можете сделать это с любой файловой системой, используя squashfs ...
Думаю, такого инструмента (пока еще банкомата) нет.