Linux Terminal Server Project

Преимущества использования терминальных технологий для целей миграции на свободное ПО и повторного использования морально устаревшего «железа». Участие в проектах ALT Linux и LTSP: порознь и вместе. ALTSP как уникальный сплав «лучшего из двух миров» – LTSP4/5.

предыстория

Когда компьютеры были большими, а их количество - маленьким, на одной системе в нескольких десятках килобайт работало несколько пользователей.
Времена менялись, 640К какое-то время хватало всем, и все предпочли работать персонально. Мощность ПК же продолжала расти по закону Мура, и вскоре достигла мощности дорогущих рабочих станций UNIX, а потом и перешагнула ее.

Вдруг оказалось так, что ресурсов ширпотребного компьютера достаточно, чтобы обеспечить работу... правильно, опять нескольких пользователей. Где ваша лицензия на подключение?

Linux

В 1999 году уже существовало как движение свободного ПО, так и намерение разработчиков ядра Linux вплотную заняться настольными системами. Этим воспользовались в одной детройтской фирме, занимавшейся обслуживанием госпиталей; так появилась первая версия LTSP.

События развивались довольно быстро: в апреле 2000 года появилась вторая версия, всё так же копировавшая бинарники из основной системы, но уже улучшенным скриптом инсталяции; через полтора года - третья с существенным прогрессом по части развёртывания и функциональности, а в 2004 был выпущен LTSP4 с очень неплохими эксплуатационными характеристиками: работа на 12M RAM, загрузка в полминуты, поддержка балансировки нагрузки и локально запускаемых на клиенте приложений (например, для интернет-телефонии с доступом к микрофону).

LTSP5

В 2005 начались работы над версией, которая наконец должна была не таскать бинарники из хост-системы при установке, не тягать с собой из какого- то RH, не собирать в специальном окружении - но пользоваться дистрибутивной основой, прекратив быть мини-дистрибутивом в своём праве и став фреймворком по составлению терминальных решений из существующих дистрибутивов.

Эта работа выполнялась в тесном сотрудничестве с Ubuntu и Debian, результат был включен в образовательный комплект Edubuntu.

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

Но всё это было оправдано происшедшей закладкой фундамента для дальнейшей метадистрибутивной разработки, когда LTSP предоставляет не свои сборки ядра или системных библиотек, но методологию по поддержке загрузки и обеспечения работы клиентов - и компоненты, готовые к использованию для интеграции такого режима в существующие дистрибутивы. Ну и практической реализацией, пригодной к работе «из коробки».

В 2007 году к разработке LTSP5 присоединились участники проектов Gentoo, openSUSE, Fedora, Slackware, принося с собой фрагменты специфического для их дистрибутивов кода, исправляя и улучшая общий.

ALTSP5

В том же 2007 году был доведён до бета-состояния и использован в деле форк LTSP5 на базе ALT Linux, сочетавший в себе как наработки по использованию дистрибутива из пятой ветки, так и зрелые компоненты из четвёртой; наш офис [1] успешно переехал на технологию ALTSP5 в конце весны.

К концу года был наработан дистрибутив, который обеспечил на стенде загрузку и нормальную работу Pentium 166/32M как одного из тонких клиентов, подключенных к более мощной машине. То есть при наличии одной современной системы со специализированным школьным дистрибутивом Линукс Терминал возможно работать на «старичке» с KDE, OpenOffice.org и Eclipse.

почему форк?

В проекте ALT Linux нередко выполняют форк каких-либо других проектов по той банальной причине, что считают совершенно невозможным улучшать их такими, как есть: подчас приходится переписывать начисто. Собственно, ALT когда-то был с пылу с жару таким же форком, быстро уходящим от оригинала в сторону разумности.

Предпосылки начались осенью 2006 года с развёртывания LTSP4.2 в нашем офисе внутри OpenVZ VPS - скрипты явно не были рассчитаны на
действительность, отличающуюся от авторской, а их отладка отнимала непомерно много времени и нервов. По ходу пьесы образовались как «волшебный тарбол» /opt/ltsp, так и решимость самостоятельно LTSP4 больше не заниматься [2].

Решимость заниматься терминальными решениями, однако, не угасла, и весной 2007 на этот нелёгкий труд был приглашён выделенный разработчик - Александр Чумаченко (led@altlinux). У него возникли схожие предпосылки применительно к LTSP, и хотя рассматривались разные варианты - в итоге остановились на этом в качестве основы. Были выброшены те части LTSP 5.0, которые были сочтены незрелыми, и добавлены куски LTSP 4.2, которые доказали лучшую пригодность (NFS root и использование XDMCP).

upstream merge

Результат вскоре стал работоспособным, но довольно сильно уходил в сторону от основного направления разработки LTSP5 по части организации взаимодействия с тонкими клиентами. После ряда обсуждений было решено всё-таки попробовать включить наработки в состав основного репозитория - что, помимо других дел, заняло примерно полмесяца весной 2008, но в общих чертах позволило сократить объём различий с примерно восьмидесяти до двух десятков килобайт и синхронизировать представление об интересах по дальнейшей разработке с теми, кто её и так давно (или недавно) ведёт.

текущее состояние

ALTSP5 остался таким же «гибридным» вариантом; используется специальная сборка ядра с патчами для надёжного свопа по сети; потребность в памяти терминала получилось свести к сопоставимому с требуемым для LTSP4.2 объёму - 16M (ниже опускаться большого смысла нет, поскольку это типичный объём для первых «пентиумов», а на i486 уже не работают штатные пакеты ALT Linux, оптимизированные для i586).

Доступны снапшоты терминального решения на основе ALT Linux 4.0 Desktop и школьного дистрибутива Linux Terminal, которые позволяют
воспользоваться терминальным сервером непосредственно после установки (при возможности загрузиться по PXE).

Написана документация [3] и система управления клиентами - обе скорее в минимальном объёме: документации чем меньше приходится читать - тем лучше, а вот улучшение модуля Alterator - один из главных участков дальнейшей работы.

планы

Существует намерение разрешить возникший «конфликт поколений» LTSP (в первую очередь по части требований к ресурсам) за счёт реализации поддержки множественных транспортов в стиле LTSP4/5 и расширяя их - для:

- загрузки терминалов (NFS/NBD);

- регистрации в системе (XDMCP/LDM/RDP/...);

- работы с приложениями (X11/X11+ssh/RDP/...);

- работы с локальными устройствами (ltspfs/RDP/...).

Дистрибутивами по факту вовсю пользуются и в виде снапшотов, причём они весьма близки к релизному состоянию; работа в направлении выпусков также ведётся.

контакты

Загрузить бета-версии (и будущие релизы) можно с серверов ftp.linux.kiev.ua и beta.altlinux.org; подписаться на рассылку, где идёт обсуждение разработки и применения - по адресу https://lists.altlinux.org/mailman/listinfo/ltsp-server .

использованные источники

1. Media Magic Ltd, Терминал-сервер, 2007, http://www.magic.kiev.ua/ru/solutions/servers/altsp5/

2. Michael Shigorin, А не сделать ли ALTSP?, 2006, http://gvy.livejournal.com/2477.html
3. Alexander Chumachenko, LTSP5 в ALTLinux, 2007, http://freesource.info/wiki/Dokumentacija/LTSP5




Михаил Шигорин, Киев, Украина, ООО Медиа Мэджик, ALT Linux Team, mike@altlinux.org


Сетевые решения. Статья была опубликована в номере 07 за 2008 год в рубрике бизнес

©1999-2022 Сетевые решения