Добавить в корзинуПозвонить
Найти в Дзене

Как восстановить linux на другом диске с помощью Timeshift

Итак, я решил себе сделать отказоустойчивый домашний сервер, где одно из условий его существования будет автоматическое резервное копирование диска с системой (SSD) на другой диск-бэкап (HDD). Ситуация которую я себе представляю, и которую я сэмулировал на виртуальной машине: Для реализации этого в реальной жизни нам понадобится: Устанавливаем Timeshift. Установить можно с помощью команд su- apt-get update apt-get install timeshift или с помощью менеджера пакетов Synaptic (что я и выбрал). Открываем его и обязательно выбираем RSYNC! (BTRFS не может делать резервные копии на другой диск). Также выбираем куда пойдёт бэкап (на какой диск). Далее настройка расписания (как хотите) и архивировать ли домашние папки (думаю разберётесь). Потом просто нажимаем создать в верхнем левом углу главного окна программы и бэкап начнёт создаваться!) И вот предположим, что вы уже у разбитого диска с пропавшей операционной системой. Но у нас же есть резервная копия на другом диске! Как же её развернуть на
Оглавление

Вступление

Итак, я решил себе сделать отказоустойчивый домашний сервер, где одно из условий его существования будет автоматическое резервное копирование диска с системой (SSD) на другой диск-бэкап (HDD).

Что я хочу?

Ситуация которую я себе представляю, и которую я сэмулировал на виртуальной машине:

  1. сохранить или дождаться резервной копии диска с ОС на второй диск-бэкап
  2. заменить диск с ОС на пустой диск (якобы диск с ОС сломался)
  3. восстановить всю систему из резервной копии с диска-бэкапа на новенький пустой диск под систему

Что для этого надо?

Для реализации этого в реальной жизни нам понадобится:

  • разумеется 2 диска
  • установочная флешка с той системой, что стоит на диске с ОС
  • Timeshift + возможность его установить на систему, которую мы установим с этой установочной флешки

Как архивировать систему?

Устанавливаем Timeshift. Установить можно с помощью команд

su-
apt-get update
apt-get install timeshift

или с помощью менеджера пакетов Synaptic (что я и выбрал).

Последовательность кнопок для установки Timeshift в Synaptic
Последовательность кнопок для установки Timeshift в Synaptic

Открываем его и обязательно выбираем RSYNC! (BTRFS не может делать резервные копии на другой диск). Также выбираем куда пойдёт бэкап (на какой диск).

Далее настройка расписания (как хотите) и архивировать ли домашние папки (думаю разберётесь).

Потом просто нажимаем создать в верхнем левом углу главного окна программы и бэкап начнёт создаваться!)

Что делаем дальше?

И вот предположим, что вы уже у разбитого диска с пропавшей операционной системой. Но у нас же есть резервная копия на другом диске! Как же её развернуть на новом, работающем диске? Поможет немножко гемороя и прямых ручек)

Этапы восстановления системы:

Этап 1 - установка системы с загрузочной флешки

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

В моём случае я эмулировал восстановление АЛЬТ Сервер.

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

Выбираем только диск под систему
Выбираем только диск под систему

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

Разбиение пустого диска по умолчанию в АЛЬТ Сервер
Разбиение пустого диска по умолчанию в АЛЬТ Сервер

Далее надо выбрать минимальную конфигурацию системы (доп софт), чтобы долго не ждать установки. Я просто выбрал графическое окружение MATE (Xorg выбрался сам после MATE).

Выбираем минимальную конфигурацию для установки, но с графическим окружением
Выбираем минимальную конфигурацию для установки, но с графическим окружением

Далее очень важный пункт - настроить учётные записи и имя ПК как было на прошлой системе! (что будет, если сделать других пользователей - я не проверял, но в процессе познания Timeshift я выбирал всегда новое имя ПК и у меня всё шло по пиз..., но скорее всего это было из-за другого)

Далее завершаем установку

Этап 2 - установка Timeshift

После установки нам надо установить Timeshift, т.к. в моём случае с АЛЬТ Сервер, он не установлен по умолчанию. После установки запускаем его из меню пуска.

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

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

Нажимаем обзор на нужной резервной копии
Нажимаем обзор на нужной резервной копии

Этап 3 - геморой с UUID

Наша цель изменить UUID дисков в бэкапе на те, что сейчас в системе. Для этого нам надо отредактировать 3 файла. Вот их пути, и какие диски мы должны там указать, в моём случае на АЛЬТ Сервер:

  • бэкап(дата)/info.json - раздел "/"
  • бэкап(дата)/localhost/etc/fstab - все разделы на системном диске
  • бэкап(дата)/localhost/etc/default/grub - раздел подкачки

info.json

Надо изменить uuid в строке "sys-uuid" на uuid раздела с корнем системы ("/").

Для того чтобы взять этот новый uuid запустите Gparted (тоже можно в пуске найти) и там выберите обязательно нужный диск и нужный раздел, зайдите в его свойства и uuid там будет написан.

Меняем uuid в файле
Меняем uuid в файле

/etc/fstab

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

UUID разделов так же можно посмотреть в Gparted. Какой диск куда можно посмотреть по пути монтирования, на скрине отмечу.

/etc/default/grub

Это сам загрузчик, в котором нам надо только указать swap (подкачку). Находится она в пункте "GRUB_CMDLINE_TIMEOUT_DEFAULT", но всё равно просто ищите в файле строку с uuid, и что выпадет - там и меняйте старый код на новый.

Подкачка в grub
Подкачка в grub

Этап 4 - восстановление

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

Ну всё, теперь просто нажимаем далее, дожидаемся промежуточного окна о статусе замены файлов, потом снова далее и ждём восстановления!

Особенности

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

Заключение

Таким образом я разобрался как можно сделать авто бэкап по расписанию, а потом развернуть его на новом диске))