Автор: Administrator
|
12.05.10 21:05 |
PXE Boot за 15 минут
Сегодня я расскажу как за 15 минут можно развернуть сетевую загрузку с удобным меню загрузки и минимумом полезных утилит.
Нам понадобится cервер под управлением Linux в моем случае Ubuntu, немного энтузиазма и свободного времени.
Я надеюсь статья будет вам полезна и я получу инвайт на Хабр :) Спасибо sky_lord!
TFTP-Сервер
Установим пакеты: tftp tftpd-hpa
sudo apt-get install tftp tftpd-hpa
Следующим шагом будет настройка корневого каталога TFTP сервера и самого сервера: открываем файл /etc/inetd.conf, и убеждаемся в наличие следующей строки, а так же, что перед ней не стоит #:
tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /tftpboot
/tftpboot — это папка вашего сервера, там и должны лежать файлы. Создаем ее
sudo mkdir /tftpboot
Проверяем. У меня в данный момент в папке /tftpboot есть файл /tftpboot/pxelinux.0
tftp 10.22.22.22 tftp> get pxelinux.0 Received 16300 bytes in 0.0 seconds tftp>
Как видно из ответа TFTP клиента мы успешно получили файл размером 16300 байт за 0 секунд.
DHCP-Сервер
Установим пакет: dhcp3-server
sudo apt-get install dhcp3-server
Теперь нам нужно его настроить для этого откроем фаил /etc/dhcp3/dhcpd.conf удобным нам способом. В моем случае это:
nano /etc/dhcp3/dhcpd.conf
Мой фаил /etc/dhcp3/dhcpd.conf:
ddns-update-style none; default-lease-time 600; max-lease-time 7200; authoritative; log-facility local7; server-name "10.22.22.22";
subnet 10.22.22.0 netmask 255.255.255.0 { pool {
range 10.22.22.1 10.22.22.21;
next-server 10.22.22.22; # Адресе tftp сервера для загрузки фаила с загрузчиком
filename "pxelinux.0"; # Имя фаила с загрузчиком } }
Внимание! если на вашем DHCP сервере сконфигурированы Static адреса для клиентов, то DHCP сервер проигнорирует вышеописанную конфигурацию и «отдаст» клиенту только те параметры которые внесены в секцию параметров static клиента. Подробности: man dhcpd.conf
Перезапускаем dhcp сервер:
sudo /etc/inti.d/dhcp3-server restart
Начинка
Теперь пришло время наполнить каталог tftpboot необходимыми нам инструментами и загрузчиком. Меню будет загружаться при помощи загрузчика syslinux а точнее pxelinux.0 Меню формируется при помощи файла /tftpboot/pxelinux.cfg/default Сразу оговорюсь — не стоит «копипастить» конфиги так как в них содержатся комментарии и я не знаю как их воспримет syslinux.
Пример файла /tftpboot/pxelinux.cfg/default:
default /boot/vesamenu.c32 #Это путь до файла модуля меню при его указании открываются широкие возможности для оформления меню.
#описание цветов элемнтов menu color border 0 #ffffffff #00000000 menu color sel 7 #ffffffff #ff000000 menu color title 0 #ffffffff #00000000 menu color unsel 0 #ffffffff #00000000 menu color disabled 0 #ffffffff #00000000 menu color timeout_msg 0 #ffffffff #00000000 menu color timeout 0 #ffffffff #00000000 menu background #1F45A5
# указание заголовка меню menu title PXE Network Boot Menu
prompt 0 # Индекс выбранного по умолчанию пункта меню начинается с 0.
timeout 1200 #Таймаут по истечении которого автоматически начинается загрузка пункта по умолчанию.
label Boot from first hard disk #Загружаемся с первого диска в системе. localboot 0x80
label Thinstation #Запуск тонкого клиента для доступа к терминальным серверам kernel /pxe/thinstation/vmlinuz #полный путь до ядра на сервере append ramdisk_blocksize=4096 initrd=/pxe/thinstation/initrd root=/dev/ram0 ramdisk_size=524288 splash=silent vga=791 console=ttyS3 #Указание дополнительных параметров загрузки (параметры можно подсмотреть в родном isolinux.cfg содержащимся в фале образа iso )
menu begin # Начало Субменю menu title Acronis Products # название субменю
label .. #Возврат выше на уровень menu exit
label Acronis True Image Echo Enterprise kernel /pxe/acronis/echoen/kernel append initrd=/pxe/acronis/echoen/ramdisk /s ramdisk_size=40000 quiet vga=791
label Acronis Disk Director 10 kernel /pxe/acronis/diskdirector/kernel append initrd=/pxe/acronis/diskdirector/ramdisk /s ramdisk_size=40000 quiet vga=791
menu end # Конец субменю
Распаковываем архив. Берем тут или тут Внимание в архиве содержится полная и 100% рабочая сборка образов и загрузчик pxe (кроме Acronis)
Что касается Acronis, а именно образов для загрузки, их можно извлечь из папки установленного продукта:
Acronis True Image Echo Enterprise Server: C:\Program Files\Acronis\TrueImageEchoEnterpriseServer\BartPE\Files
Находим 2 файла: kernel.dat и ramdisk.dat копируем их в папку
\tftpboot\pxe\acronis\echoen
и переименовываем в kernel и ramdisk.
Acronis Disk Director: C:\Program Files\Acronis\Acronis Disk Director
Аналогично пункту выше находим в папке фалы копируем в
\tftpboot\pxe\acronis\diskdirector и переименовываем.
Готово!
Теперь идем на любую машину с PXE ROM включаем его в БИОСе и устанавливаем его приоритетным устройством загрузки
Сохраняем и перезагружаемся.
Спасибо за внимание!
Описание и документация
Syslinux: syslinux.zytor.com/wiki/index.php/PXELINUX Thinstation: ru.wikipedia.org/wiki/Thinstation
оригинао: http://habrahabr.ru/blogs/sysadm/82552/
|
Последнее обновление 12.05.10 21:07 |