Как работает тонкий клиент. Тонкие клиенты — что это такое? Подключение и использование тонких клиентов

Вы когда-нибудь самостоятельно собирали терминальный клиент? Нет? Тогда эта статья - для Вас:)

Вот вышел на работу пару дней назад. И что Вы думаете? Соскучились руки компьютерщика по профессиональной деятельности:) Захожу в кабинет, а там - компьютеры не рабочие по столам раскиданы (накопилось за отпуск). У этого - одно не работает, у того - другое. И так я увлекся процессом их ремонта что занимался этим первые два рабочих дня практически постоянно. Есть свободных пол часа - чиним компьютер. Обеденный перерыв? - А что там у нас было вооон с тем вот системным блоком? :)

Признаюсь, как говорится, - «накрыло»! До того прямо, что в конце всей этой бурной деятельности у меня в кабинете соорудилась вот такая конструкция:



В каждом из этих компьютеров была какая-то аппаратная проблема (а некоторых даже вообще не было в проекте). Те компьютеры на фото, которые ближе к нам и на которых есть стикеры с надписью «TS» (сокращение от анг. «» - тонкий клиент) это и есть те самые терминальные клиенты , о которых мы с Вами таки будем разговаривать сегодня:)

Прежде всего разберемся с самим понятием «терминальный клиент ». Терминальный клиент - отдельное аппаратное устройство (или же - маломощный компьютер), основная задача которого сводится к тому, чтобы установить пользовательский сеанс связи с сервером терминалов. Дальше - пользователь вводит свой сетевой логин и пароль, регистрируясь таким образом на терминальном сервере сети, и дальше всю работу выполняет непосредственно на нем, в режиме доступа к удаленному рабочему столу.

Таким образом, даже устаревшие компьютеры, сконфигурированные как терминальный клиент для служб терминалов получают «вторую жизнь». Поверьте мне, когда в нашем случае я говорю "устаревшие", я очень щадяще высказываюсь о той аппаратной конфигурации, которая в предоставляет своему пользователю все преимущества удаленного использования операционной системы Microsoft Windows Server 2003:)

Для наглядности, давайте я продемонстрирую для Вас на реальном примере, как в нашем IT отделе собирается (из того, что под рукой) очередной терминальный клиент. Для начала, иду я на склад и среди прочего компьютерного добра нахожу старую материнскую плату, которая вызывает у меня подозрения относительно того, что она - рабочая:) Вот, к примеру - такую:


Затем - подбираю к ней такой же устаревший процессор и прочие комплектующие. Берется блок питания стандарта «AT». Собирается все это «хозяйство» пока без корпуса на какой-либо диэлектрической поверхности (например - на деревянном столе). Запускается, тестируется, заменяются нерабочие комплектующие. В процессе этой работы будущий терминальный клиент может выглядеть следующим образом:



Совет! для того, чтобы слушать сигналы динамика не подключая каждый раз монтируемую плату к системному блоку можно "повесить" на нее вот такое приспособление:



Честно говоря, не знаю, как его правильно назвать. Ну, это (насколько я понимаю) что-то вроде пьезо-кристаллического элемента. Их иногда можно обнаружить в комплекте поставки материнской платы. Мы подключаем его (так как изображено на фото выше) и наш терминальный клиент уже "пищит" нам не через , а непосредственно через это нехитрое устройство:)

Кто-то после этого фото может «бросить камень» в мой огород и сказать что терминальные клиенты это - бездисковые станции, которые не имеют своей операционной системы и работают исключительно в режиме удаленной клавиатуры. И он будет прав!

Но в нашем случае (для убыстрения процесса инициализации и экономии на сетевых картах, которые на аппаратном уровне поддерживают функции загрузки по сети) мы при сборке терминального клиента часто используем специально разработанный для таких целей мини-образ операционной системы Linux, который записывается на старый жесткий диск небольшого объема.

Отдельно хочу обратить Ваше внимание на кнопку, которой подается питание на всю конструкцию. Для старых блоков питания стандарта «AT» она выглядит именно так. Правда она располагается за лицевой крышкой корпуса компьютера, но так ее видно лучше. :) В случае же нашего рабочего стенда мы подключили ее отдельно.

Внимание: в случае блоков питания стандарта «AT» неправильное подключение питания (как на самой кнопке, так и на материнской плате) может привести к «КЗ» (короткому замыканию) в электрической сети! Короче, в лучшем случае - выбьет пробки:)

Вот она наша кнопка запуска терминального клиента крупным планом:

Схема подключения здесь такая: «черный» - «коричневый» в параллель к ним «синий» - «белый» провода. Но это - отдельная история и тема для разговора:)

Таким образом мы тестируем нашу конфигурацию будущего терминального клиента на работоспособность. Сейчас нам надо убедиться в стабильной работе всей аппаратной части системы и добиться успешного соединения тонкого клиента с нашим терминальным сервером.


На фото выше мы можем наблюдать на мониторе процесс загрузки мини-образа системы Linux, финал которой должен закончиться окном ввода сетевого логина и пароля для доступа к терминальному серверу, работающему под управлением операционной системы Windows Server 2003.

