Быстрое развертывание компьютерного класса на базе Linux
Быстрое развёртывание мобильного Linux-окружения в компьютерном классе строится по технологи LiveCD с использованием технологий сетевой загрузки/NFSROOT и последующей доработки штатными средствами дистрибутива Linux. Полученная технология позволяет решать гораздо более широкий круг задач, чем LiveCD, в том числе задачу быстрой подготовки произвольного профиля ОС, загружаемой на клиентские машины.
Общая постановка задачи
В современной практике часто встаёт задача быстрого развёртывания временного и/или часто меняющегося окружения Linux в компьютерном классе. Это может потребоваться, например, в следующих случаях:
- Временное развёртывание Linux-окружения для демонстрационных или учебных целей, а также для персональной работы
- Постоянное развёртывание Linux-окружения без модификации содержимого жёстких дисков (например, при невозможности/нежелании иметь двойную установку ОС)
- Постоянная модификация одного или нескольких Linux-окружений, загружаемых на клиентские компьютеры (например, при подготовке информационного пространства для определённых курсов или при постоянной доработке окружения)
Все три подзадачи могут быть сравнительно неплохо решены с помощью методики LiveCD — специализированного дистрибутива Linux, загружаемого с CD ии Flash и не требующего ни установки на жёсткий диск, ни модификации содержимого этого диска.
Однако загрузка дистрибутива-«прошивки» с медленного носителя проигрывает традиционной установке как в скорости дискового обмена, так и в гибкости настройки.
Между тем полноценное Linux-окружение можно загрузить по сети, используя методику NFSROOT. Встаёт вопрос, насколько LiveCD можно «скрестить» с NFSROOT, и какие будут от этого преимущества?
LiveCD, NFSROOT и дистрибутивы ALT Linux
Начиная с ветки дистрибутивов ALT Linux 3.0 компанией и сообществом ALT Linux регулярно выпускаются Live-дистрибутивы. Носитель с дистрибутивом ALT Linux включает в себя т. н. propagator — небольшую подсистему, предоставляющую возможность загрузки и установки дистрибутива с произвольного носителя, в том числе и по сети с использованием NFS.
Несмотря на то, что установка дистрибутива с помощью propagator с различных носителей тестируется сообществом регулярно, работа Live режима по NFS проверяется нерегулярно.
Так, в дистрибутивах ALT Linux ветки 3.0 достаточно было настроить (с некоторыми уловками) серверную часть, подсунуть содержимое LiveCD в качестве NFSROOT и включить на клиентской машине сетевую загрузку, и полный аналог LiveCD мог быть развёрнут за считанные секунды.
В дистрибутивах веток 4.0 и 4.1, в частности, в ПСПО, образ LiveCD непригоден для непосредственной загрузки по сети, но содержимое этого образа, после незначительной модификации, вновь даёт работоспособную конфигурацию1.
В дистрибутивах Пятой Платформы, в частности, в «ALT Linux Ковчег 5.0», настройка серверной части автоматизирована. Одно из свойств «Ковчега» — быстрое развёртывание установочного сервера: достаточно включить несколько функций посредством веб-интерфейса и «подложить» образ установочного диска, чтобы вся схема исправно заработала2.
Частично восстановлена функциональность работы LiveCD по сети. Фактически, работает всё, кроме автоматизации сетевых настроек. Для создания полноценного окружения применяется уже опробованный метод развёртывания содержимого LiveCD в NFSROOT и последующей модификации3. Главным образом модификация касается самой функциональности LiveCD: запрет монтирования разделов найденного жёсткого диска на запись, добавление пароля суперпользователя, тонкая настройка сети и т. п.
Планы на будущее
Получившаяся схема подготовки NFSROOT, в добавок к решению основной задачи быстрого развёртывания, даёт более удобный инструмент решения подзадач, заявленных в начале. В самом деле, системному администратору достаточно развернуть содержимое NFSROOT, а дальнейшие действия — установку, удаление и обновление пакетов, настройку особенностей системы, создание контента и т. п. — он может производить на сервере как на отдельном компьютере с помощью chroot. Внедрение подобной методики на факультете ВМиК МГУ им. М. В. Ломоносова включает в себя загрузку нескольких вариантов окружения, в зависимости от текущих потребностей в классе.
Главные недостатки NFSROOT, создаваемого по разработанной схеме:
- всё ещё низкая скорость файлового обмена по сравнению с работой с жёсткого диска и вообще зависимость от пропускной способности сети (особенно в момент системной загрузки);
усложнённость полного процесса подготовки окружения: сначала кто-то собирает LiveCD, затем из него добывается содержимое, модифицируется (в том числе на предмет запрета некоторых особенностей LiveCD);
- некоторые типовые доработки внедрения нужны почти всегда, а в LiveCD отсутствуют (централизованная авторизация, домашние каталоги на сетевом диске и т. п.).
Что можно сделать по этим трём направлениям?
Реализовать кеширование NFS на клиентском диске (по образцу Sun Autoclient®). Подобную функциональность предоставляет, например, проект OpenAFS.
Использоваться для развёртывания NFSROOT тот же инструмент, который используется для создания LiveCD. В ALT Linux традиционно используется mkimage, предоставляющий все возможности для предварительной настройки и наполнения создаваемого образа.
- Типовые доработки можно оформить в виде отдельных пакетов и т. н. hook-ов для mkimage В любом случае к выходу Live-дистрибува следующей ветки планируется целиком восстановить функциональность загрузки Live-образа по сети.
Г. Курячий. «Сервер "толстых" терминальных клиентов на ПСПО», http://uneex.ru/FrBrGeorge/PspoThickClient (1)
Г. Курячий. «Сетевая установка и сетевая загрузка», http://uneex.ru/FrBrGeorge/BookP5/NetworkInstall (2)
Необходимые модификации описаны там же (3)