Поиск по сайту:

Как установить PXE-сервер в Ubuntu 16.04

Если вы системный администратор, вам очень часто приходится устанавливать множество операционных систем в своей лаборатории или на рабочем месте. Иногда вам может надоесть ежедневная установка ОС на несколько систем. Не лучше ли было бы установить ОС на несколько систем одновременно? Вот тут-то и пригодится PXE-сервер. PXE, сокращение от preboot execution environment, позволяет нам автоматически развертывать операционные системы на нескольких системах. одновременно в сети. Также PXE-сервер помогает вам установить операционную систему в удаленную систему, в которой нет опций для CD/DVD или USB-накопителей.

В этом руководстве мы увидим, как установить PXE-сервер на сервер Ubuntu 16.04 LTS и как настроить его для развертывания операционных систем в клиентских системах pxe.

Установите PXE-сервер на сервер Ubuntu 16.04 LTS.

Я тестировал это руководство на 64-битном сервере Ubuntu 16.04 LTS. Однако эти шаги могут сработать в Debian и его производных.

Чтобы настроить PXE-сервер, вам необходимо иметь работающие серверы DHCP и TFTP. DHCP-сервер используется для распределения IP-адресов для сетевых систем, чтобы клиентские системы могли взаимодействовать с PXE-сервером. Сервер TFTP используется для загрузки установочных файлов с сервера PXE и отправки их клиентам PXE. Мы можем развернуть серверы PXE и DHCP в одной системе или использовать разные системы для каждого сервера. Из-за нехватки ресурсов я протестировал это на одной системе. Вы можете использовать отдельную систему или одну машину для всех серверов. Твой выбор.

Давайте начнем. Сначала нам нужно настроить DHCP-сервер.

Чтобы установить DHCP-сервер в Ubuntu, перейдите по следующей ссылке.

  • Установить DHCP-сервер в Ubuntu 16.04

После установки DHCP-сервера установите PXE-сервер вместе с TFTP и другими зависимостями, используя команду:

sudo apt-get install apache2 tftpd-hpa inetutils-inetd

Установить PXE-сервер

PXE-сервер установлен. Давайте продолжим и настроим его.

Настройка PXE-сервера

Отредактируйте файл /etc/default/tftpd-hpa в вашем любимом редакторе:

sudo nano /etc/default/tftpd-hpa

Добавьте следующие строки в конец файла, чтобы включить TFTP-сервер.

[...]
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"

Настроить PXE-сервер

Отредактируйте файл /etc/inetd.conf :

sudo nano /etc/inetd.conf

Добавьте или измените следующую строку в конце:

tftp    dgram   udp    wait    root    /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot

Обратите внимание: если вы используете IPv6, вам необходимо изменить слово udp на udp4.

Сохраните и закройте файл.

Наконец, перезапустите службу tftp, чтобы все изменения вступили в силу.

sudo systemctl restart tftpd-hpa

Проверьте, запущена ли служба tftp, с помощью команды:

sudo systemctl status tftpd-hpa

Пример вывода:

