Все больше и больше вопросов возникает о решении 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 лицензиями и без каких-либо гарантий в отношении работы в производственной среде и возможности их дальнейшего полноценного выпуска.
Как вы знаете, у сервера VMware ESX есть команда esxtop для отслеживания различных метрик производительности виртуальных машин на хосте. Кроме того, есть утилита vscsiStats, позволяющая осуществлять мониторинг производительности дисковой подсистемы сервера VMware ESX.
Известный изготовитель "шпаргалок" по виртуальной инфраструктуре VMware vSphere, Forbes Guthrie, выпустил небольшое руководство по использованию команд esxtop и vscsiStats, которое можно скачать по ссылке ниже:
Интересная особенность - руководство сделано в форм-факторе кредитной карты, что позволяет, например, запихнуть такую карточку в карман недоумевающему системному администратору со словами "учи матчасть!".
Зачастую бывает необходимо понять причины, по которым та или иная виртуальная машина на сервере VMware ESX испытывает проблемы производительности (тормозит). Можно воспользоваться встроенными графиками производительности VMware vCenter (вкладка Performance), однако этого может оказаться недостаточно. В консольной ОС VMware ESX (Service Console) есть утилита esxtop, которая позволяет отслеживать все аспекты производительности сервера виртуализации, а для VMware ESXi доступна утилита resxtop, которую можно запустить с помощью VMware vSphere Management Assistant.
Компания NetApp выпустила Whitepaper под названием "VMware vSphere multiprotocol performance comparison using FC, iSCSI and NFS", где рассматриваются аспекты производительности указанных протоколов при использовании общих хранилищ VMware vSphere / ESX на массивах NetApp. В частности, есть вот такая картинка, говорящая о том, что, по большому счету, все более-менее одинаково:
Кому интересны комментарии самой NetApp к документу - читайте запись "New VMware and NetApp Protocol Performance Report" в блоге сотрудника компании. Результаты тестирования производительности общих хранилищ для серверов VMware ESX были одобрены компанией VMware.
Компания VMware выпустила интересный документ о продукте для обеспечения катастрофоустойчивости виртуальной инфраструктуры VMware Site Recovery Manager (SRM) 4. В нем описано, каким образом настроить компоненты VMware vSphere 4 и SRM 4 так, чтобы минимизировать время восстановления серверов ESX и виртуальных машин в случае аварии или катастрофы.