Сказка о птице фениксе.

Очень часто пользователи и системные администраторы Linux считают, что счастье может исходить только от больших вендоров типа RedHat, SuSE или Ubuntu. В связи с этим хочу поведать о приятных мелочах имеющихся в дистрибутиве от производителя не такого большого масштаба.

В этот раз речь пойдёт о лёгком и безболезненном восстановленнии системы из праха. Возьмём для примера последнюю бету версию ALT Linux 5.0 Office Server и установим его на какой-нибудь компьютер.

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

Сразу после этого шага мы неожиданно оказываемся на развилке: продолжать установку новой системы или восстановить её из резервной копии. Интересно, неожиданно, непонятно, но поскольку восстанавливать нам пока нечего, то просто продолжим процесс установки.

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

Не буду останавливаться подробно на самом центре управления. Нас интересует модуль настройки под названием "Восстановление системы".

В этом диалоге включается/выключается служба создания резервных копий, отображается самая важная информация, а также производится восстановление отдельных файлов и каталогов. Имеются также две кнопки ведущие в дополнительные диалоги: выбор диска и более детальное управление процессом резервного копирования.

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

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

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

Не стоит беспокоится о том смонтирован ли раздел в системе постоянно (есть запись в /etc/fstab) или нет. Модуль сам позаботится об этом. Если раздел не прописан в /etc/fstab, то он там будет прописан автоматически и при последующих перезагрузках системы всё снова окажется на своих местах. В корне выбранного раздела будет создана папка backup, в ней будут храниться файлы с резервными копиями. Если на диске уже были резервные копии, то при подключении его они удалены не будут, но затрутся со временем. Обратите внимание: при смене диска полностью теряется история резервных копий во внутренней базе данных сервера.

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

Перейдём в раздел дополнительных настроек резервного копирования. Здесь можно увидеть когда и с каким результатом создавались резервные копии, запустить процесс резервного копирования вне расписания или наоборот экстренно остановить этот процесс. Также настраивается список файлов для резервного копирования, а точнее список каталогов которые не надо копировать. Чем меньше копируется данных - тем меньше расход места на диске с архивом, но тем меньше шансов восстановить всю систему целиком.

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

Пусть система настроена и работает, каждый день создаются резервные копии всей системы, вы счастливы и беззаботны как вдруг ... вы убиваете всю систему неловким вводом команды типа "rm -rf -- /etc". Всё пропало? Нет!

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

Инсталлятор рыскает по доступным дискам, находит резервную копию на заботливо оставленном разделе, восстанавливает внутреннюю базу данных bacula и предлагает нам выбрать дату на которую будем восстанавливать систему:

Далее вместо установки пакетов наблюдаем восстановление данных...

Больше вопросов по ходу восстановления системы не задаётся, но это не значит, что всё так просто. На самом деле в установленной системе будет автоматически приведён в соответствие с действительностью файл /etc/fstab (иначе она просто не загрузится), а также будет переделан заново файл initrd. Последнее означает, что восстанавливать систему можно на другом оборудовании. Если у вас не просто был удалён каталог /etc, а целиком сломался компьютер, то на новом можно не ставить новую систему, а попытаться по максимуму восстановить то, что было до этого.

В дополнение хочется добавить, что система резервного копирования bacula, которая лежит в основе описываемого модуля, имеет очень развитые средства восстановления в чрезвычайных ситуациях. Поэтому если не сработала автоматика не отчаивайтесь. В комплекте есть утилиты утилиты bls, bextract и bscan, c помощью которых опытный системный администратор восстановит систему даже в самом казалось бы безнадёжном случае.

Через некоторое время процесс восстановления завершается, заново устанавливаем загрузчик и собственно всё готово.

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