Сегодня я покажу каким образом добавить в iPXE Menu загрузки дистрибутив ubuntu-18.04.2-server-amd64.iso центра управления FOG Management. Так как я отказался от ручной связки: Ubuntu 18.04 PXE + NFS + SAMBA в пользу FOG и решил рассказать своими заметками, как сделал это я и возможно Вы тоже будете его использовать.

Шаг №1: Создаю структуру каталогов для iPXE Menu: OS.Ubuntu 18.04.2 Server

ekzorchik@srv-fog:~$ wget http://cdimage.ubuntu.com/releases/18.04/release/ubuntu-18.04.2-server-amd64.iso

ekzorchik@srv-fog:~$ sudo mkdir -p /images/os/ubuntu/server/18.04

ekzorchik@srv-fog:~$ sudo mkdir -p /tftpboot/os/ubuntu/server/18.04

ekzorchik@srv-fog:~$ sudo mount -o loop -t iso9660 /home/ekzorchik/ubuntu-18.04.2-server-amd64.iso /mnt/loop

ekzorchik@srv-fog:~$ sudo cp -R /mnt/loop/* /images/os/ubuntu/server/18.04/

ekzorchik@srv-fog:~$ sudo umount /mnt/loop

ekzorchik@srv-fog:~$ sudo cp /images/os/ubuntu/server/18.04/install/vmlinuz /tftpboot/os/ubuntu/server/18.04/

ekzorchik@srv-fog:~$ sudo cp /images/os/ubuntu/server/18.04/install/netboot/ubuntu-installer/amd64/initrd.gz /tftpboot/os/ubuntu/server/18.04/

Шаг №2: Проверяю, какой сайт конфигурации сейчас активен на сервере где развернут FOG Management — последующими действиями добавив каталог внутрь которого поместим файл ответов (если его нет, то данный шаг пропускаем и из последующего удаляем параметр и значение: url)

ekzorchik@srv-fog:~$ sudo a2dissite

Your choices are: 001-fog

Which site(s) do you want to disable (wildcards ok)?

ekzorchik@srv-fog:~$ cat /etc/apache2/sites-available/001-fog.conf | egrep "DocumentRoot|\fog" | head -n2

DocumentRoot /var/www/

<Directory /var/www/fog/>

Итак корневая директория для Web-сервиса — это /var/www/, но FOG Management использует /var/www/fog/, а значит создаю структуру:

ekzorchik@srv-fog:~$ sudo mkdir -p /var/www/fog/ubuntu/bionic/server

а файл server.seed помещаю в созданный каталог выше, т. е.:

ekzorchik@srv-fog:~$ sudo mv server.seed /var/www/fog/ubuntu/bionic/server/

ekzorchik@srv-fog:~$ sudo chown -R www-data:www-data /var/www/fog/ubuntu/

На заметку: Пример файла ответов server.seed можно посмотреть/ознакомиться здесь

Проверяю, что обратившись к URL адресу получаю файл ответов:

ekzorchik@srv-fog:~$ curl -sSf -v http://172.35.35.7/fog/ubuntu/bionic/server/server.seed > /dev/null

* Trying 172.35.35.7...

* TCP_NODELAY set

* Connected to 172.35.35.7 (172.35.35.7) port 80 (#0)

> GET /fog/ubuntu/bionic/server/server.seed HTTP/1.1

> Host: 172.35.35.7

> User-Agent: curl/7.58.0

> Accept: */*

>

< HTTP/1.1 200 OK

< Date: Tue, 21 May 2019 18:44:04 GMT

< Server: Apache/2.4.29 (Ubuntu)

< Last-Modified: Tue, 21 May 2019 18:34:35 GMT

< ETag: "854-5896a19ccd4ac"

< Accept-Ranges: bytes

< Content-Length: 2132

< Connection: close

<

{ [2132 bytes data]

* Closing connection 0

ekzorchik@srv-fog:~$

Статус имеет код 200 и это означает что запрашиваемый URL доступен, также можно просто скопировать URL ( http://172.35.35.7/fog/ubuntu/bionic/server/server.seed) в другую вкладку и в ответ Вы должны получить содержимое файла ответов server.seed.

Шаг №3: Создаю iPXE меню возможности установки Ubuntu 18.04 Server (дистрибутив: ubuntu-18.04.2-server-amd64.iso)

http://172.35.35.7/fog/management/index.php

Авторизуюсь:

  • Username: fog
  • Password: password
  • Language: English

и нажимаю Login, затем перехожу FOG Configuration — iPXE New Menu Entry -

  • Menu Item: OS.Ubuntu 18.04 Server
  • Description: Ubuntu 18.04.2 Server
  • Parameters: kernel tftp://${fog-ip}/os/ubuntu/server/18.04/vmlinuz
  • initrd tftp://${fog-ip}/os/ubuntu/server/18.04/initrd.gz
  • imgargs vmlinuz initrd=initrd.gz root=/dev/nfs netboot=nfs nfsroot=${fog-ip}:/images/os/ubuntu/server/18.04/ locale=en_US.UTF-8 keyboard-configuration/layoutcode=us hostname=srv-bionic url=http://${fog-ip}/fog/ubuntu/bionic/server/server.seed quiet splash ip=dhcp rw boot || goto MENU
  • Menu Show with: All Hosts

Шаг №4: Проверяю установку ОС через PXE загрузку

Установка Ubuntu 18.04 Server через iPXE Menu FOG Management

и после наблюдаю, как отрабатывает файл ответов и параметры указанные в Шаге №3. Все успешно. Работает.

По итогу получаю установленную систему, также как если бы использовал голый PXE-сервис, к примеру в ранее опубликованной заметке. Но сейчас мой выбор это FOG Management и все наработки с обычного PXE-сервиса переношу на точно такой же, но управляется через Web-интерфейс и множество различных оснасок в едином месте.
Мой Вам совет, приобщайтесь к использованию FOG Management опираюсь на подробные заметки моего блога, с уважением автор Олло Александр aka ekzorchik.

От ekzorchik

Всем хорошего дня, меня зовут Александр. Я под ником - ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог - это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору. Также прошу на https://win.ekzorchik.ru https://lin.ekzorchik.ru https://net.ekzorchik.ru https://voip.ekzorchik.ru https;//home.ekzorchik.ru