- Бэкап Linux и восстановление его на другом железе
- 1. Создание бэкапа
- Восстановление бэкапа на другом железе
- Как создать снимок системы в Linux Mint? Создание резервной копии системы и ее восстановление
- Запуск и настройка TimeShift
- Создание снимка системы в Linux Mint
- Восстановление системы Linux Mint из резервной копии
- Видео-инструкция о том, как создать снимок системы в Linux Mint
Бэкап Linux и восстановление его на другом железе
Я работаю в организации с маленьким штатом, деятельность тесно связана с IT и у нас возникают задачи по системному администрированию. Мне это интересно и частенько я беру на себя решение некоторых.
На прошлой неделе мы настраивали FreePBX под debian 7.8, нанимали фрилансера. В процессе настройки оказалось, что сервер (да, я так называю обычный PC) не хочет грузится с HDD при подключенных USB 3G модемах, которые мы используем для звонков на мобильные, колупание BIOSа не помогло. Непорядок. Решил, что нужно перенести его на другую железяку. Так появилось сразу две связанные задачи:
Опыт общения с linux-системами у меня небольшой: настройка VPN сервера на open-vpn, ftp-сервера и еще пара мелочей. Сам себя я характеризую как человека умеющего читать маны и править конфиги 🙂
Ниже я описываю свой частный случай и почему я поступил именно так. Надеюсь, новичкам будет полезно, а бородатые админы улыбнутся вспомнив молодость.
Начинаем копать теорию:
По созданию бэкапов уйма статей, я для себя отметил два способа: tar — упаковывает и сжимает все файлы, при этом не сохраняется MBR, мой бэкап будет весить около 1.5 Gb; dd — делает полную копию раздела, включая MBR и всю область, где нет файлов, архив будет равен размеру раздела, в моем случае ~490 Gb.
Второй способ требует наличия внешнего жесткого диска объемом не меньше раздела, который архивируем. Да и что с ним потом делать, непонятно, хранить на полочке? Остановился на tar, чуть сложнее в реализации, нужно будет создать MBR, но время создания/восстановления архива существенно меньше, хранить бэкап проще, полтора гига можно закинуть в облако и скачать, когда будет нужно. Записывать его можно на ту же live-флэшку, с которой буду грузиться.
Итак, план действия:
- создание бэкапа;
- форматирование, разметка диска, создание файловой системы;
- восстановление бэкапа;
- создание MBR;
- тестирование и устранение неполадок.
1. Создание бэкапа
Грузимся с live-флэшки, у меня это debian-live-7.8.0-amd64-standard.
Монтируем раздел, который будем архивировать, у меня это sda1, чтобы случайно не наломать дров, монтируем только для чтения. Посмотреть все свои разделы можно при помощи команд ls /dev | grep sd или df -l
Наша флэшка уже примонтирована, но в режиме только чтения, нужно перемонтировать для чтения-записи, чтобы писать туда бэкап.
mount -o remount,rw /dev/sdb1 /lib/live/mount/medium
Все готово для создания архива
tar -cvzpf /lib/live/mount/medium/backupYYYYMMDD.tgz --exclude=/mnt/var/spool/asterisk/monitor --exclude=/mnt/var/spool/asterisk/backup /mnt/
Здесь у нас параметры: c — создать архив, v — выводить информацию о процессе, z — использовать сжатие gzip, p — сохраняем данные о владельцах и правах доступа, f — пишем архив в файл, путь к файлу, —exclude — исключаем из архива каталог (я исключил каталоги с записями разговоров и каталог с бэкапами FreePBX), /mnt/ — каталог, который архивируем.
Ждем… у меня вся подготовка и создание архива заняли 10 минут. Будь флэшка быстрее, уложился бы в 7-8 минут.
Складываем архив в надежное место за пределами офиса.
Восстановление бэкапа на другом железе
2. Размечаем диск, создаем файловую систему
Грузимся с live-флэшки, у меня все та же debian-live-7.8.0.
Размечаем диск. Мне понравилась утилита с псевдографическим интерфейсом cfdisk. Там все просто и понятно.
Удаляем все имеющиеся разделы. Я создал два новых раздела, один на 490 Gb под / (sda1) и 10 Gb под swap (sda2) в конце диска, т.к. он практически не будет задействован. Проверим типы разделов. Который под систему должен иметь тип 83 Linux, второй — 82 Linux swap / Solaris. Помечаем системный раздел загрузочным (bootable), сохраняем изменения и выходим.
Cоздаем файловую систему на первом разделе.
3. Распаковываем архив.
Монтируем отформатированный раздел
Распаковываем архив прямо с флэшки
tar --same-owner -xvpf /lib/live/mount/medium/backupYYYYMMDD.tgz -C /mnt/
Параметр —same-owner — сохраняет владельцев у распаковываемых файлов, x — извлекаем из архива, v — выводить информацию о процессе, p — сохраняем права доступа, f — указываем файл, который распаковываем, C — распаковываем в категорию.
4. Создаем MBR на новом диске.
Чтобы корректно создать загрузочную запись, монтируем рабочие каталоги к нашему будущему root-каталогу, у меня это /mnt. Каталоги /dev и /proc сейчас используются live-системой, используем параметр bind, чтобы они были доступны сразу в двух местах:
mount --bind /dev /mnt/dev mount --bind /proc /mnt/proc
Переключаемся на новую систему используя chroot:
Делаем swap-раздел для новой системы:
Чтобы grub работал, нужно указать ему правильные UUID разделов в fstab, сейчас там прописаны разделы предыдущей системы:
Открываем второй терминал (Alt+F2) под root:
И видим текущие UUID разделов.
Вручную переписываем их в fstab переключаясь между Alt+F1 и Alt+F2. Да, муторно, но попытки копировать занимали у меня больше времени, чем переписывание. Сохраняем fstab.
Устанавливаем grub2. У меня один физический диск, поэтому ставим его на sda:
На чистый диск должно встать без ошибок. Обновляем информацию из fstab:
Возвращаемся в Live-систему:
Размонтируем все каталоги:
umount /mnt/dev umount /mnt/proc umount /mnt
Если вылазят процессы, которые используют эти каталоги, убиваем их используя fuser.
Все, поехали. Грузимся с жесткого диска:
Здесь статья должна была закончиться, но у меня возникли проблемы с подключением к интернету. Сервер видит сеть, видит компьютеры в ней, но в интернет не ходит… а это как бы важно для телефонии.
5. Тестирование и устранение неполадок.
Показывет интерфейсы eth1 и lo, гугление сказало, что gateway можно прописать только подключению eth0, остальные рассчитаны только на работу внутри сети.
Похоже, отсутствие eth0 вызвано способом переноса системы. Находим файл, который отвечает за нумерацию интерфейсов, смотрим туда:
nano /etc/udev/rules.d/70-persistent-net.rules
Действительно, там два активных интерфейса, определенных MAC’ами. Комментируем первый, второму прописываем eth0.
Перезапуск /etс/init.d/networking не помог, поэтому перезагружаемся:
Как создать снимок системы в Linux Mint? Создание резервной копии системы и ее восстановление
Сегодня я расскажу, как можно создать снимок системы, т.е. резервную копию системы в дистрибутиве Linux Mint, а также мы разберем процесс восстановления системы из резервной копии.
Если Вы часто вносите изменения в настройки операционной системы Linux Mint или устанавливаете различные программы, неважно с какой целью, то скорей всего Вы хотите в случае какого-либо сбоя в работе системы иметь возможность откатиться назад, т.е. восстановить систему на определённый момент времени до Ваших действий, которые и стали причиной этого сбоя, это могут быть некорректные настройки или установленное приложение.
В Linux Mint есть такая возможность, благодаря приложению TimeShift, которое умеет создавать снимки системы (включая личные файлы) и восстанавливать ее из этих снимков.
TimeShift – это что-то наподобие компонента System Restore («Восстановление системы») в Windows, которое также создает копию системы и восстанавливает систему из этой копии.
В дистрибутиве Linux Mint TimeShift установлен по умолчанию, поэтому если у Вас операционная система Linux Mint, Вы можете пользоваться этим инструментом, иными словами, дополнительно устанавливать ничего не нужно.
На самом деле иметь возможность восстановить систему из резервной копии — это просто здорово, и я рекомендую периодически делать резервные копии (снимки) системы, чтобы в случае какого-либо сбоя откатиться назад. Даже разработчики дистрибутива Linux Mint перед любым обновлением системы рекомендуют сначала создать снимок системы, а уже потом переходить, казалось бы, к безобидной стандартной процедуре обновления.
Итак, давайте я на примере покажу, как создать снимок системы в Linux Mint с помощью приложения TimeShift.
Запуск и настройка TimeShift
Сначала необходимо запустить приложение TimeShift и провести первоначальную настройку, это можно сделать из меню, нажимаем «Меню -> Администрирование -> TimeShift».
Примечание! В примере используется версия Linux Mint 19.1 со средой Cinnamon. О том, как установить операционную систему Linux Mint на компьютер, можете почитать в материале «Linux Mint 19 – установка и обзор дистрибутива».
Данная процедура требует прав администратора, поэтому после запуска сразу появится окно для ввода пароля администратора. Вводим и жмем «Authenticate».
Если Вы впервые запускаете инструмент создания снимков TimeShift, то у Вас сразу запустится мастер, который поможет Вам настроить приложение на создание снимков системы.
Сначала выбираем тип снимков, если у Вас файловая система Ext4, то выбирайте первый тип «RSYNC», а если Вы используете файловую систему BTRFS, то выбирайте одноименной пункт. Нажимаем «Далее».
Потом программа проанализирует систему.
Затем необходимо указать место для хранения снимков, точнее, раздел диска, лучше указывать не системный раздел, а тот, на котором побольше места. Рекомендовано даже хранить снимки на отдельных внешних дисках, для особо важных систем, это, конечно же, правильно. Выбираем и нажимаем «Далее».
Далее нам предлагают настроить расписание создания снимков, например, ежедневно или раз в неделю, эта возможность позволяет в автоматическом режиме создавать снимки системы Linux Mint на постоянной основе. Здесь Вы также можете указать, сколько снимков нужно хранить, т.е., например, если указать 5, то тогда, когда будет создаваться 6 снимок, самый первый будет удален, таким образом, инструмент будет хранить 5 самых последних снимков, что позволяет контролировать занимаемое место снимками на диске.
Вносим настройки, которые Вас устраивают, и нажимаем «Далее».
После идут настройки, с помощью которых мы можем указать, что в снимки необходимо включать домашние каталоги пользователей, так как по умолчанию данная возможность не используется, ведь многие пользовательские файлы изменяются с течением времени, а в случае восстановления мы можем потерять эти корректные изменения, да и просто, если включать в снимок все пользовательские файлы, размер снимка может быть очень большим. Поэтому здесь решать Вам, если хотите — включайте, если не хотите — оставляйте по умолчанию.
Настройка TimeShift закончена, нажимаем «Готово».
Создание снимка системы в Linux Mint
После того как TimeShift мы настроили, можно создать свой первый снимок системы Linux Mint. Для этого нажимаем на кнопку «Создать».
Начнется процесс создания снимка системы.
Когда данный процесс будет завершен, в программе TimeShift в списке снимков отобразится новый пункт.
Восстановление системы Linux Mint из резервной копии
Теперь давайте я покажу, как восстановить систему из снимка. Для этого выбираем нужный снимок в списке и нажимаем кнопку «Восстановить».
Указываем раздел для восстановления и раздел, на котором расположен снимок. По умолчанию указаны разделы, с которых был создан снимок, т.е. в нашем случае так и оставляем. Нажимаем «Далее».
Затем программа проанализирует снимок и изменения в системе.
После чего нажимаем на кнопку «Далее».
Далее нас предупреждают, что никаких гарантий, что система восстановится, программа TimeShift не дает, мы это понимаем и нажимаем «Далее».
Начнется процесс восстановления системы, когда он будет завершен, Linux Mint перезагрузится, и можно будет пользоваться уже восстановленной системой.
На заметку! Для более тесного знакомства с Linux рекомендую почитать мою книгу « Linux для обычных пользователей » – в этой книге я максимально простым языком рассказываю про основы операционной системы Linux
Видео-инструкция о том, как создать снимок системы в Linux Mint
У меня все, надеюсь, материал был Вам полезен, пока!