● tftpd-hpa.service - LSB: HPA's tftp server
 Loaded: loaded (/etc/init.d/tftpd-hpa; bad; vendor preset: enabled)
 Active: active (running) since Mon 2016-08-08 14:49:30 IST; 1min 47s ago
 Docs: man:systemd-sysv-generator(8)
 Process: 3867 ExecStop=/etc/init.d/tftpd-hpa stop (code=exited, status=0/SUCCE
 Process: 3879 ExecStart=/etc/init.d/tftpd-hpa start (code=exited, status=0/SUC
 Tasks: 1
 Memory: 152.0K
 CPU: 63ms
 CGroup: /system.slice/tftpd-hpa.service
 └─3890 /usr/sbin/in.tftpd --listen --user tftp --address [::]:69 --se

Aug 08 14:49:30 ubuntuserver systemd[1]: Stopped LSB: HPA's tftp server.
Aug 08 14:49:30 ubuntuserver systemd[1]: Starting LSB: HPA's tftp server...
Aug 08 14:49:30 ubuntuserver tftpd-hpa[3879]: * Starting HPA's tftpd in.tftpd
Aug 08 14:49:30 ubuntuserver tftpd-hpa[3879]: ...done.
Aug 08 14:49:30 ubuntuserver systemd[1]: Started LSB: HPA's tftp server.

Как видно из приведенного выше вывода, служба tftp запущена.

Копирование файлов установки Ubuntu на PXE-сервер

Часть настройки окончена. Далее нам нужно скопировать установочные файлы на PXE-сервер.

Подключите установочный ISO-образ Ubuntu, который вы хотите развернуть в клиентских системах. Или, если у вас есть установочный DVD, скопируйте все содержимое носителя на PXE-сервер.

Для целей этого руководства мы собираемся развернуть 64-разрядную версию Ubuntu 16.04 LTS в наших PXE-клиентах. Для этого смонтируйте ISO-образ Ubuntu 16.04 в любое место по вашему выбору. Я собираюсь смонтировать его в каталог /mnt/.

sudo mount -o loop ubuntu-16.04-server-amd64.iso /mnt/

Теперь перейдите в папку, куда вы смонтировали (в нашем случае /mnt/) и скопируйте загрузочные установочные файлы в каталог /var/lib/tftpboot/ нашего PXE. сервер.

cd /mnt/
sudo cp -fr install/netboot/* /var/lib/tftpboot/

Мы скопировали все необходимые загрузочные файлы. Затем создайте каталог с именем ubuntu в корневой папке документов Apache.

sudo mkdir /var/www/html/ubuntu

Теперь скопируйте все файлы из ISO-образа Ubuntu с помощью команды:

sudo cp -fr /mnt/* /var/www/html/ubuntu/

Далее отредактируйте файл /var/lib/tftpboot/pxelinux.cfg/default:

sudo nano /var/lib/tftpboot/pxelinux.cfg/default

Добавьте следующее содержимое в конце в зависимости от используемой вами архитектуры распространения.

[...]
label linux
        kernel ubuntu-installer/amd64/linux
        append ks=http://192.168.1.105/ks.cfg vga=normal initrd=ubuntu-installer/amd64/initrd.gz
ramdisk_size=16432 root=/dev/rd/0 rw  --

Здесь 192.168.1.105 — IP-адрес моего PXE-сервера. Замените этот IP-адрес адресом вашего pxe-сервера.

Для 32-битных PXE-клиентов необходимо добавить следующие строки:

[...]
label linux
        kernel ubuntu-installer/i386/linux
        append ks=http://192.168.1.105/ks.cfg vga=normal initrd=ubuntu-installer/i386/initrd.gz
ramdisk_size=16432 root=/dev/rd/0 rw  --

Опять же, замените IP-адрес на свой.

Сохраните и закройте файл.

Настройка параметров DHCP-сервера

Перейдите на свой DHCP-сервер и внесите следующие изменения. Помните, что я использую один и тот же сервер для PXE и DHCP-сервера.

Отредактируйте файл /etc/dhcp/dhcpd.conf:

sudo nano /etc/dhcp/dhcpd.conf

Добавьте в конце следующие строки:

allow booting;
allow bootp;
option option-128 code 128 = string;
option option-129 code 129 = text;
next-server 192.168.1.105;
filename "pxelinux.0";

Замените IP-адрес на свой.

Сохраните и закройте файл.

Перезапустите DHCP-сервер, чтобы изменения вступили в силу.

sudo systemctl restart isc-dhcp-server

Если вы зашли так далеко, поздравляем! Ваш PXE-сервер готов к использованию.

Установка ОС на PXE-клиентах

Пришло время развернуть ОС на клиентах pxe. Убедитесь, что вы включили опцию загрузки PXE в настройках BIOS вашей клиентской системы.

В демонстрационных целях я покажу вам, как развернуть ОС на клиенте pxe в Virtualbox. Вы можете использовать как физическую систему, так и виртуальную машину.

Откройте Oracle VirtualBox и нажмите Создать, чтобы создать гостевую машину.

Введите имя виртуальной машины и выберите архитектуру.

Укажите размер оперативной памяти виртуальной машины.

Выберите Создать виртуальный жесткий диск сейчас, чтобы создать жесткий диск для нашей виртуальной машины.

Выберите тип файла, который вы хотите использовать для нового виртуального жесткого диска.

Выберите, должен ли новый файл виртуального жесткого диска увеличиваться по мере его использования или его следует создавать с фиксированным размером.

Введите имя файла виртуального жесткого диска и укажите размер виртуального жесткого диска.

Наша виртуальная клиентская машина создана.

Затем перейдите к настройкам вновь созданной виртуальной машины и измените порядок загрузки.

Для этого выберите виртуальную машину и нажмите значок Настройки в строке меню.

На вкладке «Система» выберите «Сеть» в качестве первого загрузочного устройства.

Затем нажмите вкладку Сеть слева и выберите «Мостовой адаптер» в раскрывающемся списке «Подключено к».

Наконец, нажмите «ОК» и запустите виртуальную машину.

Вот и все. Начните установку Ubuntu в свой pxe-клиент, как и в обычной системе.

Заключение

Я надеюсь, что это руководство даст базовое представление о том, что такое PXE-сервер, как его установить и настроить в локальной сети и как развернуть ОС на PXE-клиентах. Для вашего сведения я рассмотрел только основную часть. PXE-сервер — обширная тема. Мы не можем охватить все детали в одном уроке. Кроме того, я тестировал только клиент Ubuntu PXE. Как вы, возможно, знаете, используя один PXE-сервер, мы можем развертывать различные варианты дистрибутивов Linux. В ближайшие дни я напишу о развертывании нескольких дистрибутивов с использованием одного PXE-сервера.

Это все на сегодня. Скоро буду здесь с еще одной интересной статьей. А до тех пор следите за обновлениями OSTechNix.

Источник:

  • Вики-сайт сообщества Ubuntu

Ваше здоровье!

Статьи по данной тематике