Восстановление линукса с бэкапа

Бэкап Linux и восстановление его на другом железе

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

На прошлой неделе мы настраивали FreePBX под debian 7.8, нанимали фрилансера. В процессе настройки оказалось, что сервер (да, я так называю обычный PC) не хочет грузится с HDD при подключенных USB 3G модемах, которые мы используем для звонков на мобильные, колупание BIOSа не помогло. Непорядок. Решил, что нужно перенести его на другую железяку. Так появилось сразу две связанные задачи:

  • сделать бэкап сервера;
  • восстановить бэкап на другом железе.

Гугление не дало внятных ответов, как это сделать, пришлось собирать информацию кусками и пробовать. Всякие acronis’ы отбросил сразу, ибо не интересно.

Опыт общения с linux-системами у меня небольшой: настройка VPN сервера на open-vpn, ftp-сервера и еще пара мелочей. Сам себя я характеризую как человека умеющего читать маны и править конфиги 🙂

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

Начинаем копать теорию:

Второй способ требует наличия внешнего жесткого диска объемом не меньше раздела, который архивируем. Да и что с ним потом делать, непонятно, хранить на полочке? Остановился на tar, чуть сложнее в реализации, нужно будет создать MBR, но время создания/восстановления архива существенно меньше, хранить бэкап проще, полтора гига можно закинуть в облако и скачать, когда будет нужно. Записывать его можно на ту же live-флэшку, с которой буду грузиться.

Итак, план действия:

1. Создание бэкапа

Грузимся с live-флэшки, у меня это debian-live-7.8.0-amd64-standard.

Переключаемся на root:

Монтируем раздел, который будем архивировать, у меня это sda1, чтобы случайно не наломать дров, монтируем только для чтения. Посмотреть все свои разделы можно при помощи команд ls /dev | grep sd или df -l

Наша флэшка уже примонтирована, но в режиме только чтения, нужно перемонтировать для чтения-записи, чтобы писать туда бэкап.

Все готово для создания архива

Здесь у нас параметры: c — создать архив, v — выводить информацию о процессе, z — использовать сжатие gzip, p — сохраняем данные о владельцах и правах доступа, f — пишем архив в файл, путь к файлу, —exclude — исключаем из архива каталог (я исключил каталоги с записями разговоров и каталог с бэкапами FreePBX), /mnt/ — каталог, который архивируем.

Ждем… у меня вся подготовка и создание архива заняли 10 минут. Будь флэшка быстрее, уложился бы в 7-8 минут.

Складываем архив в надежное место за пределами офиса.

Восстановление бэкапа на другом железе

2. Размечаем диск, создаем файловую систему

Грузимся с live-флэшки, у меня все та же debian-live-7.8.0.

Переключаемся на root:

Размечаем диск. Мне понравилась утилита с псевдографическим интерфейсом cfdisk. Там все просто и понятно.

Удаляем все имеющиеся разделы. Я создал два новых раздела, один на 490 Gb под / (sda1) и 10 Gb под swap (sda2) в конце диска, т.к. он практически не будет задействован. Проверим типы разделов. Который под систему должен иметь тип 83 Linux, второй — 82 Linux swap / Solaris. Помечаем системный раздел загрузочным (bootable), сохраняем изменения и выходим.

Читайте также:  Что будет если windows заблокирован разблокируйте диск

Cоздаем файловую систему на первом разделе.

3. Распаковываем архив.

Монтируем отформатированный раздел

Распаковываем архив прямо с флэшки

Параметр —same-owner — сохраняет владельцев у распаковываемых файлов, x — извлекаем из архива, v — выводить информацию о процессе, p — сохраняем права доступа, f — указываем файл, который распаковываем, C — распаковываем в категорию.

4. Создаем MBR на новом диске.

Чтобы корректно создать загрузочную запись, монтируем рабочие каталоги к нашему будущему root-каталогу, у меня это /mnt. Каталоги /dev и /proc сейчас используются live-системой, используем параметр bind, чтобы они были доступны сразу в двух местах:

Переключаемся на новую систему используя chroot:

Делаем swap-раздел для новой системы:

Подключаем его же:

Чтобы grub работал, нужно указать ему правильные UUID разделов в fstab, сейчас там прописаны разделы предыдущей системы:

Открываем второй терминал (Alt+F2) под root:

И видим текущие UUID разделов.

Вручную переписываем их в fstab переключаясь между Alt+F1 и Alt+F2. Да, муторно, но попытки копировать занимали у меня больше времени, чем переписывание. Сохраняем fstab.

Устанавливаем grub2. У меня один физический диск, поэтому ставим его на sda:

На чистый диск должно встать без ошибок. Обновляем информацию из fstab:

Возвращаемся в Live-систему:

Размонтируем все каталоги:

Если вылазят процессы, которые используют эти каталоги, убиваем их используя fuser.

