Шаги по установке PXE Boot Server в виртуальной машине Ubuntu Server
Как установить виртуальную машину Ubuntu с помощью загрузочного сервера PXE?
Мне нужны все детали конфигурации и что нужно изменить в файлах конфигурации.
1 ответ
PXE (Preboot eXecution Environment, ярко выраженный пикси)
Смотрите Википедию: PXE
Как это устроено?
Это мое понимание!

- Клиентский компьютер включен. BIOS сканирует устройства. Затем следует попытаться загрузить загрузчик с требуемого устройства, как указано в разделе "Порядок / последовательность загрузки". Он загружает PXE из ПЗУ сетевой карты.
PXE (клиентская сторона) передает запрос на IP. Ответ DHCP-сервера с необходимой информацией: IP, IP-адрес следующего сервера (IP-адрес TFTP-сервера),
pxelinux.0(Имя файла загрузчика PXE) и т. Д.
PXE (на стороне клиента) запросы
pxelinux.0файл с сервера TFTP, загружает его в оперативную память и передает управлениеpxelinux.0,pxelinux.0получает файл конфигурации загрузки с сервера TFTP с именем как:
(если он не существует, он пытается со следующим)- UUID
- MAC
- IP в Capital Hex
- Часть IP
- Падает в
defaultфайл

Выбор пользователя или запись по умолчанию.
pxelinux.0запрашивает соответствующее ядро и RAMDisk с сервера TFTP и загружает их в RAM.Затем передает параметры загрузки и управление загруженному ядру.

Ядро загружает оставшиеся части с TFTP-сервера или любого другого протокольного сервера в зависимости от его функций / свойств.


Настройка сервера
Существует много способов настройки PXE-сервера, это один из них.
Эти инструкции были протестированы на Ubuntu 9.10 и Ubuntu 10.04 на реальной машине. Они должны быть действительны только с некоторыми изменениями. (Обновлен и протестирован для Ubuntu 14.04 на VirtualBox, проверьте изменения редакции для старых выпусков)
Моей целью был PartedMagic 4.5, он должен быть похож на Ubuntu или любой дистрибутив Linux.
Установите пакеты DHCP и TFTP
sudo apt-get install isc-dhcp-server openbsd-inetd lftp tftpd-hpa syslinuxНастройка DHCP
редактировать
/etc/default/isc-dhcp-server, Интерфейс Ethernet для службы DHCPINTERFACES="eth0"редактировать
/etc/dhcp/dhcpd.confили же/etc/ltsp/dhcpd.confсуществует, настройка службы DHCPКонкретные конфигурации PXE:
filename&next-serverdefault-lease-time 600; max-lease-time 7200; subnet 192.168.10.0 netmask 255.255.255.0 { range 192.168.10.50 192.168.10.100; option subnet-mask 255.255.255.0; option routers 192.168.10.123; option broadcast-address 192.168.10.255; filename "pxelinux.0"; next-server 192.168.10.123; }Установите статический IP для
eth0,192.168.10.123в моем случае, используя сетевой менеджер для настольной версии или/etc/network/interfacesдля серверной версии.auto eth0 iface eth0 inet static address 192.168.10.123 netmask 255.255.255.0 network 192.168.10.0 broadcast 192.168.10.255Повторно инициализируйте сетевой интерфейс:
sudo ifdown eth0 sudo ifup eth0Перезапустить сервис
sudo service isc-dhcp-server restartПроверить состояние
netstat -luВыход
Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 *:bootpc *:*
Настройка TFTP
редактировать
/etc/inetd.conf, Удалить#<off>#с самого началаtftpлиния или добавить, если он не там под#:BOOT:комментарий. (Пропустите это с systemd, 15.10 и позже)tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpbootВключить службу загрузки для
inetdsudo update-inetd --enable BOOTЗапустить сервис
sudo service openbsd-inetd restart sudo service tftpd-hpa restartПроверить состояние
netstat -luВыход
Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 *:tftp *:*
Настройка загрузочных файлов PXE
расстегнуть молнию
pmagic-pxe-4.5.zip, Еслиpxelinux.0нет там, получить его отsysliux-commonпакет установлен на/usr/lib/syslinux/pxelinux.0, Syslinux Project или Ubuntu Netboot Image.Поместите их в аналогичную структуру.
/var/lib/tftpboot/ |-- pxelinux.0 |-- pxelinux.cfg/ | `-- default `-- pmagic/ |-- bzimage `-- initramfsредактировать
/var/lib/tftpboot/pxelinux.cfg/default, если необходимо пример пути:pmagic/bzimage&pmagic/initramfsDEFAULT partmagic LABEL partmagic MENU LABEL PartMagic 4.5 KERNEL pmagic/bzimage APPEND initrd=pmagic/initramfs edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=10 loglevel=0 keymap=us livemediaНастройте правильные разрешения
sudo find /var/lib/tftpboot -type f -exec chmod 644 {} \; sudo find /var/lib/tftpboot -type d -exec chmod 755 {} \;
Настройка клиента
Измените порядок загрузки BIOS один раз, используя F9 или F12, для постоянной настройки из конфигурации BIOS DEL,F2 или F12. (В зависимости от марки машины)
Перейти к началу: [PXE | NIC | LAN | Ethernet | Network],
Заметки
inetutils-inetdили жеxinetdможно использовать вместоopenbsd-inetd, немногоinetdшаги разные.Корневой каталог TFTP можно изменить с
/etc/default/tftpd-hpa, Не забудьте обновить/etc/inetd.confтоже.Многие дистрибутивы поддерживают загрузку RAMDisk через множество протоколов: SSH(SFTP), SMB, NFS ... Пример Ubuntu с поддержкой NFS.
Некоторые старые сетевые карты не поддерживают PXE, можно использовать iPXE ( например, gPXE или Etherboot) на дискете, USB-накопителе, жестком диске (
/bootраздел) или даже прошить его в ПЗУ (поддерживается только несколько сетевых карт). GRUB2 имеет модуль для поддержки загрузки с использованием PXE.Смотрите также Википедия: gPXE и ROM-O-matic.
Ubuntu Netboot Image с http://cdimage.ubuntu.com/netboot/ обеспечивает установку Ubuntu из сети и запрашивает загрузку всех необходимых пакетов с официального или локального зеркала, если оно у вас есть.
Большинство пользователей ищут возможность загрузки живого изображения через PXE. Этот вопрос был только для настройки PXE-сервера. Смотрите Ubuntu Wiki: Установка - LocalNet


Меню PXE можно настроить, лучший шаблон для изучения - Ubuntu NetBoot. Смотрите Pxeboot Несколько изображений

memdiskможет использоваться для прямой загрузки образов ISO или дискет через PXE.syslinux-commonпакет имеет копию. Клиент должен иметь достаточно оперативной памяти для хранения образа плюс часть для запуска загруженной ОС.Пример конфигурации:
/var/lib/tftpboot/ |-- FDSTD.144 |-- memdisk |-- pxelinux.0 |-- slitaz-cooking.iso |-- pxelinux.cfg | `-- default `-- pmagic/ |-- bzimage `-- initramfs/pxelinux.cfg/defaultDEFAULT partmagic LABEL partmagic MENU LABEL PartMagic 4.5 KERNEL pmagic/bzimage APPEND initrd=pmagic/initramfs edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=10 loglevel=0 keymap=us livemedia LABEL slitaz MENU LABEL ^Slitaz.iso TEXT HELP Testing boot from iso. ENDTEXT KERNEL memdisk APPEND initrd=slitaz-cooking.iso LABEL freedos_std MENU LABEL ^FreeDOS STD TEXT HELP Testing boot from Floppy IMG. ENDTEXT KERNEL memdisk APPEND initrd=FDSTD.144Пакеты PartedMagic были удалены с официального сайта после того, как оригинальный разработчик решил сделать его коммерческим, некоторые выпуски можно было найти через торрент-сеть. Мой ответ здесь - резюме первой установки PXE, которая работала для меня. Ubuntu Netboot Image должен работать с теми же инструкциями.