пятница, 2 октября 2009 г.

Сетевая загрузка бездискового клиента Thinstation для VMware View

Внедрение терминальных рабочих станций (в классическом варианте или новомодном VDI) несет в себе много преимуществ для большинства компаний. Однако, большие первоначальные затраты на покупку оборудования и программного обеспечения/лицензий могут отпугнуть потенциальных потребителей данного решения. Не последнюю роль в общей стоимости играет цена самих терминальных клиентов - устройств с которых осуществляется удаленный доступ к терминальному серверу.

Понятно, что не всем по карману брендовые тонкие клиенты, как например HP T5735, цена на которые близка к стоимости среднего офисного компьютера; вариант же с перенастройкой существующих рабочих станций пользователей не всегда применим, поскольку требует больших усилий по отключению всех ненужных программ и ограничению функционала, поддержке системы, установке обновлений для ОС и антивирусной защиты. Кроме того, в случае использования Windows, вы не избавляетесь от необходимости покупки лицензий на ОС. Печально, однако недорогой и практичный выход из данной ситуации есть.

Уже давно и прочно закрепилась во всех современных сетевых картах возможность загрузки по сети (PXE - Preboot eXecution Environment). Данная технология позволяет избавиться от необходимости хранить на локальных носителях какую бы то ни было копию загружаемой ОС, а использовать только лишь сетевую копию, загружаемую с сервера каждый раз при старте компьютера. Функционал PXE не ограничивается только лишь клиентскими компьютерами, при желании вы и серверы можете таким образом загружать (да хоть VMware ESXi). И, пожалуй, самым популярным на сегодняшний день клиентом, поддерживающим загрузку по сети, является Thinstation.

Маленький, но крайне функциональный тонкий клиент поддерживает работу с большим количеством протоколов удаленного доступа: Telnet, SSH, Microsoft RDP, Citrix ICA, X Windows и, конечно же, VMware View. Большим преимуществом Thinstation является то, что он может быть легко сконфигурирован под ваши конкретные нужды; при желании вы сами можете собрать загрузочный образ, содержащий необходимые драйверы, программы и файлы настроек.

В этой статье я приведу пример подготовки подобного образа и настройки PXE сервера для загрузки тонких клиентов по сети, использующихся для подключения к VMware View Manager.

Создание собственного образа
Прежде всего нам потребуется загрузочный образ Thinstation. Конечно, вы можете собрать его вручную, но гораздо проще воспользоваться одним из online конфигураторов TS-O-Matic. В качестве примера я использую сервер Denmark.

Сам конфигуратор состоит из нескольких разделов:
Hardware - позволяет указать драйверы, которые требуется включить в образ.
Applications - задает приложения (терминальные клиенты, оконные менеджеры, дополнительные программы). В данном разделе обязательно выберите компонент vmview в Additional contributed packages.
Parameters - содержит различные настройки (пароли для учетных записей, разрешение экрана и т.п.)
Splash и Background - фоновое изображение в момент загрузки и при работе клиента.
Load Files - загрузка файла с требуемой конфигурацией образа, если не хотите все указывать вручную.

После завершения настроек нажмите кнопку Build и дождитесь, пока система создаст нужный образ, а затем нажмите Write image.

На странице загрузки, перейдите в раздел Build и скачайте thinstation.conf.example - файл настроек тонкого клиента. Затем перейдите в раздел Etherboot и скачайте файлы thinstation.nbi и thinstation.nbi.zpxe.

Теперь самое время отредактировать файл настроек. Для этого переименуйте его, сначала, в thinstation.conf.network, а затем откройте в любом текстовом редакторе.

Найдите раздел, начинающийся с комментария "# VMWare View options". Раскоментируйте нужные строчки с настройками подключения, удалив начальный символ "#", а также заменив "#" в каждой строчке на цифру - порядковый номер, начиная с 0, под которым данный пункт будет присутствовать в меню тонкого клиента.

В итоге у вас должно получиться что-то похожее на:

SESSION_#_TITLE - задает отображаемое имя в меню тонкого клиента
SESSION_#_TYPE - тип доступа
SESSION_#_AUTOSTART - включение/отключение автоматического выбора данного варианта при загрузке клиента
SESSION_#_VMVIEW_SERVERURL - адрес сервера VMware View.
SESSION_#_VMVIEW_FULLSCREEN - работа в полноэкранном режиме.

Если у вас есть желание - можете еще покопаться в настройках, благо, много понятно с первого взгляда.

Настройка сервера
После подготовки загрузочного образа, вам понадобится настроить на сервере DHCP и TFTP. В качестве сервера я использовал Windows Server 2003.

