Коллеги, как и обещал, выкладываю выдержки из своего доклада на семинаре VMWare UG в Москве.
Задача: запустить 150 терминальных серверов Windows 2003 Terminal Services на одной блэйдовой полке c7000.
Конфигурация системы:
1. Тип серверов и СХД
Полка блэйдов HP BL680c ( 8 серверов ), 4 четырехъядерных Intel Xeon, 56 Gb памяти. HP EVA 6000. Контроллеры 4 гигабита.
2. Настройки серверов
ESX 3.5. DRS и HA кластер. Стандартные. Включена опция Intel Virtualization Technology (VT)
3. Настройки СХД
LUN’ы RAID5, по 3 – 7 терминальных сервера на LUN .
4. Конфигурация VM
a. Win 2003 R2 Enterprise x32. 1 диск 20 Gb. Используется LSI Logis SCSI controller. Все неиспользуемые порты запрещены. Запрещен autodetect в ОС.
Подводные камни:
1. На ESX 3.5 без исправлений, при миграции, особенно именно VM с Terminal Services загрузка CPU VM поднималась до 100%. Исправлено при помощи установки опции Mem.VMOverheadGrowthLimit в 5. По умолчанию -1. Статья VMWare KB “Virtual machine CPU usage spikes and remains abnormally high after VMotion in a VMware DRS enabled cluster”.
2. При миграции иногда возникала большая загрузка CPU VM. Решилось установкой и ежедневной дефрагментацией диска в фоне.
3. Несмотря на рекомендации в блогах для ESX 3.0 давать VM с TS не более 2-х процессоров, было дано 4 процессора ввиду большого количества исполняемых приложений. После тестирования не выявлено никаких аномалий при работе с 4-мя процессорами.
4. Обязательно жестко лимитировать верхнюю память, выделяемую для VM x32. Лимит в 4096 Mb. Зарезервированная память установлена в те объемы, которые забирает VM при стандартной средней загрузке.
5. Memory ballooning разрешен, несмотря на рекомендации в некоторых блогах.
6. Запретить Page Sharing. Запрет уменьшит загрузку vmkernel при использовании TS. На таких гостевых ОС частые изменения памяти и vmkernel вынужден постоянно генерировать хэш для страниц памяти и сравнивать их. Mem.ShareScanGHz = 0, Mem.ShareRateMax=0 (Для отключения TPS также можно воспользоваться командой sched.mem.pshare.enable=False (источник: http://communities.vmware.com
Результат и оставшиеся проблемы
1. Результат
a. Нормальная работа с неким вариантом балансировки нагрузки
b. Легкое управление и быстрое восстановление работоспособности + все остальные прелести VI3
2. Проблемы
a. Тормоза при высокой загрузке диска ( в основном из-за рендеринга печати ). Проблемы с печатью предполагается решать с помощью Thinprint (http://www.thinprint.com/?s=5244&lc=61 ).
Ссылки:
http://www.brianmadden.com/content/article/A-short-guide-to-virtualizing-Presentation-and-Terminal-servers-on-VMware-ESX-3
http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=1003638&sliceId=2&docTypeID=DT_KB_1_1&dialogID=55422058&stateId=0%200%2055418455
Дмитрий Мощалков
вторник, 1 июля 2008 г.
Опыт внедрения MS Terminal Servers на платформе VMWare ESX 3.5.
Подписаться на:
Комментарии к сообщению (Atom)
Добрый день.
ОтветитьУдалитьИнтересно, как пересекается пункт 6 - Запретить Page Sharing. Запрет уменьшит загрузку vmkernel при использовании TS* с опубликованными ранее заметками о Overcommiting memory http://www.vm4.ru/2008/04/overcommiting-memory.html где рассказывали о прекрасной консолидации памяти для Citrix (а Citrix построен поверх обычной терминалки)
Или консолидация памяти работает только в случае если на физическом хосте запущен только один сервер Citrix (тогда он консолидирует сам себя ))) ?
так и пересекается:
ОтветитьУдалитьон дает хорошие плюсы по памяти, но ценой нагрузки на CPU.
В большинстве случаев такой обмен выгоден, но не всегда.
да, прочтение без анализа, привело к неправильным выводам. спасибо за указание
ОтветитьУдалитьКоллеги, извините за глупый вопрос - но что есть "Запрещен autodetect в ОС" в этой статье?
ОтветитьУдалитьЕсли имеется в виду "Plug & Play" сервис, то как его отключить? Не могу даже в Safe Mode отключить этот сервис. :( Win2k3 R2 EntEd x32 - Terminal Server
По моему, имелся в виду автозапуск CR-ROM.
ОтветитьУдалитьА почему в качестве гостевой выбрана 32-битная ОС? Разве в 64-битной не выше производительность? Да и терминальных сессий на 1 ОС в 64-битной больше, кажется...
ОтветитьУдалитьТормоза при высокой загрузке диска.
ОтветитьУдалитьКак решить эту проблему; варианты?
повысить производительность дисковой?
ОтветитьУдалить