Резервное копирование файлов зашифрованных систем Linux?

Резервное копирование файлов зашифрованных систем Linux?

Я узнал, что такие инструменты, как , clonezillaне могут исключать свободные блоки, когда диск зашифрован, что является огромной проблемой, поскольку резервный диск всегда должен иметьпо меньшей меретого же размера, что и исходный диск - даже если последний содержит большую часть свободного места! Это непрактично и не так должно работать резервное копирование.

Предположим, что у нас стандартная установка Linux со структурой разделов, например:этот(зашифровано, LUKS на LVM). Как создать загрузочную резервную копию на основе файлов?

Идея:Используется cp -aдля копирования всех файлов с исходного диска на резервный диск.

=>Как воспроизвести структуру разделов из терминала? Есть ли встроенные инструменты Linux для этой работы? И будут ли cpкопироваться файлы, которые в данный момент открыты/используются (горячая передача)?

Идея, очевидно, состоит в том, чтобы создать тонкий и изящный скрипт Bash, который в идеале можно было бы запустить непосредственно из любой работающей исходной системы:

- Creating backup -

1.) Mount empty USB flash drive to running source system
2.) Run Bash script (hot transfer of all files and partition structure)
3.) Bootable, file-based backup is created


- Restoring backup -

1.) Mount backup USB flash drive to empty host machine
2.) Boot the backup system
3.) Run Bash script (partitioning of host drive, hot-transfer of all files)


...finished! Reboot, remove backup USB flash drive, enjoy restored system.

Примечание: Если я прав, то полученная резервная копия будетнетбыть зашифрованы. Но это, кажется, необходимый компромисс для использования cpизнутри разблокированной системы и, таким образом, избежания создания этих гигантских побитовых образов/клонов. Плюс, шифрование всегда можно добавить впоследствии.

решение1

Оказывается, чтоrsyncявляется идеальным инструментом выбора. Он поддерживаетполныйигорячийперенос всей файловой системы из работающей системы:

rsync -avxHAX / /dev/[backup_drive]/

Проблема шифрования/дешифрования заключается в следующем.решенопредварительно разблокировав зашифрованный диск:

cryptsetup luksOpen /dev/[source_drive] && rsync -avxHAX / /dev/[backup_drive]/

Осталась задача все воспроизвести.снаружиобласть применения rsync, т.е.вне файловой системы, то есть загрузочный сектор (= первые 512 байт на диске), содержащий загрузчик и таблицы разделов. Для этого можно использовать ddили :ddrescue

cryptsetup luksOpen /dev/[source_drive] && rsync -avxHAX / /dev/[backup_disk]/ && dd if=/dev/[source_drive] of=/dev/[backup_drive] bs=446 count=1

Здесь bs=446используется вместо bs=512в предположении, что резервный диск и разделы будут иметь разный размер, поэтомуопускаятаблица разделов и байты сигнатуры.

Это должно привести кполный,горячепереносимый(из работающей системы),загрузочный,редкий(на основе файлов)Резервное копирование диска Linuxделается с терминала.

Необходимо сделать: зашифровать резервную копию!

Связанный контент