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

24 ноября 2009 в 01:21

Тонкий клиент – что это и с чем его едят (на примере WTWare)

  • Системное администрирование

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

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

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

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

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

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

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

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

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

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

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

  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.

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

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

Что такое тонкий клиент по своей сути?

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

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

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

Схема «сервер - тонкий клиент»: как это работает?

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

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

Загрузка операционных систем

Но как же операционная система может загружаться на компьютер без жесткого диска? Элементарно! Современные соединений могут использовать протоколы вроде RIS, DHCP, PXE, RDP и другие.

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

Система «тонкий клиент»: требования

Если речь идет именно о компьютерных терминалах, для работы тонкого клиента любого типа обычно достаточно самого простенького процессора и всего-то 1 Мб оперативной памяти.

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

Пример установки и настройки приложений 1С

Однако посмотрим, что собой представляет установка тонкого клиента на примере программных продуктов 1С.

Требование тут самое простое: серверная часть находится на центральном терминале, клиенты - на остальных машинах в локальной сети. Только в данном случае использование подключения через обычно применяется на уровне TCP/IP, HTTP или HTTPS, а на терминалах устанавливаются жесткие диски минимального объема для инсталляции клиентской части программы.

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

  • загрузка и инсталляция клиентов 8.2 и 8.3;
  • публикация базы данных на сервере;
  • добавление базы в список доступных;
  • установка подключения типа «веб-сервер».

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

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

Подключение и лицензии

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

Выгоды и преимущества

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

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

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

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

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

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

Теперь технические нюансы. Для того, чтобы тонкий клиент начал функционировать, используются специальные программы, которые производят первоначальную загрузку и подключение к серверу терминалов. Большинство таких программ — бесплатные. Из моего опыта могу порекомендовать решение от ООО «ИТ Консультант», просто, адаптировано и есть форум поддержки. Легко настраивается и управляется.

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

Устанавливаем на сервере, через установку компонентов windows Remote Installation Service , при этом конфигурирование оставляем на потом. Дальше редактируем реестр, нужный нам путь — HKLM\System\CurrentControlSet\Services\Tftpd\Parameters\Directory , тип ключа REG_SZ , значение «C:\ tftpboot «. Это наша папка с загрузкой тонкого клиента. После этого открываем службы, находим Trivial FTP Daemon , ставим тип запуска АВТО и запускаем службу.

Настройки DHCP совсем простые.

003 Router 192.168.1.2
006 DNS Servers 192.168.1.1, 192.168.5.1
066 Boot Server Host Name 192.168.1.5
067 Bootfile Name pxelinux.0

Используются 4 пункта, думаю, что нет смысла пояснять, что есть что. Адреса серверов указываете свои.

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

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

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

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