Как избежать потери изменений в корневой файловой системе при обновлении ядра?

На Солярисе и его вариантах это делает клон zfs текущего / файловая система и устанавливает новое ядро ​​там. При перезагрузке вы получаете новый /,

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

Вопрос

Как можно избежать потери изменений, внесенных в файловую систему с момента завершения обновления ядра до перезагрузки хоста?

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

1 ответ

Решение

Вы описали загрузочные среды (BE), которые будут создаваться автоматически при обновлении системы или вручную с beadm команда.

Вы можете иметь несколько независимых BE, хотя одновременно может быть активен только один. Вы также можете обновить / изменить каждый BE отдельно. Обычно вы делаете это для тестирования определенных версий программного обеспечения или полного обновления системы, но это не ограничивается этим.

От преимуществ к поддержке нескольких загрузочных сред:

Хотя одновременно может быть активна только одна загрузочная среда, вы можете смонтировать неактивную загрузочную среду, используя beadm mount команда. Затем вы можете использовать pkg команда с альтернативным корнем (-R) возможность установки или обновления определенных пакетов в этой среде.

Я только что попробовал, beadm mount BeName будет монтировать BeName во временную директорию /tmp, который доступен для записи. Вы можете написать простой скрипт для синхронизации / копирования ваших новых или измененных файлов в старый BE или наоборот.

В документации также говорится, что возможны снимки на BE (с beadm create BeName@snapshotNamedescription), что может быть полезно, если вы хотите отслеживать различия, возникшие между двумя моментами времени (с помощью zfs diff).

Другие вопросы по тегам