Итак, вернемся к вопросу об аппаратной конфигурации наших терминальных клиентов. В нашем случае это пентиумы 1 и 2 с частотой процессоров от 100 до 433 мегагерц. На фото выше - pentium 133Mhz с процессорным разъемом Socket 7, 32 мегабайтами оперативной памяти, PCI видеокартой с двумя мегабайтами видеопамяти, обычной сетевой картой и жестким диском на 500 мегабайт.

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

Итак, собрав рабочую конфигурацию на тестовом «стенде», мы можем перенести ее в подходящий для нее корпус и получить что-то визуально напоминающее полноценный компьютер:)



Собственно, фотографии таких собранных, что называется, на ровном месте, терминальных клиентов, мы могли видеть на фотографии в самом начале этой статьи.

Теперь немного о том, как же можно получить программную сборку этого "чуда"? Причем, сборку скомпилированную именно под Ваши нужды и с тем функционалом и драйверами, который нужен лично Вам!

Тонкие клиенты (thin client) - устройства (терминалы), не имеющие собственных вычислительных мощностей, подключенные к общему для всех пользователей серверу и способные отображать информацию. Иначе говоря, они представляют собой бездисковые компактные персональные компьютеры (бездисковые тонкие клиенты), к которым подключаются обычные периферийные устройства — клавиатура, мышь, монитор, акустические системы и т. д.

Тонкие клиенты с терминальным сервером соединяются через локальную сеть или коммутируемое соединение (модем). На сервере установлены все необходимые для Вашей работы программы и приложения. На нем же хранятся данные и выполняются все вычисления.

Другими словами, windows-терминалы служат для отображения на экране монитора данных, передаваемых с сервера, и для отправки данных, полученных с устройства ввода, на сервер. При этом пользователь, за каким бы терминалом он ни работал, будет воспринимать его как свой собственный компьютер, поскольку на экране монитора он увидит именно свой рабочий стол и свои документы.

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

Какие задачи решаются при внедрении тонких клиентов?

Обычный персональный компьютер на рабочем месте по-прежнему остается практически стандартом, хотя в большинстве случаев это абсурдно. Тонкие клиенты позволяют не только решить технические проблемы, но и побороть сложившиеся стереотипы.

Очевидные преимущества использования терминальных клиентов вместо обычных персональных компьютеров таковы:

— снижение начальных затрат на приобретение, вследствие минимальных требований к конфигурации;
унификация — все клиенты имеют одинаковый набор программного обеспечения;
— простота реализации задач — нет необходимости настраивать каждый компьютер по отдельности, так как осуществляется централизованное управление информационным процессом. Все настройки для управления тонкими клиентами системный администратор выполняет централизованно на сервере;
— экономия времени системного администратора, обслуживающего абсолютно одинаковые компьютеры, вероятность поломок которых сведена к минимуму, а все программы установлены на сервере;
— масштабируемость — созданный единожды образ системы для работы всей группы пользователей позволяет поддерживать легко масштабируемую сеть. Можно установить столько ПК, сколько требуется, при этом добавление новых рабочих мест требует минимальных усилий;
— безопасность и отказоустойчивость. Терминал, загружаясь, получает операционную систему «от производителя», настройка которой осуществляется только отделом информационной поддержки. Все модификации операционной системы и прикладного ПО никак не влияют ни на других пользователей, ни на образ, хранящийся на сервере. Вся пользовательская информация хранится на сервере на RAID-массиве и регулярно резервируется, что увеличивает отказоустойчивость;
— защита от утечек информации — нет локальных носителей — нет возможности делать копии документов на съемные носители информации.

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

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

Потребляемая электрическая мощность бездискового тонкого клиента (windows-терминала) в десятки раз меньше, чем мощность обычных рабочих терминальных станций. Причем экономичность использования терминальных решений напрямую зависит от количества станций - чем больше используется тонких клиентов, тем экономически эффективнее вся система. С другой стороны, для увеличения функциональности и производительности не нужно обновлять весь парк, можно просто модернизировать сервер. Тонкий клиент не шумит и не нагревает окружающую среду.

Так как исправление ошибок и инсталляции программ в терминальной системе производится централизованно на терминальном сервере, то администратору локальной сети легко можно воспользоваться удаленным сеансом с пользователем. Для администрирования не требуется настройка комплекса программного обеспечения непосредственно на рабочем месте пользователя, нужно меньше рабочего времени и персонала.

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

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

Более того, так как в терминальной системе все программы установлены централизованно, то одновременный переход на новые версии происходит единовременно и без модернизации рабочих мест, в том числе и для работников, географически расположенных в различных офисах.

С другой стороны, следует отметить очевидное преимущество - существенное повышение уровня защищенности данных. Так, отключение администратором портов ввода-вывода делает невозможным несанкционированный съем информации. А разграничение доступа к данным и программам осуществляется системными средствами на сервере. Шифрование сетевого трафика позволяет достичь максимального уровня защиты информации.

Что такое тонкий клиент (thin client)?
Тонким клиентом называется устройство ввода и отображения информации (терминал). Физически тонкий клиент это компактный и бесшумный компьютер без жесткого диска (и без вентиляторов), загрузка основной операционной системы которого происходит на сервере. Все пользовательские приложения выполняются на терминальном сервере (сервере приложений), но для пользователя это совершенно прозрачно. Так как вся вычислительная нагрузка ложится на сервер, то тонкий клиент обладает минимальной аппаратной конфигурацией без какого-либо ущерба производительности.

