Ключевые слова: Х-терминал, linux, LTSP, Linux Terminal Server Project, терминальный linux-сервер, бездисковая станция, ПК без жесткого диска, использование старых компьютеров, diskless workstation, thin client, asplinux, использование Linux в офисе, X-terminal
Как наверное всегда, с одной стороны, администрирование терминальной инфраструктуры проще, а с другой – сложнее.
Начнем обзор сложности администрирования бездисковых рабочих станций. Как уже было сказано выше, сам терминал в обслуживании практически не нуждается, так как никакой полезной информации в нем нет, а следовательно, ломаться там просто нечему. Для внесения изменений в параметры работы бездискового терминала используется программное обеспечение сервера. Главная сложность при этом состоит в том, что сервер нельзя выключать и перегружать, так как это может отразиться на работе других пользователей: их терминалы просто выключатся. Эта ключевая, на мой взгляд особенность, заставляет системных администраторов по другому осуществлять свою деятельность. Например, обычно системный администратор начинает вносить изменения в систему когда что-то перестает работать. В среде терминалов ему нужно заранее планировать все свои мероприятия так, чтобы внесения изменений не затронули работающих пользователей. Один из вариантов решения данной проблемы - перенос рабочего дня администратора на выходной день и применение средств автоматического реконфигурирования в нерабочее время (например, выполнение задач crontab).
Второй сложностью, которая подстерегает системного администратора в терминальной среде, это одновременная работа большого числа пользователей на одном компьютере. При неправильной настройке операционной системы и прикладного программного обеспечения может сложиться ситуация, когда один процесс будет потреблять все свободные ресурсы терминал-сервера и превратит работу остальных пользователей в настоящий ужас. В руках системного администратора должны быть инструменты, которые своевременно отлавливают такие программы и либо понижают их приоритет, либо вообще прекращают их работу.
Время от времени в программных продуктах находятся ошибки, которые приводят к аварийному завершению программных процессов. Операционная система не всегда в состоянии определить причину таких ошибок, и иногда “повисшие” в памяти процессы продолжают жить еще долгое время, потребляя ресурсы центрального процессора и оперативную память компьютера. Следовательно, системные администраторы серверов должны своевременно выявлять такие программы и освобождать используемые ими ресурсы. Хорошо было бы настроить эту работу по сборке “мусора” полностью в автоматическом режиме без человеческого вмешательства. Но иногда вам все же придется в ручную проверять результаты работы такой системы, хотя бы из соображений контроля.
Также не следует забывать и о удаленных пользователях терминалов. Установка программного обеспечения должна всегда быть функциональной обязанностью и быть под контролем только системного администратора. Если разрешить пользователям самим устанавливать нужные им программы, то можно с уверенностью утверждать, что через некоторое время терминальная система превратиться в хаос. В традиционных локальных сетях такой большой опасности от действий рядового пользователя нет, так как при соблюдении жестких мер системной безопасности, максимум, что он может сделать – это навредить самому себе, поломав компьютер на своем рабочем месте (хотя, если он будет запускать программы содержащие вирусы, достанется всей локальной сети). При терминальном способе подключения компьютеров от устанавливаемых в системе программ зависит стабильность работы всех пользователей, поэтому делегировать полномочия по установке программных продуктов не рекомендуется ни в коем случае.
Все терминальные решения без исключений используют локальную сеть в качестве транспортного уровня, и без ее надежной работы отказываются функционировать. Такая зависимость от постоянного подключения к локальной сети создает целый ряд дополнительных проблем в жизни рядового сисадмина. Так, в моей практике был случай, когда пользователь компьютера вытащил из гнезда сетевой карты сетевой кабель (RJ-45) и пытался засунуть туда телефонный провод (RJ-12), и самое удивительное, что у него это получилось! Обнаружил я это лишь после того, как этот же пользователь озадачил меня вопросом: “Почему я на сетевом принтере напечатать ничего не могу?”. Если бы он работал на терминале, то извлечение сетевого кабеля привело бы к немедленной остановке его работы, так как связь с сервером была бы потеряна. Вспомните также о любимой привычке пользователей и их непосредственных руководителей постоянно менять расположение компьютеров, мебели, и даже рабочих кабинетов. А ведь первым условием расположения терминала – является наличие в этом месте именно подключения к локальной сети, соединяющей его с терминал-сервером.
Вообще, работа системных администраторов (не только тех, кто обслуживает терминальные системы) схожа с функционированием коммунальных служб. Пока все работает, про них не вспоминают, а как только что-то перестало функционировать: крики, вопли где сисадмин. Конечно, и сам системный администратор тоже должен осознавать эту схожеть, и постоянно выполнять профилактические мероприятия, планировать свои действия наперед, предвидеть возможные потенциальные проблемы. Так как известно, что если долго не менять трубу, рано или поздно случится авария. В одной книге, посвященной системному администрированию операционной системы Linux, я встретил цитату человека, уже не первый год занимающегося выполнением функций системного администратора. Так вот, на вопрос, что его привлекает в этой работе он ответил: “Если бы я хотел спокойную работу, то стал бы авиадиспетчером.” Доля истины есть в его словах, так как в информационных технологиях все очень быстротечно, и от системного администратора требуется способность к быстрому принятию правильных решений, а также наличие способностей прогнозирования и выявления узких мест информационной системы, а также их оперативная ликвидация, причем в идеальном варианте, еще до того времени, когда они станут очевидны пользователям.
Но не будем о грустном. У администрирования терминальных решений есть и много плюсов. Главный из них, возможность концентрации усилий фактически только на одном компьютере – терминал сервере. Терминалы сами по себе, довольно безобидные и “безмозглые” создания, и воспринимать их нужно не более чем связку сетевого адаптера, монитора, “мышки” и клавиатуры. Основная работа выполняется на сервере, а следовательно, и администрировать нужно только его.
Упрощается и работа системного администратора с аппаратным обеспечением клиентов, так как вышедший из строя терминал заменяется довольно крупными элементами (монитор, клавиатура, “мышь” или системный блок). Имея в своем распоряжении запасной терминал, можно всегда оперативно реагировать на отказ работы клиентского оборудования. А если в отделе много терминалов, то пользователи для работы могут использовать любые из них. При замене оборудования, не нужно думать о переносе локальных файлов, восстановлении поврежденной информации с жестких дисков, и тому подобных ужасах, так как все данные хранятся на сервереи установка или использование нового терминала позволяет пользователю получить мгновенный доступ к его личным данным.
Средства администрирования терминальных систем, как правило, находятся на более высоком уровне, чем при использовании локальной сети традиционных персональных компьютеров. У системных администраторов под рукой всегда есть утилиты доступа к удаленным экранам пользователей и для того, чтобы ответить на вопрос конкретного пользователя, позвонившего по телефону, необязательно бежать через все здание. К тому же в терминальных решениях все та же централизованность значительно облегчает функции установки программных продуктов, их обновление и обслуживание. Так, установленная один раз программа, стает доступной для всех пользователей терминалов, и нет необходимости выполнять эту рутинную операцию для каждого клиента в отдельности.
Перед тем как “пересаживать” пользователей на терминалы, я бы порекомендовал любому системному администратору сначала на себе испытать все достоинства и недостатки терминального подхода, так как приобретенный таким способом опыт поможет ему в будущем лучше понимать пользователей и быстрее находить решения их, а следовательно, и системных проблем. Лично мне работа за терминалом нравиться по нескольким признакам. Во-первых, это работа в одной среде с пользователями, то есть существует возможность наиболее быстрого реагирования на их запросы. Во-вторых, терминал очень быстрый компьютер, а следовательно работать за ним удобно и это особенно справедливо для ресурсоемких приложений. В-третьих, отсутствие таких шумных деталей как "винчестер" и вентилятор к нему, делают рабочее место по-настоящему тихим. В-четвертых, с экономической точки зрения, использование терминалов это самый эффективный способ эксплуатации компьютерной техники, когда на одно рабочее место выделяется минимум средств. И наконец в-пятых, внедрение терминальной структуры позволяет более рационально использовать время системного администратора, а стало быть мое время.