Сегодня я покажу каким образом добавить в iPXE Menu загрузки дистрибутив ubuntu-18.04.2-server-amd64.iso центра управления FOG Management. Так как я отказался от ручной связки: Ubuntu 18.04 PXE + NFS + SAMBA в пользу FOG и решил рассказать своими заметками, как сделал это я и возможно Вы тоже будете его использовать.
- Заметка опирается на «Как установить FOG на Ubuntu 18.04»
srv-fog (172.35.35.7)это сервер куда установлен сервис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: fogPassword: passwordLanguage: English
и нажимаю Login, затем перехожу FOG Configuration — iPXE New Menu Entry -
Menu Item: OS.Ubuntu 18.04 ServerDescription: Ubuntu 18.04.2 ServerParameters: kernel tftp://${fog-ip}/os/ubuntu/server/18.04/vmlinuzinitrd tftp://${fog-ip}/os/ubuntu/server/18.04/initrd.gzimgargs 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 MENUMenu Show with: All Hosts
Шаг №4: Проверяю установку ОС через PXE загрузку
и после наблюдаю, как отрабатывает файл ответов и параметры указанные в Шаге №3. Все успешно. Работает.
По итогу получаю установленную систему, также как если бы использовал голый PXE-сервис, к примеру в ранее опубликованной заметке. Но сейчас мой выбор это FOG Management и все наработки с обычного PXE-сервиса переношу на точно такой же, но управляется через Web-интерфейс и множество различных оснасок в едином месте.
Мой Вам совет, приобщайтесь к использованию FOG Management опираюсь на подробные заметки моего блога, с уважением автор Олло Александр aka ekzorchik.
