Mknfsroot
Mknfsroot
Данная утилита предназначена для создания образов системы загружаемых на бездисковых узлах. Это фактически обёртка над Mkimage.
Создание образа
Утилита принимает единственный параметр - местоположение профиля. Профиль - это каталог, содержащий следующие файлы:
- packages - список пакетов для установки
- modules - список модулей ядра для сетевых адаптеров.
- pxelinux.cfg - конфигурационный файл для pxelinux
- autoinstall.scm - сценарий для инсталлятора.
Последний файл содержит инструкции для настройки системы, например:
- настройка системной локали
- настройка раскладки клавиатуры
- настройка часового пояса
- задание пароля администратору
Итак, запускаем утилиту:
# mknfsroot /etc/mknfsroot/profiles/sample
В результате появится файл /var/lib/mknfsroot/mknfsroot.tar, содержащий:
- настроенную систему
- ядро, initrd, образ загрузчика pxelinux и конфигурационный файл для него.
Установка и удаление образа
Развёртывание образа осуществляется при помощи утилиты setupnfsroot. Данная утилита принимает два параметра: путь к tar-архиву и целевой каталог.
# setupnfsroot /var/lib/mknfsroot/nfsroot.tar /var/lib/tftpboot
Утилита развёртывает образ и настраивает необходимые точки монтирования. Если к этому моменту в системе уже настроен tftp и dhcp сервера, то можно уже попробовать загрузить бездисковую станцию.
Обратная операция осуществляется утилитой removenfsroot.
# removenfsroot /var/lib/tftpboot
В результате каталог очищается и точки монтирования удаляются.
Особенности созданного образа
- Имя машины (hostname) выставляется по результатам резолвинга её ip-адреса.
- Поскольку один и тот же образ используется для загрузки большого количества бездисковых узлов, то для каждого узла создаётся персональный каталог /var. Это перестраховка, поэтому для конкретного случая созданный автоматом образ желательно подправить.
- При остановке машины сеть не останавливается ибо корневая файловая система - сетевая.
Нестандартное расширение профиля
Работает mknfsroot следующим образом:
- утилита переключается на псевдопользователя, настроенного так, чтобы работал hasher.
- две части профиля - общая для всех образов (/etc/mknfsroot/template) и специфичная (/etc/mknfsroot/profiles/*) - объединяются в один профиль Mkimage
- запускается Mkimage
Стало быть меняя содержимое /etc/mknfsroot/template вы можете неограниченно изменять поведение mkfsroot вплоть до того что утилита начнёт делать iso образы вместо tar-файлов.