Программы

Тонкие клиенты как техническое средство. Как это работает и какие типы загрузок есть? Система «тонкий клиент»: требования

Тонкие клиенты как техническое средство. Как это работает и какие типы загрузок есть? Система «тонкий клиент»: требования

Обычно, когда говорят об особенностях сделанной программы, понимают язык, на котором она была составлена. Или системные требования, необходимые для запуска. Но есть ещё и ряд других, менее известных определений. Одно из них - это тонкие клиенты. Что это такое и зачем разрабатываются?

Что такое тонкий клиент?

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

Зачем они необходимы?

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

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

Различие между тонким и толстым клиентом

Что принимают в расчет, когда различают толстый и тонкий клиент? Отличия между ними такие: под первым понимают обычный вид программ, которые могут автономно работать на отдельном терминале. Им не требуется для качественного исполнения своей работы. Что собой представляет второй, вы уже знаете. И в этом заключается главная и одновременно единственная разница, которую имеют толстый и тонкий клиент. Отличия можно ещё привести в особенностях реализации, но они все умещаются в ранее сформулированное суждение.

Как это работает и какие типы загрузок есть?

Как, собственно, работает данная технология? В целом всю информацию можно уместить в трех пунктах:

  1. На компьютер, через один из возможных источников загружается тонкий клиент. В качестве основных вариантов рассматриваются: LAN, CD, HDD.
  2. В процессе загрузки тонкого клиента (или при работе с локальной сетью до нее) сетевая карта компьютера получает свой собственный IP-адрес.
  3. Когда заканчивается подкачка всего необходимого программного обеспечения, то через рабочий стол создаётся подключение к терминальной сессии с сервером, который указан в настройках. Доступ может быть уже дан или потребуется пароль и логин. Подключение тонкого клиента из-за локальной сети предприятия должно быть разрешено в настройках сервера.

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

  1. Загрузка при помощи сети. В локальной сети должны работать TFTP- и DHCP-серверы. В самом компьютере должна быть которая имеет свойство BootROM, или специальные драйвера, которые её эмулируют. Она проверяет наличие всех указателей, получает настройки и загружает операционную систему.
  2. Загрузка заранее установленной системы с DVD\CD\Flash\IDE.

Веб-клиент

Технология «тонкий клиент» значительно популярней, чем может показаться на первый взгляд. Хотите пример, указывающий на то, что вы его прямо сейчас используете? Что ж, предполагаем, что особую роль стоит уделить самым распространенным на данный момент тонким клиентам - браузерам. Они являются прекрасными примерами работы по таким принципам. Сам по себе браузер мало на что пригоден. Но возможности, которые он открывает перед компьютером, имеющим подключение к мировой сети, огромны! Машина может иметь весьма скудный ресурс программного обеспечения, но, получая необходимые данные от удалённых серверов, можно рассчитывать на создание высококачественного и многоцелевого объекта. Всё что необходимо пользователю компьютера - это сформулировать свой запрос, после чего нужная информация будет получена из внешних источников.

Работа в терминальном режиме

Кроме описанных выше случаев, следует выделить ещё одну аппаратную особенность возможного тонкого клиента - специальное устройство, которое конструктивно отличается от персонального компьютера. Подобный механизм не оборудован жестким диском и использует специальную локальную операционную систему (в задачи которой входит организация сессии с терминальным сервером, чтобы пользователь смог работать). Также подобный аппарат не имеет в себе специальных подвижных деталей, выпускается он в специальных корпусах и имеет полностью пассивное охлаждение. Давайте рассмотрим на примере реальной программы, где реализован тонкий клиент? Что это такое? 1С - это программа, которая будет рассматриваться. Так, в ней всё базируется на работе двух частей: одна - это собственно платформа, необходимая для работы. Вторая - это расширение, которое выполняет отдельные цели. Но работать без платформы оно не сможет.

Протоколы, которые используют тонкие клиенты

