Могу ли я зафиксировать снимок в SLES15, чтобы иметь возможность откатиться к нему?

Вопрос или проблема

У меня возникла странная проблема со снимками в SLES15 SP6:
После установки неправильного патча я хочу откатиться к предыдущему снимку системы.
Однако после загрузки из нужного снимка snapper rollback жалуется на “unknown ambit”.

Дальнейшее расследование показывает, что проблема заключается в отсутствии записи для /.snapshots в /etc/fstab в этом снимке (который является “снимком после установки”).
До загрузки из этого снимка снимки, очевидно, были.

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

Можно ли это исправить, и если да, то как?

Ответ или решение

Вопрос, касающийся проблем с откатом к предыдущему снимку в системе SUSE Linux Enterprise Server 15 SP6 (SLES15 SP6), является весьма актуальным для специалистов в области информационных технологий. В описанной ситуации, после установки неудачного патча, пользователь сталкивается с необходимостью вернуться к предыдущему состоянию системы с помощью снимка. Однако, выполняя попытку отката, возникает ошибка "unknown ambit", которая связана с отсутствующей записью для каталога /.snapshots в файле /etc/fstab в выбранном для загрузки снимке. Эта запись необходима для того, чтобы снимок могли использоваться нормально, но представленная проблема усложняется тем, что образ доступен только для чтения, что ограничивает возможности по его исправлению.

Теория

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

Проблема с "unknown ambit" зачастую связана с тем, что структура или конфигурация файловой системы не соответствуют ожидаемой, что приводит к сбоям в управлении пространством снимков. В частности, отсутствие записи в /etc/fstab о монтировании каталога /.snapshots может нарушать работу snapper.

Пример

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

Применение

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

  1. Изменение флага только чтение: Первоначально необходимо загрузиться с лайв-образа или из другого состояния системы, которое предоставляет доступ на запись. Это позволит вносить изменения в файловую систему и непосредственно в нужный снимок.

  2. Использование командного режима восстановления: Ещё одним подходом может быть использование командного режима восстановления (Recovery Mode). Загружаемся в Recovery Mode и монтируем корневую файловую систему в режиме RW (чтение-запись). Это достигается через изменение параметров загрузки или вручную монтированием системы с нужными опциями.

  3. Редактирование файла /etc/fstab: После получения доступа на запись, необходимо вручную отредактировать файл /etc/fstab, добавив недостающую запись:

    UUID=<UUID> /.snapshots btrfs subvol=/@/.snapshots 0 0

    Здесь важно правильно указать UUID файловой системы, который можно определить при помощи команды blkid.

  4. Проверка настройки и пересоздание initramfs: После исправления файла /etc/fstab, необходимо убедиться в том, что все изменения загружены корректно, и пересоздать образ initramfs, используя команду:

    dracut --force
  5. Перезагрузка системы и проверка: После проведения всех исправлений, выполните перезагрузку системы. Система должна загрузиться уже с активной поддержкой снимков, и snapper должен без ошибок обнаружить необходимую конфигурацию.

  6. Профилактика будущих проблем: Для предотвращения подобных ситуаций в будущем рекомендуется регулярно проверять состояние системных файлов, включая /etc/fstab, на наличие целостных записей.

Управление системой через снимки в SLES15 требует внимательности к оптимальной конфигурации монтируемых жестких дисков и понимания того, как система использует эти монтирования для идентификации снимков. Грамотное управление конфигурационными файлами и актуальная инструкция по откату могут предотвратить множество потенциальных проблем при восстановлении рабочих окружений.

Оцените материал
Добавить комментарий

Капча загружается...