вторник, 18 декабря 2012 г.

Чем VDI отличается от терминального сервера?

Бывалые скажут: мы 100 лет уже работаем с 1С на терминальном сервере, у нас на столах тонкие клиенты, что ты впариваешь чем ты нас хочешь удивить?

Может и не удивлю, но очень постараюсь это сделать.

Протоколы доступа

Протокол доступа к рабочему столу - это основа основ тонких рабочих мест.

Протокол RDP для доступа к терминальному серверу

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

Большая часть этих надстроек сделана из рук вон плохо. Сотни тысяч админов годами решают не могут решить одну и ту же проблему: печать на принтере по RDP. Не верите? Вот пруфлинк: проблема с принтером RDP - 3,5 миллиона результатов в Гугле, и это только на русском. Выглядит это так: контора покупает себе новый принтер, админ три дня и три ночи настраивает его и когда вроде бы победа уже состоялась, у бухгалтера Вероники Маврикиевны он вдруг перестает печатать, да так, что терминальному серверу теперь нужен ребут. Админ вырывает себе волосы на жопе взывает к вселенскому разуму, а Гугл индексирует новые страницы по запросу.

Прочие недостатки терминального сервера:
  1. Видео либо не показывается клиенту вообще (черный экран), либо идет с задержкой и рассинхронизацией со звуком, причем это не зависит от качества канала и версии RDP;
  2. Звук односторонний - микрофон на стороне клиента не будет работать на удаленном рабочем столе;
  3. Если на Вашем клиентском устройстве есть веб-камера, использовать на удаленном рабочем столе, например, в скайпе ее нельзя;
  4. Нормально работать на двух мониторах и динамически масштабировать изображение. Вы скажете, есть ключ mstsc /span. Я Вам отвечу: этот ключ появился в версии 6.1 протокола (выпущен в 2007 году в Windows Server 2008), а у Вас скорее всего терминальный сервер работает на Windows Server 2003 (версия протокола 5.2, в нем даже шифрования нормального нет) - проходим мимо. А все потому, что перетащить бухгалтеров со всем скарбом на новую версию - админу проще застрелиться, ну и плюс единицы умеют правильно настраивать перемещаемые профили и перенаправление папок. Много ли терминальных клиентов имеют выход под второй монитор? А под 4 Full-HD монитора? Я уже промолчу про сочетание клавиш Ctrl+Alt+Break и спонтанное запоминание разрешения последнего подключения...
  5. Поддержка HASP-ключей, например от интернет-банка. Ее просто нет! Вы несете ключик в сервер. Сколько у Вас ключей? У меня было 9, даже пришлось хаб в стойке повесить. А что делать, если ключик нужен не всем терминальным пользователям?
  6. Возможности подключения с "альтернативных" (по версии Microsoft) устройств сильно ограничены: линукс-клиент убогий донельзя, работать с iPad невозможно, плюс у таких клиентов с шифрованием не все в порядке - надо включать ослабленный режим.
  7. Отдельные проблемы несовместимости программного обеспечения и терминального сервера: встречались случаи, что Microsoft Office переставал работать на терминальном сервере.
  8. Невозможность корректного разделения и балансировки ресурсов по пользователям: если кто-то подцепит вирус - его подцепят все, если у кого-то процесс стал потреблять 100% ресурсов, остальные пользователи также курят.
  9. Обработка подключения требует больших затрат вычислительной мощности, что увеличивает стоимость тонкого клиента.
К особым маразмам я отношу размещение терминального сервера 1С в отдельном помещении без кондиционера внутри офиса: вы о чем думаете? Мыслите реально - маски-шоу вынесут этот сервер первым, и глазом моргнуть не успеете! Ну или он благополучно перегреется.

Безопасность не бывает избыточной.

Протокол Citrix ICA

Протокол ICA (Independent Computer Architecture) - это аналог RDP и терминального сервера от Citrix. Протокол изначально задумывался только для односторонней передачи видеоданных (экран) и передачи данных от клавиатуры и мышки.
Также как и протокол RDP требует либо больших вычислительных ресурсов на стороне клиента, либо широкого и стабильного канала