Можно выделить 9 самых популярных типов протоколов, которые используются при разработке данного программного обеспечения. Их список таков:

  1. Х11 - нашел применение в Unix-системах.
  2. Telnet - мультиплатформенный протокол. Является двунаправленным восьмибитным байт-ориентированным средством связи.
  3. SSH - мультиплатформенный аналог Telnet. Главным отличием является защищенность передаваемых данных.
  4. NX NoMachine - доработанный протокол Х11. Главным преимуществом является сжатие данных.
  5. Virtual Network Computing - платформонезависимая система. Использует простой клиент-серверный протокол прикладного уровня, чтобы получать доступ к необходимым компьютерам, которые подключены к данной программе.
  6. Independent Computing Architecture - довольно несовершенный способ передачи данных. Данный протокол значительным образом отображается на производительности и требованиям к системам, на которых он работает.
  7. Remote Desktop Protocol - обслуживает возможности удаленного доступа к рабочему столу. Может передавать широкий спектр данных, а также открывает широкие возможности использования удалённых машин.
  8. SPICE - протокол для передачи данных, который может быть использован с комфортом не только в локальной сети, но и через интернет. Его особенностью является «программная легкость», которая позволяет быстро обмениваться данными. Такое возможно благодаря простоте процессов передачи данных (которые осуществляются не в ущерб производительности). Также он может работать на широком спектре машинных архитектур.
  9. Различные закрытые протоколы, которые были разработаны программистами различных фирм и предприятий. Используются только, как правило, на территории предприятия, для которого делались. Имеют ряд уникальных параметров, в том числе: реализация, системные требования, архитектура. Тонкий клиент в данном случае полностью разрабатывается под отдельные предприятия и протоколы, действующие на их территории.

Примеры реализации

В качестве примера реализации тонкого клиента можно привести такие разработки, как:

  1. Терминальный доступ.
  2. Бездисковая станция.
  3. LTSP.
  4. Thinstation.

Использование тонких клиентов позволяет в таких случаях ускорить обновление всего необходимого для работы программного обеспечения.

