Сегодня я покажу каким образом добавить в 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: 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
загрузку
и после наблюдаю, как отрабатывает файл ответов и параметры указанные в Шаге №3. Все успешно. Работает.
По итогу получаю установленную систему, также как если бы использовал голый PXE
-сервис, к примеру в ранее опубликованной заметке. Но сейчас мой выбор это FOG Management
и все наработки с обычного PXE
-сервиса переношу на точно такой же, но управляется через Web
-интерфейс и множество различных оснасок в едином месте.
Мой Вам совет, приобщайтесь к использованию FOG Management
опираюсь на подробные заметки моего блога, с уважением автор Олло Александр aka ekzorchik.