PXE

From V5wiki

Jump to: navigation, search

http://wikiadmin.net/boot-pxe-install-or-live-on-centos7/

ISCSI устройства выдаются серверами :

iscsi-server.vepp4.local

iscsi-server.ic.local

На каждом сервере по 2 диска каждый по 10 Гбайт

Каждый из дисков (10 Гб) содержит заранее установленный proxmox 5

На каждом ISCSI сервере прописаны машины клиенты с которых можно запрашивать подключение дисков.


Порядок загрузки

Физические машины, на которых должен запуститься проксмокс, получают IP адрес от DHCP сервера в той сети в которую подключены сами машины.

При загрузке биос машин посылает специальный запрос к DHCP серверу с просьбой получить адрес сервера, который выдаст загрузочное ядро.

В настройках DHCP сервера добавляются строчки:


filename “pxelinux.0”;

next-server 10.0.0.30;


IP адрес здесь указан условный, в каждой сети адрес для сервера выдяющего загрузочное ядро (TFTP сервер) свой.

После того как загружающаяся машина получила адрес она перенаправляется на TFTP сервер, который пытается определить мак адрес загружающейся машины или ее IP адрес.

IP адрес в любом случае определяется.

МАС или IP адреса нужны чтобы понять какое именно загрузочное ядро выдать.

На TFTP сервере есть папки с именами соответствующими MAC адресов. Так же там имеются папки с именами, которые являются HEX представлением IP адреса.

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

Так же там указано время ожидания и ядро выдаваемое по умолчанию.

Пример файла:


!!!


После получения загрузочного ядра (оно нужно только для первичного определения подключенного оборудования) подключается необходимый ISCSI диск и монтируется в корневую директорию. После этого выполняется загрузка системы с ISCSI диска.

В этом варианте загрузки система видит ISCSI диск как локальный жесткий диск.


Особенности подготовки загрузочного ядра.

Загрузочное ядро линукс, которое выдается машине с TFTP сервера, должно иметь модули работы с ISCSI устройствами.

В нашем случае initrd и были созданы непосредственно на установленном проксмоксе.

В настройках initramfs указан адреса iscsi сервера и куда он будет монтироваться, а также настройки IP адреса.

Но кроме этого (даже если при сборке initrd не указаны параметры подключения к серверам) можно в загрузочном меню передать опции ядра с которыми ядро будет загружаться на машине. Здесь так же указываются адреса ISCSI серверов и настройки IP адреса.


Настройки TFTP сервера

TFTP сервер имеет глобальные настройки в файле /etc/xinetd.d/tftp

Строкой server_args = -s /home/lib/tftpboot указывается корневой каталог tftp сервера.

В vepp4.local это /home/lib/tftpboot.

В ic.local это /var/lib/tftpboot

Далее настройки одинаковы.

В корневой папке лежат папки с названиями операционных систем линукс и которые содержат два файла каждая. Это initrd.img и vmlinuz, они могут отличаться названиями в зависимости от того как и где они собирались.

Также в корневой директории есть файлы pxelinux.0 и menu.c32 и директория pxelinux.cfg.

В этой директории лежит основной конфигурационный файл default. Этот конфиг работает для машин для которых нет специальных настроек.

Также в директории pxelinux.cfg лежат поддиректории с названиями соответствующие MAC или IP адресам.

Personal tools