Тонкий клиент (англ. 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, и возможно, имя на каждом ПК по установленной ОС, общая картина будет гораздо приятнее. Возможно и нет. Это именно тонкий клиент, и ничего иного.

Сегодня терминальный доступ к серверу с виртуальным рабочим местом во многих случаях практичнее, чем мощный компьютер с ШПД 100 Мбит/с, так как, например, с работы домой (или в командировку) его не повезешь. И все при том, что производительность будет та же.

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

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

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

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

Что можно использовать в личных целях

У Citrix, к примеру, есть демоверсия виртуального рабочего стола, и надо сказать, что она работает на смартфоне без задержек при достаточно медленном Wi-Fi на скорости всего 500 Кбит/с. Единственное неудобство - это отсутствие мыши. Про работу с ПК или ноутбука тут, понятное дело, и говорить нечего. Правда, это конечно демо-версия и в ней просто мало, что можно делать. К примеру, нельзя выйти в интернет.

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

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


Компьютер, с которого мы подключились


А это на компьютере, к которому подключились

Текстовые редакторы и браузер работают как надо. А вот с видео начинаются проблемы. Картинка получается намного хуже качеством, чем в оригинале.

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

Для бизнеса

Теперь поговорим именно об уходе от высокопроизводительных пользовательских устройств, за счет перехода на облачные вычисления либо просто на физические серверы. Все это на примере Citrix. Собственно идея статьи возникла после их конференции и разговора с представителем компании Сергеем Халяпиным. Скажу, что есть и другие решения для виртуализации и терминального доступа, например VMware View, Microsoft VDI, Quest vWorkspace, но здесь речь пойдет о Citrix.


Трафик

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

Традиционно у клиентов Citrix изображение на экране меняется не так сильно. Например, Citrix используют для работы в 1С. Выглядит это обычно так: мы заполнили в таблице одну строчку, поэтому во всем экране изменился только небольшой участок с символами. Следовательно, передавать нужно только вот этот небольшой кусочек информации.

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

В базовом варианте, если мы используем экраны 1280 на 1024, для нормальной работы с офисными приложениями достаточно будет в районе 50-60 кбит/с на одного пользователя.

Но если мы смотрим видео, то там речь уже пойдет про 700-800 Кбит/с. А если мы начинаем смотреть Full HD видео, то это 1,5 - 2 Мбит/с на одного пользователя (потому что большое количество точек и много изменений на экране). Но самые высокие требования к полосе пропускания у приложений для работы с 3d графикой. В случаях, когда идет работа с большим чертежом, сборкой из многих элементов, когда мы его в большом пространстве крутим и у нас несколько мониторов с большим разрешением, то здесь совершенно спокойно может понадобиться полоса 3, 5 и 10 Мбит/с на одного пользователя.

Существуют , когда для удаленного доступа нужно не меньше 1 Гбита/с на одного пользователя. К примеру, такой объем трафика понадобился для той же 3D-модели. Она считалась на сервере и была примерно 3х3 метра.

При использовании решения Citrix XenDesktop с технологией HDX 3D Pro, используя карты NVdia, удалось снизить объём передаваемого трафика с рабочего места, осуществляющего визуализацию. Удалённому пользователю передаются только изменения состояния, а также используются эффективные технологии сжатия. Как результат - требуется около 10 Мбит/сек для комфортной удалённой работы пользователя с этим графическим приложением.

Так как полоса пропускания ограничена, существуют решения по оптимизации трафика. У Citrix оно называется Cloud Brige. И даже если клиенту доступна полоса пропускания менее 50-60 кбит/с на человека, с применением Cloud Brige можно сократить эту цифру до 20-30 кбит/с. Причем есть примеры, когда потребности в трафике после оптимизации уменьшались в сто раз: с 1 Гбит/с на человека до 10 Мбит/с.


Есть, правда, у терминального доступа еще одно слабое место, правда, оно уже не зависит ни от поставщика услуги, ни от заказчика, ни от центра обработки данных, который они используют. Это время задержки и потеря пакетов. Сергей Халяпин из Citrix рассказал, что на его памяти самый худший показатель, при котором работать на удаленном сервере все-таки получалось, это задержка 3000ms и 50-60% потерь пакетов. Но это было где-то в Северной Африке

"Я не могу сказать, что работать было комфортно, но работать можно было, то есть можно было набрать какой-то документ, отправить письмо, но это требовало больших волевых усилий. Начинаешь набирать и смотришь, как эти буковки начинают там появляться. Если ты вдруг где-то ошибся, нужно отсчитать сколько символов тебе нужно вернуть, удалить какой символ исправить, и соответственно нажать правильный символ", - рассказал нам Халяпин.

В принципе же решения с тяжелой 3D-графикой позволяют работать с задержкой 200-250 ms. Такое бывает на межконтинетальных линках, например, Россия-США, Япония-Северная Европа. А то, что есть в наших городских сетях, то есть средняя задержка 50-60 ms, это на качестве работы не отражается.

Инфраструктура

Теперь поговорим о ЦОД, на которые ложится вся нагрузка по обработки информации.

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

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

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

Так же нужно учитывать, будут ли пользователи мигрировать с одного сервера в ЦОД на другой. Когда пользователь работает на одном сервере достаточно локального диска для того чтобы хранить его профиль, а если на нескольких, то нужно уже единое хранилище для профилей пользователей.

По ГОСТам

Есть в России такая область, которой решения с терминальным доступом нужны, но с оговорками. Это госсектор, требующий шифрования по ГОСТам. У зарубежных компаний, занимающихся терминальным доступом, даже доступа к этим алгоритмам шифрования нет.

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

Сергей Халяпин рассказал об одном из примеров такого сотрудничества:

Мы сейчас работаем с заказчиком, которому обязательно нужно обеспечить ГОСТовые алгоритмы шифрования. Мы сейчас будем делать совместное тестирование такой системы, когда управление устройством и российское шифрование от российского вендора, а Citrix предоставляет свои технологии для загрузки контейнера и политик, привязанных к этим контейнерам на мобильные устройства. Разработчик этого российского решения сейчас ведет переговоры с Huawei, Samsung и Yota для того чтобы встроить свой код в сам загрузчик устройства и контролировать процесс загрузки. Пока мы в процессе тестирования я не могу назвать, кто это и каких результатов достигли.

Выводы

Уже сейчас существуют технологии, позволяющие работать через удаленный сервер с таким комфортом, что человек не посвященный может подумать, что это у него компьютер так хорош. Видео доступны, 3D-приложения доступны. Единственная проблема, что это все есть только у корпоративных клиентов. Простому же пользователю доступны пока только самые примитивные решения, с которыми тоже видео будет проблематично посмотреть.

А виртуальный desktop им никто и не предлагает. Есть разве что отдельные услуги в облаке, вроде хранения фото и текстовых документов, и надо заметить, что это услуга достаточно популярная. Так как памяти вечно не хватает, особенно на мобильных устройствах. По сути Яндекс Диск - это способ сэкономить на карте памяти.

И вот тут по поводу, так сказать, хомячков, возникает одна мысль (быть может, провидческая). Раз облачное хранение данных стало удобным способом сэкономить на памяти, почему бы облачным вычислениям не стать способом сэкономить на производительности? Кое-какие приложения, с которыми работают через браузер, уже имеются. Так почему бы не появиться целым хомячковым рабочим столам в облаке?

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

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

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

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

Примечания

. Там у пользователя, работавшего с приложением, было 2 монитора с огромным разрешением (WQXGA 2560 x 1600 (16:10) 4,09 Мпикс). Каждая точка из 4 миллионов должна иметь информацию о цветности. Сейчас это 32 бита.

Тогда в статическом режиме 2 (монитора) * 32 (бита - информация о цветности) * 3200 * 2048 = 250 Мбит.

Таким образом, получалось, что для показа картинки хотя бы с частотой 30 кадров в секунду нам нужна была полоса пропускания 7 500 Мбит/с. А специфика ПО заказчика была такова, что сервер, который просчитывает необходимую картинку, стоял отдельно от рабочего места где эта картинка выводилась. Учитывая этот факт и то, что ПО и карта обмениваются подготовленной информацией, общая полоса пропускания, которую нужно было предоставить для нормальной работы, составляла 1 Гбит/сек.

Терминалы - не новое, хотя и подзабытое изобретение. Теперь они обретают второе дыхание под названием "тонкие клиенты". Чтобы разобраться, что это такое и чем отличается от обычного ПК, мы взяли тонкий клиент на тестирование.

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

Немного истории

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

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

Однако с распространением локальных сетей, идея использования терминалов вместо полноценных компьютеров обрела второе дыхание. Идея заменить дорогостоящие персоналки простенькими клиентами, умеющими только подключаться к сети и выводить на экран картинку, показалась весьма привлекательной для многих компаний. Идея графического терминала лежит в основе системы X Window, используемой во всех Unix-подобных системах, да и в веб-приложениях, по большому счёту, можно заметить некоторые черты той же концепции.

Лет десять назад много шума наделала концепция сетевых компьютеров, предложенная компанией Sun Microsystems. Предполагалось, что сетевые компьютеры станут подключаться к сети и исполнять загруженные с сервера приложения на языке Java. Однако из идеи сетевого компьютера так ничего и не вышло. Разработка коммерческих решений затянулась, а снижение цен на обычные ПК привело к тому, что "дешевые" сетевые компьютеры оказались едва ли не дороже полноценных офисных машин.

Несмотря на провал затеи Sun, концепция бездискового терминала уцелела. Именно на ней основаны большинство современных тонких клиентов, хотя Java в них никто не использует.

Другим вариантом тонкого клиента может являться обычный персональный компьютер, мощности которого не хватает для работы с современными приложениями. Если установить на такой ПК соответствующее программное обеспечение, можно превратить его в терминал для работы с сервером, выполняющим все приложения. С подобной системой я когда-то сталкивался на школьных уроках информатики, где устаревшие компьютеры на процессорах 386SX использовались для работы с Windows-приложениями, запускаемыми на сервере. На 20-мегабайтных винчестерах рабочих станций находилась лишь урезанная до предела Windows 3.11 для рабочих групп, при помощи которой и осуществлялся доступ к приложениям на сервере. Специалисты, впрочем, не рекомендуют использовать старые ПК в качестве терминалов ввиду их низкой надежности, трудностей с техническим обслуживанием и понижением уровня безопасности хранимых данных. Но вернемся из недавнего прошлого в наш 2004 год.

Осмотр на месте

Итак, что же представляет собой современный тонкий клиент? Терминал AK-Systems GP прибыл в офис "Компьютерры-Онлайн" в небольшой белой картонной коробке. В ней обнаружилось само устройство величиной с толстую книгу, шнур питания, две ножки-подставки и USB-ключ eToken, (разговор о последнем будет особый).

На передней панели терминала располагаются кнопка включения, два разъема USB и разъемы PS/2 для мыши и клавиатуры. Имеется в передней панели и щель для смарт-карт, но в доставшейся нам модели считывающего устройства для них нет. Задняя панель очень похожа на панель с разъемами у обычного компьютера: на ней находятся два последовательных и один параллельный порт, разъем для подключения к локальной сети, VGA-выход, а также вход для микрофона и выход для наушников.

Внутри устройства скрывается системная плата формата microITX, который часто применяется в компьютерах с компактными корпусами. В качестве центрального процессора используется чип VIA C3 с частотой 533 или 733 МГц. Объем оперативной памяти составляет 128 Мб. Встроенное программное обеспечение записано во флэш-ПЗУ объемом 16 или 32 Мб (в зависимости от модификации). Встроенной памяти для хранения пользовательской информации в терминале не предусмотрено, хотя тонкий клиент имеет возможность работы с USB-накопителями (впрочем, их использование в случае необходимости администратор может и запретить). К тонкому клиенту могут подключаться внешние устройства: принтер, модем, считыватель смарт-карт и другие. Программной основой тонкого клиента является разработанная в компании AK-Systems прошивка, базирующаяся на ядре Windows CE .Net 4.1. Комплект встроенного ПО включает браузер Internet Explorer c поддержкой ActiveX для Windows CE, поддержку мультимедийных форматов MP3, MPEG-4 и Windows Media.

Подключение к серверу и работа

Подключение тонкого клиента к серверу может осуществляться через локальную сеть, с помощью модема, а также через интернет. В любом случае необходимо указать адрес сервера и выбрать протокол терминальной службы. Это может быть либо встроенный в серверные версии Windows протокол Remote Desktop (RDP - протокол удаленного рабочего стола), либо разработанный компанией Citrix протокол ICA. В первом случае на сервере должна быть установлена ОС Windows 2000 Server или Windows Server 2003 с включенной службой терминального доступа. Возможно также использование ОС Windows NT 4 Terminal Server Edition. При использовании протокола ICA на сервере должны быть установлены пакеты Citrix MetaFrame 1.8/XP, Citrix NFuse или Citrix Winframe. Вообще говоря, ПО от Citrix, несмотря на сравнительно высокую цену, имеет более богатые возможности настройки, чем встроенная в Windows терминальная служба.

В ходе тестирования мы проверили работу терминала с сервером, расположенным в нашей локальной сети, а также работу через интернет с сервером, расположенным в компании AK-Systems . В обоих случаях использовался протокол RDP и близкие по конфигурации серверы с ОС Windows Server 2003. Нужно сразу отметить, что работа с сервером в терминальном режиме мало чем отличается от обычной работы в среде Windows. Пользователь в этом случае видит перед собой самый обычный рабочий стол и может работать со знакомыми приложениями. Однако, когда вместо автономного компьютера используется тонкий клиент, системному администратору проще управлять правами пользователей. Настройка в этом случае ведётся централизованно, и возиться с каждым пользовательским компьютером по отдельности не придется - достаточно один раз сделать необходимые настройки на сервере.

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

Ключ-ключ-ключ

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

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

В AK-Systems особо отмечают, что разработанная в компании система аутентификации позволяет работать не только с терминальными службами на базе Windows, но и с решениями на основе ПО от Citrix. Все тонкие клиенты AK-Systems работают с ключами и смарт-картами eToken PRO компании Aladdin Knowledge Systems. Эти ключи поддерживают уже свыше 250 различных программных пакетов, а AK-Systems стала первой компанией, обеспечившей работу с ними на тонких клиентах под управлением Windows CE.

Выводы

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

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

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

  • Спецификации устройства AK-Systems GP можно найти .

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

Нижеследующий текст автора не претендует на истину в последней инстанции и по нему не стоит судить о среднестатистическом уровне 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.

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

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