Pull to refresh

Comments 16

Как раз недавно игрался с бездисковой загрузкой. Только грузил Win 7 с iSCSI target. А ubuntu просто по NFS. Спасибо — про debootstrap не знал. По обеим темам есть неплохие пошаговые руководства в сети. Гораздо интереснее, мне лично, вопрос как правильно настроить образ системы, чтобы с него безболезненно могло грузиться много машин. Для Windows наверно проще всего держать разные образы под разные машины и хранить их в файловой системе поддерживающей дедупликацию. Хотя вот тоже вопрос… Можно ведь сделать и общий ридонли образ, вайл подкачки отключать, а данные специфичные для каждой машины перенаправлять на меньший индивидуальный раздел. Короче эта тема интересней :-)
Навскидку: можно иметь два тома iSCSI, один в rw, отдельный на каждую машину, другой в ro, общий на все. Смонтировать их каскадно через aufs уже на клиенте. Работать будет. Еще нужно будет подпилить скрипты, передавать hostname через DHCP (кстати, с этим тоже косячки будут) или через cmdline. В общем, потребуется существенно глубже закапываться в initramfs.

Ссылки на пошаговые руководства можно в студию? Добавлю в топик и самому полезно будет. Банально по LIO я смог найти пару бесполезных видео на ютубе и официальный сайт, который не блещет глубиной документации (она в некоторых аспектах не соответствует действительности, вероятно потому что устарела).
Та они гуглятся за 2 минуты
по Windows 7:
www.thogan.com/site2/archives/10
jonmccune.wordpress.com/2011/12/19/diskless-windows-7-with-iscsi-and-gpxe/

По убунте:
help.ubuntu.com/community/DisklessUbuntuHowto

мне во всяком случае хватило. По убунте использовал еще одно. Не могу сейчас найти.
Да не все заработало сразу как по маслу, но справился.

Для Ubuntu здесь NFS. Совсем другой вопрос :)

Windows запускается через iPXE. Это позволяет не возиться с PXE (точнее, с ним всё же часто возятся, чтобы передать управление iPXE) и не тратиться на сетевую карту с поддержкой iSCSI. iPXE подключает таргет на int 80h, и дёргает загрузчик самой ОС, при этом сам из памяти не выгружаясь (если память не изменяет, это делает kkpxe-образ). Таким путем можно даже XP запустить.

К сожалению, это не всегда рабочий вариант. К примеру, у меня есть серверы с 10-гбитными сетевыми картами на чипе Intel 82599. iPXE их не поддерживает, такой фокус удасться не может в принципе. Остается либо вариант иметь дополнительную сетевую карту специально для загрузки, либо пользоваться встроенным в сетевую карту инициатором. А я от этого уйти хотел.

Между вашими вариантами и описанным мной присутствует коренная разница. У меня iSCSI-инициатором является open-iscsi, по ссылкам (для винды) используется iPXE, для Ubuntu вообще никаким iSCSI не пахнет.
Я сразу написал что Ubuntu грузил по NFS.

По Windows iPXE образы пришлось подбирать — одна машина грузилась только с kkpxe, другая только с kpxe. Они там что то патчат при загрузке. Т.е. подключение на int 80h это в некотором смысле хак.

Спасибо за статью! Прямо в тему мне. С чем-то похожим мучаемся сейчас.
Занимаемся разработкой системы для удаленного автоматизированного администрирования машин.
К сожалению, среди нас нет хорошего спеца по линуксуам. Всвязи с этим буду рад, если ответите/кинете ссылочку на следующие пару вопросов.
У нас стоит задача. Есть две машины — клиент (Win form/WEB) и рабочая станция. Нужно, чтобы клиент смог подключиться к жесткому диску или шаренной папке на рабочей станции. Чтобы в списке дисков на клиенте появился диск, соот-ий диску или шаренной папке удаленной машины.
Как мы предполагаем решение.
Удаленно перезапускаем систему на рабочей станции в подгруженный по сети Live-CD c Linux. Образ при загрузке должен выполнить скрипт, который расшарит папку. После этого наша система монтирует эту папку на клиенте. То есть создает сетевой диск — задает алиас – буква диска на клиенте, которая соответствует шаре рабочей станции.
Таким образом, мы получим доступ на клиенте к жесткому диску на рабочей станции.

Вопросы:
1. Грамотен ли предложенный подход? Но заметьте, фишка в том, чтобы не надо было делать никаких действий, все должно быть автоматизированно, грубо говоря одним кликом.
2. Какие еще могут быть решения данной задачи?
3. Проблема в написании скрипта расшаривания, может у кого есть наработки, или ссылочку бы?
Честно говоря, очень плохо понял, чего вы хотите добиться и как у вас всё работает.

Мне кажется, вы не туда копаете и то, что описано в топике, вам не нужно.
Если у вас предполагаются файловые операции — используйте NFS/SMB.
Если блочные — то iSCSI, FCoE, ATAoE, NBD и иже с ними.

Перезагружать какой-то компьютер ради рядовой операции — явно как-то неправильно. iSCSI, NFS и SMB легко и изящно работают без всяких перезагрузок, как со стороны сервера, так и со стороны клиента.
Эта функция нужна не для рядовых операция.
Возможность удаленного подключения жестких дисков может быть использована в случае если клиентская машина выключена или ее операционная система заражена или находится в нерабочем состоянии.
Передайте в LiveCD каким-нибудь путем (например, по DHCP) информацию о том, откуда надо тянуть диск клиента и напишите скрипт, который будет его тащить после загрузки или в процессе.
UFO just landed and posted this here
Спасибо за статью, полезно. Но вот всякие «запилить» все-таки режут глаз.
А если через tgtd делать, есть принципиальная разница?
А то искурил весь гугль уже, никак победить не удается — загрузка начинается, таргет подключается, но корень не монтируется- iscsistart отваливается с ошибкой 15 — session exists. На таргете и правда две сессии в этот момент есть, но инициатор после таймаута ругается что корня нет и впадает в панику.
initiator name должен быть уникальным — проверьте, чтобы у другого клиента он не дублировался.

ipxe для sanboot генерирует уникальный initiator name по мак-адресу клиента.
Спасибо за статью, скажите пожалуйста, а возможно ли грузить несколько компьютеров с одного iSCSI-таргета?
У меня задача стоит в том, чтобы загружать по сети бездисковые компьютеры операторов (около 20 компов).

Сейчас это работает через PXE + NFS, но при работе наблюдаются сильные тормоза при чтении множества файлов. Особенно это наблюдается когда сразу после загрузки пытаешься что-то запустить — все жутко тормозит, второй запуск и последующие уже более-менее нормально, но это очень сильно раздражает.

Как мне кажется, проблема в том, что NFS каждый раз обращается к серверу чтобы понять, изменился ли файл, и если файлы маленькие, но их сотня — то наблюдаются тормоза.

Решить это проблему, насколько я понял, можно только подключая рутовый диск вместо NFS — как блочное устройство (NBD или ещё как-то), но при этом наверное возникнут проблемы при одновременном использовании двумя компьютерами общего диска?

Подскажите как в моем случае оптимальнее организовать сетевую загрузку, чтобы минимизировать тормоза в работе системы?

Насколько данный метод актуален в 22 году?

Sign up to leave a comment.

Articles

Change theme settings