Для чего применяются тонкие клиенты?
Тонкие клиенты применяются в организациях, где большинство пользователей используют компьютеры для выполнения однотипных задач: работа с базами данных, информационные каталоги (магазины, аптеки, библиотеки), работа в качестве банковских терминалов и т.д.

Какая операционная система на терминале?
Терминальная операционная система "прошита" в устройстве disk-on-module небольшого объема (флэш память объемом 64Мб-1Гб). Она обеспечивает базовый функционал работы клиента: начальную загрузку, корректную работу видеоадаптера, аудио, работу периферийных устройств подключенных непосредственно к терминальному клиенту (мышь, клавиатура, локальные принтеры, USB-флэш накопители). Также операционная система тонкого клиента может содержать в своем составе интернет-браузер, который может работать автономно (без терминального сервера). При переходе в терминальный режим клиент начинает работать с серверной операционной системой, индивидуальный сеанс которой запускается на терминальном сервере. С этого момента терминал становится просто средством отображения и ввода информации.

Какие лицензии на ПО нужны?
Для организации работы группы терминалов с ПО Microsoft в общем случае понадобятся следующие лицензии:
Лицензии на встроенные ОС на терминалах (Win CE 5.0 или Win XP Embedded), лицензия на серверную ОС (Windows Server 2008), лицензии клиентского доступа (Windows Server CAL 2008) — необходимое число лицензий равно числу терминалов, лицензии терминального доступа (Windows Trmnl Svcs CAL 2008) — необходимое число лицензий равно числу терминалов или пользователей. Лицензирование прикладных программ, как правило, осуществляется по принципу сколько пользователей (терминалов), столько и лицензий.

Преимущества применения тонких клиентов вместо обычных ПК:

  • снижение начальных затрат на приобретение, вследствие минимальных требований к конфигурации;
  • Значительное снижение энергопотребления — типичный тонкий клиент имеет потребляемую мощность всего 10Вт (против 250-350Вт у ПК)
  • унификация — все клиенты имеют одинаковый набор программного обеспечения;
  • простота реализации задач — нет необходимости настраивать каждый компьютер по отдельности, так как осуществляется централизованное управление клиентами. Все настройки для управления тонкими клиентами системный администратор выполняет централизованно на сервере;
  • экономия времени системного администратора, обслуживающего абсолютно одинаковые компьютеры, вероятность поломок которых сведена к минимуму, а все программы установлены на сервере;
  • масштабируемость — созданный единожды образ системы для работы всей группы пользователей позволяет поддерживать легко масштабируемую сеть. Можно установить столько ПК, сколько требуется, при этом добавление новых рабочих мест требует минимальных усилий;
  • безопасность и отказоустойчивость. Терминал, загружаясь, получает операционную систему "от производителя", настройка которой осуществляется только отделом информационной поддержки. Вся пользовательская информация хранится на сервере на RAID-массиве и регулярно резервируется, что увеличивает отказоустойчивость;
  • защита от утечек информации — нет локальных носителей — нет возможности делать копии документов на съемные носители информации (если обратное не разрешено системным администратором).

Сравнение стоимости внедрения решения для терминалов и ПК для рабочей группы на 40 пользователей:

Наименование Стоимость, руб Количество Всего (для тонких клиентов), руб Всего (для ПК), руб
ОС Windows Server 2003 R2 Standard (Сервер + 5 клиентских лицензий) 22131 1 22131 22131
Windows Server 2003 CAL 5 clt. (пакет в 5 клиентских лицензий) 4214 7 29498 29498
Лицензии терминального доступа (Terminal Server Client Access License) 2260 40 90400 0
ОС Windows CE 5.0 включено 40 0 0
ОС Windows XP Professional 4209 40 0 168360
Сервер для решения на ПК Team Server 3000P 36600 1 0 36600
Сервер для решения на тонких клиентах Team Server 1500A 68400 1 68400 0
Тонкий клиент Norma-TS L66VC-CE 6499 40 259960 0
ПК Team Office b352 8372 40 0 334880
Монитор LCD 17" 7369 40 294760 294760
Клавиатура и мышь 651 40 26040 26040
Итого: 791189 912269
Стоимость рабочего места: 19779 22806

Часть первая: Немного лирики

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

