Загрузка и установка CentOS по сети (PXE Boot)

Попался в руки компьютер на котором надо было для тестов Centos последней версии. Как на зло, в этот момент под рукой не оказалось установочного диска. Пришлось вспоминать, что есть pxe и установка по сети. Так и родилась эта статья, прочитав которую Вы научитесь устанавливать CentOS по сети.

Настраивать будем в системе

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

yum install tftp-server

Включаем сервер tftp

vi /etc/xinetd.d/tftp

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

Должно получиться, как на рисунке

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

service xinetd restart

Советую, по возможности, всегда проверять свои действия и вводимые команды. Собственно проверяем )

netstat -nlp | grep :69

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

yum install dhcp

Добавляем сервис в автозагрузку

chkconfig dhcpd on

Проверяем

chkconfig --list | grep dhcp

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

vi /etc/dhcp/dhcpd.conf

Пример моего конфига:

ddns-update-style interim;
ignore client-updates;
subnet 192.168.0.0 netmask 255.255.255.0 {
   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.100 192.168.0.200;
   default-lease-time 21600;
   max-lease-time 43200;
   next-server 192.168.0.1;
   filename "pxelinux.0"; 
 }

,где

next-server 192.168.0.1;  - адресе tftp сервера
filename "pxelinux.0"; - имя фаила загрузчика

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

service dhcpd restart

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

yum install syslinux

Скопируем необходимые файлы из syslinux в директорию tftpboot

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot

,где

pxelinux.0 – PXE-загрузчик
vmlinuz – ядро операционной системы Linux

Создадим папку в которой будет лежать конфиг pxe

mkdir -p /var/lib/tftpboot/pxelinux.cfg

Создадим конфиг

vi /var/lib/tftpboot/pxelinux.cfg/default

Пример моего конфига

timeout 100
default menu.c32

menu title ### PXE Boot Menu (http://XaXaTyXa.ru) ###
menu begin.
menu title System Install
label ..
menu exit
label 1
   menu label ^1) CentOS 6.3 i386
   kernel images/centos/i386/6.3/isolinux/vmlinuz
   append initrd=images/centos/i386/6.3/isolinux/initrd.img method=http://192.168.0.1/pxe/centos/i386/6.3/ devfs=nomount
label 2
   menu label ^2) CentOS 6.3 x86_64
   kernel images/centos/x86_64/6.3/isolinux/vmlinuz
   append initrd=images/centos/x86_64/6.3/isolinux/initrd.img method=http://192.168.0.1/pxe/centos/x86_64/6.3/ devfs=nomount
menu end

Создадим директории для образов, отдельный каталог для каждого релиза CentOS. В нашем случае интересуют только последнии версии.

mkdir -p /var/lib/tftpboot/images/centos/i386/6.3
mkdir -p /var/lib/tftpboot/images/centos/x86_64/6.3

Теперь необходимо создать папку для монтирования образов

mkdir -p /mnt/iso/

Скачиваем образ в папку tmp

wget http://mirrors.kernel.org/centos/6.3/isos/i386/CentOS-6.3-i386-minimal.iso -o /tmp/CentOS-6.3-i386-bin-DVD1.iso

Монтируем iso образ

mount -t iso9660 -o loop /tmp/CentOS-6.3-i386-bin-DVD1.iso /mnt/iso

Скопируем содержимое образа

cp -vR /mnt/iso/ /var/lib/tftpboot/images/centos/i386/6.3/

Проделываем тоже самое для x86_64

wget http://mirrors.kernel.org/centos/6.3/isos/x86_64/CentOS-6.3-x86_64-bin-DVD1.iso /tmp/CentOS-6.3-x86_64-bin-DVD1.iso
mount -t iso9660 -o loop /tmp/CentOS-6.3-x86_64-bin-DVD1.iso /mnt/iso
cp -vR /mnt/iso/ /var/lib/tftpboot/images/centos/x86_64/6.3/

Для загрузки необходимых файлов при установке системы нам понадобится сетевой ресурс. Есть несколько вариантов: nfs, ftp, http. Так как на сервере уже стоял apache, я остановился на http.

Установим веб сервер, если его нет

yum install httpd

Создадим алиас

vi /etc/httpd/conf.d/pxeboot.conf

Пример моего

alias /pxe /var/lib/tftpboot/images/
<Directory /var/lib/tftpboot/images>
   Options Indexes FollowSymLinks
   Order Deny,Allow
   Deny from all
   Allow from 127.0.0.1 192.168.0.0/24
</Directory>

Запускаем сервер и добавляем в автозагрузку

service httpd start
chkconfig  --add httpd

Проверяем наш алиас веб сервера. Набираем в браузере http://192.168.0.1/pxe/

думаю теперь стоит проверить саму установке, приведу несколько принтскринов

Ставил Desktop ещё на версии 4 там какойто, посмотрим что изменилось и что за интересный такой пункт Minimal Desktop.

Остались или есть ещё вопросы? Задавайте!
(не забудьте указать ссылку на этот пост)




Один комментарий

  1. aprogrammer Ukraine Mozilla Firefox Windows :

    Все чётко, но не поднялось по вашей инструкции... Вот по этой вышло — sysadmin.te.ua/linux/pxe-on-ubuntu-10-04.html . Там TFTP баг.

    Thumb up 0 Thumb down 0

Оставить комментарий

Установка, настройка, мониторинг и администрирование linux, unix, windows систем