Нужна помощь в бездисковой загрузке iscsi

Модераторы: Trinity admin`s, Free-lance moderator`s

Аватара пользователя
WShade
Junior member
Сообщения: 10
Зарегистрирован: 26 ноя 2013, 12:04
Откуда: Усть-Илимск
Контактная информация:

Нужна помощь в бездисковой загрузке iscsi

Сообщение WShade » 26 ноя 2013, 12:07

Всем привет!

Появилась необходимость перевести парк машин в офисе на без дисковую загрузку. Погуглив понял что самый, на мой взгляд, нормальный вариант это использовать iscsi. Немного разобравшись с технологией и получив представление как это можно реализовать, приступил к работе.
Что сейчас сделано:
Собрал сервак на Debian, в качестве хранилища использую raid 10. На сервак поставил isc-dhcp-server, tftpd-hpa-server и iscsitarget.

В общем идея такая:
На серваке массива raid делю на куски, ну скажем по 50 Гб. С помощью iscsitarget привязываю каждый кусок к iscsi интерфейсу. Через tftp сервер отдаю клиентам ipxe.pxe файл, который выступает в роли загрузчика. При загрузке клиентской машины монтирую iscsi диск. Этот смонтированный диск в системе будет использоваться вместо физического HDD.

Сейчас это работает так:
1. Клиентская машина грузиться через PXE;
2. DHCP дает ей IP адрес и IP tftp сервера;
3. Загружает файл ipxe.pxe через tftp;
4. Монтируется iscsi диск;
5. Ставлю установку set keep-san 1, чтобы при неудачной загрузке диск оставался в системе(по дефолту, при неудачной загрузке диск автоматически отмонтируется);

Вот собственно и все. Так все должно работать, НО. Всегда есть какое-то НО :)

В общем клиент нормально получает данные от DHCP, файл ipxe.pxe успешно загружается. Далее монтируется iscsi диск. Пытается загрузиться с него, но так как там не системы загрузка не получается. Диск остается смонтированным. И вот тут у меня появилась проблема. Вместо того чтобы загрузиться со следующего устройства, как установлено в биосе, вылетает сообщение "PRESS A KEY TO REBOOT".

Если кто-то может объяснить в чем проблема, помогите пожалуйста.

Делал все по официальному мануалу: http://etherboot.org/wiki/pxechaining

Далее привожу конфиги:

Конфиг ietd.conf:

Код: Выделить всё

Target iqn.2013-11.loc.domain.storage:iscsiboot
        Lun 0 Type=blockio,Path=/dev/sda5
Конфиг dhcp:

Код: Выделить всё

ddns-update-style none;

option domain-name "netboot.uilim.ru";
option domain-name-servers 91.219.136.4, 91.219.137.4;

default-lease-time 600;
max-lease-time 7200;

log-facility local7;

#iPXE config options
  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;

  #option space ipxe;
  #option ipxe-encap-opts code 175 = encapsulate ipxe;

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 host1
{
        hardware ethernet 1c:16:e6: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";
        }
}
Конфиг tftpd-hpa:

Код: Выделить всё

TFTP_USERNAME="nobody"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="10.222.0.220:69"
TFTP_OPTIONS="-m /etc/tftpd.remap --secure"
Порядк загрузки в BIOS:
1. LAN
2. HardDisk
3. Disable

В роли HardDisk использую флешку с установщиком Windows 7.

Не уверен что объяснил все понятно. В любом случае, всем кто попытается помочь, огромное спасибо.

Accel
Power member
Сообщения: 45
Зарегистрирован: 25 окт 2013, 17:18
Откуда: Екатеринбург

Re: Нужна помощь в бездисковой загрузке iscsi

Сообщение Accel » 27 ноя 2013, 21:13

Можно задать вопрос по поводу смысла озвученной схемы?

Аватара пользователя
WShade
Junior member
Сообщения: 10
Зарегистрирован: 26 ноя 2013, 12:04
Откуда: Усть-Илимск
Контактная информация:

Re: Нужна помощь в бездисковой загрузке iscsi

Сообщение WShade » 28 ноя 2013, 07:49

Accel писал(а):Можно задать вопрос по поводу смысла озвученной схемы?
Смысл в том, чтобы на компах избавиться от физических жестких дисков и заменить их на сетевые iscsi диски. Загрузка с образов и все прочие урезанные версии ОС не подходят, нужны полноценные ОС на клиентских машинах. В данном случае смонтированный iscsi таргет будет выступать как физический жесткий диск, а значит и ОС будет полноценно на нем работать. Плюс, технология raid 10 позволит продолжить работу при выходе одного из жестких дисков из строя.