Давайте представим себе среднестатический офис небольшой торговой фирмы с точки зрения IT:

  • несколько десятков слабеньких компьютеров для секретаря, менеджеров, бухгалтерии и, конечно, главного Босса;
  • одна-две-три машины, выполняющих роли:
    • домен-контроллера windows (нередки случаи, когда в сети компании отсутствует даже домен, а все компьютеры работают в одно-ранговой сети);
    • файлового сервера;
    • почтового сервера (вместо него иногда используют внешние бесплатные почтовые сервера, начиная от mail.yandex.ru и gmail.com и кончая десятидолларовым хостингом на N почтовых ящиков);
    • http-прокси для фильтрации доступа ко внешним ресурсам и логирования «куда кто ходит» (часто отсутствует)
    • маршрутизатора/файрвола на границе с внешней сетью для ограничения доступа наружу и наоборот (часто в качестве пограничного маршрутизатора используется любой SOHO-роутер начального уровня ценой до 100 долларов, он же выполняет роль DHCP сервера (для динамической раздачи IP адресов рабочим станциям сотрудников);
    • другие вещи, список которых может быть довольно большим;
  • несколько принтеров, часто подключенных локально к рабочим станциям сотрудников и расшареных по сети стандартными средствами Windows (как вариант, принтеры могут быть сетевыми изначально или же подключены через аппаратные принт-сервера).
  • в продвинутых случаях - один терминальный сервер (под Windows) для бухгалтерии (на нем крутится 1C а там же лежит база данных оной, а бухгалтеры, подключаясь к серверу терминалов через стандартные средства Windows (remote desktop), работают с ней на терминальном сервере (локально), что, во-первых, дает больше удобства, а во-вторых, ускоряет работу самой 1C (обычно же 1С с базой установлена на компьютере одного из бухгалтеров, а остальные подключаются к ней со своих компьютеров, работая с расшареной по сети базой).

Все это хозяйство связано в единую локальную сеть посредством одного/нескольких дешевых коммутаторов на 100Мбит. И работает это в едином домене NT/Active directory (хотя встречаются варианты одноранговых рабочих станций безо всяких доменов).

На всех машинах с Windows обычно установлен (хотя и тут бывают исключения) какой-то антивирус. Часто встречается не сетевые версии этих программ (тот же Avast), хотя, опять таки в более продвинутых (с точки зрения IT) конторах, стоят сетевые версии антивирусов с централизованным управлением и обновлением антивирусных баз.

Приведенные выше ситуации варьируются от случая к случаю, так как на конфигурацию сети, железа и софта влияют как знания/умения/желания (и, что немаловажно, лень) системного администратора(ов), так и понимание начальства (в лице главного Босса) «чем же именно этот наш системный администратор занимается, когда все и так отлично работает» (из последнего вытекает - сколько денег выделяется на оборудование для IT и зарплату будущего специалиста). Если денег выделяется мало (а так обычно и бывает — управленцы торговых компаний от IT обычно далеки и слабо понимают, что же там происходит), то поднабравшийся знаний эникейщик уходит в другую компанию. На место ушедшего приходит очередной студент и все повторяется по новой.

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

В результате, в небольших компаниях часто наблюдается довольно разнообразный парк пользовательских машин класса от pentium2/128Mb ram/5Gb hdd до P4 Celeron/1Gb ram/80Gb hdd. На всех машинах, разумеется, Windows (98, 2000 и XP Home/Pro) и разные версии софта (ставили то машины в разное время). Доходит до того, что и антивирусное ПО на машинах тоже от разных производителей.

А на нелегкую долю системного администратора (и эникейщика по совместительству), выпадает денно и нощно поддерживает весь этот зоопарк. А ведь железо иногда ломается:

  • вентиляторы начинают противно жужжать (их надо чистить и смазывать или же менять на новые);
  • блоки питания выходят из строя;
  • винчестеры - сыпятся;
  • сетевые карты (как встроенные в материнскую плату, так и внешние - перестают работать и требуют замены);
  • остальное железо, обычно, летит сильно реже, но тем не менее летит тоже

При выходе из строя винчестера (или же материнской платы компьютера), операционную систему на восстановленной машине часто приходится переставлять с нуля в такой или очень похожей последовательности:

  • ставим Windows;
  • ставим необходимые драйвера (весь парк железа разный - не забыли?), предварительно определив модель материнской платы в данной машине и скачав из Интернет последние версии драйверов или найдя нужные у себя на файл-сервере;
  • вводим машину в домен (если он настроен);
  • ставим необходимый софт (офис, браузер, почтовый клиент, тотал-коммантеры, аськи, джабберы, пунто-свитчеры и подобное) - в случае домена Active Directory часть софта можно поставить автоматически, но не у всех он настроен, да и не все знают его возможности;
  • ставим антивирус;
  • плюс дополнительные танцы с бубном, индивидуальные для конкретной сети каждой организации вокруг новой рабочей станции;

После успешного выполнения всех пунктов (эта процедура занимает примерно два часа) рапортуем Боссу, что рабочее место сотрудника спасено и он может приступать к работе.

Счастливый обладатель восстановленного компьютера садится за свое рабочее место, после чего выясняется, что (так как доменные профили были не перемещаемые или же домена не было вовсе, ссылка «мои документы» вела на локальный диск C:, а про то, что все важное нужно сохранять на сетевом диске - на сервере, сотрудник забыл):

  • у меня тут была папка с важными документами - где она?
  • а еще я там фотографии из Турции сохранил, можно их восстановить?
  • на рабочем столе было много важных ярлыков и еще сотня документов - куда они пропали?
  • в избранном (это про закладки в браузере) моих любимых сайтов больше нет - где их теперь искать? и так далее…

Знакомо? Хорошо, если полетел не жесткий диск, а всего лишь материнская плата. Или же часть информации на осыпавшемся диске поддается восстановлению. Но все эти процедуры занимают рабочее время системного администратора, которое можно было бы потратить с куда большей пользой — поиграть в сетевую стрелялку или же… изучить IPv6 - ведь уже все на него переходят и совсем скоро перейдут, адреса в пространстве Ipv4 уже лет пять как закончились:)

В результате, поддержка IT инфраструктуры небольшой компании для системного администратора превращается, по большей части в поддержку работоспособности пользовательских рабочих станций, а именно:

  • переустановить Windows;
  • настроить на новой машине весь необходимый софт;
  • восстановить все то, что потерялось;
  • доустановить нуждающимся новые программы;
  • провести профилактику корпуса (пыль пропылесосить в системном блоке);

И в оставшееся время (если системный администратор не сильно ленив) надо пытаться изучить что-то новое, проапгрейдить софт на сервере (серверах) и ввести в строй новый сетевой сервис. Т.е. на основные обязанности (именно то, чем системный администратор и должен заниматься большую часть времени) времени то как раз и не остается.

Как же выйти из этого замкнутого круга?

Одним из вариантов решения вышеописанной проблемы, является отказ от «толстых» рабочих станций (там, где это можно сделать) и переход на .

Под «толстой» рабочей станцией понимается любой компьютер с установленной ОС, который и выполняет обработку большинства пользовательской информации. Т.е. браузер, офис и все остальное выполняется локально именно на рабочей станции пользователя, системный блок которой жужжит у него под столом или где то рядом.

Надо понимать, что требования современных ОС (не обязательно Windows) идут в ногу с современным железом - другими словами, для относительно комфортной работы в Windows XP старой (но полностью работоспособной и относительно мощной) машины класса Celeron 800Mgz/128Mb Ram/ 10Gb HDD может и не хватить. Работать под современной ОС на подобном железе, конечно, можно, но подтормаживать эта операционка и приложения будут довольно часто — хотя бы из-за малого количества набортной памяти и старого (читай — медленного) жесткого диска.

А тонкий клиент, если вкратце, можно определить как бездисковый компьютер, работа которого заключается лишь в подключении к удаленному серверу и отображении полученной с сервера информации на экране. Обычно такой сервер называется сервером терминалов или терминальным сервером. Вся же обработка пользовательской информации происходит именно на нем (одновременно к которому может быть подключено множество — хотя и не бесконечное количество — тонких клиентов).

Обычно тонкие клиенты делают на основе слабого (а, соответственно, и малопотребляющего) железа - часто это единая системная плата, на которой все и интегрировано. Процессор и память так же могут быть намертво припаяны к материнской плате. Некоторые тонкие клиенты имеют flash-диск (вставляемый в IDE разъем материнской платы), на котором прошита специализированная ОС (WinCE или другие).

Сравнение тонкого клиента Clientron U700 со стандартным корпусом для рабочей станции.

В результате, при включении тонкого клиента (их еще называют терминалами), ОС грузится со встроенного flash-диска (обычно на загрузку уходит менее 30 секунд), после чего на экране появляется диалог подключения к терминальному серверу. Некоторые из этих клиентов умеют подключаться только Windows Terminal Server или же Citrix Metaframe, другие - в том числе и к терминальным серверам других ОС. В любом случае, в цену таких решений закладывается и цена лицензии на WindowsCE, прошитую на встроенный flash-диск. Мы рассказывали о подобных решениях ранее:

  • Windows-терминал
  • Тонкий клиент
  • Windows-терминал

Разумеется, подобные решения существуют и у других компаний. В том числе и без встроенной ОС (за которую, в случае Microsoft Windows CE, нужно дополнительно платить, да и flash-диск копейки, но стоит).

Терминальные клиенты без встроенного flash-диска, при включении загружают нужный образ ОС по сети, после чего они тратят на загрузку те же пару десятков секунд. После чего готовы к работе, под чем подразумевается вывод на экран меню со списком терминальных серверов для подключения или же автоматическое подключение к одному из жестко заданных терминальных серверов (в зависимости от настроек) - пользователю останется ввести лишь логин и пароль. После правильного ввода оного, он попадает в свою сессию на сервере терминалов и может приступать к работе.

Несомненные плюсы терминальных решений на специализированных тонких клиентах или правильных самосборных компьютерах:

  • отсутствие жесткого диска (которые греются и ломаются);
  • отсутствие вентиляторов (на процессоре и блоке питания установлены лишь радиаторы, которых хватает для рассеивания выделяемого при работе тепла);
  • низкое энергопотребление;
  • теоретическая дешевизна (при самосборе можно подобрать очень дешевые комплектующие — ведь производительности от железа не требуется; а вот производители за специализированные тонкие клиенты попросят раза в два больше)
  • минимальные временные затраты на обслуживание (при поломке такой железяки, достаточно отключить поломавшуюся и подключить запасную — работы на пять минут; а это уже минимальный простой для рабочего места сотрудника, а так же минимум затраченного на устранение поломки времени системного администратора)
  • весь софт для работы пользователей настраивается централизовано на одном (двух/трех/…) терминальных серверах — это значительно проще, чем поддерживать зоопарк софта на «толстых» рабочих станциях сотрудников

Не стоит забывать и о пользовательских данных — локально терминал ничего не хранит (все данные пользователя находятся на удаленных серверах). В результате легко настроить автоматических бекап всего и вся и, в случае чего, восстановить «случайно удаленный» документ.

В общем, плюсов море, но есть и минусы:

  • при отказе сети, рабочие места сотрудников «превращаются в тыкву» (а сотрудники на «толстых» клиентах могут продолжать набивать документ, к примеру, в OpenOffice);
  • при отказе терминального сервера рабочие места сотрудников опять «превращаются в тыкву» (но это решается установкой нескольких - например, двух - терминальных серверов; при выходе одного из них из строя, второй его подменит или же сотрудники просто переподключатся ко второму серверу вручную)
  • тонкие клиенты подходят не всем: к примеру, людям, постоянно смотрящим видео или работающим активно работающих с графикой (в фотошопе) или занимающимся версткой журнала, лучше делать это на локальном «толстом» клиенте (зато тонкие клиенты отлично подходят большинству остальных сотрудников, которым нужен лишь браузер с Интернет, почта, создание и редактирование документов в Openoffice и работа с 1C).

Последний минус, который мы тут рассматривать не будем — это лицензионная политика (если не сказать обдираловка) со стороны Microsoft. Работа на терминальном сервере под управлением ОС этой известной компании требует большого количества разнообразных лицензий:

  • лицензия на Windows Server
  • CAL (Client Access License) — лицензии на подключение к Windows-серверу и их кол-во должно быть не меньше количества подключаемых к серверу клиентов (обычно в составе Windows-сервера уже идет некоторое кол-во таких лицензий — от пяти и выше)
  • лицензии на работу с сервером терминалов (их количество тоже должно быть равно количеству подключаемых клиентов)

Не забываем про отдельные лицензии на весь используемый софт (например на Microsoft Office) в количестве, равном количеству подключаемых к серверу клиентов. Если клиентские лицензии на Microsoft Office еще можно обойти, отказавшись от данного продукта и поставив ему замену в виде, к примеру, OpenOffice, то от самого терминального сервера в лице Windows 2000/2003 TS избавиться несколько сложнее:) Хотя и это возможно в некоторых случаях.

