Как я могу установить виртуальную машину Ubuntu, используя загрузочный сервер PXE?
Мне нужны все детали конфигурации и что нужно изменить в файлах конфигурации.
См. Википедия: PXE
Это мое понимание!
PXE (клиентская сторона) транслирует запрос на IP. Ответ DHCP-сервера с необходимой информацией: IP, IP-адрес следующего сервера (IP-адрес TFTP-сервера), pxelinux.0
(имя файла загрузчика PXE), и т. Д.
PXE (на стороне клиента) запрашивает файл pxelinux.0
с TFTP-сервера, загружает его в ОЗУ и передает управление на pxelinux.0
.
pxelinux.0
получает файл конфигурации загрузки с сервера TFTP с именем как:
(если он не существует, он пытается со следующим)
default
Либо пользовательский выбор, либо пункт меню по умолчанию. pxelinux.0
запрашивает соответствующее ядро и RAMDisk с сервера TFTP и загружает их в RAM.
Затем передает параметры загрузки и управление загруженному ядру.
Ядро загружает оставшиеся части с сервера TFTP или любого другого сервера протокола в зависимости от его функций / свойств.
Существует много способов настройки PXE-сервера, это один из них.
Эти инструкции были протестированы на Ubuntu 9.10 & amp; Ubuntu 10.04 на реальной машине. Они должны быть действительны только с некоторыми изменениями. (Обновлен и протестирован для Ubuntu 14.04 на VirtualBox, проверьте редакцию редакций для старых выпусков)
Моя цель была PartedMagic 4.5 , она должна быть похожа на Ubuntu или любой дистрибутив Linux.
Установить DHCP & amp; Пакеты TFTP
sudo apt-get install isc-dhcp-server openbsd-inetd lftp tftpd-hpa syslinux
Настройка DHCP
Редактировать /etc/default/isc-dhcp-server
, Интерфейс Ethernet для службы DHCP
INTERFACES="eth0"
Измените /etc/dhcp/dhcpd.conf
или /etc/ltsp/dhcpd.conf
, если оно существует, конфигурация службы DHCP
Конфигурации, специфичные для PXE: filename
& amp; next-server
default-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
Включите службу загрузки для inetd
sudo 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
& amp; pmagic/initramfs
DEFAULT 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 kbd> или F12 kbd>, для постоянной настройки из конфигурации BIOS DEL kbd>, F2 kbd> или F12 KBD>. (В зависимости от марки машины)
Перейти к началу страницы: [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 с cdimage.ubuntu.com/netboot/ обеспечивает установку Ubuntu из сети и будет запрашивать загрузку всех необходимых пакетов с официального или локального зеркала, если оно у вас есть. .
Большинство пользователей ищут возможность загрузки живого изображения через PXE. Этот вопрос был только для настройки PXE-сервера. См. Ubuntu Wiki: Установка - LocalNet
Меню PXE можно настроить лучше всего. Шаблон для изучения - Ubuntu NetBoot . См. Pxeboot Multiple image
memdisk
можно использовать для прямой загрузки образов ISO или дискет через PXE. syslinux-common
Пакет имеет копию. У клиента должно быть достаточно оперативной памяти для хранения образа плюс часть для запуска загруженной ОС.
Пример конфигурации:
/var/lib/tftpboot/
|-- FDSTD.144
|-- memdisk
|-- pxelinux.0
|-- slitaz-cooking.iso
|-- pxelinux.cfg
| `-- default
`-- pmagic/
|-- bzimage
`-- initramfs
/pxelinux.cfg/default
DEFAULT 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 должен работать с теми же инструкциями.