Аватара пользователя
WShade
Junior member
Сообщения: 10
Зарегистрирован: 26 ноя 2013, 12:04
Откуда: Усть-Илимск
Контактная информация:

Re: Нужна помощь в бездисковой загрузке iscsi

Сообщение WShade » 28 ноя 2013, 10:48

Тут ради теста решил на виртуалке протестировать, все заработало. На виртуалке все работает как надо. Загручик отработал, дальше запустилась установка винды. В меню выбора диска, появился мой iscsi диск и винда на него установилась.
Стало быть проблема не в настройках сервера или загрузчике. Проблема в железе. Или в версии биоса. Или в сетевой карте(что маловероятно).
Биос обновил до последней доступной версии, не помогло. Буду искать в чем проблема.

Accel
Power member
Сообщения: 45
Зарегистрирован: 25 окт 2013, 17:18
Откуда: Екатеринбург

Re: Нужна помощь в бездисковой загрузке iscsi

Сообщение Accel » 28 ноя 2013, 21:52

WShade писал(а):
Accel писал(а):Можно задать вопрос по поводу смысла озвученной схемы?
Смысл в том, чтобы на компах избавиться от физических жестких дисков и заменить их на сетевые iscsi диски. Загрузка с образов и все прочие урезанные версии ОС не подходят, нужны полноценные ОС на клиентских машинах. В данном случае смонтированный iscsi таргет будет выступать как физический жесткий диск, а значит и ОС будет полноценно на нем работать. Плюс, технология raid 10 позволит продолжить работу при выходе одного из жестких дисков из строя.
Позвольте спросить, у вас 10GE сетевушки и параллельная сеть под iSCSI или 1GE и общая сеть? Спрашиваю потому, что тема достаточно близкая. Я тестировал второй вариант, он оказался абсолютно неприемлем по скорости (и в ряде случаев по надежности), а первый вышел экономически неоправданным.

Аватара пользователя
WShade
Junior member
Сообщения: 10
Зарегистрирован: 26 ноя 2013, 12:04
Откуда: Усть-Илимск
Контактная информация:

Re: Нужна помощь в бездисковой загрузке iscsi

Сообщение WShade » 29 ноя 2013, 05:20

Accel писал(а):Позвольте спросить, у вас 10GE сетевушки и параллельная сеть под iSCSI или 1GE и общая сеть? Спрашиваю потому, что тема достаточно близкая. Я тестировал второй вариант, он оказался абсолютно неприемлем по скорости (и в ряде случаев по надежности), а первый вышел экономически неоправданным.
Насчет сети я еще особо не задумывался. В моем случае, я планирую все сделать в одной подсети на 1Gb. Дело в том, что у меня клиентов на данные момент 10. Количество максимум может возрасти до 15. На каждом клиенте планирую использовать гагибитную сетевую карту, а на сервере поставить 2-3 таких же гигабитных карт и сделать агрегацию. В моем случае, все должно работать вполне приемлемо.
Если сделать примерный расчет, то можно все рассчитать. Допустим средняя скорость чтения\записи физического HDD 50 МБ\сек. 50*15=750МБ\сек. Но это ситуация в вакууме, как вы понимаете. Т.е. все клиенты одновременно должны, допустим копировать большой объем данных. Такая ситуация в офисе маловероятна. А сервер при аргегации даже 2ух сетевых карт по гигабиту может одновременно пропускать до 250 МБ\сек. Если 3 карты, то будет уже около 400 МБ\сек. Я считаю что этого вполне хватит. Вопрос только в том, сможет ли сама сеть столько пропускать? =)

Аватара пользователя
diz
Advanced member
Сообщения: 1189
Зарегистрирован: 12 янв 2009, 12:09
Откуда: Пермь

Re: Нужна помощь в бездисковой загрузке iscsi

Сообщение diz » 29 ноя 2013, 09:53

А вы не боитесь, что свитч кто-нть перезагрузит внезапно (закольцует, зафлудит и т.п.) и у пользователей разом пропадут данные?

dim-soft
Advanced member
Сообщения: 441
Зарегистрирован: 03 авг 2009, 21:25
Откуда: Perm

Re: Нужна помощь в бездисковой загрузке iscsi

Сообщение dim-soft » 29 ноя 2013, 18:48

А еще можно с помощью "напильника" сделать следующую комбинацию:
Ядро грузиться в память, остальное по SMB / iscsi

Аватара пользователя
WShade
Junior member
Сообщения: 10
Зарегистрирован: 26 ноя 2013, 12:04
Откуда: Усть-Илимск
Контактная информация:

Re: Нужна помощь в бездисковой загрузке iscsi

Сообщение WShade » 02 дек 2013, 03:19

