Обнаружилась интересная бесплатная утилита HyperV_Mon, которая позволяет наблюдать за производительностью серверов Microsoft Hyper-V и своевременно обнаруживать проблемы:
HyperV_Mon 1.8 показывает ресурсы (CPU, Memory, I/O), используемые root partition и гостевыми системами виртуальных машин, а также накладные расходы гипервизора. Версия 2.0 будет поддерживать уже Hyper-V R2, который будет в Windows 2008 R2 SP1, планируемый к релизу в ближайшее время. Скачать HyperV_Mon 1.8 можно по этой ссылке.
Константин Введенский, мой старый приятель и по совместительству сотрудник компании StarWind Software, опубликовал интересные заметки по оптимизации работы хранилищ виртуальных машин VMware ESX на базе продукта StarWind Enterprise. Если кто-нибудь из вас все еще не знает как StarWind может помочь вам в создании отказоустойчивых систем хранения по iSCSI для виртуальных машин серверов VMware ESX, то вам сюда, сюда, и, вообще, сюда.
О чем говорят нам эти заметки:
1. iSCSI Initiator на VMware ESX можно использовать в режиме NIC binding (то есть Teaming в настройках vSwitch), или в режиме MPIO (multipathing, в настройках политики путей к хранилищу в категории Storage), но нельзя их использовать одновременно. Еще посмотрите сюда.
2. Если вы используете и хранилища NAS/NFS, и хранилища iSCSI, то нужно использовать NIC Teaming для обоих интерфейсов, а не MPIO.
3. Для типа балансировки IP Hash вы сможете использовать только 1 iSCSI-соединение на хост VMware ESX. Как настраивается тип балансировки IP Hash изложено в KB 100737.
4. По умолчанию время выбора пути в случае отказа на VMware ESX равно 300 секунд. Это время рекомендованное VMware. Вы можете уменьшить или увеличить это время. Его уменьшение ускорит переключение на резерв, но даст нагрузку на процессор ESX (более частый опрос путей), увеличение этого времени снизит нагрузку на CPU, но и увеличит время Failover'а. Настраивается этот параметр в Advanced Settings сервера ESX - он называется Disk.PathEvalTime, и его значение может варьироваться в диапазоне от 30 до 1500. Более подробно в VMware KB 1004378 и еще вот тут посмотрите, например.
5. В виртуальных машинах Windows убедитесь, что параметр Disk\TimeOutValue в реестре равен 60 секундам. Это позволит дисковому устройству не отваливаться раньше времени. Если VMware Tools установлены, то он будет равен 60 секундам после установки, если же нет, то это будет 10 секунд (non-cluster) или 20 секунд (cluster node). Настраивается он вот в этом ключе реестра:
Для Linux все немного не так. Без VMware Tools время TimeOutValue равно 60 секундам, а с ними - 180 секундам. Настраивается TimeOutValue в Linux так:
cat /sys/block/<disk>/device/timeout
Для большинства случаев подойдет значение в 60 секунд.
6. Для достижения лучшей производительности со StarWind Enterprise лучше использовать политику балансировки нагрузки по нескольким путям Round Robin (не активирована по умолчанию, по дефолту стоит политика Fixed). Для этого нужно щелкнуть правой клавишей по устройству iSCSI и нажать "Manage Paths" в vSphere Client.
Эта политика позволяет переключаться между путями каждые 1000 IOPS'ов. Можно уменьшить это значение для оптимизации производительности. Для этого в сервисной консоли ESX / ESXi наберите:
В данном случае выставлено 3 IOPS'а. UUID девайса можно узнать в категории "Storage adapters" в vSphere Client для сервера ESX. Опросить текущие настройки устройства можно командой сервисной консоли:
esxcli nmp roundrobin getconfig --device [UUID]
Ну и, конечно, помните, что все эти настройки нужно сначала опробовать в тестовой среде и посмотреть на изменения в производительности работы сервера ESX с хранилищем StarWind Enterprise.
Скачать StarWind Enterprise HA можно по этой ссылке, ну а покупают его только здесь.
Как обычно, Duncan Epping написал отличный пост об использовании памяти виртуальными машинами на хостах VMware ESX. Постараемся объяснить это на русском языке. Итак, если открыть вкладку Summary в vSphere Client для виртуальной машины, мы увидим вот такую картину:
Здесь есть 2 главных параметра:
Memory - это то количество оперативной памяти, которое вы выделили виртуальной машине при создании. За это количество гостевая ОС не выйдет при ее использовании. Это же количество памяти вы увидите в гостевой ОС.
Memory Overhead - это количество памяти, которое может потребоваться гипервизору на поддержание работы виртуальной машины сверх используемой памяти (т.е. расчетные накладные расходы на виртуализацию, но не текущие).
Далее мы видим панель Resources, здесь есть такие показатели:
Consumed Host Memory - это количество физической памяти хоста ESX, выделенной виртуальной машине. Обычно это значение не больше значения Memory на предыдущей картинке. Но может быть и больше, поскольку Consumed Host Memory включает в себя и Memory Overhead, но не с картинки выше, а реально используемый гипервизором Overhead (о котором будет идти речь ниже). И важный момент - счетчик Consumed для Memory на вкладке "Performance" не включает в себя Overhead.
Active Guest Memory - это количество памяти, которое по мнению гипервизора VMkernel активно используется гостевой операционной системой. Вычисляется этот параметр на базе статистических показателей. То есть, если ОС не очень активно использует память, то можно ей ее немного подрезать в условиях нехватки ресурсов.
Теперь идем на вкладку "Resource Allocation". Здесь все немного сложнее:
Появляются вот такие показатели:
Для Host Memory (видим, что это 2187 МБ = сконфигурированная память 2048 МБ + Overhead):
Consumed - это, опять-таки, объем потребляемой виртуальной машиной физической памяти хоста ESX (постоянно меняется). И он включает в себя накладные расходы гипервизора по памяти.
Overhead Consumption - это текущий объем затрат памяти на поддержание виртуальной машины (здесь 42 МБ в отличие от расчетного в 110 МБ)
А формула такова: Consumed = Private + Overhead Comsumption
Для Guest Memory (2048 МБ сконфигурировано в настройках):
Private - это объем памяти физически хранимый хостом для виртуальной машины (см. формулу выше).
Shared - это объем памяти, который отдается другим виртуальным машинам от разницы между сконфигурированным объемом (Configured Memory) и потребляемым (Consumed). Суть в том, что ОС Windows при загрузке очищает всю память виртуальной машины, но потом эти пустые страницы приложениями не используются. Поэтому гипервизор отдает их другим ВМ, пока ВМ, владеющая памятью не потребует их. Эти страницы и есть Shared. Как мы видим, Private + Shared = Guest Memory.
Swapped - это объем памяти, ушедший в файл подкачки vswp. То есть это не файл подкачки Windows, а файл подкачки в папке с виртуальной машиной. Само собой этот показатель должен быть нулевым или совсем небольшим, поскольку своппинг, который делает ESX (а точнее VMkernel) - это плохо, т.к. он не знает (в отличие от Windows), какие страницы нужно складывать в своп, поэтому кладет все подряд.
Compressed - это объем памяти, который получен после сжатия страниц с помощью механизма Memory Compression (то есть, хранимый в VM Compression Cache).
Ballooned - это объем памяти, который забрал balloon-драйвер (vmmemctl), чтобы отдать ее другим нуждающимся виртуальным машинам.
Unaccessed - это память, к которой гостевая ОС ни разу не обращалась (у Windows - это близко к нулю, так как она обнуляет память при загрузке, у Linux должно быть как-то иначе).
Active - опять-таки, активно используемая память на основе статистики гипервизора.
На хорошем и производительном хосте VMware ESX метрики Compressed, Ballooned, Unaccessed - должны быть около нуля, так как это означает что машины не борются за ресурсы (то есть не сжимают страницы и не перераспределяют память между собой). Ну и, конечно, если показатель Active маленький, стоит задуматься об урезании памяти (но сначала посмотрите в гостевую ОС, она лучше знает, чем гипервизор, все-таки).
Worst Case Allocation - это сколько будет выделено виртуальной машине при самом плохом раскладе (максимальное использование ресурсов), то есть вся память будет использоваться, да еще и накладные расходы будут (т.е., Configured + максимальный Overhead).
Overhead Reservation - это сколько зарезервировано памяти под Overhead гипервизором.
В самом конце августа 2010 года компания VMware объявила о приобретении компании Integrien, занимающейся разработкой решений для выявления проблем производительности виртуальной инфраструктуры. А вот теперь на сайте VMware появилась промо-акция, по условиям которой все покупатели VMware vSphere (кроме серии Essentials) получают бесплатно лицензии на 50 виртуальных машин для продукта Alive VM (и один год поддержки и подписки на обновления, SnS):
Как заявляется на сайте Integrien (который еще не стал частью корпоративного брендинга VMware), Alive VM - это средство для отслеживания работоспособности виртуальной инфраструктуры VMware vSphere, определения проблем производительности и "узких мест", а также аналитики в сфере доступных и необходимых вычислительных ресурсов.
Больше всего это похоже на игру, где нужно двойным кликом убирать шарики одного цвета в ряд (посмотрите, например, видео):
В целом, Alive VM - это такой общий Dashboard, в котором виден виртуальный датацентр VMware vSphere с его объектами (кластеры, виртуальные машины) в которые можно "проваливаться" и смотреть различные характеристики рабочей нагрузки, health-статуса и анализировать, какова загрузка вычислительных ресурсов и нужно ли еще их добавить в датацентр. Также можно видеть как изменилась производительность виртуальной машины вследствие каких-либо причин, и какое изменение конфигурации это вызвало.
Поставляется Alive VM в виде виртуального модуля (Virtual Appliance), также доступна версия для установки на сервер Windows Server. Все действия с фронтендом производятся через веб-интерфейс. Плюс не нужна отдельная база данных.
Условия акции - продукт бесплатно предоставляется для всех пользователей, купивших продукт VMware vSphere, участвующий в акции, в период с 23 ноября 2010 года по 1 марта 2011 года (лицензии на 50 наблюдаемых виртуальных машин).
Компания VMware выпустила 17-страничный документ "Performance of Virtualized SQL Server–Based VMware vCenter Database", где рассматриваются основные аспекты производительности базы данных Microsoft SQL Server для сервера VMware vCenter в виртуальной машине инфраструктуры vSphere.
Результаты:
Большинство требовательных к ресурсам операций базы MS SQL на виртуальном vCenter по производительности сравнимы с физической инсталляцией.
SQL Server–based vCenter, управляющий большим количеством хост-серверов ESX и кластеров, вполне может работать в виртуальной машине.
Базы данных MS SQL в общем случае работают почти без потери производительности в виртуальных машинах на vSphere 4.1.
Есть такая компания VMTurbo - они делают утилиты для виртуальной инфраструктуры VMware vSphere. Кое-что у них получается, кое-что нет, а вот на днях они выпустили 2 новых утилиты: Host Resolver 1.0 и Storage Reporter 1.0. Обе они построены на базе виртуальных модулей (Virtual Appliance) с ОС Novell SUSE Linux как часть пакета VMTurbo Integrated Management Suite для виртуальных сред VMware.
Эта утилита позволяет проанализировать окружение серверов VMware ESX, выявить проблемы в существующей инфраструктуре и предложить пути их решения - типа изменить число виртуальных CPU или переконфигурировать сетевые настройки. После этого можно исправить ошибки вручную или автоматически с помощью данной утилиты.
Эта утилита позволяет проанализировать использование виртуальными машинами систем хранения, понять основные параметры производительности при работе со стораджами (IOPS, Latency) и отслеживать основные их параметры с течением времени (заполненность, снапшоты и прочее). Кроме того, может выдавать рекомендации по необходимости внесения изменений в конфигурации хранилищ (например, расширение).
Данное ПО поставляется в виде виртуальной машины для развертывания на XenServer, которая позволяет отслеживать производительность сетевого взаимодействия и работу виртуальных машин с хранилищами (storage I/O и network I/O). Через веб-интерфейс можно получить информацию о следующих аспектах производительности:
Disk I/O performance utility - предоставляет следующую информацию: sequential read/writes и random read/writes с различными размерами блоков.
Network I/O performance utility - это модифицированная версия утилиты netperf. Позволяет мониторить пропускную способность сети и задержки.
Скачать Citrix XenServer Virtual Machine Performance Utility можно по этой ссылке.
Компания VMware выпустила очень полезный и нужный Performance Best Practices for VMware vSphere 4.1, который нужно прочитать каждому администратору более-менее серьезной виртуальной инфраструктуры серверов ESX. Содержание вполне конкретное:
Hardware for use with VMware vSphere
ESX and virtual machines
Guest operating systems
Virtual infrastructure management
Например:
To establish a network connection between two virtual machines that reside on the same ESX system, connect both virtual machines to the same virtual switch. If the virtual machines are connected to different virtual switches, traffic will go through wire and incur unnecessary CPU and network overhead
Интересно, что в документе есть рекомендации по выбору и оптимизации аппаратного обеспечения, которые нужно прочитать до покупки серверов и других компонентов виртуальной инфраструктуры.
Мы уже писали о команде esxtop для серверов VMware ESX, которая позволяет отслеживать основные параметры производительности хост-сервера и его виртуальных машин. Duncan Epping недавно добавил еще несколько интересных моментов в свое руководство по работе с утилитой esxtop, некоторые из которых мы сейчас опишем.
Итак:
1. Для того, чтобы использовать пакетный режим работы esxtop (batch mode), нужно использовать ключ -b:
esxtop -b >perf.txt
Это позволит вывести результаты команды esxtop в файл perf.txt. Для задания числа хранимых итераций используйте ключ -n (например, -n 100).
Очень удобно для сбора исторических данных производительности на хосте VMware ESX.
2. Контролируйте счетчик %SYS - он показывает загрузку системных ресурсов хоста (в процентах). Рекомендуется, чтобы он не превышал 20 для системных служб.
3. Для установки частоты обновлений результатов esxtop используйте клавишу <s>, далее задавайте интервал в секундах:
В пакетном режиме этот интервал задается ключом -d (например, -d 2).
4. Для отслеживания метрик конкретной виртуальной машины можно ограничить вывод конкретным GID. Например, чтобы посмотреть ВМ с GID 63, нажмите клавишу <l> (list) и введите этот GID:
5. Чтобы ограничить количество выводимых сущностей, используйте клавишу <#>. Например, можно сделать вывод первых 5:
И сами кнопки в режиме работающей esxtop:
c = cpu
m = memory
n = network
i = interrupts
d = disk adapter
u = disk device (включая NFS-девайсы)
v = disk VM
y = power states
V = показывать только виртуальные машины
e = раскрыть/свернуть статистики CPU для конкретного GID
k = убить процесс (только для службы техподдержки!)
l = ограничить вывод конкретным GID (см. выше)
# = ограничить число сущностей (см. выше)
2 = подсветка строчки (двигает фокус вниз)
8 = подсветка строчки (двигает фокус вверх)
4 = удалить строчку из результатов вывода
f = добавить/удалить колонки
o = изменить порядок колонок
W = сохранить сделанные изменения в файл конфигурации esxtop
? = помощь для esxtop
Для тех, кто следит за развитием продуктов для виртуализации настольных ПК VMware View и Citrix XenDesktop, аналитическая компания Gartner подготовила интересное сравнение быстродействия протоколов VMware View (протокол PCoIP) и Citrix XenDesktop (протокол ICA / HDX) в сетях LAN и WAN.
Вывод - в LAN быстродействие приблизительно одинаковое, а вот в WAN-соединениях однозначно выигрывает Citrix XenDesktop. Вот одно из четырех сравнений для XenDesktop 4.0 Service Pack 1 и VMware View 4.5 :
Наконец-то. Компания VMware выпустила открытый и достаточно полный документ VMware View Optimization Guide for Windows 7, в котором рассказывается о том, как правильно подготовить виртуальные ПК с гостевой ОС Windoows 7 для использования в рамках VDI-решения на вашем предприятии.
Наши инженеры всерьез озаботились тем, как же правильно подготовить гостевую операционную систему виртуальной машины с учетом специфики решения для виртуализации настольных ПК VMware View 4.
Публичных хороших рекомендаций на данный момент несколько:
Как вы знаете, в новой версии платформы виртуализации VMware vSphere 4.1 появилась замечательная возможность создавать виртуальные машины, у которых один виртуальный процессор (vCPU) может иметь несколько ядер (Multicore vCPU). Более ранние версии VMware ESX умели представлять только одно ядро на виртуальный vCPU машины, а сама возможность многоядерности процессоров ВМ была экспериментальной.
Как известно, многие возможности VMware vSphere приходят из настольных платформ, после того, как пройдут "обкатку" пользователями на некритичных виртуальных окружениях. Например, тонкие диски или технология TPS, которая называлась просто Page Sharing, насколько я помню, пришли из VMware Workstation.
Теперь в VMware ESX 4.1 можно создавать несколько виртуальных ядер, правда не так элегантно как это реализовано в VMware Workstation 7:
Операционная система в этом случае будет видеть виртуальные ядра vCPU виртуальной машины как отдельные логические процессоры.
Чтобы сделать это в VMware ESX 4.1, нужно открыть свойства виртуальной машины, перейти на вкладку Options и выбрать категорию General в списке Advanced options. Затем нужно нажать кнопку Configuration Parameters, которая позволит изменить vmx-файл конфигурации ВМ с помощью построчного добавления параметров и их значений.
Нужно добавить вот такую строчку в качестве параметра:
cpuid.coresPerSocket
В качестве значения можно задавать число ядер на виртуальные vCPU нашей машины. При этом число ядер должно быть степенью числа 2 (то есть 1, 2, 4 или 8 ядер - про большее не упоминается в документации).
Какие требования предъявляются к виртуальным машинам с несколькими ядрами на одном vCPU:
Поддерживается в производственной среде только для VMware ESX 4.1
Virtual Machine hardware должно быть версии 7 или выше
Чтобы настроить этот параметр, нужно предварительно выключить виртуальную машину
Опция CPU hot Add/Remove будет отключена
Почему так далеко запрятана эта возможность? Ответ прост - чтобы не баловались. Потому как нужна она только в случаях, когда особенно требуется экономия на лицензировании при необходимости наращивания производительности виртуальной машины (как раз за счет числа виртуальных ядер). То есть, если ОС или приложения лицензируются на процессор (в данном случае виртуальный), то нашпиговывание его виртуальными ядрами не увеличит стоимость необходимых лицензий, но увеличит производительность ВМ.
Однако, здесь есть одно но. Необходимо внимательно читать EULA к своему развертываемому ПО в виртуальных машинах, где определены понятия сокета, процессора и ядра, в том числе, иногда и для виртуальных сред. Очень вероятно, что такой финт с наращиванием ядер будет нарушать условия EULA.
На сервере VMware ESX из состава vSphere, если запустить утилиту esxtop и перейти в категорию дисковой подсистемы (кнопка "d"), можно увидеть счетчик CMDS/s.
Что он значит? CMDS/s (Total commands per second) - это общее число SCSI - команд, передаваемых к системе хранения, включая операции ввода-вывода вывода виртуальных машин, а также сервисные команды (например, SCSI reservations). Если говорить о параметре IOPS (Input/Output Operations Per Second) - то это общее число операций ввода-вывода, представляющее сумму:
IOPS = Number of Read commands(READS/s) + Number of Write commands(WRITES/s)
Таким образом, число IOPS должно быть близко к CMDS/s, за исключением случаев, когда сервер VMware ESX активно работает с метаданными тома VMFS (например, создает и удаляет снапшоты).
Компания VMware планирует выпустить новую версию платформы виртуализации VMware vSphere 4.1 не позднее осени этого года (хотя, может быть и раньше). vSphere 4.1 будет обладать множеством новых возможностей, список которых вполне тянет на версию 4.5, а вот, что сегодня известно об улучшениях производительности в новой версии продукта...
Компания VKernel продолжает выпуск бесплатных программных продуктов для виртуализации VMware vSphere. На этот раз это утилита VKernel StorageView, которая позволяет найти "узкие" места в инфраструктуре хранения виртуальных машин. Это обычное десктоп-приложение весом в 6 МБ, которое может быть установлено на рабочей станции администратора и позволяет найти соединения хостов ESX с наибольшими задержками (latency) к томам VMFS или NFS.
Возможности VKernel StorageView:
Топ 5 путей хост / datastore с наибольшей latency
Список виртуальных машин, которые используют эти пути
Скорость обмена трафиком хранения для каждой ВМ в этих путях
Сводная статистика по остальным парам хост / datastore, не вошедшим в топ 5
Все больше и больше вопросов возникает о решении VMware View 4, особенно по его использованию в сетях WAN. Мы уже писали о способах организации VPN для View, о документе "VMware View 4 with PCoIP" (где рассказывается о производительности PCoIP в сетях WAN), да и много о чем еще.
А вот сегодня хочу порекомендовать документ "VMware View WAN Reference Architecture", где тоже можно найти интересные подробности о производительности VMware View 4, полученные в реальных условиях для различных типов нагрузки в условиях WAN-каналов разной пропускной способности.
Если обобщить, то в инфраструктуре настольных ПК, доставляемой через Интернет, важны такие параметры, как пропускная способность канала (bandwidth) и задержки между отправкой и получением пакета (latency). Bandwidth влияет на то из каких мест (с какой шириной канала), а также сколько и каких виртуальных ПК VMware View можно использовать а данной инфраструктуре. Latency - это характеристика среды предачи, определяющая задержки в ней (и, как следствие, комфорт работы пользователя), на которую влияет удаленность объектов (клиента и сервера) и число "прыжков" между ними.
С точки зреня пропускной способности WAN-соединения, минимум, что требует RDP - это 30 kbps. Нормальая работа для базовых задач в типовой ОС Windows XP с 512-1024 МБ RAM (без видео и прочей мультимедии, которая требуется нечасто) лежит в диапазоне 50-150 kbps и более и зависит от характера нагрузки.
Если говорить о latency, то величина задержек до 150-200 миллисекунд еще не так сильно влияет на комфортность работы пользователя виртуального ПК VMware View 4, но после 200 ms начинаются тормоза.
Итак, взяли вот такой виртуальный ПК:
Microsoft Windows XP guest operating system with Service Pack 2
1 vCPU
512 МБ RAM
8 ГБ диск
RDP encryption - отключено
Тип нагрузки - VMware desktop
Взяли также 3 варианта использования данного ПК в ИТ-инфраструктуре компании в WAN-сетях:
Доступ из дома или офиса без WAN-оптимизации канала (Тип соединения - DSL or cable modem,
Bandwidth - 384 Kbps,
Latency - < 50 ms,
Число пользователей - от 3 до 5,
пример нагрузки - домашние пользователи, сотрудники небольшой клиники). Что получилось (первый случай - легкая нагрузка, второй - чуть потяжелее):
Доступ между небольшими офисами с WAN-оптимизацией (Тип соединения - T1 link,
Bandwidth - 1.544 Mbps,
Latency - до 100 ms,
Число пользователей - до 15, пример нагрузки - небольшой филиал или удаленный офис). Результаты:
Хороший канал между офисами с WAN-оптимизацией (Тип соединения - 10Mbps,
Bandwidth 10Mbps,
Latency - до 100 ms, Число пользователей - 100, пример нагрузки - нормальный филиал большой компании). Вот как получается:
Компания VKernel обновила продукт Optimization Pack, который позволяет контролировать использование вычислительных ресурсов в среде VMware vSphere. Основная задача VKernel Optimization Pack 1.4 - дать возможность системным администраторам серверов ESX найти перегруженные и недогруженные серверы виртуализации, осуществлять контроль заполненности хранилищ и давать рекомендации по оптимизации виртуального окружения.
VKernel Optimization Pack поставляется как виртуальный модуль (Virtual Appliance) и легко может быть внедрен в существующую инфраструктуру VMware vSphere. Он предоставляет различного рода статистики, которые могут быть использованы для мониторинга и отчетности (Inventory виртуальных машин, снапшоты, превышение порогов загрузки, неиспользуемые ВМ), а также выдает рекомендации что нужно сделать, чтобы сбалансировать использование ресурсов серверов и хранилищ.
Из отчетов можно отметить следующие:
Rightsizer Summary (типа как должно быть правильно)
Wastefinder: Abandoned VMs
Wastefinder: Powered off VMs
Wastefinder: Unused Templates
Wastefinder: Unused Snapshots
Wastefinder: Zombie VMs
Скачать VKernel Optimization Pack можно по этой ссылке.
Как вы знаете, любая платформа виртуализации требует накладных расходов на содержание виртуальных машин на хост-сервере. Это называется virtualization overhead. Обычно он находится в пределах нескольких процентов и не сильно влияет на производительность и потребление ресурсов сервера виртуализации.
У серверов VMware ESX также есть overhead по памяти для виртуальных машин, которую использует гипервизор для задач поддержки и обслуживания вычислительных ресурсов ВМ (там хранятся структуры данных, объем которых зависит от кофигурации машины). Overhead непосредственно зависит от числа vCPU виртуальной машины и, естественно, от выделенной оперативной памяти ВМ. Размер накладных расходов в мегабайтах представлен в таблице ниже:
Компания Citrix продолжает развивать свой продукт Citrix XenServer, у которого также существует и бесплатное издание. Недавно Citrix выпустила документ XenServer Performance Monitoring for Scalability Testing, где затрагиваются основные практические моменты отслеживания и тестирования производительности серверов виртуализации Citrix XenServer.
Всем администраторам, использующим как бесплатный, так и платные издания Citrix XenServer, рекомендуется. Тем более, что там есть creative scripting в bash.
Сегодня ситуация, когда у пользователя платформ виртуализации есть инфраструктура виртуальных серверов VMware vSphere и Microsoft Hyper-V R2, является достаточно редкой (хотя в России такие примеры есть). Но число таких пользователей будет расти, об этом даже где-то говорила Gartner. Специально для них компания Veeam на конференции Microsoft Management Summit 2010 анонсировала выпуск программного продукта Veeam PRO Pack, который позволяет обнаруживать и решать проблемы в виртуальной инфраструктуре под управлением Microsoft System Center Virtual Machine Manager (SC VMM).
Если раньше был продукт Veeam nworks Management Pack для System Center Operations Manager, который позволял интегрировать инфраструктуру мониторинга от Microsoft и виртуализации от VMware, то теперь PRO Pack дополняет его на уровне решения SC VMM. PRO Pack, как нетрудно догадаться по его названию, использует технологию Performance and Resource Optimization (PRO) от компании Microsoft, что позволяет своевременно обнаруживать и решать проблемы производительности виртуальных машин VMware vSphere под управлением SC VMM. Также обещают поддержку балансировки нагрузки между хостами и функций Intelligent Placement в System Center Virtual Machine Manager 2008 R2. Например, у виртуальной машины появились какие-то проблемы, они отображаются в виде алерта в SC VMM, после чего они решаются автоматически или вручную, например, миграцией виртуальной машины на другой, менее загруженый, хост VMware ESX.
Veeam nworks PRO Pack будет поставляться с версией 5.5 продукта Veeam nworks Management Pack для VMware. Выход продукта PRO Pack намечен на второй-третий квартал этого года, пока же можно скачать релиз-кандидат Veeam PRO Pack. Оставайтесь с нами и вы узнаете об этом новом продукте первыми.
Компания VKernel, известный поставщик решений для виртуальной инфраструктуры VMware vSphere, выпустила очередную бесплатную утилиту VKernel AppView для виртуальных машин на VMware ESX. VKernel AppView позволяет системным администраторам vSphere наблюдать за производительностью пяти наиболее критичных виртуальных машин, своевременно обнаруживать проблемы конфигурации ресурсов и оповещать о необходимости их добавления.
Работает VKernel AppView следующим образом:
1. Вы выбираете 5 наиболее критичных виртуальных машин в своей инфраструктуре VMware vSphere. Summary по отсавшимся машинам выводится ниже.
2. Ежедневно данные по этим виртуальным машинам собираются в AppView и выводятся в виде галочек (все в порядке) либо в виде иконок, цвет которых соответствует критичности проблемы.
3. При клике на иконку выводится информация о проблеме с виртуальной машиной.
4. Описание проблемы выводится в виде рекомендаций по увеличению системных ресурсов.
5. По кнопкам в правой части можно скачать пакет Optimization Pack и решить проблему не только сейчас, но и в будущем при росте нагрузок.
Оказывается у компании VMware есть интересный документ "VMware View 4 with PCoIP", где рассматриваются основные особенности работы протокола PC over IP для VMware View 4 в сетях LAN и WAN. Там же есть интересная картинка о сравнении производительности протоколов PCoIP и RDP:
Напоминаю, что поскольку VMware View 4 не поддерживает тунеллирование протокола PCoIP в сетях WAN, требуется организация VPN-канала.
Как мы уже писали, компания VMware сделала еще один тип виртуального SCSI-адаптера в VMware vSphere, который получил название VMware Paravirtual SCSI (PVSCSI). Паравиртуализованное устройство PVSCSI позволяет добиться большей производительности дисковой подсистемы витуальных машин на серверах VMware ESX и снижения нагрузки на CPU серверов.
Если посмотреть в документ компании VMware PVSCSI Storage Performance, то там можно увидеть вот такие интересные результаты для производительности дисков виртуальных машин на ESX по сравнению с адаптером LSI:
Однако, когда нужно использовать адаптер PVSCSI для виртуальных машин на ESX? Оказывается, несмотря на его чудесную производительность, не всегда. Согласно вот этой статье Скотта Драммонда, одного из гуру производительности VMware ESX, адаптер PVSCSI нужно использовать только тогда, когда ваше приложение дает значительную нагрузку на дисковую подсистему (high IO workload), а совокупная пропускная способность канала к СХД ее поддерживает (включая то, сколько IOPS может выдавать система хранения).
Вот объяснение данного явления. При росте требований виртуальных машин к дисковой подсистеме возникают interrupt coalescing, то есть объединение прерываний к СХД в пачки для более их быстрой обработки. С помощью этой техники производительность адаптера SCSI увеличивается по сравнению с одиночным выполнением прерываний при большом количестве IO.
На собирание этой пачки требуется какое-то время, поэтому возникает небольшой delay, который потом компенсируется быстрым выполнением команд пачки.
Теперь пара терминов:
Outstanding IOs (OIOs) - количество запросов на ввод-вывод со стороны виртуальной машины (demand of IO).
IOs per second (IOPS) - количество запросов на ввод-вывод, которое может обеспечить хранилище (supply of IO).
Так вот LSI адаптер увеличивает этот самый interrupt coalescing на базе как OIOs, так и IOPS по мере роста нагрузки на сторадж. При малом количестве запросов IO, он этот coalescing не использует.
А вот PVSCSI сейчас работает по другому - он использует interrupt coalescing только на базе OIOs. То есть, если растут только требования виртуальных машин к СХД (без роста пропускной способности по IOPS) - начинается interrupt coalescing, соответственно растут задержки.
Для больших же OIOs и IOPS - адаптер PVSCSI дает ощутимый рост производительности и снижает нагрузку на CPU за счет паравиртуализации (на значениях 10-50K IOPS). На нескольких же сотнях IOPS этот эффект практически не ощутим. То есть, если запросы на IO от виртуальных машин больше того, что может выдавать система хранения, то адаптер LSI будет работать эффективнее PVSCSI в силу меньших задержек.
В следующих версиях ESX компания VMware сделает interrupt coalescing на базе как OIOs, так и OIPS, поэтому адаптер PVSCSI будет работать лучше.
Вывод таков - не используйте PVSCSI в окружениях с малой производительностью дисковой подсистемы и низких нагрузках по IO.
А вот, что советует Скотт:
На данный момент используйте PVSCSI для дисков VMDK, которые находятся на быстром хранилище (более 2,000 IOPS).
Если у вас есть адаптеры PVSCSI в окружениях с низким IO, не надо их переконфигурировать на LSI, поскольку потери производительности почти незаменты, а приложения все равно не требовательны к ней.
Для будущих версий VMware ESX / ESXi адаптер PVSCSI будет эффективнее LSI Logic для любых окружений.
Многим пользователям VMware должна быть известна техника Memory Overcommit, которая представляет собой, по-сути, совокупность трех технологий:
Memory Balooning - выдергивание неиспользуемой памяти из гостевой системы и ее передача нуждающимся виртуальным машинам
Технологии использования файлов подкачки (swap) и Memory Compression (появится в следующих релизах vSphere)
Transparent Page Sharing - техника поиска и удаления дубликатов страниц памяти виртуальных машин (остаются только ссылки на них)
Сегодня мы как раз и поговорим о последней технологии - Transparent Page Sharing. По статистике она позволяет экономить до 15% и более оперативной памяти хост-сервера VMware ESX, что, естественно, ведет к большему (по сравнению с другими платформами) коэффициенту консолидации виртуальных машин.
Отчасти, именно благодаря Transparent Page Sharing, продуктам компании VMware удавалось выгодно отличаться от конкурирующих платформ виртуализации. Page Sharing работает со страницами памяти размером 4 килобайта, что практически не влияет на производительность сервера виртуализации.
Так вот, согласно вот этой статье Alessandro Perilli, операционные системы Windows 7 и Windows Server 2008 R2 уже поддерживают технологию Large Memory Pages, которая позволяет использовать страницы памяти размером 2 мегабайта (чувствуете разницу на 2 с половиной порядка?). Кроме того, эта технология поддерживается и в процессорах Intel Nehalem, а также последних моделях AMD Opteron. Так вот исследование показало, что большие страницы памяти Large Memory Pages работают на 20% производительнее маленьких на новом железе. Что позволяет говорить о том, что эта техника использования памяти в операционных системах скоро станет стандартной.
Теперь вернемся к Transparent Page Sharing. Во-первых, подумайте - сколько дубликатов страниц вы найдете, если размер страницы увеличился в 500 раз? Наверное, процент этих страниц будет очень и очень близок к нулю. Во-вторых, по заверениям Microsoft (объяснявшей возможности функций Dynamic Memory в новой версии Hyper-V), процесс исследования двухмегабайтовых страниц памяти побитно, их хэширование и сохранение в таблице учета дубликатов может занять часы!
Данные факты подтверждаются и сотрудником самой VMware, который говорит о том, что ESX не трогает большие страницы:
The only problem is that when large pages is used, Page Sharing needs to find identical 2M chunks (as compared to 4K chunks when small pages is used) and the likelihood of finding this is less (unless guest writes all zeroes to 2M chunk) so ESX does not attempt collapses large pages and thats [sic] why memory savings due to TPS goes down when all the guest pages are mapped by large pages by the hypervisor.
Понимаете о чем это? Это о том, что технология Transparent Page Sharing в ее нынешнем виде может умереть...
Как вы, может быть, знаете, два человека (Ruben Spruijt и Jeroen van de Kamp), представляющие объединение Login Consultants, опубликовали сравнение производительности гипервизоров для VDI-нагрузок в составе платформ виртуализации VMware vSphere, Microsoft Hyper-V и Citrix XenServer. В этих тестах платформа VMware vSphere сработала медленнее всех.
Плохая производительность наблюдалась под нагрузками Microsoft Terminal Services на процессорах серии Intel 5500 (Nehalem) с включенной технологией Hyper-Threading (HT). Данный факт, в отличие от результатов других независимых и не очень тестов, был признан компанией VMware.
Теперь, после предоставления патча для ESX, результаты VMware vSphere в плане производительности значительно улучшились:
Новую версию исследования Login Consultants можно скачать по этой ссылке.
P.S. Кстати, компания Citrix вроде бы хотела взять методику этих ребят на вооружение для доказательства превосходства своего продукта Citrix XenDesktop. А что будет теперь?
О компании StarWind мы уже немного рассказывали. Эта компания делает продукт для создания программного iSCSI хранилища для серверов VMware vSphere / ESX, Microsoft Hyper-V и Citrix XenServer под названием StarWind Server.
На данный момент флагманский продукт компании - StarWind Enterprise HA, который позволяет сделать отказоустойчивое хранилище на базе Windows-серверов, например, для VMware ESX, которое в случае отказа одного узла с Datastore виртуальных машин может автоматически переключаться на резервное хранилище, которое синхронизировано с основным.
Но кроме всего прочего, StarWind позволяет сделать RAM Disk и использовать его в качестве виртуального хранилища iSCSI. Совсем недавно компания Intel тестировала свои iSCSI адаптеры для серверов и с помощью ПО StarWind добилась внушительного результата в 1 000 000 IOPS по iSCSI в сети 10 Gbit:
Полностью документ компании Intel можно скачать по этой ссылке.
Если в плане серверной виртуализации лидерство VMware на сегодняшний день очевидно, и всяческие сравнения платформ от других вендоров, зачастую, кажутся просто смешными, то в плане виртуализации настольных ПК не все так гладко. Компания Citrix, привлекая маркетинговые ресурсы, продолжает наезды на VMware и весьма небезуспешно. Действительно, технология HDX от Citrix в решении XenDesktop в некоторых тестах превосходит по производительности протокол PCoIP.
В феврале 2010 года компания Citrix заказала сравнение VMware View PCoIP и Citrix XenDesktop HDX у компании Miercom (сам документ можно скачать здесь), в котором, само собой, последний продукт оказался быстрее, выше и сильнее. А именно:
XenDesktop 4 использует на 64% меньшую полосу пропускания, чем View 4 + PCoIP для типовых задач
Flash video доставляется в виртуальный ПК с нагрузкой на CPU на 65% меньшей у XenDesktop, ему необходима на 89% меньшая полоса пропускания, при этом качество доставки Flash-графики у XenDesktop отмечено значительно лучшее
XenDesktop 4 более оптимально расходует ресурсы и более эффективно масштабируется
Все это компания Citrix решила оформить в виде акции:
Примечательно, что недавно независимое исследование выявило проигрыш VMware View не только Citrix XenDesktop, но и Microsoft Hyper-V. Примечательно, что в данном случае факт проигрыша по производительности VMware признала (при некоторых условиях).
Компания VMware запустила новый сервис VMware Labs, где разработчики компании могут опубликовать различные утилиты и программы для платформ VMware, которые могут оказаться полезными при работе с инфраструктурой виртуализации. Назначение проекта Labs - публикация собственных разработок инженерами компании, которые впоследствие могут быть включены в различные продукты VMware. На данный момент утилиты для VMware vSphere доступны как Technology Previews под open source лицензиями и без каких-либо гарантий в отношении работы в производственной среде и возможности их дальнейшего полноценного выпуска.