Всем доброго времени суток,
Появилась задача сделать загрузку рабочих станций в офисе без жестких дисков.
На сервере поставил Debian, в качестве хранилища использую Raid 10. Сама же загрузка осуществляется через iPXE.
В общих чертах идея такая:
Клиент через грузиться через PXE, dhcp выдает ему ip и адрес tftp сервера, c tftp грузиться файл ipxe.pxe. Дальше всю работу делает этот загрузчик. Монтирует iscsi диск и пытается загрузить с него систему. Если загрузка не удалась, то указал чтобы диск не отключался(сделано для установки ОС на удаленный диск). После неудачной загрузки, по идее, загрузка должна начаться со следующего устройства которое указано в BIOS. Вот тут то у меня возникла проблема, вместо того чтобы начать грузиться с другого устройства выдает сообщение «PRESS A KEY TO REBOOT». После ребута iscsi диск соответсвенно опять станет недоступным пока его не примонтирует ipxe загрузчик.
Если кто-то сталкивался с такой проблемой, помогите решить. Гугл не помог, к сожалению.
dhcp.conf
ddns-update-style none;
option domain-name «netboot.ru»; option domain-name-servers 91.219.136.4, 91.219.137.4;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
option space ipxe;
option ipxe-encap-opts code 175 = encapsulate ipxe;
option ipxe.priority code 1 = signed integer 8;
option ipxe.keep-san code 8 = unsigned integer 8;
option ipxe.skip-san-boot code 9 = unsigned integer 8;
option ipxe.syslogs code 85 = string;
option ipxe.cert code 91 = string;
option ipxe.privkey code 92 = string;
option ipxe.crosscert code 93 = string;
option ipxe.no-pxedhcp code 176 = unsigned integer 8;
option ipxe.bus-id code 177 = string;
option ipxe.bios-drive code 189 = unsigned integer 8;
option ipxe.username code 190 = string;
option ipxe.password code 191 = string;
option ipxe.reverse-username code 192 = string;
option ipxe.reverse-password code 193 = string;
option ipxe.version code 235 = string;
option iscsi-initiator-iqn code 203 = string;
# Feature indicators
option ipxe.pxeext code 16 = unsigned integer 8;
option ipxe.iscsi code 17 = unsigned integer 8;
option ipxe.aoe code 18 = unsigned integer 8;
option ipxe.http code 19 = unsigned integer 8;
option ipxe.https code 20 = unsigned integer 8;
option ipxe.tftp code 21 = unsigned integer 8;
option ipxe.ftp code 22 = unsigned integer 8;
option ipxe.dns code 23 = unsigned integer 8;
option ipxe.bzimage code 24 = unsigned integer 8;
option ipxe.multiboot code 25 = unsigned integer 8;
option ipxe.slam code 26 = unsigned integer 8;
option ipxe.srp code 27 = unsigned integer 8;
option ipxe.nbi code 32 = unsigned integer 8;
option ipxe.pxe code 33 = unsigned integer 8;
option ipxe.elf code 34 = unsigned integer 8;
option ipxe.comboot code 35 = unsigned integer 8;
option ipxe.efi code 36 = unsigned integer 8;
option ipxe.fcoe code 37 = unsigned integer 8;
option ipxe.vlan code 38 = unsigned integer 8;
option ipxe.menu code 39 = unsigned integer 8;
option ipxe.sdi code 40 = unsigned integer 8;
option ipxe.nfs code 41 = unsigned integer 8;
#option no proxy
option ipxe.no-pxedhcp 1;
allow booting;
allow bootp;
subnet 10.222.0.0 netmask 255.255.0.0
{
range 10.222.0.235 10.222.0.245;
option broadcast-address 10.222.0.255;
option routers 10.222.0.1;
next-server 10.222.0.220;
}host host_1
{
hardware ethernet 00:16:56:6b:18:b3;
if exists user-class and option user-class = «iPXE» {
filename "";
option root-path «iscsi:10.222.0.220::::iqn.2013-11.loc.domain.storage:iscsiboot»;
option ipxe.keep-san 1;
} else {
filename «ipxe.pxe»;
}
}
ietd.conf
Target iqn.2013-07.loc.domain.storage:iscsiboot
Lun 0 Type=fileio,Path=/home/storage/lun1.img
В качестве dhcp использую isc-dhcp-server
iscsi диск монтируется нормально.
Если кто-то, хоть чем-то может помочь, пишите в эту тему или мне на почту wandershade@yandex.ru