Есть, правда, еще один «минус» (кроме боязни нового) который часто останавливает от внедрения подобных решений - почему то многие думают, что эти тонкие клиенты надо покупать (а они не очень дешевые - от 200 долларов и выше). Куда же девать весь парк уже существующих компьютеров?

Именно для ответа на последний вопрос написана данная серия статей. В ней будет рассматриваться софт тонкого клиента .

Этот небольшой, но обладающий множеством возможностей и, что немаловажно, OpenSource софт, позволяет превратить практически любые древние компьютеры в тонкие клиенты. Минимальные описанные на его родном сайте к используемому железу - это Pentium 100Mhz и 16Mb оперативной памяти. Ах да, жесткий/flash диск тоже не нужен - компьютеры при включении могут скачивать образ тонкого клиента (это около двадцати! мегабайт) по сети (хотя так же возможна установка Thinstation клиента на жесткий или usb диск). В наш век операционных систем, с радостью сжирающих гигабайты места на диске после установки, это впечатляет, не так ли?

Thinstation базируется на Linux, но для его использования знаний Linux, как таковых не нужно - достаточно в своей сети поднять dhcp и tftp сервера и соответствующим образом их настроить (оба этих сервера есть и в составе продуктов Windows Server). Таким образом, даже в сети, где кроме Windows-а ничего не знают, использование Thinstation клиента затруднений не вызовет.

