Linux mini-HOWTO



              

Широковещательный TFTP-сервер


Мы написали специальную версию TFTP-сервера, включающую в себя самодельную версию широковещательного TFTP. Используя его, мы смогли достичь скорости передачи данных клиентам в 6 Мб/с на сильно загруженной 10-мегабитной сети (этот способ значительно более эффективен - он не посылает подтверждения на каждый пакет). Этот сервер работает в Linux или Solaris. Его можно взять по адресу http://cuiwww.unige.ch/info/pc/remote-boot/soft/btdtpd.tar.gz, вместе с исходными текстами и заранее собранными программами.

TCP/IP-BootPROM не поддерживает этот протокол, поэтому мы загружаем небольшой вариант ядра Linux, использующий электронный диск, при помощи ранее описанных утилит, в котором запускаем Linux-версию программы MrBatch, в которую встроена поддержка широковещательного TFTP. Простой пакетный файл загружает все необходимые файлы в кэш-раздел в течение пары минут одновременно на всех компьютерах. Вам не надо устанавливать Linux для использования этого пакета (за исключением того случая, если ваше очень экзотическое оборудование требует специального ядра).

Процедура состоит из нескольких шагов. Во-первых, загрузите вручную широковещательный сервер, задав ему количество клиентских машин в качестве параметра (запомните, что эта процедура должна производиться не ежедневно, а лишь в тех случаях, когда вы хотите синхронизировать образы дисков на всех машинах). Затем включите все клиентские машины, которые должны выполнить следующий скрипт:

# # Этот файл запускает мини-вариант linux с электронным # диском, который затем запустит mrbatch. # # Широковещательный TFTP-протокол работает только в Linux-версии # mrbatch, потому что в BootPROM нет поддержки широковещания. # # 1. Создаем небольшой раздел, оставляя большое пространство для кэша setpartitions "BIGDOS:50" # 2. Очищаем MBR clean 0 # 3. Запускаем ядро Linux с поддержкой initrd (Загрузочный Электронный Диск) и # используем в качестве этого диска bcastrd.gz (он будет подключен в # качестве корневой файловой системы и запущен через /linuxrc). См. initrd.txt, # в котором приведено подробное описание загрузочных дисков. Вам не надо задавать корневое # устройство) - ядро будет использовать электронный диск. linuxboot "linux.krn" "" "bcastrd.gz" # 4. Сначала linux запустит dhcpcd для настройки сети. # Затем он выполнит команду mrbatch -w bcastlx




Содержание  Назад  Вперед