Быстрое развертывание компьютерного класса на базе Linux

Быстрое развёртывание мобильного Linux-окружения в компьютерном классе строится по технологи LiveCD с использованием технологий сетевой загрузки/NFSROOT и последующей доработки штатными средствами дистрибутива Linux. Полученная технология позволяет решать гораздо более широкий круг задач, чем LiveCD, в том числе задачу быстрой подготовки произвольного профиля ОС, загружаемой на клиентские машины.

Общая постановка задачи

В современной практике часто встаёт задача быстрого развёртывания временного и/или часто меняющегося окружения 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 непригоден для непосредственной загрузки по сети, но содержимое этого образа, после незначительной модификации, вновь даёт работоспособную конфигурацию<<Footnote(Г. Курячий. «Сервер "толстых" терминальных клиентов на ПСПО», http://uneex.ru/FrBrGeorge/PspoThickClient)>>.

В дистрибутивах Пятой Платформы, в частности, в «ALT Linux Ковчег 5.0», настройка серверной части автоматизирована. Одно из свойств «Ковчега» — быстрое развёртывание установочного сервера: достаточно включить несколько функций посредством веб-интерфейса и «подложить» образ установочного диска, чтобы вся схема исправно заработала<<Footnote(Г. Курячий. «Сетевая установка и сетевая загрузка», http://uneex.ru/FrBrGeorge/BookP5/NetworkInstall)>>.

Частично восстановлена функциональность работы LiveCD по сети. Фактически, работает всё, кроме автоматизации сетевых настроек. Для создания полноценного окружения применяется уже опробованный метод развёртывания содержимого LiveCD в NFSROOT и последующей модификации<<Footnote(Необходимые модификации описаны там же)>>. Главным образом модификация касается самой функциональности LiveCD: запрет монтирования разделов найденного жёсткого диска на запись, добавление пароля суперпользователя, тонкая настройка сети и т. п.

Планы на будущее

Получившаяся схема подготовки NFSROOT, в добавок к решению основной задачи быстрого развёртывания, даёт более удобный инструмент решения подзадач, заявленных в начале. В самом деле, системному администратору достаточно развернуть содержимое NFSROOT, а дальнейшие действия — установку, удаление и обновление пакетов, настройку особенностей системы, создание контента и т. п. — он может производить на сервере как на отдельном компьютере с помощью chroot. Внедрение подобной методики на факультете ВМиК МГУ им. М. В. Ломоносова включает в себя загрузку нескольких вариантов окружения, в зависимости от текущих потребностей в классе.

Главные недостатки NFSROOT, создаваемого по разработанной схеме:

  1. всё ещё низкая скорость файлового обмена по сравнению с работой с жёсткого диска и вообще зависимость от пропускной способности сети (особенно в момент системной загрузки);
  2. усложнённость полного процесса подготовки окружения: сначала кто-то собирает LiveCD, затем из него добывается содержимое, модифицируется (в том числе на предмет запрета некоторых особенностей LiveCD);

  3. некоторые типовые доработки внедрения нужны почти всегда, а в LiveCD отсутствуют (централизованная авторизация, домашние каталоги на сетевом диске и т. п.).

Что можно сделать по этим трём направлениям?

  1. Реализовать кеширование NFS на клиентском диске (по образцу Sun Autoclient®). Подобную функциональность предоставляет, например, проект OpenAFS.

  2. Использоваться для развёртывания NFSROOT тот же инструмент, который используется для создания LiveCD. В ALT Linux традиционно используется mkimage, предоставляющий все возможности для предварительной настройки и наполнения создаваемого образа.

  3. Типовые доработки можно оформить в виде отдельных пакетов и т. н. hook-ов для mkimage В любом случае к выходу Live-дистрибува следующей ветки планируется целиком восстановить функциональность загрузки Live-образа по сети.