Thinstation умеет работать со следующими серверами терминалов:

  • Сервера Microsoft Windows по протоколу RDP или через nxclient (Windows NT4TSE, W2k Server, W2k3 Server или же Windows XP в однопользовательском режиме);
  • Citrix servers по протоколу ICA (на серверах MS Windows, SUN Solaris и IBM AIX);
  • Сервера Tarantella
  • *nix-like сервера по протоколу X11;
  • подключение к VNC-серверам (tightVNC);
  • подключение к SSH и Telnet серверам;

Для того, что бы загрузить Thinstation по сети, от компьютера требуется лишь встроенная или внешняя сетевая карта, поддерживающая стандарт PXE (есть и другие варианты, но, к примеру все встроенные в системную плату сетевые карты работают именно по этому протоколу).

PXE расшифровывается как Pre-boot eXecution Environment — среда предзагрузочного выполнения. Этот стандарт был впервые реализован компанией Intel. Первый признак наличия PXE-биоса на борту встроенной сетевой карты, это пункт «Enable Boot ROM» рядом с пунктом активации сетевой карты в биосе. Если встроенная сетевая карта не поддерживает загрузку по сети (или отсутствует вовсе), можно использовать любую внешнюю сетевую плату с опцией «Boot ROM» (этот вопрос в подробностях будет рассмотрен далее).

А сейчас вкратце рассмотрим процесс загрузки клиента Thinstation по сети.

  • Сетевая карта по протоколу PXE запрашивает DHCP сервер следующую информацию: IP адрес, маску подсети, шлюз а так же IP-адрес сервера TFTP (на котором лежат образы, в данном случае, ThinStation) и имя образа, которое она попытается загрузить.
  • DHCP сервер возвращает запрашиваемую информацию (помечая у себя, что выданный клиенту IP адрес — занят таким-то клиентом)
  • Клиент подключается к TFTP серверу, IP-адрес которого ему только что сообщили и скачивает с него файл загрузчика PXE (имя которого ему опять таки сообщил DHCP-сервер)
  • Скаченный PXE загрузчик исполняется и, в свою очередь скачивает с TFTP сервера конфигурационный файл, в котором прописаны имена файлов ядра ОС Linux — vmlinuz и образа файловой системы — initrd. Эти файлы скачиваются и управления передается ядру Linux
  • После распаковки и загрузки ядра Linux с подмонтированным образом файловой системы, Thinstation снова обращается к TFTP серверу для скачивания необходимых ему конфигурационных файлов (там, среди прочего, записаны адреса терминальных серверов, к которым нужно подключаться), после чего запускает нужный терминальный клиент (в нашем случае это будет rdesktop) и ожидает от пользователя ввода его логина с паролем для подключения.

