Безопасный откат неудачного обновления SLES с помощью Snapper

В стандартной установке SUSE Linux Enterprise Server (SLES) с корневой файловой системой Btrfs и включенным Snapper наиболее безопасным способом восстановления является загрузка снимка, созданного до неудачного обновления, его тестирование в режиме только для чтения, а затем выполнение команды sudo snapper rollback. Это создаст новый доступный для записи корневой каталог из протестированного состояния; при этом не будет выполнена переустановка каждого диска, подтома или базы данных приложений.

В текущих рекомендациях по администрированию SLES 15 SP7 по-прежнему используется этот алгоритм загрузки и тестирования. Прежде чем следовать ему, убедитесь, что машина соответствует поддерживаемой SUSE схеме отката, и определите предварительный снимок для неудачной транзакции Zypper или YaST.

Восстановит ли откат Snapper весь сервер?

Нет. Откат загружаемой системы применяется к снимкам в конфигурации Snapper по умолчанию root. В документации SUSE поддерживается расположение корневого подтома по умолчанию, с файловой системой Btrfs на одном корневом устройстве и работающим установленным загрузчиком. Откат изменяет содержимое подтома /; другие подтома не включаются. В типичных схемах SLES пути, такие как /var, /srv, /opt, /usr/local, и часто /homeнаходятся за пределами снимка. Поэтому база данных или служба могут сохранять данные, записанные после создания снимка, даже если их системные пакеты возвращаются к исходному состоянию.

Перед выполнением отката создайте или проверьте отдельную резервную копию важных данных приложений. Также избегайте этой процедуры, если вы изменили структуру подтомов Btrfs по умолчанию или используете корневой каталог на нескольких устройствах: требования к загружаемому репозиторию SLES 15 SP7 не охватывают такие конфигурации. Перед продолжением ознакомьтесь с требованиями SUSE к восстановлению Snapper .

Какой снимок был сделан до неудачного обновления?

Используйте конфигурацию Snapper для корневой файловой системы и сравните пару «до» и «после» транзакции. В типичной системе SLES с включенными снимками корневой файловой системы Btrfs, Zypper и YaST создают снимки вокруг операций с пакетами. Снимок «до» представляет состояние корневой файловой системы до этой операции; снимок «после» представляет состояние после ее выполнения, включая частично завершившуюся неудачей транзакцию.

  1. Убедитесь, что корневая конфигурация существует sudo snapper list-configs. Найдите конфигурацию с именем root.
  2. Подтвердите тип корневой файловой системы с помощью команды findmnt -no FSTYPE /`.`. Для этой процедуры отката загрузочного процесса должно отобразиться значение ` btrfs.`. Затем запустите команду `.` sudo btrfs filesystem show /и подтвердите, что корневая файловая система отображает значение ` Total devices 1.`.
  3. Перечислите пары транзакций с помощью sudo snapper -c root list -t pre-post. Сопоставьте дату и описание с неудачным обновлением. Запишите номер в столбце Pre #, а не соответствующую пару Post #.
  4. Проанализируйте, что изменилось между двумя значениями. Замените PREи POSTна числа, отображаемые на вашем устройстве:
sudo snapper -c root status PRE..POST
sudo snapper -c root diff PRE..POST

Эти команды отображают измененные пути и различия в файлах. Номера снимков, даты, описания пакетов и вывод различаются в зависимости от хоста; не копируйте пример номера со скриншота. Если соответствующая пара не отображается, проверьте, включен ли Snapper и не был ли снимок удален политикой очистки. Отсутствующий снимок не может быть воссоздан Snapper постфактум.

Иллюстративный вид терминала списка предварительных и последующих обновлений Snapper, с парой транзакций Zypper для идентификации снимка состояния до обновления.
Иллюстративный вид терминала списка предварительных и последующих обновлений Snapper, с парой транзакций Zypper для идентификации снимка состояния до обновления.

Как проверить старый рут перед тем, как сделать его постоянным?

Перезагрузите систему и используйте запись снимка загрузчика. В SLES выберите Start Bootloader from a read-only snapshot, затем выберите снимок, датированный непосредственно перед неудачной транзакцией. Меню загрузки помечает записи датой и описанием, которое может включать zypp(zypper)или операцию YaST. Выберите снимок, сделанный до обновления; не выбирайте снимок, сделанный после обновления, только потому, что его описание проще распознать.

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

