Полное восстановление системы Linux

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

Что я пробовал в прошлом:

  1. Сделать базовый формат / переустановить с установочных дисков Fedora
  2. Убедитесь, что сеть включена
  3. Скопируйте все из резервной копии rsync поверх недавно установленной системы

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

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

13 ответов

Решение

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

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

  • используйте rsync, чтобы скопировать всю вещь с чем-то вроде: "rsync -axvPH --numeric-ids ..."

На восстановлении я делаю это:

  • Загрузите целевой компьютер с помощью sysrescuecd, у меня обычно есть файл sda.layout на USB-накопителе.

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

  • Используйте partprobe (спасибо commenter Mark), чтобы заставить ядро ​​перечитать таблицу разделов.

  • Смонтируйте все разделы в / restore /. Я делаю точки монтирования идентичными при восстановлении, поэтому, если у меня есть /boot, / var в моем источнике, я получаю / restore /boot, / restore / var и т. Д.

  • используйте rsync, чтобы восстановить все.

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

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

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

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

  1. Создать работающую, минимальную систему.
  2. Загрузите рабочую систему как жесткий диск в livecd.
  3. Запакуйте файловую систему и сохраните где-нибудь.
  4. Загрузите целевую систему с помощью livecd.
  5. Подготовьте целевой жесткий диск и установите его.
  6. Разархивируйте на жесткий диск.
  7. Введите chroot.
  8. Настройте загрузчик и другие системные вещи.
  9. Перезагрузись и иди.
  10. Установите новое программное обеспечение / скопируйте пользовательские папки / добавьте другие файлы по мере необходимости.

Возьмите копию компакт-диска восстановления системы, и после первоначальной минимальной установки загрузитесь с нее, смонтируйте и выполните chroot на свой диск, а затем выполните rsync. После его завершения вам может понадобиться запустить update-grub, чтобы загрузить его с правильного загрузочного устройства и ядра.

Попробуйте Clonezilla Live CD. Вы можете загрузить сеанс в реальном времени и создать образ своей машины без необходимости что-либо устанавливать. Затем у вас есть возможность сохранить копию изображения на сетевом ресурсе или на удаленном компьютере и т. Д.

partimage и partclone (части Clonezilla) являются полезными утилитами для создания полных образов системы.

Как вы определили, полные образы системы не обязательно переносимы системой: обычно из-за имен устройств.

Это может быть так же просто, как переустановка GRUB (предпочтительно на отдельном / загрузочном разделе) и MBR после создания образа (например, с LiveCD).

Другой подход заключается в использовании инструментов управления конфигурацией для определения политик, которые применяются к базовому образу (например, базовые блоки Vagrant); и отдельные резервные копии данных в блочное и / или объектное хранилище (EBS / S3, Openstack Block Storage / Openstack Object Storage)

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

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

Partimage может помочь с этим

Поскольку вы говорите, что "оборудование будет другим", SystemImager может оказаться очень полезным.

Это всего лишь набор сценариев-оболочек для PXE и ​​Rsync. Поэтому создаваемая им "резервная копия" - это просто полная структура каталогов вашего резервного сервера Linux. Вы можете "CD" в этот каталог и изменить вещи вокруг, как вы кормите. (SystemImager самостоятельно управляет изменением настроек сети при выталкивании изображения.)

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

Редактировать: Вы можете взглянуть на скрипт SI, который создает разделы / логические тома, и изменить его в соответствии с размером диска целевых машин. Вы также можете добавлять / удалять модули ядра.

Мне очень повезло с Mondo Rescue. В основном он создает резервные копии всех ваших файлов и разделов на загрузочном компакт-диске для последующего использования. Он может обрабатывать изменения в разделах и дисках.

http://www.mondorescue.org/

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

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

обработки изображений

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

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

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

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

/ home - все личные настройки пользователя, документы и файлы
/etc - конфигурации
/opt - специальное программное обеспечение не устанавливается через менеджер пакетов
/usr/local - специальное программное обеспечение не устанавливается через менеджер пакетов
/var - логи и тому подобное

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

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

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

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

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

Если вы можете уточнить, каково ваше окончательное намерение, я могу предоставить более подробное решение.

  • Самый безопасный способ - клонировать целые диски или, по крайней мере, соответствующие разделы и восстанавливать их с помощью Live CD.

  • Другой более экономичный способ - использовать dump (xfsdump для XFS), но в этом случае вам придется заново создавать (форматировать) разделы вручную. Не забудьте создать их с одинаковыми параметрами, особенно с UUID и LABEL.

  • Вы также можете использовать tar с --xattrsпараметр для сохранения расширенных атрибутов каждого файла.

Другие вопросы по тегам