Все, поехали. Грузимся с жесткого диска:

Здесь статья должна была закончиться, но у меня возникли проблемы с подключением к интернету. Сервер видит сеть, видит компьютеры в ней, но в интернет не ходит… а это как бы важно для телефонии.

5. Тестирование и устранение неполадок.

Показывет интерфейсы eth1 и lo, гугление сказало, что gateway можно прописать только подключению eth0, остальные рассчитаны только на работу внутри сети.

Похоже, отсутствие eth0 вызвано способом переноса системы. Находим файл, который отвечает за нумерацию интерфейсов, смотрим туда:

Действительно, там два активных интерфейса, определенных MAC’ами. Комментируем первый, второму прописываем eth0.

Перезапуск /etс/init.d/networking не помог, поэтому перезагружаемся:

Подключаем донглы, проверяем, все работает.
Спасибо за внимание.

Источник

Вместе изучаем Linux. Резервное копирование и восстановление системы

Создание резервной копии

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

Есть различные утилиты (как графические, так и консольные) для создания резервных копий. Мы остановимся и подробно рассмотрим программу QT5-FSArchiver (в графическом интерфейсе консольной утилиты FSArchive) в составе отличной сборки LiveCD Backup/Restore на базе *Ubuntu.

Сборка доступна в различных графических интерфейсах с одинаковыми наборами предустановленных инструментов (установкой некоторых из них займёмся в ближайшие дни).

И так, скачиваем сборку с Tux Comss LiveCD (на базе elementary OS Juno), создаем загрузочную флешку (например с помощью UNetBootin или с помощью любой другой привычной программы). Далее загружаемся с флешки, перед нами появляется стандартное окно запуска/установки Ubuntu, выбираем Запуск.

Загрузились с загрузочной флешки. Запускаем с рабочего стола программу QT5-FSArchiver (открывшийся терминал можно закрыть). Программа имеет различные настройки (кстати FSArchiver не записывает свободные блоки, а только непосредственно данные, таким образом уменьшая объем резервной копии), рекомендую их оставить по умолчанию. Добавлю, что опция «Архив за раскол» отвечает за разбивку архива на файлы выбранного объема. Повторюсь, настройки оставил по умолчанию. Для резервного копирования я выбрал копирование двух разделов, корневого и раздела пользовательских настроек /home. Данные разделы легко определить по типу файловой системы (скорее всего при установке выбрали тип файловой системы — Ext4) и по их объему.

Читайте также:  Драйвера jakarta для windows 10

В окне «Найденные разделы» указываем раздел, который хотим скопировать. В окне «Дерево каталогов» указываем место сохранения резервной копии (другой локальный диск), я выбрал диск ntfs (вспоминаем, что разделы монтированы в каталоге media). В окне «Имя образа » указываем название образа, рекомендую в нем же указать и имя раздела (в моем случае имя раздела — sdb2). Далее нажимаем на опцию «Сохранить раздел».

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

Кроме этого можно создать и резервную копию главной загрузочной области — MBR. Для создания копии MBR, открываем опцию «Действия» в главном окне программы QT5-FSArchiver и выбираем опцию «Save MBR-GPT, указываем место сохранения копии (можно указать ту же папку с ранее сделанными резервными копиями).

Восстановление разделов из резервной копии

Для восстановления разделов из резервных копий, в главном окне программы выбираем опцию «Восстановление раздела», в окне «Найденные разделы» указываем раздел в который будет выполнено восстановление. В окне «Файл образа» указываем ранее созданную резервную копию и нажимаем «Восстановить раздел».

Для того что бы восстановить копию MBR, открываем окно «Действие» и выбираем опцию «Restore MBR/GPT» и указываем место ранее сохранённой копии.

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

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

Источник

Восстановление из резервной копии с помощью Veeam Agent for Linux

Конечная цель создания резервной копии – обеспечить возможность восстановления данных в случае сбоя, и сегодня я вкратце расскажу, как с этим способен справиться новый Veeam Agent for Linux. Возьмем в качестве «подопытного кролика» тот же бэкап, создание которого было описано в предыдущем посте, и посмотрим, как из него можно восстановиться. За сим добро пожаловать под кат.

Восстановление на уровне файлов

Как вы помните, Veeam Agent for Linux успешно сохранил бэкап на сервер NFS. Запустим уже знакомый нам UI, введя команду
veeam
Сверим часы, то есть данные о последней сессии задания резервного копирования:

Внизу, в списке команд теперь появилась команда R (Recover Files) – восстановить файлы. По ней будет выведена информация о имеющихся в наличии резервных копиях: какой хост был в работе, какое задание создало бэкап, сколько получилось точек восстановления (в нашем случае – одна) и в какое время.

Дважды нажимаем Enter, и выбранный бэкап монтируется на файловую систему нашего хоста в папку /mnt/backup:

Почему мы решили ограничиться этой операцией? Просто подумали, что у пользователей обычно есть свои предпочтения в работе с файлами, и ни к чему изобретать велосипед. Так что после того, как прошло монтирование, вы можете задействовать привычный для вас способ – например, командную строку или популярный Midnight Commander (mc):

Восстановление тома

Теперь рассмотрим, как выполняется восстановление тома целиком. Для начала выполняем загрузку машины с использованием Veeam Recovery Media (скачивается вместе с установочным пакетом решения Veeam Agent for Linux). Он запускается, используя файл ISO.

Veeam Recovery Media открывает нам графический интерфейс с вот таким набором команд:

Здесь есть возможность восстановления томов (Restore volumes), восстановления файлов (Restore files), настроек сети (Configure network), перехода к командной строке (Switch to command line), а также перезагрузки (Reboot) и выключения (Shutdown).
Если, как в нашем примере (и как рекомендовано!), бэкап хранится вовсе не на локальной машине, а на сетевой СХД, то нужно до начала процедуры восстановления убедиться в наличии доступа к месту хранения бэкапа, а в ходе самой процедуры — выполнить настройку параметров сети. Можно задать настройки вручную. Для этого:

Читайте также:  Windows registry editor commands

    В данном меню выбираем пункт Configure network, затем выбираем в списке нужный сетевой адаптер, который будет использоваться для соединения с СХД, и жмем Enter.

В диалоге Configure adapter (настроить адаптер) выбираем Manual (ручная настройка) и жмем Enter.

В диалоге Adapter settings (параметры адаптера) указываем требуемое: IP-адрес, маску подсети, шлюз по умолчанию, сервер DNS

Кликаем Apply (применить) и жмём Enter.

Если вы работаете с сервером DHCP, то нужные настройки Veeam Agent for Linux сделает автоматически – если в диалоге Configure adapter выбрать Auto.

Продолжаем восстанавливать том: выбираем соответствующую операцию из списка команд — это Restore volumes.

Далее на шаге Select Backup Location нужно указать местонахождение нашего бэкапа. Для нашего примера нужно выбрать опцию добавления шары Add shared folder…

Затем на шаге Mount Shared Folder указываем, что у нас это NFS:

В поле Server/Directory вводим имя сетевой шары, в которой лежат файлы бэкапа. Veeam Agent for Linux смонтирует ее в папку /media на файловой системе нашего recovery image и отобразит содержимое смонтированного тома. На шаге Browse for Backup Files вы сможете выбрать нужную точку восстановления, чтобы импортировать ее:

Полезно: Если ваши бэкапы хранятся на одном из локальных устройств, то на шаге Select Backup Location вы, естественно, выберете опцию Mount local disk. При этом можно будет выполнять монтирование многократно — для нескольких устройств, на которых живут файлы резервных копий. Для этого нужно вернуться на шаг выбора местонахождения бэкапа Select Backup Location и опять выбрать опцию Mount local disk.

На шаге Backup выбираем нужный бэкап и в нём — точку восстановления.

Затем на шаге Disk Mapping можно просмотреть, какие тома имеются у машины в продакшене (то есть у локального хоста – Current System) и в бэкапе. Veeam Agent for Linux отобразит для выбранного тома подробную информацию, включая тип раздела, файловую систему, местоположение точки монтирования, размер тома, а также выведет список доступных команд:

    Restore volume from (восстановить том) – восстановить данный том из бэкапа.

Delete partition (удалить раздел) — позволяет переразметить диск перед восстановлением тома. После удаления раздела можно будет создать новый и замапить на него том из бэкапа.

[для восстановления томов LVM] Create LVM physical volume (создать физический том LVM)— создать физический том LVM на выбранном разделе и добавить его в уже существующую группу томов (volume group, VG), либо создать новую группу. Это позволит восстановить логические тома LVM или группы томов в выбранную VG.

  • Close (закрыть) — закрыть диалог и выбрать другой том.
  • Здесь мы выбираем Restore volume from и жмем Enter.

    В панели Current system в поле Restore напротив выбранного тома появится имя того, с которого будем восстанавливаться:

    Подтверждаем выбор (будьте внимательны, оплошность может дорого обойтись, поскольку данные будут перезаписаны теми, что в бэкапе!), нажимаем (Start restore).

    Cмотрим краткую сводку, подтверждаем выбор ещё раз и наблюдаем за прогрессом:

    После завершения процесса мы заканчиваем работу с Veeam Recovery Media:

    1. Нажимаем Esc для возврата в главное меню.
    2. Отключаем носитель с recovery image.
    3. В главном меню выбираем Reboot и жмем Enter.
    4. Ждем старта ОС.

    Вот, в общем-то, и весь рассказ о том, как происходит восстановление с помощью Veeam Agent for Linux.

    Источник

    Оцените статью