Иллюстративное меню загрузки с описанной опцией создания снимка только для чтения и датированными записями; выберите запись, соответствующую снимку до обновления.
Иллюстративное меню загрузки с описанной опцией создания снимка только для чтения и датированными записями; выберите запись, соответствующую снимку до обновления.

Когда следует запускать откат Snapper?

Откат следует выполнять только после загрузки более старого снимка и прохождения проверок. Из этого снимка, доступного только для чтения, выполните:

sudo snapper rollback

Затем перезагрузите компьютер и выберите стандартный способ загрузки по умолчанию:

sudo reboot

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

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

Что следует проверить после перезагрузки?

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

sudo snapper -c root list

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

sudo zypper ref -fs
sudo zypper lr
sudo SUSEConnect --status

Репозитории должны соответствовать пакету обновлений, к которому вы вернулись, а установленные продукты должны быть зарегистрированы. Если регистрация не восстанавливается, в качестве шага восстановления используйте процедуру отката пакета обновлений SUSE SLES 15 SP7sudo SUSEConnect --rollback . Эта команда регистрации предназначена специально для восстановления после миграции; не запускайте ее при обычном обновлении пакетов.

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

Если на этом хосте используется transactional-update(например, транзакционная система SLE Micro), следуйте процедуре, описанной в этом продукте, вместо применения классической последовательности команд SLES. В документации SUSE описаны способы sudo transactional-update rollback SNAPSHOT_NUMBERвыбора снимка из работающей системы и отдельный рабочий процесс загрузки снимка только для чтения, если текущий корневой каталог поврежден. См. инструкции SUSE по откату транзакционных обновлений .

Оставить комментарий

Когда файловая система SLES Btrfs переходит в режим только для чтения: диагностика перед повторным монтированием.

Когда файловая система SLES Btrfs переходит в режим только для чтения: диагностика перед повторным монтированием.

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

Зарегистрируйте SLES 15 в SUSE Manager в автономной сети.

Зарегистрируйте SLES 15 в SUSE Manager в автономной сети.

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

Настройте переадресацию X11 в YaST через SSH.

Настройте переадресацию X11 в YaST через SSH.

Исправлена ​​ошибка запуска XIO в YaST через SSH, проверена переадресация X11 и xauth, а также реализовано переключение на интерфейс ncurses, когда удаленное окно не требуется.

Безопасный откат неудачного обновления SLES с помощью Snapper

Безопасный откат неудачного обновления SLES с помощью Snapper

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

Безопасная пересылка Syslog-сообщений SLES с использованием rsyslog и взаимного TLS.

Безопасная пересылка Syslog-сообщений SLES с использованием rsyslog и взаимного TLS.

Отправляйте системные журналы SLES на удаленный сборщик rsyslog по аутентифицированному TLS, с проверкой сертификатов, буферизацией сбоев и тестированием доставки.

Перед повторной попыткой отследите ошибки памяти при обновлении SLES.

Перед повторной попыткой отследите ошибки памяти при обновлении SLES.

Используйте журналы оперативной памяти, файла подкачки, ядра и Zypper, чтобы определить реальное нехватку памяти, защитить состояние пакетов и выбрать более безопасный вариант повторной попытки обновления SLES.

Поддерживайте работоспособность обновлений безопасности Debian 12 на сервере без графического интерфейса.

Поддерживайте работоспособность обновлений безопасности Debian 12 на сервере без графического интерфейса.

Включите автоматические обновления безопасности Debian через SSH, сохраните источники пакетов по умолчанию и проверяйте запланированные запуски с помощью журналов systemd и APT.

Получайте предупреждения SMART Disk от Ubuntu по электронной почте с помощью smartd.

Получайте предупреждения SMART Disk от Ubuntu по электронной почте с помощью smartd.

Сравните варианты доставки почты, настройте smartd в Ubuntu и убедитесь, что предупреждения о состоянии диска попадают в ваш почтовый ящик.

Сбои поиска DNS в Debian 12: восстановите systemd-resolved

Сбои поиска DNS в Debian 12: восстановите systemd-resolved

Восстановите DNS-запросы в Debian 12, проверив systemd-resolved, исправив resolv.conf при необходимости и проверив разрешение DNS-имен исходных файлов и приложений.

В Ubuntu 24.04 не отображается звук через HDMI? Восстановите вывод звука.

В Ubuntu 24.04 не отображается звук через HDMI? Восстановите вывод звука.

Чтобы Ubuntu распознала ваш монитор или телевизор как аудиовыход, выберите его в настройках звука и проверьте список подключений или устройств PipeWire, если HDMI отсутствует.