ЮРИЙ ВЛАСОВ Инженер отдела локальных и корпоративных сетей, ООО Информационно-технический центр «Ками-Север», г. Ярославль. С ним можно связаться по адресу: vlasov@kamisever.ru. |
Я постараюсь подробно рассказать об этих достоинствах, а также дать несколько советов по установке, настройке и эксплуатации системы.
Установка Windows NT Terminal Server
Для иллюстрации материала предлагаю использовать следующую модель. Создадим домен TERMINAL с основным контроллером домена (PDC) под названием SERVER на базе системы Windows NT Server 4.0 Terminal Server Edition. Затем создадим несколько учетных записей пользователей, настроим их для работы в Terminal Server и покажем, как устанавливать и конфигурировать приложения для использования в данной системе.
Установка операционной системы Windows NT Terminal Server ничем принципиально не отличается от установки обычной версии NT Server. Главные отличия заключаются в том, что, во-первых, программа инсталляции предлагает поместить систему в каталог WTSRV и, во-вторых, кроме количества лицензий на доступ к службе файлов и печати, нужно отдельно задать количество лицензий на пользование службой Terminal Server.
Более сложная проблема связана с планированием системы (выбор аппаратуры для сервера, планирование служб). Заранее дать конкретные советы очень трудно. Перед установкой Terminal Server нужно очень внимательно изучить рекомендации Microsoft по количеству процессоров, объему оперативной памяти и дискового пространства в зависимости от числа пользователей и набора приложений. Поскольку Terminal Server предназначен в первую очередь для запуска Windows-приложений большим количеством пользователей, можно себе представить, сколь велика будет нагрузка на оперативную память и, возможно, на процессор. Соответственно, при развертывании Windows NT Terminal Server желательно изначально закладывать в проект как минимум двухпроцессорный сервер и не скупиться на оперативную память.
Конфигурирование пользователей для работы в системе Windows NT Terminal Server
Итак, мы установили SERVER в качестве контроллера домена TERMINAL. Теперь требуется создать в домене пользователей и назначить им права для работы в системе Terminal Server.
ЭКРАН 1. Дополнительная кнопка Config. |
Все это делается с помощью программы User Manager for Domains. Создадим учетные записи пользователей, скажем Ivanov, Petrov и Sidorov. Откроем свойства пользователя Ivanov и предоставим ему права для работы в Terminal Server. Для этого в User Manager for Domains имеются дополнительные возможности, которых нет в стандартной версии Windows NT Server.
В частности, появилась кнопка Config (на Экране 1 показан фрагмент окна свойств пользователя). Нажав на нее, увидим следующее окно (см. Экран 2).
ЭКРАН 2. Дополнительные параметры настройки пользователя Terminal Server. |
Следующий набор параметров — тайм-ауты (их значения задаются в минутах). Параметр Idle определяет время ожидания сервера в случае отсутствия каких-либо действий со стороны пользователя. По истечении этого срока сервер переводит сессию пользователя в состояние disconnected (в этом случае она остается работать на сервере со всеми запущенными приложениями, но клиентская программа на рабочем месте пользователя теряет связь с Terminal Server; если пользователь вновь запустит клиентскую часть, то он возобновит работу своей сессии в прежнем состоянии). Параметр Disconnection определяет, сколько минут сессия может находиться в состоянии disconnected. По истечении этого времени она принудительно закрывается сервером и ее ресурсы освобождаются (открытые пользователем приложения закрываются без сохранения открытых файлов). Параметр Connection определяет, сколько минут сессия пользователя может быть активна (независимо от действий пользователя).
ЭКРАН 3. Дополнительные параметры настройки профиля пользователя. |
Теперь зададим домашний каталог пользователя Terminal Server. Для этого нужно нажать кнопку Profile в свойствах пользователя Ivanov. Появится окно, изображенное на Экране 3. Самым важным параметром в этой конфигурации является Terminal Server Home Directory. Когда пользователь открывает сессию в Terminal Server, значение этого параметра задает значения двух переменных окружения — %HOMEDRIVE% и %HOMEPATH%, а эти переменные, в свою очередь, используются в приложениях, установленных на сервере. Кроме двух данных переменных, значения которых определяются при настройке профиля пользователя, есть еще другие переменные, специфичные для сессии в Terminal Server. Это переменные: %CLIENTNAME% — NetBIOS-имя клиентского компьютера (на котором непосредственно работает пользователь и запускается клиент Terminal Server), %TEMP% и %TMP% — переменные, задающие путь к каталогу, где хранятся временные файлы пользователя (у каждого — свой каталог), %USERDOMAIN% — имя домена Windows NT, %USERNAME% — имя пользователя, %USERPROFILE% — путь к его профилю (по умолчанию ?C:WTSRVPROFILES<имя пользователя>?), %WINSTATIONNAME% — строка, состоящая из символов «RDP-tcp#» и цифрового идентификатора сессии пользователя. Все эти переменные создаются при открытии сессии пользователя в Terminal Server и после ее завершения прекращают свое существование.
Установка клиентской части Windows NT Terminal Server
В комплекте с Windows NT Terminal Server поставляется клиентская часть для работы клиента с сервером. Имеются версии клиентов для Windows 3.11 for Workgroups, Windows 95/98/NT. Клиент взаимодействует с сервером по специально разработанному Microsoft протоколу RDP (Remote desktop protocol). Протокол RDP функционирует только поверх протокола TCP/IP.
Установка клиентской программы чрезвычайно проста. Необходимо найти в дистрибутиве NT Terminal Server каталог Clients, в нем каталог Tsclient, далее отыскать программу установки для соответствующей операционной системы (для Windows 3.11 FWG — каталог Win16, для Windows 95/98/NT — каталог Win32) и запустить ее. Данная программа запрашивает, в какой каталог устанавливать клиентскую часть, и создает программную группу Terminal Server Client. В нее входит непосредственно сам TS-клиент, а также Client Connection Manager — программа, позволяющая создавать различные конфигурации клиента, в которых автоматически задаются параметры сессии.
Для установления связи с Terminal Server можно запустить программу Terminal Server Client, а можно создать некоторые конфигурации с помощью Client Connection Manager. Рассмотрим оба варианта.
Запуск программы Terminal Server Client
ЭКРАН 4. Подключение к Terminal Server. |
ЭКРАН 5. Начало сессии с Terminal Server. |
ЭКРАН 6. Окно первой сессии с Terminal Server. |
Небольшое замечание: сразу после установки Windows NT Terminal Server администратор во время собственных первых сеансов работы, до первых сеансов работы пользователей, должен сделать региональные установки
ЭКРАН 7. Окно сессии после настройки. |
Использование программы Client Connection Manager
ЭКРАН 8. Окно программы Client Connection Manager. |
ЭКРАН 9. Задание имени настройки и сервера. |
Теперь нужно решить, будет ли производиться автоматическая регистрация пользователя при запуске конфигурации. Если пользователь будет
ЭКРАН 10. Параметры регистрации пользователя. |
Размер и свойства окна программы Terminal Server Client. Зададим размер окна в пикселах, режим работы клиентской программы — в окне
ЭКРАН 11. Установка режима подключения клиентской программы. |
ЭКРАН 12. Настройка режима работы окна клиентской программы. |
Затем следует выбрать режим работы клиента Desktop или запуск конкретного приложения (см. Экран 12). Работа в режиме Desktop уже была показана на Экранах 6 и 7. А вот в режиме запуска только одного приложения программа Terminal Server Client вообще не отображает рабочий стол, а запускает сессию пользователя на сервере и указанное в конфигурации приложение. После того как пользователь закроет приложение, вместе с приложением будет закрыта и сессия пользователя.
ЭКРАН 13. Завершение настроек для конфигурации сессии. |
Завершающие действия (см. Экран 13). Теперь нужно определить программную группу для создаваемой конфигурации (по умолчанию это программная группа Terminal Server Client) и значок. Осталось только прочитать сообщение, что новая конфигурация успешно создана, и нажать
ЭКРАН 14. Две разные конфигурации для соединения с Terminal Server. |
Работа с Terminal Server Client
Завершение работы с программой Terminal Server Client. Завершить работу клиента Terminal Server можно различными способами. Чтобы
ЭКРАН 15. Завершение работы с клиентской программой. |
а) Logoff — сессия пользователя на сервере полностью закрывается с прекращением выполнения всех приложений (если они не были закрыты) и освобождением ресурсов сервера, выделенных для данной сессии, после чего клиентская программа завершает свою работу. Такой вариант уместен в том случае, когда пользователь полностью закончил работу и завершает сессию с полным освобождением ресурсов.
б) Disconnect — сессия на сервере не закрывается, все приложения остаются запущенными с открытыми файлами, т. е. сессия по-прежнему «живет» на сервере, но при этом переходит в состояние disconnected, а клиентская программа на рабочем месте пользователя завершает свою работу. Пользователь, вновь запустив клиента Terminal Server, получает доступ к своей сессии и продолжает работу, причем клиентскую программу можно запустить на другом компьютере. Такой вариант возможен в том случае, если пользователю нужно временно прекратить работу и при этом не хочется, чтобы окно сессии оставалось открытым.
ЭКРАН 16. Вид окна Windows NT Security при работе клиентской программы. |
Низкоскоростные коммуникации. Одно из достоинств платформы Windows NT Terminal Server — это возможность работы при низкоскоростном соединении клиента с сервером, например при модемном соединении через коммутируемую телефонную линию. Практика показывает, что даже при скорости соединения 14 400 бит/с уже можно работать, хотя перерисовка экрана в клиентской программе становится весьма заметной. Чем выше скорость соединения, тем быстрее перерисовывается экран и работать становится удобнее. На скорости 28 800 бит/с практически нет разницы между работой через модемное соединение и работой в локальной сети.
«Горячие клавиши». При работе с системами семейства Windows для выполнения некоторых действий многие пользуются так называемыми «горячими клавишами». Например, ALT+TAB — для переключения между приложениями, CTRL+ ESC — запуск главного меню системы, CTRL+ SHIFT+ESC — вызов Task Manager и др. При работе с клиентом Terminal Server ситуация несколько иная. При нажатии ALT+TAB также происходит переключение между приложениями, но только между теми приложениями, которые запущены на локальном компьютере пользователя, а не в окне сессии Terminal Server. Аналогично CTRL+ ESC запускает главное меню системы на ПК пользователя, а не в клиентской программе. В таблице 1 приведены «горячие клавиши», которые выполняют знакомые всем функции, но уже в окне клиентской сессии. В левом столбце таблицы перечислены сами функции (в скобках указаны традиционные для них комбинации клавиш), в правом столбце — комбинации клавиш для выполнения этих функций в окне сессии Terminal Server.
Разрешение экрана. Разрешение экрана в окне TS-клиента в пикселах зависит от текущего разрешения экрана компьютера и не может превышать его. Количество цветов в окне клиента — не болеее 256. Для большинства деловых приложений (например, Microsoft Office) этого вполне достаточно.
Работа с клиентом Terminal Server на разных моделях ПК и в различных операционных системах семейства Windows. Опыт использования платформы Windows NT Terminal Server показывает, что качество работы зависит не столько от программной платформы, сколько от аппаратной модели ПК. Например, на слабом компьютере с процессором Intel 386 с низкой тактовой частотой (порядка 20 MГц) и с видеоадаптером с интерфейсом ISA перерисовка экрана происходит очень медленно (впрочем, неприемлемое замедление проявляется не на всех моделях ПК на базе процессора 386). Гарантированное качество работы начинается на ПК с процессорами Intel 486.
Установка приложений в Windows NT Terminal Server
Рассмотрим основные проблемы, которые возникают при установке и запуске приложений в Terminal Server.
Все они связаны прежде всего с тем, что большинство приложений разрабатывалось для однопользовательской среды системы Windows, а не для многопользовательской среды Windows NT Terminal Server. Во-первых, часть параметров системного реестра, которые создаются во время установки приложений, записываются в ветвь HKEY_CURRENT_USER. Т. е. если администратор установил какое-либо приложение на сервере, то в его сессии оно работает успешно, а в сессии другого пользователя не работает, так как отсутствуют необходимые параметры в реестре. Во-вторых, многие приложения, например Microsoft Office, хранят различную информацию, в частности шаблоны документов, в рабочем каталоге пользователя. Эти каталоги создаются в профиле администратора во время инсталляции приложений, а в профилях пользователей отсутствуют.
Для решения первой проблемы перед установкой приложения на сервере нужно ввести в командной строке команду change user /install. При этом те параметры, которые при установке приложения записываются в ветвь реестра HKEY_CURRENT_ USER, будут скопированы в специальный буфер и затем, когда пользователь открывает свою сессию, из буфера копируются в раздел реестра данного конкретного пользователя. После установки приложения нужно перевести сервер из режима установки в режим исполнения командой change user /execute. Тот же эффект достигается, если установка программ производится через Control Panel / Add/Remove programs. Именно такой метод, кстати, рекомендуется специалистами Microsoft для установки приложений в Windows NT Terminal Server.
Можно проиллюстрировать этот процесс на примере установки Internet Explorer 4.0. В Microsoft требуют устанавливать ту версию IE, которая имеется в составе дистрибутива Windows NT Terminal Server, так как она модифицирована с учетом особенностей работы в данной ОС. Рекомендую также устанавливать Internet Explorer сразу же после инсталляции самого сервера до того, как пользователи начнут открывать первые сессии.
ЭКРАН 17. Начало установки приложений в Terminal Server. |
Итак, нужно открыть Control Panel, далее Add/Remove Programs. Появляется приглашение вставить флоппи- или компакт-диск с устанавливаемой программой и нажать кнопку Next (см. Экран 17). Далее предлагается указать путь к программе установки приложения, после чего задается вопрос, будут ли работать с данным приложением все пользователи сервера или же оно предназначено только
ЭКРАН 18. Выбор режима работы с приложением. |
ЭКРАН 19. Ошибка при установке Office 97 с защищенной службой Terminal Server Licensing. |
Заметим, что в процессе инсталляции Microsoft Office 97 может появиться сообщение об ошибке (см. Экран 19). В таком случае нужно остановить системную службу Terminal Server Licensing, продолжить установку Office 97, а по окончании установки снова запустить эту службу.
Теперь я хочу остановиться на второй проблеме, связанной с рабочими каталогами и каталогами шаблонов документов. Чтобы копировать хранящуюся в рабочих каталогах приложений информацию в рабочие каталоги пользователей, разработчиками Microsoft созданы наборы сценариев, которые часть необходимых действий выполняют сразу после установки приложений, а часть — при каждой регистрации и открытии новой сессии пользователя в Terminal Server. Эти сценарии находятся в каталоге WTSRV Application Compatibility Scripts. Причем там имеется подкаталог Install, где хранятся сценарии, запускаемые сразу после установки приложений, и подкаталог Logon, в котором хранятся сценарии, запускаемые при каждой регистрации пользователя на сервере. Эти сценарии сделаны в виде CMD-файлов. Кроме того, имеется CMD-файл под названием UsrLogon.cmd; он хранится в каталоге WTSRVSystem32 и вызывается также при каждой регистрации пользователей в Terminal Server.
Сценарии, запускаемые после установки приложений из каталога Install, добавляют в файл UsrLogon.cmd ссылки на сценарии, хранящиеся в каталоге Logon. Основное назначение последних — при каждой регистрации пользователя проверить, все ли рабочие каталоги и файлы скопированы в его домашний каталог, и если чего-то не хватает, то недостающие файлы копируются. Кроме того, сценарии могут устанавливать определенные права доступа на те или иные папки и файлы и выполнять другие действия, специфичные для конкретных приложений.
Рассмотрим ситуацию на примере Internet Explorer. Сразу после установки IE 4.0 (и после перезагрузки сервера) в первом же сеансе работы администратора запустим файл msie40.cmd в каталоге WTSRVApplication Compatibility ScriptsInstall. На экран монитора выведется текст файла RootDrv2.cmd. Данный файл содержит всего одну команду Set RootDrive = . При этом в качестве примера предлагается ввести букву W. Вызов файла RootDrv2.cmd будет вставлен в файл UsrLogon.cmd, далее в этом же файле будет выполнена команда Subst %RootDrive%
ЭКРАН 20. Завершение установки IE4.0. |
Работа с DOS-приложениями
ЭКРАН 21. Настройка DOS-приложений для работы в Terminal Server. |
Администрирование Windows NT Terminal Server
ЭКРАН 22. Просмотр состояния сессий с Terminal Server. |
ЭКРАН 23. Приложения, защищенные в сессии конкретного пользователя. |
Квоты на профили пользователей.
С выходом Service Рack 4 для Windows NT Terminal Server в данной системе появилась возможность устанавливать квоты на профили пользователей.
ЭКРАН 24. Установка квот на профили пользователей. |
ЭКРАН 25. Сообщение о текущем размере профиля. |
ЭКРАН 26. Сообщение о превышении квоты на профиль. |
Доступ к ресурсам компьютера. Если при работе с обычной версией Windows NT Server пользователь имеет доступ только к тем ресурсам, которые открыты для доступа через локальную сеть (shared folders), то при работе с Windows NT Terminal Server пользователь имеет полный доступ ко всем ресурсам сервера, как при локальной работе на ПК. Поэтому администратору нужно тщательно продумать и установить права доступа: к системным файлам; к подкаталогам каталога Program Files; к пунктам главного меню, содержащим административные программы, и к самим административным программам; к некоторым разделам реестра (например, к кусту HKEY_LOCAL_MACHINE Software стоит установить доступ только на чтение). Установки прав доступа зависят от специфики конкретных приложений.
Пакеты исправлений и обновлений (Service Packs). На систему Windows NT Terminal Server должны устанавливаться только те пакеты исправлений и обновлений, которые выпущены специально для данной версии системы.
Комментарии и соображения о преимуществах использования Windows NT Terminal Server
Какие преимущества получает корпоративный пользователь, устанавливая Windows NT Terminal Server?
Цены и подробную схему лицензирования системы Terminal Server и клиентского доступа к ней можно выяснить у любого реселлера продуктов Microsoft, поэтому здесь это описывать не стоит. В любом случае внедрение нового продукта есть вложение средств, которое со временем должно окупаться и давать в итоге прибыль.
В случае с Terminal Server прибыль может быть получена из снижения общей стоимости владения (TCO — Total Cost of Ownership). В этом отношении применение Terminal Server дает ряд очевидных преимуществ.
1) Возможность замораживания модернизаций клиентских рабочих мест. Если пользователи будут работать с приложениями, установленными в системе Terminal Server, то при модернизации приложений на сервере (при возрастании требований к аппаратуре со стороны новых версий программного обеспечения) придется наращивать мощность только серверного оборудования. А модернизацию клиентских ПК можно не делать вообще или отложить на более отдаленный срок. Либо же можно при закупке ПК для нового рабочего места приобрести не самую мощную конфигурацию.
2) Повышение эффективности администрирования (как непосредственно пользователей Terminal Server, так и всего домена в целом). Во-первых, при создании новой учетной записи пользователя в системе Terminal Server профиль можно настроить прямо на рабочем месте администратора, зарегистрировавшись на сервере с учетной записью того пользователя, конфигурация которого создается. Либо же администратор может это сделать, находясь на рабочем месте пользователя: сначала, запустив TS-клиента и зарегистрировавшись с учетной записью администратора, настроить учетную запись пользователя, а затем, запустив клиента с учетной записью нового пользователя, уже настроить новый профиль. Во-вторых, другие действия, связанные с управлением домена в целом, тоже не потребуют от администратора постоянных перемещений по компании. Многие операции администратор может выполнить, запустив клиента Terminal Server на любом ПК организации, на котором имеется данный клиент.
3) Сокращение сетевого трафика при работе с сетевыми базами данных. При использовании сетевых файл-серверных приложений имеет смысл и базу данных и сами приложения расположить на одном том же сервере Windows NT Terminal Server, тогда работа с базой данных не потребует перекачки файлов по сети. Таким образом можно решить проблему сетевого трафика при работе с сетевыми базами данных. Трафик, вызываемый клиентом Terminal Server, очень невысок и не сопоставим с трафиком, который образуется при использовании сетевых баз данных.
4) Дополнительные возможности для удаленных пользователей. О работе с Terminal Server через низкоскоростные соединения уже говорилось выше. Добавлю, что в некоторых случаях только благодаря Windows NT Terminal Server удаленные пользователи могут работать с определенными приложениями.
В то же время повышается и удобство администрирования удаленных серверов.
5) Упрощение работы с приложениями, использующими ключ защиты (HASP-ключ). Это уже более специфический случай, но и здесь Terminal Server позволяет получить некоторый выигрыш.
Многие разработчики обеспечивают защиту своих продуктов от незаконного копирования с помощью аппаратных средств защиты, вроде HASP-ключа производства компании Aladdin. Широко известный пример — продукты семейства 1С:Предприятие фирмы 1С. Если установить ключ защиты на сервере с системой Windows NT Terminal Server и на нем же запускать сами приложения, то не понадобится устанавливать службу сетевой защиты, достаточно локального драйвера HASP-ключа. К тому же приложения будут запускаться практически моментально, так как им не придется искать сетевой ключ защиты.
6) Однократная установка приложений на сервере. При инсталляции приложений в Terminal Server установка и настройка большинства параметров выполняется только один раз. На рабочих местах пользователей устанавливается очень простой в использовании TS-клиент. Таким образом, администратору уже не нужно обходить все рабочие места для установки какого-либо приложения.
Terminal Services в Windows 2000
Рассказывая о Windows NT Server 4.0 Terminal Server Edition, нельзя не упомянуть о тех дополнительных возможностях, которые появились в системе Microsoft Windows 2000.
Во-первых, служба Terminal Server service вошла в состав всех серверных продуктов серии Windows 2000 — Windows 2000 Server, Windows 2000 Advanced Server и Windows 2000 Datacenter. Во-вторых, значительно расширены средства управления пользователями, работающими с Terminal Server: появилась возможность перехвата управления пользовательской сессией, стало больше параметров для конфигурирования учетных записей. В-третьих, добавлено подключение в окне клиента локальных принтеров пользователя и создан общий буфер обмена клиента и системы на рабочем месте пользователя. В-четвертых, расширились возможности системы в отношении установки приложений, правда, это будет касаться только тех приложений, которые будут разрабатываться с учетом специфики Windows 2000. Изменилась и схема получения лицензий на продукт. Но подробнее об этом — в следующих статьях.
Таблица 1. Список «горячих клавиш» для клиента Terminal Server Вызвать переключатель между приложениями, и перейти вправо по списку приложений (ALT+TAB). ALT+PageUp Вызвать переключатель между приложениями, и перейти влево по списку приложений (ALT+SHIFT+TAB). ALT+PageDown Переключение между работающими приложениями (ALT+ESC). ALT+INS Запуск главного меню системы (CTRL+ESC). ALT+HOME Открытие системного меню активного приложения (ALT+SPACEBAR). ALT+DEL
Запуск панели Security в системе Windows NT (CTRL+ALT+DEL). CTRL+ALT+END
И еще одна полезная комбинация: CTRL+ALT+BREAK — переключение клиентской программы между полноэкранным и оконным режимами.