Решение
Cendio ThinLinc в России пока не получило большой известности, хотя постепенно начинает привлекать к себе внимание. Мы решили опубликовать небольшой обзор, чтобы читатели смогли оценить удобство программного продукта под Linux.
ThinLinc является программным продуктом, с помощью которого пользователь получает доступ к рабочим столам, файлам и приложениям с центрального сервера. Таким образом, вычислительные ресурсы организации сосредоточены в дата-центре, а не распределены по конечным пользователям. Возможные поломки и сбои клиентских устройств никак не сказываются на целостности и сохранности данных.
ThinLinc отличается от большинства аналогичных продуктов своей заточенностью под Linux. Продукт изначально разрабатывался как сервер удаленного доступа к ПК на ОС Linux, и, так как он доказал свою состоятельность, компания Cendio решила продолжить его развитие и поддержку.
Несмотря на то, что сервер ThinLinc работает в Linux, пользователи могут запускать приложения Windows и получать доступ к рабочим столам этой ОС. Для этого необходимо подключить Remote Desktop Services через RDP-протокол. В результате на рабочем столе Linux можно одновременно запускать Windows и Linux-приложения, не переключаясь между средами.
Вот как выглядит совмещение сред на одном экране:
Запуск Windows в отдельном окне
Запуск приложения Windows в «бесшовном» режиме (пользователь может перемещать или менять размер приложения)
Возможность переключения сред Linux и Windows сохраняется и предусмотрена при залогинивании в специальном меню.
Однако, повторимся, специализация решения – интеграция с Linux и использование открытого исходного кода. Наилучшим образом ThinLinc проявляет себя на таких платформах, как Red Hat, Ubuntu и openSUSE.
ThinLinc использует стандартную клиент-серверную модель. Сеансы создаются на сервере ThinLinc как экземпляры Xvnc-процесса. X11-сервер вместо отправки выходных данных на физический экран преобразует их в VNC-протокол и отправляет на TCP-сокет. Связь стандартных X11-рабочих сред и приложений с данным процессом происходит так, как если бы это был обычный X-сервер. VNC-клиент может затем подключиться по сети (локальной или глобальной) и вывести контент на удаленный экран.
Системная архитектура ThinLinc
Системная архитектура ThinLinc адаптируется под существующую пользовательскую архитектуру и дает возможность наращивать ThinLinc-систему всем необходимым. Применяется стандартная аутентификация, обеспечивающая интеграцию с eDirectory, Active Directory, NIS и т.д.
ThinLinc можно установить как на одну машину, так и в кластер.
Кластерная конфигурация позволяет равномерно распределять нагрузку между агент-серверами, на которых выполняются сеансы и приложения, а также обеспечивает масштабирование и отказоустойчивость. Агент-серверы в кластере являются идентичными друг другу, и если один из них выходит из строя, другие принимают на себя пользовательские сеансы. В случае отказа можно настроить главный сервер, переключив его на резервные мощности. Таким образом обеспечивается дублирование на всех уровнях.
Благодаря балансировке нагрузки можно добавлять серверы по мере необходимости.
Балансировка нагрузки ThinLinc распространяется также и на службы Remote Desktop Services.
- Главный сервер ThinLinc (vsmserver), выполняющий функцию посредника сеансов и шлюза в кластере, решает следующие задачи: отслеживает и проверяет сеансы, распределяет нагрузку по агентам в кластере, проводит начальную аутентификацию, выбирает терминальный сервер, отправляет информацию о сеансе клиенту.
- ThinLinc агент (vsmagent) отвечает за запуск и хостинг процессов, которые составляют ThinLinc-сеанс, и устанавливает туннели для графики и локальных устройств. Туннели мультиплексируются по SSH-соединению на пользователя.
- ThinLinc-клиент подключается сначала к главному серверу, затем к тому агенту, которого главный сервер посчитает наиболее подходящим. При подключении клиента к серверу весь трафик между ними шифруется по SSH, исключая необходимость VPN-сервисов и обеспечивая безопасность соединения даже через интернет. ThinLinc-клиент может работать на множестве устройств Linux, OS X, Windows и других платформах для тонких клиентов, включая клиенты на базе HTML5, запускаемые через браузеры.
Аппаратная составляющая
Так как вся вычислительная мощь сосредоточена на сервере, то не требуется приобретать дорогостоящее железо для пользователей, даже когда речь идет о выполнении ресурсоемких задач. Сам сервер может быть как физическим, так и виртуальным.
Совместно с ThinLinc могут применяться самые различные тонкоклиентные девайсы, такие как устаревшие стационарные компьютеры, ноутбуки, планшеты, смартфоны и специально предназначенные устройства с минимальными аппаратными требованиями. Такие устройства потребляют немного энергии, требуют минимального обслуживания и отличаются низкой стоимостью владения.
Как вариант, в компании может применяться модель BYOD (bring your own device), при которой сотрудники используют собственные устройства в рабочем процессе.
ThinLinc поддерживает на клиенте локальные HDD и USB.
Благодаря архитектуре ThinLinc клиентские устройства максимально изолированы от сервера. Например, если пользователь подключается к серверу из дома со своего ноутбука, на котором есть вирус, нет шансов, что этот вирус попадет в серверную среду.
Вычислительные ресурсы
Необходимые для кластера ThinLinc вычислительные ресурсы зависят от количества пользователей, типа серверного железа, используемых юзерами приложений и т.п. Отталкиваясь от пользовательского опыта, можно дать следующие усредненные цифры:
- Диск. Около 100 MБ на ПО и данные. На каждый активный сеанс требуется обычно менее 100 КБ (хранение данных сеанса и журнал сеансов). Помимо этого, требуется дисковое пространство для операционной системы, пользовательских приложений и журналов.
- Процессорные ресурсы и память. Объем процессорных ресурсов и памяти зависит исключительно от запускаемых пользователями приложений, активности пользователей и ожидаемого время отклика.
Когда ThinLinc используется только для доступа к рабочему столу Windows через rdesktop, опыт показывает, что требуется примерно 50-100 MГц и 20-50 МБ на одного активного пользователя.
Полнофункциональному рабочему столу KDE или Gnome с обычными запущенными офисными и интернет-приложениями (LibreOffice, Firefox, некоторыми графическими программами и открытыми мультимедийно насыщенными веб-страницами) требуется примерно 150-300 MГц на активного пользователя, а ожидаемый объем памяти на пользователя для такого рабочего стола без приложений составляет 100-200 MБ*.
*Цифры основаны на опыте клиентов, использующих Intel Xeon 7140M (Netburst). Для других процессоров будут другие цифры.
Среди других удобств ThinLinc реализует принцип hot-desking, при котором у работников нет закрепленных за ними мест, а доступ к рабочему столу предоставляется с любого клиента, подключенного к ThinLinc. Закрытые в одном месте сеансы открываются из другого места в том же самом виде вплоть до положения курсора.
Чтобы работать в корпоративной сети за пределами организации с чужих клиентских устройств, пользователю нужна лишь флешка с загруженным на нее ThinLinc-клиентом. Также клиент можно загрузить на смартфон и подключаться к ThinLinc-серверу по мобильным сетям.
С помощью ThinLinc возможна удаленная печать, при этом нет необходимости в установке на сервере специальных драйверов.
На установку и настройку ThinLinc требуется минимум усилий и времени. ThinLinc автоматически определяет дистрибутив Linux и устанавливает все недостающие программные пакеты из хранилища данных. В процессе установки происходит настройка межсетевого экрана, очереди печати и т.п.
Установка ThinLinc включает загрузку с сайта разработчика www.cendio.com серверной и клиентской частей, для чего необходимо ввести свой электронный адрес. На этот адрес затем придет ссылка на дистрибутив. Бесплатно ThinLinc могут использовать не более пяти одновременных юзеров.
После установки и настройки, при которых в основном требуется только нажимать кнопку «далее», вы получаете полнофункциональную ThinLinc-систему.
Для крупных кластеров с множеством серверов установку ThinLinc можно автоматизировать с помощью файлов конфигурации.
Система позволяет использовать различные механизмы аутентификации: статические или одноразовые пароли, протокол RADIUS, аутентификацию с помощью открытого ключа, протокол Kerberos.