На первый взгляд, описанная схема выглядит сложно. Но по факту настройка оной занимает полчаса-час и в дальнейшем она работает полностью автономно. Загрузка тонкого клиента с момента первого запроса в сеть по PXE (этот момент совпадает с моментом начала загрузки ОС с жесткого диска) занимает секунд 20…30.

Как уже отмечалось выше, Thinstation умеет работать с разными терминальными серверами. Но мы в ближайших статьях, как самое простое в реализации (но еще раз напоминаю о покупке множества клиентских лицензий, необходимых для официальной работы), рассмотрим лишь связку Thinstation с Microsoft Terminal Server.

Для начала нам надо иметь настроенный сервер терминалов от Microsoft. Этот сервер может работать как в составе домена (в этом случае удобнее управлять аккаутами пользователей - они общие — особенно если терминальных серверов в сети несколько), так и в вне домена - в одноранговой сети. Второй случай отличается от первого тем, что необходимых пользователей придется заводить на каждом сервере локально и синхронизировать актуальные списки пользователей и их прав - вручную.

Вторым пунктом нашей программы будет настройка DHCP и TFTP серверов. Первый ведает динамической раздачей IP адресов для рабочих станций, а так же сообщает, с какого IP адреса (с какого сервера tftp) и какое имя файла компьютеру нужно скачать в качестве загрузочного образа тонкого клиента. А второй — tftp сервер — фактически и отдает образы тонкого клиента и конфигурационные файлы для них же. Эти настройки могут быть как глобальными (для всех бездисковых терминалов сети), так и локальные — для определенных групп машин или же одиночных тонких клиентов.

Оба эти сервиса можно поднять как в составе Windows сервера (запуском и настройкой соответствующих служб), так и отдельными демонами в составе *nix-сервера — мы это рассмотрим на примере сервера с установленным Gentoo Linux.

А третьим пунктом идет настройка клиентских машин — перевод их на загрузку по сети и рассмотрение стандартных подводных камней.

Но об этом — в следующих статьях нашего цикла.

Тонкий клиент (англ. thin client) в компьютерных технологиях - бездисковый компьютер-клиент в сетях с клиент-серверной или терминальной архитектурой, который переносит все или большую часть задач по обработке информации на сервер (Wikipedia).

Если проще, то тонкий клиент – это недокомьютер, который загружает легкую операционную систему (обычно используется Linux, в обзоре возьмем это за априори) и соединяется с терминальным сервером.

Обычно тонкие клиенты создаются для экономии на железе и ПО, в редких случаях по иным соображениям.

В этой статье я постараюсь сделать краткий обзор WTWare , являющегося Linux дистрибьютивом, разработанным специально для создания тонких клиентов.

Сначала о тонком клиенте.

Тонкий клиент представляет собой системный блок, у которого обычно нет жесткого диска, и присутствует только минимальный набор железа, нужный для запуска операционной системы тонного клиента (далее просто тонкого клиента). К системному блоку подключены питание, мышь, клавиатура, монитор, сетевой кабель. Кроме стандартного набора к тонкому клиенту могут быть подключены другие устройства, при условии, что он сможет их распознать и передать терминальному серверу.
Схема сети с тонкими клиентами выглядит примерно так:

Как это работает:

  1. На компьютере с одного из источников загружается тонкий клиент. Основные варианты источников загрузки – LAN, CD, HDD.
  2. В процессе загрузки тонкого клиента (или до нее при варианте с LAN) сетевой карте компьютера выдается IP адрес.
  3. По окончании загрузки тонкий клиент через rdesktop поднимает терминальную сессию с указанным в настройках терминальным сервером.
Зачем это работает:
  1. Существенно снижаются затраты на «железо». Предприятие может купить за копейки старый хлам, и все что нужно для его работы – терминальный сервер с достаточным количеством ресурсов и настроенные тонкие клиенты.
  2. Снижаются затраты на программное обеспечение – не нужно покупать ПО на десктопы, достаточно только лицензировать терминальный сервер (но нужно покупать терминальные лицензии).
  3. Снижаются затраты на администрирование. Администрировать нужно лишь терминальный сервер. Как показала практика, тонкие клиенты практически не убиваемы (если не прилагать целенаправленные усилия), и практически не дают сбоев. Но нужно понимать, что при смене сисадмина он должен разобраться во всем этом деле, например сэмулировав работу тонких клиентов на виртуальных машинах, ведь любой сбой приведет к общему краху.
Типы загрузок:
  1. Загрузка по сети. Работает следующим образом: в локальной сети должны быть подняты DHCP и TFTP серверы. В компьютере должна быть либо сетевая карта с BootROM, либо драйвера для сетевой карты, эмулирующие BootROM. Сетевая карта ищет в сети DHCP сервер, получает все необходимые сетевые настройки + адрес TFTP сервера. Далее происходит обращение к TFTP серверу и загрузка операционной системы.
  2. Загрузка с CD/DVD/Flash/IDE - тут стандартно, как и любая другая операционная система.
Что такое WTWare?

