Linux

Выполнение полного восстановления системы linux

Я знаком с использованием rsync для резервного копирования различных файлов из моей системы, но каков наилучший способ полного восстановления машины?

Я пробовал следующее:

  1. Выполнение базового форматирования/переустановка с установочных дисков Fedora.

  2. Убедиться, что сетевое подключение включено.

  3. Скопировать все из резервной копии rsync поверх только что установленной системы.

Этот способ вроде как работает, но я не думаю, что каждый пакет, который был установлен, работает на 100% после этого.

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

Ответ 1

Вот что я сделал (предполагается, что диск один, по адресу /dev/sda):

  1. используйте dd для резервного копирования MBR и таблицы разделов: «dd bs=512 count=1 if=/dev/sda of=/backups/sda.layout»;

  2. используйте rsync для копирования всего этого с помощью чего-то вроде: «rsync -axvPH --numeric-ids ...».

При восстановлении я делаю следующее:

  1. загружаю целевую машину с помощью sysrescuecd, обычно файл «sda.layout» находится на USB-накопителе;

  2. восстанавливаю MBR/таблицу разделов с помощью dd: «dd bs=512 count=1 if=/path/to/sda.layout of=/dev/sda»;

  3. использую partprobe, чтобы заставить ядро перечитать таблицу разделов;

  4. монтирую все различные разделы под /restore/. Я делаю точки монтирования одинаковыми при восстановлении, поэтому если у меня есть /boot, /var на исходном диске, то в итоге у меня будет /restore/boot, /restore/var и т. д.;

  5. использую rsync для восстановления всей системы.

Ответ 2

Я всегда считал, что способ установки новой системы (из резервной копии или иным образом) в Gentoo является лучшим из-за своей простоты. Выполните следующие шаги:

  1. Создайте рабочую минимальную систему.

  2. Загрузите рабочую систему как жесткий диск в livecd.

  3. Разархивируйте файловую систему и сохраните где-нибудь.

  4. Загрузите целевую систему с помощью livecd.

  5. Подготовьте целевой жесткий диск и смонтируйте его.

  6. Разархивируйте смонтированный жесткий диск.

  7. Войдите в chroot.

  8. Настройте загрузчик и другие системно-зависимые вещи.

  9. Перезагрузитесь и работайте.

  10. Установите новое программное обеспечение/скопируйте пользовательские папки/добавьте другие файлы по мере необходимости.

Ответ 3

Ваша процедура может вызвать множество проблем, и ее следует избегать.

Существует два основных рекомендуемых способа, а также третий, если вы пытаетесь создать среду разработки.

Создание образа

Если аппаратное обеспечение, на котором вы будете восстанавливать систему, будет таким же или достаточно похожим, используйте инструмент создания образа диска для создания копии всего жесткого диска или массива дисков. Когда вы захотите выполнить восстановление, просто повторно создайте образ на соответствующих машинах с помощью этого образа. Если вы создаете образ для нескольких машин, имейте в виду, что вам нужно будет обновить все специфические для машины настройки на других устройствах (имя хоста, статический IP-адрес и т. д.), чтобы они не конфликтовали друг с другом.

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

Резервное копирование конфигурации/домашнего каталога

На основной машине регулярно создавайте резервные копии (любым удобным для вас способом) следующих каталогов (или других), которые вам необходимы:

  1. /home все личные настройки, документы и файлы пользователя;

  2. /etc конфигурации;

  3. /opt специальное программное обеспечение, не установленное с помощью менеджера пакетов;

  4. /usr/local специальное программное обеспечение, не установленное с помощью менеджера пакетов;

  5. /var журналы и т. п.

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

Виртуальные машины с моментальными снимками

Создайте виртуальную машину в VMWare (или любой другой программе, которую вы предпочитаете). Когда она будет настроена так, как вы хотите, создайте моментальный снимок. Затем этот снимок можно легко восстановить на любом количестве новых или существующих виртуальных машин.

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

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

Ответ 4

Я никогда не клонирую системы полностью. Вы никогда не знаете, что может измениться, а клонированный образ вашей системы уже устарел в тот момент, когда произошло одно изменение. Лучший способ сделать это установить процедуру, позволяющую создавать функционально идентичные системы. Одним из вариантов является Kickstart, AutoYaST или аналогичные инструменты. Храните актуальные резервные копии вашей конфигурации, а в идеале используйте систему управления конфигурацией, такую как Bcfg2, Puppet или CFEngine, для настройки всего, вместо того чтобы делать это вручную. Тогда, когда вам понадобится создать новую систему, похожую на другую, или воссоздать существующую систему, это будет простая и четко определенная процедура.

Схожие статьи

Установка Linux и Ubuntu на Mac: пошаговая инструкция
Linux

Установка Linux и Ubuntu на Mac: пошаговая инструкция

Linux

Как лучше всего послать сигнал всем членам группы процессов

Linux

Как заставить BIND и Microsoft DNS хорошо работать вместе?

Linux

Поиск файла по содержимому в Linux. Поиск текста в файлах Linux