6

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

Меня интересует не просто резервное копирование данных, а именно то, как сделать резервную копию всего, всей операционной системы Linux со всеми конфигурациями и т.д.

Другими словами, если бы у меня был второй компьютер с точно таким же оборудованием, как я мог бы повторить установку и все данные первого без необходимости установки операционной системы, настройки и так далее?

Я сделал полную копию с помощью rsync, чтобы ее можно было обновить. Теперь, если что-то случится снова, как я могу восстановить это? Я также сохранил MBR с помощью dd.

3 ответа3

4

Есть несколько способов сделать это, если вы хотите получить образ вашей полной установки и иметь в качестве места назначения дополнительный жесткий диск (или сетевое расположение), то при условии, что ваша установка находится в /dev /sda (в этом примере загрузка может быть /dev /sda1, swap - это /dev /sda2, root - /dev /sda3), а ваш дополнительный жесткий диск или сетевое расположение смонтировано в /mnt /backup

dd if=/dev/sda1 | bzip2 -9 > /mnt/backup/boot-image.bz2
dd if=/dev/sda3 | bzip2 -9 > /mnt/backup/root-image.bz2
dd if=/dev/sda count=512 > /mnt/backup/sda.mbr

Вы заметите, что своп пропущен.

Чтобы восстановить образ, вы должны загрузиться с использованием livecd или подобного, смонтировать расположение резервной копии и запустить:

# caution this will erase /dev/sda
dd if=/mnt/backup/sda.mbr of=/dev/sda

На этом этапе раздел /dev /sda, таблица должна быть восстановлена и видима при запуске:

fdisk -l

Таким образом, вы можете восстановить с помощью:

bzcat /mnt/backup/boot-image.bz2 | dd of=/dev/sda1
bzcat /mnt/backup/root-image.bz2 | dd of=/dev/sda3
mkswap /dev/sda2

Извлеките загрузочный носитель, перезагрузитесь, и ваша система будет восстановлена

Тем не менее, часто нежелательно создавать образы большой файловой системы, потому что мусор в свободном пространстве будет включен, я рекомендую вам пропустить шаги для sda3 выше и вместо этого использовать резервное копирование:

cd /; tar -cjf /mnt/backup/root.tar.bz2 / -X /tmp/exclude.txt

Очевидно, что сначала нужно создать /tmp/exclude.txt, в котором должны быть перечислены местоположения, которые следует исключить из резервной копии, например:

/dev/*
/proc/*
/sys/*
/tmp/*
/mnt/*

Затем восстановить с вашего LiveCD или чего-либо еще:

mkfs.ext3 -L root /dev/sda3
mkdir /mnt/restore; mount /dev/sda3 /mnt/restore; cd /mnt/restore
tar -xjvpf /mnt/backup/root.tar.bz2 

Или используя rsync, в этом случае просто создайте файловую систему и смонтируйте ее, как описано выше, а затем rsync верните содержимое.

0

Ваш пост немного сбивает с толку, потому что вы спрашиваете, как это сделать, но, очевидно, хотите использовать rsync. Вместо этого я бы рекомендовал приобрести внешний жесткий диск соответствующего размера, а затем клонировать системный диск на этот жесткий диск. Это самый быстрый способ, которым я знаю, чтобы восстановить полную систему.

-1

Поскольку вы упоминаете, что хотите сделать резервную копию всего диска, лучшим решением будет использование дистрибутива клонирования live CD.

Это позволит вам буквально скопировать каждый сектор и раздел, либо на другой диск, либо в файл образа.

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

Вы также можете выбрать восстановление только определенных разделов.

Вы не упомянули свою операционную систему, поэтому я добавлю ZFS (не продукт, это файловая система). ZFS позволяет создавать, передавать и восстанавливать моментальные снимки во время работы ОС. У вас может быть несколько снимков и даже версий, причем только изменения занимают пропускную способность и хранилище, а не весь диск при каждом снимке. Опять же, в зависимости от вашей операционной системы, ваш корневой раздел может быть установлен в пуле ZFS.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .