CentOS PXE Boot за 15 минут

1. Устанавливаем tftp server

# yum -y install tftp-server

Включаем:

# vi /etc/xinetd.d/tftp

Меняем disable = yes на disable = no

Конечный вид:

service tftp
{
socket_type         = dgram
protocol            = udp
wait                = yes
user                = root
server              = /usr/sbin/in.tftpd
server_args         = -s /tftpboot
disable             = no
per_source          = 11
cps                 = 100 2
flags               = IPv4
}

Перезагружаем xinetd

#service xinetd restart
Stopping xinetd:                                          [  OK  ]
Starting xinetd:                                          [  OK  ]

Проверяем

netstat -nlp | grep :69
udp   0   0  0.0.0.0:69  0.0.0.0:* 4156/xinetd

2. Устанавливаем DHCP server

# yum -y install dhcp

Устанавливаем сервис в автозагрузку

# chkconfig dhcpd on
# chkconfig --list | grep dhcp
dhcpd 0:off   1:off   2:on    3:on    4:on    5:on    6:off

Настраиваем:

# cat /etc/dhcpd.conf
ddns-update-style interim;
ignore client-updates;

subnet 192.168.0.0 netmask 255.255.255.0 {

# --- default gateway
option routers                  192.168.0.1;
option subnet-mask              255.255.255.0;
option domain-name-servers      192.168.0.1;

range dynamic-bootp 192.168.0.103 192.168.0.106;
default-lease-time 21600;
max-lease-time 43200;

next-server 192.168.0.101; # Адресе tftp сервера для загрузки фаила с загрузчиком
filename "pxelinux.0"; # Имя фаила с загрузчиком
}

Перезагружаем DHCP сервер

# service dhcpd restart
Shutting down dhcpd:                                    [  OK  ]
Starting dhcpd:                                         [  OK  ]

Начинка

Теперь пришло время наполнить каталог tftpboot необходимыми нам инструментами и загрузчиком.

Распаковываем архив. Берем тут или тут Внимание в архиве содержится полная и 100% рабочая сборка образов и загрузчик pxe (кроме Acronis)

Меню будет загружаться при помощи загрузчика pxelinux.0
Меню формируется при помощи файла /tftpboot/pxelinux.cfg/default

Acronis
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

Образы для загрузки можно извлечь из папки установленного продукта:

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 и переименовываем.

SystemRescueCD PXE

Благодарности Денису и сайту pantz.org

Прописываем данные директивы в /tftpboot/pxelinux.cfg/default, например в меню Utilites

label RescueCD
kernel /pxe/rescuecd/rescuecd
append ramdisk_blocksize=4096 initrd=/pxe/rescuecd/initram.igz root=/dev/ram0 
ramdisk_size=524288 vga=F07 setkmap=us  
boothttp=http://192.168.0.101/sysresccd/sysrcd.dat dodhcp 
ar_source=http://192.168.0.101/sysresccd/ ar_nowait

Скачиваем systemrescuecd на данный момент последняя версия 1.6.0
wget http://sourceforge.net/projects/systemrescuecd/files/sysresccd-x86/1.6.0/systemrescuecd-x86-1.6.0.iso

Монтируем

# mount -o loop systemrescuecd-x86-1.6.0.iso /mnt

Копируем файлы

# cp /mnt/bootdisk/* /tftpboot/pxe/rescuecd
# cp /mnt/isolinux/* /tftpboot/pxe/rescuecd

Устанавливаем apache

# yum -y install httpd

Создаем папку sysresccd в /var/www/html

# mkdir /var/www/html/sysresccd

Копируем файлы sysrcd.dat и sysrcd.md5

# cp /mnt/sysrcd.dat /mnt/sysrcd.md5 /var/www/html/sysresccd

Перезагружаем apache

# service httpd restart

Ставим в автозагрузку

# chkconfig httpd on

Устанавливаем в BIOS загрузку с сетевой карты, которая поддерживает PXE сохраняемся и перезагружаемся.

В результате мы имеем загрузку по сети:
Acronis Disk Director — для разбивки HDD
Acronis True Image — для установки готовых образов
Memtest — для проверки памяти на ошибки
Systemrescuecd — швейцарский нож для работы с Linux системами.