diz писал(а):А вы не боитесь, что свитч кто-нть перезагрузит внезапно (закольцует, зафлудит и т.п.) и у пользователей разом пропадут данные?
Могу вас уверить, такая ситуация у нас маловероятна :) Умный свич + отдельный WLan, такую ситуацию сведет к минимуму :)

Аватара пользователя
WShade
Junior member
Сообщения: 10
Зарегистрирован: 26 ноя 2013, 12:04
Откуда: Усть-Илимск
Контактная информация:

Re: Нужна помощь в бездисковой загрузке iscsi

Сообщение WShade » 02 дек 2013, 03:21

dim-soft писал(а):А еще можно с помощью "напильника" сделать следующую комбинацию:
Ядро грузиться в память, остальное по SMB / iscsi
Можно вообще грузить *nix систему, а потом в ней запускать виртуалку, а в виртуалке уже грузить какую надо систему. Извращением попахивает, не так ли? :)

taton
Junior member
Сообщения: 3
Зарегистрирован: 02 дек 2013, 09:00
Откуда: Брянск

Re: Нужна помощь в бездисковой загрузке iscsi

Сообщение taton » 02 дек 2013, 09:12

Привет. Проблема скорее всего в BIOS платы. Можно проверить подсунув dvd установочный образ, его он скорее всего увидит. А так решение в правке конфига ipxe http://ipxe.org/cmd/sanboot . Прописываешь загрузку с SAN, ставишь ее второй в очередь (0х81) и блокируешь загрузку с него (skip-san-boot). И ставишь систему. Я у себя разворачивал через виндовый WDS, можно еще через http образ системы отдать.

taton
Junior member
Сообщения: 3
Зарегистрирован: 02 дек 2013, 09:00
Откуда: Брянск

Re: Нужна помощь в бездисковой загрузке iscsi

Сообщение taton » 02 дек 2013, 09:32

Кстати еще одни грабли. В винде при загрузке с iscsi весь траффик пойдет через шлюз который вы назначите клиентам (даже если таргет и хост в одной подсети) Выход либо в отстутствии шлюза (можно потом батником добавить или в через dhcp роутом отдать) либо в разделинии san и local сетей.

Аватара пользователя
WShade
Junior member
Сообщения: 10
Зарегистрирован: 26 ноя 2013, 12:04
Откуда: Усть-Илимск
Контактная информация:

Re: Нужна помощь в бездисковой загрузке iscsi

Сообщение WShade » 03 дек 2013, 05:14

taton, спасибо большое. Вы первый человек который мне ответил что-то адекватное по этой теме. А ведь я такую тему создал на 4 форумах. :)
Если не трудно, могли бы вы уточнить?

Чтобы мне загрузиться сразу с флешки допустим, надо при загрузке ipxe сразу войти в командную строку(Ctrl+B) и там прописать вот так?

Код: Выделить всё

iPXE>dhcp net0
iPXE>sanhook --drive 0x81 ${root-path}
iPXE>sanboot --no-describe iscsi:10.222.0.220::::iqn.2013-11.loc.storage:iscsiboot
iPXE>exit

taton
Junior member
Сообщения: 3
Зарегистрирован: 02 дек 2013, 09:00
Откуда: Брянск

Re: Нужна помощь в бездисковой загрузке iscsi

Сообщение taton » 03 дек 2013, 08:20

Можно не в командной строке писать,а скрипт править и по dhcp отдавать. Код примерно так будет выглядеть.

Код: Выделить всё

dhcp net0
clear net0.dhcp/gateway:ipv4
set root-path iscsi:10.222.0.220::::iqn.2013-11.loc.storage:iscsiboot
sanhook --drive 0x81 ${root-path}
# Boot from local hard disk
sanboot --no-describe --drive 0x80

Аватара пользователя
WShade
Junior member
Сообщения: 10
Зарегистрирован: 26 ноя 2013, 12:04
Откуда: Усть-Илимск
Контактная информация:

Re: Нужна помощь в бездисковой загрузке iscsi

Сообщение WShade » 03 дек 2013, 09:25

Попробовал так, не получается. Та же ситуация, этот BIOS как я понимаю не победить так просто. Не могли бы вы связаться со мной через ICQ: 680249735 или email: wandershade@yandex.ru, так наверное будет удобнее и быстрее.
А то меня тут уже в какие-то бан листы добавляют, пол часа не мог ответить в тему. Вылетало сообщение: Ваш IP-адрес ХХХ.ХХХ.ХХХ.ХХХ был внесён в черный список и заблокирован. Для получения дополнительной информации перейдите по ссылке http://www.spamhaus.org/query/bl?ip=ХХХ.ХХХ.ХХХ.ХХХ.

Ответить

Вернуться в «Сети - Технические вопросы, решение проблем»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей