Представляю статью об альтернативном варианте загрузке по сети, которую написал участник конференции OSZone Power User.
Предисловие
Прочитал статью с описанием способа RIS и решил поделится своим методом. Дело в том что по работе
мне приходится часто кидать образы на компьютеры в школах, к которым у детишек отношение весьма не доброе, а потому
большинство CD-ROM сломано, а с дисководом никогда не угадаешь заранее, считает дискетку или нет. Поэтому загрузка образов
дискет (и не только) через PXE мне очень близка.
Начнем с плюсов моего метода
Не надо иметь выделенный RIS сервер (вообще не надо сервер) - не всегда он есть под рукой, а иногда за него
надо платить...
Грузить можно любой 1.44, 2.88 и 5.76 (ага, и такие бывают!) образ дискеты как он есть, без изменений
(единственное если прога на 2-х дискетах 1.44, то ее надо слить в один образ 2.88), плюс образ любого размера,
который поместится в память клиента (речь уже об образе диска, а не дискеты)
Можно грузить различные линуксы, которые работают с RAM диска (например, thinstation - это RDP клиент, или те же
утилиты от Paragon)
Можно грузить различные линуксовые бинарники (например memtest86+)
Легко модифицировать любую сеть для такой работы. Надо всего лишь на DHCP сервере сети указать IP нашего PXE
сервера и имя загрузчика. Это в моей статье не описывается, так как уже было описано в первой статье (два параметра для DHCP - 066, 067), и админам думаю проблем не составит сделать нужные
изменения)
Можно все нужные файлы таскать с собой на Flash диске - и тогда любой комп быстро превращается в PXE сервер
(только надо перенастроить в tftpd32 - путь к файлам и IP адреса, и перезапустить его)
Есть и минусы
У tftpd32 есть баг - при одновременном обращении к нему больше одного клиента - жуткие тормоза на этапе
загрузки pxelinux'а и образов. Если кому-то надо грузить, скажем, сразу много клиентов, то tftpd32 придется оставить
только как DHCP, убрав в настройках галочку про TFTP Server (если, конечно, нет другого DHCP), а сам TFTP сервер взять другой (к сожалению, те
серверы что я видел - коммерческие). Однако, при последовательном обращении клиентов - все летает. Так что как
вариант просто грузить компы по очереди.
Что понадобится?
Совсем немного времени и трафика на скачивание нескольких небольших программ, а так же немного времени на
настройку (при наличии знаний по сетям). Помимо этого:
Компьютер с Windows и сетевой картой (линейку 9х не проверял, но и с ней не должно быть проблем, а под NT
семейством и подавно). Как соединять два компа и настраивать сетку описывать не буду - и так много написано.
Априори считается, что вы можете соединить между собой два и более компа по сетке.
Компьютер, который будет загружаться по сети с наличием сетевой карты с поддержкой загрузки по сети (PXE)
tftpd32 (вводим в Google и тыкаем на первую ссылку)
pxelinux - часть пакета syslinux - (гуглим по "syslinux" или берем zip-архив тут)
Программа для создания образа дискет. Например, WinImage
или что-то подобное.
рюмочка коньяка для храбрости :)
Поехали!
Распаковываем tftpd32.exe, скажем, в С:\TFTP
Распаковываем файл pxelinux.0 (из архива syslinux'а), memdisk (из sysylinux.zip/memdisk) а
так же (опционально) memtest (sysylinux.zip/memtest) в C:\TFTP. Memtest для работы
не нужен. Это просто известный тест памяти, который в нашем случае также можно загрузить по сети без дисковода и
т.п.
Tуда же (C:\TFTP) кладем образ любимой загрузочной дискетки (можно и не только дискетки – но об этом ниже).
Например, dos.imz (для экономии места и/или ускорения загрузки можно даже сжатый (winimage) образ класть –
imz, a можно и не сжатый ima). Образов может быть сколько угодно.
Проверяем, что у нас в сети нету DHCP серверов. Например, если включен ICS (шара интернета), то его выключить
на время экспериментов.
Конфигурируем tftpd32.exe
Запустили, нажали Settings, в "страшном" окне указываем Base Dirrectory – C:\TFTP. Потом выставляем галочки как на
картинке:
Жмем на ОК, еще раз ОК, и перезапускаем tftpd32.
Далее настраиваем наш DHCP сервер:
Выбираем сетевую карточку, к которой подключен пациент
Ставим начало адресов, которые получит первый клиент (этот адрес и количество клиентов не должно пересекаться с
вашим IP)
Количество адресов (минимум 1)
Имя загрузчика (pxelinux.0)
Маска сети (мат-часть по сетям)
Сохраняемся....
Далее на всякий случай перезапускаем tftpd32. Почти закончили :)
Конфигурируем загрузку
Создаем текстовый файл C:\TFTP\PXELINUX.CFG\default и редактируем его, скажем, так:
default local
prompt 1
label local
localboot 1
label dos
kernel \memdisk
append initrd=\dos.imz
label pqpm8
kernel \memdisk
append initrd=\pqpm8.imz
label mem
kernel \memtest
Подробную информацию можно найти в pxelinux.doc из syslinux'a.
Ну и наконец, устанавливаем на компе загрузку с сетевого адаптера по PXE.
Что получаем?
Компьютер грузится по сетке, подключается к вашему компьютеру, скачивает загрузчик и ждет вашего ввода команды. Ну
а там смотря что ввели:
Просто ENTER – загрузится с локального диска (или по команде local)
Mem – загрузится memtest86 (тест памяти)
Dos – загрузится ваша досовская дискетка
Ну и далее только от фантазии зависит :) Можно, например, известные утилиты от Paragon тоже так грузить, но это уже сложнее (надо выковыривать из загрузочных дисков ядра и
образы линукса), можно тот же thinstation terminal client и т.д.
Послесловие
В статье делается упор на tftpd32, так как он бесплатен, не требует установки, и включает в себя 2 сервера в 1 (DHCP и TFTP), а также запускается под Windows любой версии. Но сам принцип - загрузка и запуск бинарника pxelinux (с последующей загрузкой нашего образа) - не привязан к tftpd32, а требует наличия в сети DHCP сервера с двумя дополнительными параметрами - 067 (имя загружаемого бинарника - pxelinux.0) и 066 (IP адрес TFTP сервера который нам и выдает искомый бинарник), а также собственно TFTP сервер, на который ссылается DHCP. Какими системами, сервисами или железками это реализовано нам совершенно неважно, потому можно использовать любой находящийся в сети сервер (Linux, Windows, Novell). Ну а если его нет, то tftpd32, запущенный на любой машине. Главное - это добраться по сети до PXELINUX.
интересная статья... хотел ей воспользоваться, только половина ссылок не работает... попытался нарулить из других источников, вроде похожее нашел... только нефига не получилось... Если кто-то все это чудо настроил, прошу поделиться опытом!!! или архивной папкой всего выше описанного собранного и настроенного хоть как-то... Прошу помочь!!! пишите на почту pazoom@alfard-bel.ru
>Далее настраиваем наш DHCP сервер: >1. Выбираем сетевую карточку, к которой подключен пациент как сделать, чтобы автоматически выбиралась нужная карточка? Чтобы не приходилось каждый раз выбирать ее в ручную. Спасибо.
Ссылки не работают, статья кривая, что из чего вытекает непонятно. Нахер тогда статья, если её невозможно прочитать без яндекса? К примеру Perl, perl ссылка не работает, указано что этой версией рекомендуется пользоваться, КАКОЙ ЭТОЙ ВЕРСИЕЙ?!? Или мне перечитать в "незабаненом яндексе" о всех версиях perl? Автору незачет, досвидос...
случайно натолкнулся на свою старую статейку :) опубликована в конце 2005! года... насчет кривости - мол нету ссылок на перл и т.п. - все таки 2013-2005 - восемь (почти) ! лет прошло - ясно дело что ссылки на свободные ресурсы попередохли, да и не актуально это уже в 2013 - утсанавливать XP через ПЕРЛэмуляцию взрослого РИС сервера :) сейчас же в 2016 году - многое изменилось (но остался сам принцип - не нужны громоздкие комерчиские сервера типа ex-RIS) - можно грузить по сетке вообще что угодно практически - можно даже подымать бездисковые станции на винде7+ по iSCSI (TFT, HTTP и прочеее поддерживается в gPXE (iPXE).... так что гуглить и яндексить придется - для того и голова дана - что бы "направление" прикинуть, а не взять статью 8-летней (счас уже 10) давности - и что бы оно все заработало из коробки.... зы. удивлен что до сих пор (есть кто-то кто натыкается на статейку - даже сегодня 18 просмотров без меня)
зы. я кстати этим методом до сих пор пользуюсь с той только разницей - что TFTP поднят на BSD (nas4fre) - а по сетке грузятся уже в основном не образы дискет (хотя и они иногда - тот же MHDD для ДОС или Виктория), но WIM образы систем или всяике бинарники типа мемтеста или линюксы и т.п. + прочии винды по iSCSI :) (но начально все тот же pxelinux или g(i)PXE - где надо)....
Комментарии отключены. С вопросами по статьям обращайтесь в форум.