Мини-HOWTO: Удаленная загрузка и Linux: Настройка удаленно загружаемых рабочих станций с Linux, DOS, Windows 95/98 и Windows NT | ||
---|---|---|
Пред. | След. |
Конфигурация, описываемая здесь, создавалась с лета 1996 в CUI, Университет Женевы. Факультет Компьютерных Наук использовал несколько серверов и большое количество рабочих станций, которые можно поделить
компьютеры для студентов
компьютеры для исследований и обучения ассистентов
Каждый компьютер должен работать в Linux, DOS, Windows 3.1, Windows 95 или Windows NT. Пользователь должен иметь возможность выбирать необходимую ОС при каждом сеансе работы.
Все программы, включая операционные системы, должны браться с серверов, чтобы облегчить процедуры установки программ и их обновление.
Клиентские компьютеры должны иметь возможность работать без записи на сервер (из соображений безопасности), кроме домашнего каталога (куда запись разрешена).
Конфигурирование клиентских машин должно быть предельно упрощено. Клиенты должны автоматически получать параметры их IP-конфигурации, и вся эта конфигурация должна находиться в одном файле, используемом для всех операционных систем.
Так как почти каждый компьютер сегодня имеет жесткий диск, то клиенты должны иметь возможность воспользоваться им для облегчения нагрузки на сеть, а также использовать его, как место временного хранения данных пользователя.
Пользователь должен иметь имя входа, чтобы использовать любой из компьютеров.
Это имя входа должно быть одинаковым для всех операционных систем и должно позволять доступ к персональному домашнему каталогу, общему для всех операционных систем.
Компьютеры студентов (и секретарши :-) должны быть абсолютно чисты при каждом запуске. Таким образом, компьютер должен выглядеть так, как будто его только что установили.
Каждый компьютер должен быть защищен от вирусных атак.
ППЗУ удаленной загрузки существуют достаточно давно, но, до недавних пор, они продавались исключительно с бездисковыми станциями. С 1996 года этот How-to утверждает, что BootPROM значительно более интересны при использовании в машинах с локальным жестким диском, потому что они позволяют использовать плюсы и тех, и других:
ППЗУ удаленной загрузки позволяет иметь более "живучие" конфигурации, потому что с ним компьютер загружается всегда одинаково, не зависимо от вирусов или разрушения таблицы разделов. Он может использоваться даже (как у нас) для очистки диска до загрузки операционной системы.
Локальный диск может сделать конфигурацию более эффективной, потому что он может сократить сетевой трафик при помощи кэширования, и позволяет сделать подкачку более эффективной.
Заметьте, что вы можете использовать утилиты, описанные ниже, по-старому, в качестве простого загрузчика ядра/электронного диска, даже на бездисковых компьютерах. Однако, мы бы не рекомендовали, такое их использование.
Университет Женевы владеет сетью класса B, разделенной на несколько подсетей. Компьютерный факультет использует четыре подсети, из которых одна выделена для студентов.
В исходном варианте наши компьютеры использовали два сетевых протокола: IPX и IP. Для IPX мы использовали сервер Novell Netware 3 для совместного использования программ и файлов пользователей в DOS и Windows. Для IP у нас был сервер SUN с программами и разделами пользователей для Linux, использующих NFS.
В последней версии конфигурации мы больше не используем IPX. У нас стоит один сервер Unix (Это может быть и Linux, и SUN), позволяющий совместное использование программ и файлов пользователей, при помощи NFS, для Linux-клиентов и SMB (NetBIOS) поверх TCP/IP для Dos- и Windows-клиентов. Таким образом, мы можем предоставить один общий домашний каталог на всех операционных системах.
Когда клиентский компьютер включается, он производит стандартную проверку системы до того, как управление передается TCP/IP Bootprom или PXE Boot ROM.
ППЗУ удаленной загрузки посылает запрос BOOTP/DHCP, чтобы узнать параметры IP-конфигурации.
Если сервер узнает компьютер, пославший запрос, он посылает обратно BOOTP/DHCP-ответ с различной информацией: IP адрес клиента, шлюз по умолчанию и образ загрузочного диска, который нужно использовать.
В случае PXE Boot ROM, может существовать кое-какой дополнительный обмен информацией между клиентом и сервером до полного определения параметров загрузки.
После этого BootPROM скачивает загрузочный образ с сервера, используя протокол TFTP. Этот образ представляет из себя небольшую программу bpbatch, наш интерпретатор пакетных файлов загрузки систем.
Затем запускается наш интерпретатор пакетных файлов. К этому моменту он единственный находится в памяти. Еще не загружена ни одна операционная система, кроме дозагрузочного исполнительного окружения, формируемого Boot ROM.
Интерпретатор обрабатывает ответ BOOTP/DHCP в поисках различных опций, и, иногда, имени пакетного файла, который надо исполнить.
В соответствии с инструкциями пакетного файла он, например:
Загрузить национальную раскладку клавиатуры
Произведет авторизацию пользователя на сервере (Unix, Radius или Windows NT)
Даст возможность пользователю выбрать операционную систему
В соответствии с выбранной операционной системой, он создаст разделы на жестком диске и произведет быстрое форматирование некоторых разделов
Проверит, имеется ли соответствующий компрессированный образ выбранной ОС в конце жесткого диска. Если нет, то загружает его, при помощи TFTP
Разархивирует выбранную ОС на основной раздел
Если ОС - это Linux, загрузит ядро и запустит его
Если ОС - это DOS или Windows, то просто позволит компьютеру загрузиться со свежего жесткого диска
В "безопасных" компьютерах (напр. компьютерах лаборантов), как только компьютер однажды загрузился с использованием вышеописанной системы, скрипт может просто переключаться на загрузку с локального диска без его повторной очистки. Это позволяет пользователям хранить данные на локальных дисках. Но если, вдруг, конфигурация их компьютера откажет, то пользователь может в любое время выбрать соответствующий пункт из загрузочного меню, получив, таким образом, свежую инсталляцию
Эта конфигурация была успешно воспроизведена в нескольких других местах по всему миру. Некоторые, из участвовавших в проекте, написали советы и хитрости в дополнение к этому How-To. Если у вас тоже есть совет, и на этой странице нет ссылок на вас, то пишите по адресу Marc.VuilleumierStuckelberg@cui.unige.ch. Если у вас возникнут проблемы с воспроизведением этой конфигурации, взгляните на эти страницы!
http://www.br.fgov.be/RESEARCH/INFORMATICS/info/bootp.html, автор - Alain Empain из Национального Ботанического Сада Бельгии. Много полезных примеров скриптов, и красивая программа на PERL, позволяющая автоматически создавать меню и HTML-документацию из описания более высокого уровня.
http://www.katedral.se/system/elevsyst, автор - Johan Carlstedt из Кафедральной школы в Uppsala, Швеция. На настоящий момент, конфигурация, описанная на этой странице базируется на старой версии утилит удаленной загрузки, однако, практически все работает. А также там приводятся некоторые советы.
http://vitoria.upf.tche.br/~fred/, на португальском, автор - Frederico Goldschmidt из Университета Passo Fundo, Бразилия.
http://www.etse.urv.es/~larinyo,на испанском, автор - Lluis Arino, из Высшей Инженерно-Технической Школы (Escola Tecnica Superio d'Enginyeria), Испания.
Вы можете послать мне свой BpBatch-скрипт, чтобы я внес его в коллекцию скриптов.