PXE — Загрузка по сети: сетевая загрузочная флешка
Содержание:
- Что такое PXE?
- Загрузка Linux-системы с использованием PXE
- Подготовка системы для работы PXE сервера
- Настройка DHCP сервера на Linux
- Настройка DHCP сервера на MikroTik
- Настройка DHCP на Cisco
- Настройка TFTP сервера
- Настройка сетевого загрузчика PXE на Syslinux
- Получение загрузчика:
- Описание некоторых модулей SYSLINUX
- Создание главного меню PXE сервера
- Описание синтаксиса файла меню.
- Создание подменю для PXE сервера
- Видео
Загрузочная флешка с набором нужного софта — замечательный инструмент системного администратора. Казалось бы, что может быть лучше? А лучше может быть загрузочный сервер!
Представьте, вы выбрали в BIOS загрузку по сети и можете установить ОС/вылечить компьютер от вирусов/реанимировать диски/протестировать ОЗУ/etc с PXE Boot сервера, ведь это куда удобнее, нежели бегать с флешкой от машины к машине.
А в случае большого компьютерного парка, такой инструмент и вовсе незаменим.
На данной странице детально описывается процесс загрузки бездисковых Linux-станций с помощью PXE, а также рассказывается как с помощью программ проекта LTSP подготовить Linux-систему для использования в качестве сервера загрузки таких станций. Рассматривается процесс настройки всех необходимых компонентов (TFTP, DHCP, NFS-серверов), а также приводятся примеры их конфигурационных файлов.
к содержанию ↑
Что такое PXE?
PXE (англ. Preboot Execution Environment, произносится пикси) — среда для загрузки компьютеров с помощью сетевой карты без использования жёстких дисков, компакт-дисков и других устройств, применяемых при загрузке операционной системы. Для организации загрузки системы в PXE используются протоколы IP, UDP, DHCP и TFTP. PXE-код, прописанный в сетевой карте, получает загрузчик из сети, после чего передаёт ему управление.
к содержанию ↑
Загрузка Linux-системы с использованием PXE
Загрузку Linux-системы с помощью PXE можно выполнить с помощью загрузчика PXELINUX, созданного на базе SYSLINUX. PXELINUX загружается с помощью PXE-кода в сетевой карте, а затем ему передаётся управление. Код PXELINUX не нужно прописывать в чип на сетевой карте (если нужно именно это, см. проект etherboot).
- pxe — Загрузка PXE-загрузчика. Прошивкой PXE, встроенной в сетевую карту, выполняется загрузка загрузчика pxelinux.
- dhcp1 — Получение IP-адреса и адреса TFTP-сервера. Загрузчик pxelinux делает DHCP-запрос и с его помощью получает IP-адрес и адрес TFTP-сервера. По умолчанию адрес TFTP-сервера равен адресу DHCP-сервера.
- tftp — Обращение к TFTP-серверу для получения ядра Linux. Загрузчик pxelinux обращается к TFTP-серверу и запрашивает у него ядро Linux (и, при необходимости, образ initrd).
- kernel — Запуск ядра Linux. После того как ядро Linux загружено, управление передаётся ему.
- dhcp2 — Получение IP-адреса DHCP. Ядро Linux делает запрос DHCP, с помощью которого получает свой IP-адрес, адрес NFS-сервера, на котором находится корневая файловая система, а также путь к местоположению этой файловой системы на диске.
- nfs — Монтирование корневой файловой системы. Корневая файловая система монтируется.
- init — Вызов процесса init. На корневой файловой системе находится файл /sbin/init, которому передаётся управление.
к содержанию ↑
Подготовка системы для работы PXE сервера
Для загрузки по PXE в Bios подключаемого компьютера должна быть включена и настроена данная функция.
Установим необходимые пакеты без вопросов:
yum -y install dhcp xinetd tftp tftp-server nfs-utils syslinux
Настройка DHCP сервера на Linux
В локальной сети должен работать только один сервер DHCP.
Загрузка по сети устроена так, что BIOS (или EFI) целевой машины передает управление специальной микропрограмме-загрузчику, встроенному в микросхему сетевой карты. Тот пытается получить IP по DHCP, а потом подгрузить с машины, выдавшей IP, основной сетевой загрузчик. В некоторых случаях, если в сети уже есть другой DHCP это может вызвать глюки при загрузке.
Итак, DHCP надо настроить.
Приведем конфигурационный файл DHCP сервера к следующему виду:
# mv /etc/dhcp/dhcpd. conf{,_orig}# cat > /etc/dhcp/dhcpd.conf
option domain-name-servers 8.8.8.8, 8.8.4.4;
option ip-forwarding on;
default-lease-time 60;
min-lease-time 120;
max-lease-time 300;
authoritative;
ddns-update-style interim;
log-facility local7;
shared-network PXE-Netwotk {
subnet 10.0.10.0 netmask 255.255.255.0 {
range 10.0.10.10 10.0.10.254;
option routers 10.0.10.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 8.8.8.8, 8.8.4.4;
filename "pxelinux.0";
next-server 10.0.10.1;
option root-path "10.0.10.1:/srv/tftp/";
}
}
# service isc-dhcp-server restart
к содержанию ↑
Настройка
DHCP сервера на MikroTikaddress=10.0.10.0/24 gateway=10.0.10.1 dns-server=8. 8.8.8, 8.8.4.4 wins-server="" ntp-server=212.20.50.208 caps-manager="" domain="domain.local" next-server=10.0.10.1 boot-file-name="pxelinux.0" dhcp-option=""
Настройка DHCP на Cisco
network <ip сети> <маска>ip dhcp pool <Имя пула>
bootfile pxelinux.0
next-server <IP сервера tftp>
default-router <Шлюз>
option 66 ascii «Имя сервера»
dns-server <DNS сервера>
option 150 <IP сервера tftp>
domain-name <доменное имя>
Настройка TFTP сервера
Более подробно можно прочитать в статье установка TFTP-hpa сервера или настройка Настройка TFTP сервера на Mikrotik RouterOS
Настройка
сетевого загрузчика PXE на SyslinuxНа самом деле, загрузчик SYSLINUX — это целый комплекс загрузчиков, на все случаи жизни, здесь есть и сетевой — PXELINUX, и загрузчик для ISO-образов ISOLINUX и просто загрузчик ОС с жесткого диска. Пока нам потребуется только сетевой. SYSLINUX представляет собой операционную систему в миниатюре, загрузчик с помощью специальных команд, прописываемых в загрузочном меню, может выполнять специальные функции, сохраняемые в исполняемых файлах особого формата — модулях загрузчика. Обычно они имеют расширение *.c32
, и плюс некоторые специальные файлы, например модуль memdisk
, загружающий в память ISO-, Floppy- или HDD-образы.
к содержанию ↑
Получение загрузчика:Проще всего его получить с официального сайта, скачав специальным скриптом. Скрипт разберет полученный архив на части, отдельно найдет в скачанном архиве модули
*.32
,memdisk
и сетевой загрузчикpxelinux.0
.
Скачиваем и заливаем в корень TFTP сервера все необходимое
# cd /tmp # wget https://www.kernel.org/pub/linux/utils/boot/syslinux/4.xx/syslinux-4.02.tar.gz #только с этой версией удалось подружить инсталлятор ESXi # tar -xf syslinux-4. 02.tar.gz # cd syslinux-4.02/ # find ./ -name "memdisk" -type f|xargs -I {} cp '{}' /srv/tftp/ # find ./ -name "pxelinux.0"|xargs -I {} cp '{}' /srv/tftp/ # find ./ -name "*.c32"|xargs -I {} cp '{}' /srv/tftp/
к содержанию ↑
Описание некоторых модулей SYSLINUXchain.c32
— переключает на следующий загрузчик (grldr
, ntldr
или просто на загрузчик, установленный на разделе HDD)reboot.c32
— перезагрузка компьютераmenu.c32
— при использовании в меню, может загружать дополнительные меню (подменю), или производить переход назад/между меню. Пример использования:Перейдем к настройке
# cd /srv/tftp/ # mkdir pxelinux.cfg # cd pxelinux.cfg
Создадим конфиг основного меню и внесем начальные настройки
# cat > default ui vesamenu.c32 PROMPT 0 menu background background. jpg menu title ServerClub PXE boot menu LABEL bootlocal menu label Boot from first HDD kernel chain.c32 append hd0 0 timeout 120 TEXT HELP The system will boot after the time is up ENDTEXT
к содержанию ↑
Создание главного меню PXE сервера
В главном меню мы будем использовать варианты загрузки системы и переход на подменю с утилитами по паролю.
Описание синтаксиса файла меню.
- UI — Активирует программу отображения меню. Если прописано UI pxelinux.cfg/menu.c32 будет использоваться текстовое меню, если прописать UI pxelinux.cfg/vesamenu.c32 будет использоваться графическое меню.
- ALLOWOPTIONS — Блокирует указание дополнительных параметров для загрузчика с помощью клавиши Tab и клавиши ESC для перехода в командный режим.
- PROMPT — Скрывает отображение строки “boot:” для ввода параметров.
- FONT — Загружает шрифт cyr_a8x16.psf для отображения русских букв.
- MENU COLOR — Переопределяет цвета заданные по умолчанию для интерфейса.
- MENU BACKGROUND — Указывает, какой графический файл использовать в виде фона. Я использую файл back.jpg, который находится в с:\netboot\pxelinux.cfg\back.jpg. Внимание! Картинка должна быть в формате jpg или png. Разрешение картинки обязательно должно быть 640×480
- LABEL — Задает идентификаторы меню. Значения этого параметра не должны повторяться внутри файла.
- MENU LABEL — Задает подпись для идентификатора определенного в LABEL.
- Параметр KERNEL — Указывает, какой загрузчик использовать в случае выбора этого пункта меню.
Создадим файл главного меню:
mcedit /var/lib/tftpboot/pxelinux.cfg/default = необходимые параметры с комментариями =
default vesamenu.c32
# Фон для меню
menu background backgrounds/fon.png
prompt 0
# Время через которое стартует первый пункт меню
timeout 100
menu title ##### PXE BOOT MENU: #####
Label 10
menu label Calculate 17 KDE & SEVO44
kernel live/calculate/cld17kde/boot/vmlinuz
append initrd=live/calculate/cld17kde/boot/initrd root=nfs:192. 168.1.1:/var/lib/tftpboot/live/calculate/cld17kde calculate=lang:ru_RU,keymap:ru_RU,timezone:Europe/Moscow rw selinux=0
LABEL # ADMIN SETTINGS
LABEL 20
# Пароль для запуска
menu passwd 777
MENU LABEL Utilits
KERNEL vesamenu.c32
APPEND pxelinux.cfg/utilits
Label # BOOT LOCAL
label 30
menu label Boot from local drive
localboot 0
Файл фонового изображения меню должен быть размером 640х480 пикселей, в формате PNG или JPEG.
Создадим папку для фоновых изображений и папку для загрузочных live образов систем:
mkdir /var/lib/tftpboot/live mkdir /var/lib/tftpboot/backgrounds
Загружаем необходимый iso образ любыми удобными вам способами и копируем содержимое в нужную папку.
При использовании образа с графической оболочкой KDE для стабильной работы необходимо использовать 4 G оперативной памяти!
Приведу лишь команды которые необходимы для монтирования и размонтирования образа iso:
mount -o loop /root/calculate_kde_sevo44. iso /mnt/iso umount /mnt/iso
Настройки параметров для загрузки разных операционных систем различаются.
В данной настройке по умолчанию грузится live образ. В случае если вам необходима по умолчанию загрузка с жесткого диска, то разместите необходимый пункт первым в меню.
Моё главное меню:
к содержанию ↑
Создание подменю для PXE сервера
Все утилиты я намеренно вывел в отдельное подменю и закрыл паролем. Так мне спокойней и пользователи не полезут туда куда им не надо.
Мой файл подменю для utilits выглядит так:
mcedit /var/lib/tftpboot/pxelinux.cfg/utilits = вывод команды с пояснениями = default vesamenu.c32 menu background backgrounds/fon.png menu title ##### Utilits: ##### label # TEST LABEL 10 MENU LABEL Memtest86+ KERNEL utilits/memtest86 LABEL 11 MENU LABEL MHDD kernel memdisk initrd utilits/mhdd32ver4.6.iso append iso raw LABEL 12 MENU LABEL Victoria 3. 5 HDD kernel memdisk initrd utilits/v35.iso append iso raw label # Backup/Recovery LABEL 20 MENU LABEL Clonezilla Live 2.5.2-17 KERNEL utilits/zilla/live/vmlinuz APPEND initrd=utilits/zilla/live/initrd.img boot=live username=user union=overlay config components quiet noswap edd=on nomodeset nodmraid locales=ru_RU.UTF-8 keyboard-layouts=NONE ocs_live_run="ocs-live-general" ocs_live_extra_param="" video=uvesafb:mode_option=1024x768-16 ocs_live_batch=no net.ifnames=0 nosplash noprompt fetch=tftp://192.168.1.1/utilits/zilla/live/filesystem.squashfs Label ### LABEL 30 MENU LABEL NEXT KERNEL vesamenu.c32 APPEND pxelinux.cfg/default
Скачать необходимый iso образ Clonezilla вы на сайт разработчика. На сайте вы можете найти всю необходимую информацию для настройки и работы с этой замечательной системой.
к содержанию ↑
Видео
На видео показано как работает система Calculate Linux которую я настроил под свои нужды запускаемая с помощью PXE сервера.
PXE — Загрузка по сети: сетевая загрузочная флешка
Содержание:
- Что такое PXE?
- Загрузка Linux-системы с использованием PXE
- Подготовка системы для работы PXE сервера
- Настройка DHCP сервера на Linux
- Настройка DHCP сервера на MikroTik
- Настройка DHCP на Cisco
- Настройка TFTP сервера
- Настройка сетевого загрузчика PXE на Syslinux
- Получение загрузчика:
- Описание некоторых модулей SYSLINUX
- Создание главного меню PXE сервера
- Описание синтаксиса файла меню.
- Создание подменю для PXE сервера
- Видео
Загрузочная флешка с набором нужного софта — замечательный инструмент системного администратора. Казалось бы, что может быть лучше? А лучше может быть загрузочный сервер!
Представьте, вы выбрали в BIOS загрузку по сети и можете установить ОС/вылечить компьютер от вирусов/реанимировать диски/протестировать ОЗУ/etc с PXE Boot сервера, ведь это куда удобнее, нежели бегать с флешкой от машины к машине.
А в случае большого компьютерного парка, такой инструмент и вовсе незаменим.
На данной странице детально описывается процесс загрузки бездисковых Linux-станций с помощью PXE, а также рассказывается как с помощью программ проекта LTSP подготовить Linux-систему для использования в качестве сервера загрузки таких станций. Рассматривается процесс настройки всех необходимых компонентов (TFTP, DHCP, NFS-серверов), а также приводятся примеры их конфигурационных файлов.
к содержанию ↑
Что такое PXE?
PXE (англ. Preboot Execution Environment, произносится пикси) — среда для загрузки компьютеров с помощью сетевой карты без использования жёстких дисков, компакт-дисков и других устройств, применяемых при загрузке операционной системы. Для организации загрузки системы в PXE используются протоколы IP, UDP, DHCP и TFTP. PXE-код, прописанный в сетевой карте, получает загрузчик из сети, после чего передаёт ему управление.
к содержанию ↑
Загрузка Linux-системы с использованием PXE
Загрузку Linux-системы с помощью PXE можно выполнить с помощью загрузчика PXELINUX, созданного на базе SYSLINUX. PXELINUX загружается с помощью PXE-кода в сетевой карте, а затем ему передаётся управление. Код PXELINUX не нужно прописывать в чип на сетевой карте (если нужно именно это, см. проект etherboot).
- pxe — Загрузка PXE-загрузчика. Прошивкой PXE, встроенной в сетевую карту, выполняется загрузка загрузчика pxelinux.
- dhcp1 — Получение IP-адреса и адреса TFTP-сервера. Загрузчик pxelinux делает DHCP-запрос и с его помощью получает IP-адрес и адрес TFTP-сервера. По умолчанию адрес TFTP-сервера равен адресу DHCP-сервера.
- tftp — Обращение к TFTP-серверу для получения ядра Linux. Загрузчик pxelinux обращается к TFTP-серверу и запрашивает у него ядро Linux (и, при необходимости, образ initrd).
- kernel — Запуск ядра Linux. После того как ядро Linux загружено, управление передаётся ему.
- dhcp2 — Получение IP-адреса DHCP. Ядро Linux делает запрос DHCP, с помощью которого получает свой IP-адрес, адрес NFS-сервера, на котором находится корневая файловая система, а также путь к местоположению этой файловой системы на диске.
- nfs — Монтирование корневой файловой системы. Корневая файловая система монтируется.
- init — Вызов процесса init. На корневой файловой системе находится файл /sbin/init, которому передаётся управление.
к содержанию ↑
Подготовка системы для работы PXE сервера
Для загрузки по PXE в Bios подключаемого компьютера должна быть включена и настроена данная функция.
Установим необходимые пакеты без вопросов:
yum -y install dhcp xinetd tftp tftp-server nfs-utils syslinux
Настройка DHCP сервера на Linux
В локальной сети должен работать только один сервер DHCP.
Загрузка по сети устроена так, что BIOS (или EFI) целевой машины передает управление специальной микропрограмме-загрузчику, встроенному в микросхему сетевой карты. Тот пытается получить IP по DHCP, а потом подгрузить с машины, выдавшей IP, основной сетевой загрузчик. В некоторых случаях, если в сети уже есть другой DHCP это может вызвать глюки при загрузке.
Итак, DHCP надо настроить.
Приведем конфигурационный файл DHCP сервера к следующему виду:
# mv /etc/dhcp/dhcpd. conf{,_orig}# cat > /etc/dhcp/dhcpd.conf
option domain-name-servers 8.8.8.8, 8.8.4.4;
option ip-forwarding on;
default-lease-time 60;
min-lease-time 120;
max-lease-time 300;
authoritative;
ddns-update-style interim;
log-facility local7;
shared-network PXE-Netwotk {
subnet 10.0.10.0 netmask 255.255.255.0 {
range 10.0.10.10 10.0.10.254;
option routers 10.0.10.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 8.8.8.8, 8.8.4.4;
filename "pxelinux.0";
next-server 10.0.10.1;
option root-path "10.0.10.1:/srv/tftp/";
}
}
# service isc-dhcp-server restart
к содержанию ↑
Настройка
DHCP сервера на MikroTikaddress=10.0.10.0/24 gateway=10.0.10.1 dns-server=8. 8.8.8, 8.8.4.4 wins-server="" ntp-server=212.20.50.208 caps-manager="" domain="domain.local" next-server=10.0.10.1 boot-file-name="pxelinux.0" dhcp-option=""
Настройка DHCP на Cisco
network <ip сети> <маска>ip dhcp pool <Имя пула>
bootfile pxelinux.0
next-server <IP сервера tftp>
default-router <Шлюз>
option 66 ascii «Имя сервера»
dns-server <DNS сервера>
option 150 <IP сервера tftp>
domain-name <доменное имя>
Настройка TFTP сервера
Более подробно можно прочитать в статье установка TFTP-hpa сервера или настройка Настройка TFTP сервера на Mikrotik RouterOS
Настройка
сетевого загрузчика PXE на SyslinuxНа самом деле, загрузчик SYSLINUX — это целый комплекс загрузчиков, на все случаи жизни, здесь есть и сетевой — PXELINUX, и загрузчик для ISO-образов ISOLINUX и просто загрузчик ОС с жесткого диска. Пока нам потребуется только сетевой. SYSLINUX представляет собой операционную систему в миниатюре, загрузчик с помощью специальных команд, прописываемых в загрузочном меню, может выполнять специальные функции, сохраняемые в исполняемых файлах особого формата — модулях загрузчика. Обычно они имеют расширение *.c32
, и плюс некоторые специальные файлы, например модуль memdisk
, загружающий в память ISO-, Floppy- или HDD-образы.
к содержанию ↑
Получение загрузчика:Проще всего его получить с официального сайта, скачав специальным скриптом. Скрипт разберет полученный архив на части, отдельно найдет в скачанном архиве модули
*.32
,memdisk
и сетевой загрузчикpxelinux.0
.
Скачиваем и заливаем в корень TFTP сервера все необходимое
# cd /tmp # wget https://www.kernel.org/pub/linux/utils/boot/syslinux/4.xx/syslinux-4.02.tar.gz #только с этой версией удалось подружить инсталлятор ESXi # tar -xf syslinux-4. 02.tar.gz # cd syslinux-4.02/ # find ./ -name "memdisk" -type f|xargs -I {} cp '{}' /srv/tftp/ # find ./ -name "pxelinux.0"|xargs -I {} cp '{}' /srv/tftp/ # find ./ -name "*.c32"|xargs -I {} cp '{}' /srv/tftp/
к содержанию ↑
Описание некоторых модулей SYSLINUXchain.c32
— переключает на следующий загрузчик (grldr
, ntldr
или просто на загрузчик, установленный на разделе HDD)reboot.c32
— перезагрузка компьютераmenu.c32
— при использовании в меню, может загружать дополнительные меню (подменю), или производить переход назад/между меню. Пример использования:
Перейдем к настройке
# cd /srv/tftp/ # mkdir pxelinux.cfg # cd pxelinux.cfg
Создадим конфиг основного меню и внесем начальные настройки
# cat > default ui vesamenu.c32 PROMPT 0 menu background background. jpg menu title ServerClub PXE boot menu LABEL bootlocal menu label Boot from first HDD kernel chain.c32 append hd0 0 timeout 120 TEXT HELP The system will boot after the time is up ENDTEXT
к содержанию ↑
Создание главного меню PXE сервера
В главном меню мы будем использовать варианты загрузки системы и переход на подменю с утилитами по паролю.
Описание синтаксиса файла меню.
- UI — Активирует программу отображения меню. Если прописано UI pxelinux.cfg/menu.c32 будет использоваться текстовое меню, если прописать UI pxelinux.cfg/vesamenu.c32 будет использоваться графическое меню.
- ALLOWOPTIONS — Блокирует указание дополнительных параметров для загрузчика с помощью клавиши Tab и клавиши ESC для перехода в командный режим.
- PROMPT — Скрывает отображение строки “boot:” для ввода параметров.
- FONT — Загружает шрифт cyr_a8x16.psf для отображения русских букв.
- MENU COLOR — Переопределяет цвета заданные по умолчанию для интерфейса.
- MENU BACKGROUND — Указывает, какой графический файл использовать в виде фона. Я использую файл back.jpg, который находится в с:\netboot\pxelinux.cfg\back.jpg. Внимание! Картинка должна быть в формате jpg или png. Разрешение картинки обязательно должно быть 640×480
- LABEL — Задает идентификаторы меню. Значения этого параметра не должны повторяться внутри файла.
- MENU LABEL — Задает подпись для идентификатора определенного в LABEL.
- Параметр KERNEL — Указывает, какой загрузчик использовать в случае выбора этого пункта меню.
Создадим файл главного меню:
mcedit /var/lib/tftpboot/pxelinux.cfg/default = необходимые параметры с комментариями =
default vesamenu.c32
# Фон для меню
menu background backgrounds/fon.png
prompt 0
# Время через которое стартует первый пункт меню
timeout 100
menu title ##### PXE BOOT MENU: #####
Label 10
menu label Calculate 17 KDE & SEVO44
kernel live/calculate/cld17kde/boot/vmlinuz
append initrd=live/calculate/cld17kde/boot/initrd root=nfs:192. 168.1.1:/var/lib/tftpboot/live/calculate/cld17kde calculate=lang:ru_RU,keymap:ru_RU,timezone:Europe/Moscow rw selinux=0
LABEL # ADMIN SETTINGS
LABEL 20
# Пароль для запуска
menu passwd 777
MENU LABEL Utilits
KERNEL vesamenu.c32
APPEND pxelinux.cfg/utilits
Label # BOOT LOCAL
label 30
menu label Boot from local drive
localboot 0
Файл фонового изображения меню должен быть размером 640х480 пикселей, в формате PNG или JPEG.
Создадим папку для фоновых изображений и папку для загрузочных live образов систем:
mkdir /var/lib/tftpboot/live mkdir /var/lib/tftpboot/backgrounds
Загружаем необходимый iso образ любыми удобными вам способами и копируем содержимое в нужную папку.
При использовании образа с графической оболочкой KDE для стабильной работы необходимо использовать 4 G оперативной памяти!
Приведу лишь команды которые необходимы для монтирования и размонтирования образа iso:
mount -o loop /root/calculate_kde_sevo44. iso /mnt/iso umount /mnt/iso
Настройки параметров для загрузки разных операционных систем различаются.
В данной настройке по умолчанию грузится live образ. В случае если вам необходима по умолчанию загрузка с жесткого диска, то разместите необходимый пункт первым в меню.
Моё главное меню:
к содержанию ↑
Создание подменю для PXE сервера
Все утилиты я намеренно вывел в отдельное подменю и закрыл паролем. Так мне спокойней и пользователи не полезут туда куда им не надо.
Мой файл подменю для utilits выглядит так:
mcedit /var/lib/tftpboot/pxelinux.cfg/utilits = вывод команды с пояснениями = default vesamenu.c32 menu background backgrounds/fon.png menu title ##### Utilits: ##### label # TEST LABEL 10 MENU LABEL Memtest86+ KERNEL utilits/memtest86 LABEL 11 MENU LABEL MHDD kernel memdisk initrd utilits/mhdd32ver4.6.iso append iso raw LABEL 12 MENU LABEL Victoria 3. 5 HDD kernel memdisk initrd utilits/v35.iso append iso raw label # Backup/Recovery LABEL 20 MENU LABEL Clonezilla Live 2.5.2-17 KERNEL utilits/zilla/live/vmlinuz APPEND initrd=utilits/zilla/live/initrd.img boot=live username=user union=overlay config components quiet noswap edd=on nomodeset nodmraid locales=ru_RU.UTF-8 keyboard-layouts=NONE ocs_live_run="ocs-live-general" ocs_live_extra_param="" video=uvesafb:mode_option=1024x768-16 ocs_live_batch=no net.ifnames=0 nosplash noprompt fetch=tftp://192.168.1.1/utilits/zilla/live/filesystem.squashfs Label ### LABEL 30 MENU LABEL NEXT KERNEL vesamenu.c32 APPEND pxelinux.cfg/default
Скачать необходимый iso образ Clonezilla вы на сайт разработчика. На сайте вы можете найти всю необходимую информацию для настройки и работы с этой замечательной системой.
к содержанию ↑
Видео
На видео показано как работает система Calculate Linux которую я настроил под свои нужды запускаемая с помощью PXE сервера.
Что такое PXE? | Сервер загрузки PXE
Что такое PXE? | Загрузочный сервер PXE — средство развертывания ОС ManageEngine
Среда выполнения предварительной загрузки (PXE) — это интерфейс клиент-сервер, который позволяет компьютерам в сети загружаться с сервера перед развертыванием полученного образа ПК в локальных и удаленных офисах для клиентов с поддержкой PXE . Сетевая загрузка PXE выполняется с использованием протоколов клиент-сервер, таких как DHCP (протокол динамической конфигурации хоста) и TFTP (простой протокол передачи файлов). PXE будет включен по умолчанию на всех компьютерах.
В этой статье:
- Как работает загрузка PXE?
- Процесс настройки DHCP
- Процесс загрузки PXE
- Предварительные условия для загрузки PXE
- PXE-сервер в OS Deployer
- Как создать загрузочный носитель PXE с помощью OS Deployer?
Как работает загрузка PXE?
Перед загрузкой по сети PXE необходимо настроить параметры DHCP-сервера/области 66 и 67. Обратитесь к этому документу, чтобы узнать, как легко настроить различные серверы DHCP. После присвоения клиентскому компьютеру IP-адреса запускается процесс загрузки PXE.
Процесс настройки DHCP
- Клиентский компьютер отправляет пакет «обнаружения» в форме широковещательного запроса конфигурации сети. Этот пакет будет получен DHCP-сервером.
- Пакет «предложение» будет отправлен с DHCP-сервера клиенту. После анализа «предложения» клиенту будут присвоены сетевые параметры, такие как IP-адрес, маска подсети и т. д.
Процесс загрузки PXE
- Клиент уведомит DHCP о том, что он использует загрузочный сервер PXE. DHCP-сервер отправит клиенту IP-адрес следующего сервера загрузки (опция 66) и имя загрузочного файла (опция 67).
- Клиент свяжется с загрузочным сервером PXE и запросит загрузочные файлы.
- Загрузочный сервер PXE отправит загрузочные файлы клиенту через простой протокол передачи файлов (TFTP).
- На DHCP-сервере параметры 66 и 67 можно настроить в области действия или параметрах сервера. Это помогает в загрузке и запуске загрузочных файлов для клиентского компьютера.
Предварительные условия для загрузки PXE
Процесс загрузки PXE требует следующих компонентов для бесперебойной процедуры:
- DHCP-сервер
- PXE-сервер (будет автоматически установлен OS Deployer)
- Загрузочный носитель PXE (должен быть создан и опубликован в соответствующем удаленном офисе)
Эти компоненты помогут вам обеспечить успешный процесс загрузки.
PXE-сервер в OS Deployer
OS Deployer поддерживает использование сетевых загрузочных серверов, таких как PXE-серверы, чтобы пользователи могли загружать свои компьютеры из сети.
- В Manage Engine OS Deployer загрузочный сервер PXE работает как отдельная служба Windows с именем «ManageEngine OS Deployer PXE Server».
- Чтобы узнать больше о настройке DHCP для PXE, щелкните здесь.
Как создать загрузочный носитель PXE с помощью OS Deployer?
Давайте теперь обсудим, как создать загрузочный носитель PXE, который будет использоваться во время загрузки PXE:
- Перейдите к Развертыванию-> Создать загрузочный носитель. Нажмите «Создать загрузочный носитель» и выберите PXE.
- Введите необходимые данные, такие как имя, место установки инструмента WinPE, драйверы и т. д., и нажмите «Создать загрузочный носитель».
- Теперь вы успешно создали загрузочный носитель PXE.
В следующем видео представлена более подробная информация о шагах по созданию загрузочного носителя PXE.
Нужна дополнительная помощь?
Если у вас все еще есть проблемы с настройкой параметров PXE, в удобное для вас время воспользуйтесь бесплатной персонализированной технической демонстрацией.
Что такое загрузка PXE и как она работает?
Сокращенно от «Pre-boot Execution Environment», загрузка PXE является важной частью инфраструктуры центра обработки данных и может быть реализована с помощью программного обеспечения с открытым исходным кодом или продуктов, поддерживаемых поставщиком. Он позволяет автоматически инициализировать серверы или рабочие станции по сети. Любой, кто занимается развертыванием инфраструктуры серверов без операционной системы, встроенных устройств и устройств IoT, может извлечь выгоду из более глубокого понимания PXE.
В своей простейшей форме среда PXE представляет собой процесс загрузки устройства с сетевой карты. Для загрузки устройства в среду PXE требуются соответствующие инструкции. Самый распространенный способ сделать это — настроить сервер динамической конфигурации хоста (DHCP) для хранения и обслуживания этой информации.
Компоненты загрузки PXE
При обсуждении PXE необходимо учитывать три характеристики:
#1.
Контроллер сетевого интерфейса (NIC) с поддержкой PXEИмейте в виду, что не все сетевые карты одинаковы. Многие сетевые карты потребительского уровня не поддерживают PXE. Однако это быстро меняется, поскольку усовершенствования упрощают включение дополнительных функций в более дешевые устройства. В серверах уровня центра обработки данных сетевые карты с поддержкой PXE являются стандартными.
#2. Протокол динамической конфигурации хоста (DHCP)
DHCP позволяет клиенту получать IP-адрес для доступа к сетевым серверам. В DHCP есть два типа субъектов. DHCP-сервер и DHCP-клиент.
В то время как DHCP-сервер предоставляет клиентам конфигурацию IP-сети, DHCP-клиент работает на компьютерах, которые присоединяются к сети и запрашивают конфигурацию.
#3. Сервер Trivial File Transfer Protocol (TFPT)
TFTP — это простой протокол на основе UDP для получения или отправки файла, который легко реализуется в среде встроенного ПО с ограниченными ресурсами. TFTP не имеет списка каталогов, аутентификации или авторизации, поэтому вы должны знать точный путь к файлу, который собираетесь загрузить.
Итак, как работает загрузка PXE? Я постараюсь максимально понятно объяснить рабочий процесс PXE. Во-первых, процесс PXE позволяет клиенту уведомить сервер о том, что он использует PXE. Во-вторых, если сервер использует PXE, клиенту отправляется список загрузочных серверов с доступными операционными системами. Клиент находит нужный ему загрузочный сервер и получает имя файла для загрузки. Затем клиент загружает файл с помощью простого протокола передачи файлов (Trivia File Transfer Protocol) и выполняет его, загружая операционную систему. В конечном счете, если сервер не оснащен PXE, он игнорирует код PXE, предотвращая сбои в работе DHCP и протокола начальной загрузки (BP).
Рабочий процесс PXE
Источник
Преимущества использования загрузки PXE
Многие организации сталкиваются с серьезными проблемами, которые можно решить с помощью загрузки PXE, которая позволяет автоматизировать подготовку или установку операционных систем на множество машин.
ОС Windows и Linux уже имеют механизмы для автоматизации установки. Обычно вы создаете начальный файл или конфигурацию. Исходный файл содержит ответы на вопросы, заданные установщиком ОС. Для Linux примерами этого являются файлы кикстарта Debian Preseed или Redhat. Однако вам по-прежнему потребуется доступ к установочному носителю на CD/DVD-ROM или USB-накопителе. Наличие человека, работающего с USB-накопителем, требует много времени и подвержено ошибкам. Однако преимуществ использования загрузки PXE немало:
- Меньше технических установщиков;
- Меньше времени, затрачиваемого на сервер;
- Меньше ошибок за счет автоматизации;
- Централизованные и простые в обновлении средства установки ОС.
PXE — это основанный на стандартах подход к решению проблемы установки ОС в систему без необходимости установки носителей (USB, CD/DVD-ROM) в систему человеком. Он делает это путем начальной загрузки машины по сети. Если вы хотите обслуживать или устанавливать систему для нескольких компьютеров, не вставляя компакт-диски или USB-накопители в эти компьютеры один за другим, вы можете попробовать загрузку PXE для установки системы. Если ваш компьютер не запускается должным образом и не может быть запущен путем загрузки файла образа на внутренний жесткий диск, вы также можете попробовать загрузку PXE.
Если у клиента нет дисковода компакт-дисков или доступного USB-порта или нет компакт-диска или образа USB, вы можете попробовать загрузку PXE для запуска нескольких клиентских компьютеров в локальной сети.
Кроме того, с PXE клиентской машине не нужна операционная система или даже жесткий диск, ее можно перезагрузить в случае аппаратного или программного сбоя, что позволяет администратору диагностировать и устранить проблему и, в конечном счете, новые типы компьютеров могут быть легко добавлены в сеть, поскольку PXE не зависит от поставщика.
Подведение итогов…
Как объяснялось выше, некоторые из преимуществ PXE заключаются в том, что вы можете загружать машину без каких-либо подключенных устройств хранения, что делает их более эффективными, а также снижает затраты. Вам также не нужно носить с собой USB-устройство со всеми необходимыми утилитами восстановления, вы можете просто загрузить неисправный компьютер из сети и диагностировать его с помощью набора инструментов для восстановления системы или резервной системы восстановления.