Для загрузки PXE клиента используется протокол TFTP (работающий на порту UDP 69). В Windows Server 2003 сервер TFTP входит в состав Remote Installation Services, либо, если у вас установлен SP2 - Windows Deployment Services. Так, что если вы не хотите заморачиваться с установкой, приведенной ниже, просто установите один из этих компонентов из мастера Установки/Удаления компонентов Windows, которые заодно установят и TFTPD, но не выполняйте первоначальную конфигурацию служб, а сразу переходите к редактированию реестра и добавлению корневой папки.

Для остальных же небольшая инструкция по установке TFTPD вручную.

Для начала, вам понадобится установить Windows Server 2003 Resource Kit. Загрузить его можно отсюда.

После этого, вставьте диск с дистрибутивом Windows Server 2003 в CD привод, откройте командную консоль и выполните:
expand X:\i386\tftpd.ex_ %systemroot%\tftpd.exe
Предполагается, что X - буква вашего CD привода.

После установки TFTPD вам потребуется зарегистрировать его в качестве службы Windows. Выполните следующую команду:
instsrv tftpd %systemroot%\tftpd.exe -a "NT AUTHORITY\NetworkService"
Ключ -a позволяет указать учетную запись из-под которой будет запускаться служба. В целях безопасности не рекомендуется запускать TFTPD из-под SYSTEM.

Теперь создайте папку, например: C:\TFTPRoot, которая будет является корневой для вашего сервера.

Запустите редактор реестра regedit и откройте ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\tftpd. Внутри tftpd создайте новый раздел Parameters. Внутри раздела создайте параметр Directory с типом REG_SZ, в качестве значения укажите путь к созданной корневой директории TFTP сервера.

Теперь запустите службу, запустив оснастку службы и найдя там tftpd, или набрав в консоли:
net start tftpd

Скопируйте в корневую папку три ранее загруженных файла: thinstation.nbi, thinstation.nbi.zpxe и thinstation.conf.network.

При загрузке по сети, PXE клиент посылает широковещательный запрос в поисках DHCP сервера, который мог бы сообщить клиенту необходимые сетевые настройки (IP-адрес, маску подсети, Default Gateway, адреса DNS серверов и т.п.). Дополнительно, DHCP сервер может передать настройки с DHCP Option 60, 66 и 67, сообщающие, что клиент должен скачать с определенного сервера загрузочный образ и загрузиться с него. Если такие настройки не передаются, клиент пытается послать еще один широковещательный запрос на порт UDP 4011 с целью обнаружения PXE сервера (так, например, работает WDS сервер Microsoft). В нашем случае мы будем использовать вышеперечисленные опции.

В качестве DHCP сервера я использую стандартный сервер, входящий в Windows Server 2003. Предположу, что вы уже установили нужную службу, создали область (scope), определили для нее диапазон адресов и исключений. Для дальнешей настройки откройте оснастку управления DHCP, щелкните правой кнопкой по имени сервера и выберите Set Predefined Options.

В открывшемся окне Predefined Options and Values нажмите Add... В окне Option Type введите имя (Name) "PXEClient", укажите тип опции (Data type) "String" и номер (Code) "060". Нажмите OK.
Вернувшись в предыдущее окно, в поле String укажите PXE Client. Нажмите OK.
Теперь раскройте созданную вами области, щелкните правой кнопкой мыши по Scope Options и выберите Configure Options.
В списке на вкладке General активируйте опцию "060 PXEClient" и убедитесь, что String value имеет значение "PXE Client".
Активируйте опцию "066 Boot Server Host Name", указав в String value адрес вашего TFTP сервера.
Активируйте опцию "067 Bootfile Name", указав в String value файл загрузчика thinstation.nbi.zpxe.
На этом настройка сервера закончена, можно приступать к тестированию.

Загрузка тонкого клиента
Для тестирования я использовал виртуальную машину. В качестве загрузочного устройства был выбран виртуальный сетевой адаптер.
Не прошло и минуты, как на экране появилось заветное меню тонкого клиента:
Просто и со вкусом.

4 комментария:

  1. Весь этот бред с thin station'ами и Vmware VDI не имеет смысла без нормальной политики MS по лицензированию . VECD не в счет, ибо это скорее мера по закрытию рынка виртуальных десктопов от корпорации MS.

    ОтветитьУдалить
  2. С лицензирование и правда беда. Беда еще большо осложняется тем, что Thinstation на сегодняшний момент не поддерживает PCoIP (VMware View 4).

    ОтветитьУдалить
  3. PCoIP на сегодняшний момент не поддерживает VMware View Open Client (кстати, на Denmark'е view client updated to 4.0.0 build-215529) , Thinstation вроде как не причём =)

    ОтветитьУдалить
  4. а кто нибудь настраивал thinstation+ica11?

    ОтветитьУдалить