Rescue/Deploy/system-restore/UsingProfiles

Материал из ALT Linux Wiki

Привязка к профилям развёртывания

Представьте пару ситуаций. Первая: деплойная система готовится для массового производства («разливки») на трёх незначительно отличающихся по конфигурации видах моноблоков. Все три конфигурации соответствуют условиям поставки, «золотой образ» нужен один на все три конфигурации. Вторая: вы администратор огромного «зоопарка машин» в своей организации, для всех должен использоваться один «золотой образ», в котором необходимо учесть различия между аппаратными конфигурациями и решаемыми на АРМ’ах задачами.

Для решения перечисленных проблем, учёта различий между конфигурациями машин, привязки деплойной системы к конкретному оборудованию, system-restore может использовать профили оборудования и развёртывания, которые управляются отдельной программой system-profile. Профиль оборудования однозначно определяет, для какого «железа» предназначена деплойная система, тогда как профиль развёртывания как бы «уточняет», как именно будет выполняться развёртывание, эти профили могут быть объединены в один профиль или просто связаны между собой.

При наличии подходящего профиля развёртывания, данные из него дополняют или замещают то, что было определено для всей деплойной системы в каталоге с бэкапом. Например, файл sysrest.ini в каталоге профиля может содержать параметры, которые будут перезаписывать определённые в файле параметров из каталога бэкапа. «Хуки» из файла hooks.sh в каталоге профиля дополняют или заменяют «хуки», определённые в одноимённом файле в каталоге бэкапа. Файлы chroot-pre.sh и chroot-post.sh в каталоге профиля оказывают только заменяющее действие — если они есть в каталоге профиля, в чрут попадут и будут выполнены именно они, а не глобально определённые. «Оверлей» в виде файла update.tgz (или подкаталога rootfs) оказывает дополняющее действие — если есть «оверлей» в каталоге профиля, он будет также распакован (скопирован) поверх уже развёрнутой системы.

Профиль развёртывания не предусматривает переопределения следующих параметров: product_title, release, release_file, profile, и profile_required, они носят глобальный характер. На самом деле их переопределение в профиле уже ничего не изменит. Все остальные параметры можно переопределить в файле sysrest.ini в каталоге профиля. «Хуки» welcome_text(), profile_not_found() и select_profile() также носят глобальный характер, их нет смысла переопределять через файл hooks.sh в каталоге профиля, т.к. к моменту подключения этого файла все три «хука» уже отработали и больше не используются.