WTWare - дистрибутив GNU/Linux, разработанный специально для создания тонких клиентов. За основу взят популярный клиент под названием Thinstation. Основное различие – ориентированность на русских пользователей (в самом Thinstation есть проблемы с кириллицей), плюс всякие мелкие фиксы.

Настройка WTWare.

Я не буду рассказывать про настройку DHCP и TFTP серверов, там все вполне стандартно. Напомню только, что в DHCP сервере нужно указать адрес TFTP сервера, а в TFTP сервере путь до файла загрузки и имя этого самого файла.

Так же я не буду углубляться в тонкую настройку WTWare, т.к. информация на официальном сайте WTWare вполне доступная, ее много и вся она на русском языке. Укажу лишь на основные аспекты.

Итак. В первую очередь качаем образ Thinstation с сайта WTWare. Распаковываем.
Загрузочный файл называется pxelinux.0 при загрузке по протоколу PXE (если BootROM встроен в вашу сетевую или материнскую плату) или wtshell.nbi для загрузчика Etherboot (при использовании эмулятора BootROM).

К слову говоря, Etherboot - оpensource проект, который выпускает прошивки практически для всех существующих сетевых карт. Прошивка Etherboot может быть записана в микросхему BootROM или flash-память сетевой карты, может быть запущена с дискеты или жесткого диска как загрузочный сектор или как программа из DOS.

Далее если вы загружаетесь через LAN и у вас правильно настроены DHCP и TFTP сервера – все должно заработать «как есть». Единственное – не будет найден терминальный сервер, ведь вы еще не конфигурировали ваши тонкие клиенты.

Если вы загружаетесь иным способом, то стоит прочитать , выбрав интересующий вас способ загрузки.

Конфигурирование.

Опять таки я не буду углубляться в дебри конфигурационных файлов, потому как там сотни параметров. можно увидеть их полный список. Я расскажу лишь об основных.

WTWare имеет следующие типа конфигурационных файлов:

  1. all.wtc – общесистемный конфигурационный файл.
  2. list.wtc – подключаемые конфигурационные файлы согласно списка.
  3. Индивидуальные конфигурационные файлы.
Индивидуальные конфигурационные файлы могут быть следующих видов:
  1. Имя_терминала.wtc. Имя терминала, соотвественно, выдается DHCP сервером.
  2. ма.ка.др.ес.те.рм.wtc. Привязка идет по мак адресу подключаемового терминала.
Конфигурационные файлы имеют следующие приоритеты:
  1. all.wtc
  2. Файлы, указанные в list.wtc
  3. Файлы, подключенные через include
  4. Индивидуальный конфиг
Конфигурационные переменные общесистемного файла:
win2kIP = 10.100.50.1 // адрес терминального сервера 1.
win2kIP2 = 10.100.50.2 // адрес терминального сервера 2.
video = VESA(S) // универсальный драйвер, работает почти на всех видеокартах
mouse_wheel = on // включить колесо мыши
resolution = 1024x768 // разрешение экрана
bpp = 32 // Глубина цвета

Конфигурационные переменные индивидуальных файлов:
user = username // имя пользователя
password = user_password // пароль пользователя
domain = enterprise_domain // домен предприятия

Если в индивидуальный файл записать переменную, которая присутствует в общем файле - она получит более высокий приоритет.

Так же в индивидуальные файлы прописываются дополнительно подключенные устройства, такие как принтеры, сканера и т.п.

И в конце хотел упомянуть об еще одной интересной возможности – подключение локальных ресурсов (Floppy, DVD, Flash, HDD, Sound). В конфиге выглядит примерно так:
floppy = on
cdrom = on
usb1 = on
sound = on
Диск будет доступен в сессии текущего пользователя из Проводника Windows по адресу: \\tsclient\{floppy|cdrom|usbN}.

Недостатки:

  1. Могут возникнуть проблемы с подключением оборудования, если драйвера на него в системе отсутствуют. Знаю, что через некие костыли можно разобрать образ, припихнуть туда драйвера, собрать образ обратно. Сам не пробовал.
  2. Если у карточки нет BootROM, могут возникнуть проблемы с подбором Etherboot прошивки (есть не для всех карт).
Лицензирование:

Стоит заметить, что сама система бесплатна, но можно приобрести лицензию с очень интересной целью – что бы убрать логотип WTWare из загрузочной заставки. Как я понимаю, это сделано для предприятий, массово внедряющих данный продукт под эгидой аутсорсинга.

Оборудование для создания тонких клиентов:

На сайте WTWare так же можно приобрести оборудование для создания тонких клиентов (дабы не собирать их из хлама). Надо сказать, что оно (оборудование) отвечает всем требованиям гламура. Несколько скринов:

Ну, вот, пожалуй, и все. При правильной настройке терминального, DHCP и TFTP сервера все должно заработать слету. В интернете очень много русскоязычной литературы, поэтому проблем с настройкой быть не должно. Да и вообще в плане документации система мне очень понравилась, на сайте производителя есть почти все.

P.S. Самолично ставил данный продукт на два предприятия, на одном 34 ПК, на втором 16 ПК.
P.P.S. Следует понимать, что данный продукт не является альтернативой тому же Linux, и возможно, имя на каждом ПК по установленной ОС, общая картина будет гораздо приятнее. Возможно и нет. Это именно тонкий клиент, и ничего иного.