Mknfsroot

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

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 следующим образом:

  1. утилита переключается на псевдопользователя, настроенного так, чтобы работал hasher.
  2. две части профиля - общая для всех образов (/etc/mknfsroot/template) и специфичная (/etc/mknfsroot/profiles/*) - объединяются в один профиль Mkimage
  3. запускается Mkimage

Стало быть меняя содержимое /etc/mknfsroot/template вы можете неограниченно изменять поведение mkfsroot вплоть до того что утилита начнёт делать iso образы вместо tar-файлов.