Протокол PC-over-IP (PCoIP) для доступа к VDI на VMware View

Протокол PCoIP отличается от прочих двусторонней передачей данных. Он был разработан компанией Teradici несколько лет назад. Совместно с протоколом были разработаны и выпущены специальные процессоры для его поддержки: Tera Host Processor, который обеспечивает прием сигналов от клиентского терминала, шифрование и передачу данных на терминал, реализован в виде дополнительной платы в компьютер; и Tera Portal Processor, на базе которого реализуется аппаратный терминал доступа.

Протокол обеспечивает шифрование данных, кеширование видеоданных, двухстороннюю передачу сигналов от USB устройств, двухстороннюю передачу аудиоданных, передачу видеоданных от клиента к удаленному компьютеру а также плотную упаковку всего вышеперечисленного в сетевой трафик.

Сам сетевой трафик представляет собой UDP-пакеты, а не TCP, поскольку UDP более подходит для передачи мультимедиа, чем TCP и генерирует меньше обратного трафика (ACK-пакетами).

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

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

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

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

Сейчас существует два поколения процессоров, на которых строятся PCoIP-устройства.
Устройства первого поколения поддерживают до 2 Full HD мониторов, устройства второго поколения - 4 Full HD монитора либо 2 монитора с разрешением 2560x1600.
Остальные различия поколений заключаются в улучшенных характеристиках сжатия потоков данных и меньшем энергопотреблении конечного устройства.

Компания VMware сделала программный эмулятор Tera Host Processor и включила его в свой продукт VMware View Connection Server и VMware View Client поддерживает протокол PCoIP. Это позволило соединить все самые лучшие качества виртуального сервера и преимущества решения Teradici и на выходе получить очень хороший продукт - виртуальный рабочий стол.

Что виртуальный рабочий стол дает мне, как конечному пользователю?

Так уже сложилось исторически, что работаю я в основном с нетбука: процессор AMD Neo MV-40 (1,6 ГГц), 2 ГБ оперативки, жесткий диск 250 ГБ, Windows 7 32-bit
Не самая хорошая машинка... тормозная, если честно, но зато купил я ее по распродаже 3 года назад за 8 тысяч рублей ;).

Виртуальный рабочий стол у меня - это 4 ядра по 2,4 ГГц, 4ГБ оперативки, 120 HDD.

Когда я прихожу в офис, подключаюсь своей 100-мегабитной сетевкой в локальную сеть и подключаю Full HD монитор, клавиатуру, мышь и т.п.

Youtube (да и вообще флешовое видео на сайтах) на нетбуке тормозит безбожно - смотреть ролики невозможно в принципе - задержки как по видео так и по звуку. По RDP на виртуалке - та же песня. В итоге, я подключаюсь по VMware View туда же и смотрю ролики.

Skype у меня установлен на виртуальном рабочем столе - оттуда проще: подключусь с iPhone, он зацепит мою камеру и можно общаться, если очень надо; в нетбуке тоже есть камера.

При подключении через 3G (через iPhone) по RDP нормально работать невозможно, а через VMware View - работать можно вполне комфортно.

Ну и напоследок видео, в котором Вам из первых уст расскажут как работает PCoIP. Правда только на английском языке, но с хорошей инфографикой. Потратьте 4 минуты своей жизни - оно того стоит.

Что дальше?
В следующих постах я расскажу о своей виртуальной инфраструктуре и дам некоторую статистику по виртуальным рабочим столам: сколько трафика, какие ресурсы и т.п.

1 комментарий:

  1. Если вы ищете легкое решение, чтобы обеспечить веб-доступ к вашему серверу или опубликовать ваши приложения, то логичный выбор это SHUTLE TSplus.Освобождая вас от сложностей Citrix и служб удаленных рабочих столов Microsoft (RDS), SHUTLE TSplus обеспечивает быстрое, простое и доступное решение. Тонкие клиенты RDP, VMWARE, Citrix, TERA, неттопы мини ПК Intel
    http://www.ifnk.users.ru/ts/terminal-software.html

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