В прошлом году Вильям Лам продемонстрировал метод настройки строки железа SMBIOS с использованием Nested ESXi, но решение было далеко от идеала: оно требовало модификации ROM-файла виртуальной машины и ограничивалось использованием BIOS-прошивки для машины Nested ESXi, в то время как поведение с EFI-прошивкой отличалось.
В конце прошлого года Вильям проводил исследования и наткнулся на гораздо более изящное решение, которое работает как для физического, так и для виртуального ESXi. Существует параметр ядра ESXi, который можно переключить, чтобы просто игнорировать стандартный SMBIOS оборудования, а затем эмулировать собственную пользовательскую информацию SMBIOS.
Шаг 1 – Подключитесь по SSH к вашему ESXi-хосту, отредактируйте файл конфигурации /bootbank/boot.cfg и добавьте ignoreHwSMBIOSInfo=TRUE в строку kernelopt, после чего перезагрузите систему.
Шаг 2 – Далее нам нужно выполнить команду vsish, чтобы настроить желаемую информацию SMBIOS. Однако, вместо того чтобы заставлять пользователей вручную создавать команду, Вильям создал простую функцию PowerShell, которая сделает процесс более удобным.
Сохраните или выполните приведенный ниже фрагмент PowerShell-кода, который определяет новую функцию Generate-CustomESXiSMBIOS. Эта функция принимает следующие шесть аргументов:
Uuid – UUID, который будет использоваться в симулированной информации SMBIOS.
Вам потребуется перезапустить службу hostd, чтобы информация стала доступной. Для этого выполните команду:
/etc/init.d/hostd restart
Если вы теперь войдете в ESXi Host Client, vCenter Server или vSphere API (включая PowerCLI), то обнаружите, что производитель оборудования, модель, серийный номер и UUID отображают заданные вами пользовательские значения, а не данные реального физического оборудования!
Пользовательский SMBIOS не сохраняется после перезагрузки, поэтому вам потребуется повторно запускать команду каждый раз после перезагрузки вашего хоста ESXi.
Компания VMware недавно выпустила интересное видео в рамках серии Extreme Performance, где рассматривается, как технологии Memory Tiering могут оптимизировать серверную инфраструктуру, улучшить консолидацию серверов и снизить общую стоимость владения (TCO). Ведущие эксперты, работающие в сфере производительности платформ VMware, делятся новейшими разработками и результатами тестов, которые помогут сделать работу администраторов с серверами более эффективной.
Основные моменты видео:
Что такое Memory Tiering? Memory Tiering — это технология, реализованная в ядре ESXi, которая прозрачно для приложений и гостевых ОС разделяет память на два уровня:
Tier 1: Быстрая память DRAM.
Tier 2: Бюджетные и емкие устройства памяти, такие как NVMe SSD и CXL.
Преимущества Memory Tiering:
Увеличение доступной памяти за счет использования NVMe в качестве памяти второго уровня.
Снижение затрат на память до 50%.
Исключение таких проблем, как ballooning и случайный обмен страницами.
Реальные результаты:
Удвоение плотности виртуальных машин (VMs): на одной хост-машине можно разместить вдвое больше ВМ без заметной потери производительности (<3%).
Оптимизация работы баз данных: для SQL Server и Oracle наблюдалось почти линейное масштабирование с минимальными потерями производительности.
Стабильный пользовательский опыт (VDI): эталонный тест Login VSI показал, что даже при удвоении числа ВМ пользовательский опыт остается на высоком уровне.
Ключевые метрики и рекомендации:
Active memory: один из основных параметров для мониторинга. Оптимальный уровень — около 50% от объема Tier 1 (DRAM).
Использование NVMe: рекомендации по чтению и записи (до 200 мс latency для чтения и 500 мс для записи).
Практические примеры и кейсы:
Клиенты из финансового и медицинского секторов, такие как SS&C Cloud, уже успешно применяют Memory Tiering, чтобы уменьшить затраты на серверы и улучшить их производительность.
Советы по настройке и мониторингу:
Как отслеживать активность NVMe-устройств и состояние памяти через vCenter.
Какие показатели важны для анализа производительности.
Кому будет полезно:
Системным администраторам, DevOps-инженерам и специалистам по виртуализации.
Организациям, которые стремятся сократить затраты на ИТ-инфраструктуру и повысить плотность виртуализации.
Любителям передовых технологий, которые хотят понять, как современные подходы меняют управление памятью в дата-центрах.
Memory Tiering — это прорывная технология, которая уже сегодня позволяет добиться больших результатов в консолидации серверов. Узнайте, как её применить в вашем окружении, и станьте частью следующего поколения производительности серверов.
Таги: VMware, vSphere, Memory, Performance, NVMe, Video
Как вы знаете, главным релизом этого года стала новая версия платформы VMware vSphere 8, где появилось множество новых возможностей и улучшений уже существующих технологий. Одной из интересных функций стала vSphere Virtual Topology.
Для виртуальных машин с Hardware version 20 теперь доступно простое конфигурирование vNUMA-топологии для виртуальных машин:
Для виртуальных машин теперь доступна информационная панелька CPU Topology с конфигурацией vNUMA:
Недавно компания VMware выпустила документ "vSphere 8.0 Virtual Topology Performance Study", где рассматриваются аспекты производительности новой технологии, которую назвали vTopology. Виртуальная топология CPU включает в себя такие техники, как virtual sockets, узлы virtual non-uniform memory access (vNUMA), а также механизм кэширования virtual last-level caches (LLC).
До vSphere 8.0 дефолтной конфигурацией виртуальных машин было одно виртуальное ядро на сокет - это в некоторых случаях создавало затыки в производительности и неэффективность использования ресурсов. Теперь же ESXi автоматически подстраивает число виртуальных ядер на сокет для заданного числа vCPU.
На картинке ниже показана высокоуровневая архитектура компонентов двухсокетной системы. Каждый сокет соединен с локальным узлом памяти (memory bank) и образует с ним NUMA-узел. Каждый сокет имеет 4 ядра (он имеет кэши L1 и L2), а ядра шарят между собой общий кэш last-level cache (LLC).
Когда создается виртуальная машина с четырьмя vCPU, в vSphere она конфигурируется на одном сокете, вместо четырех, как это было ранее:
Так это выглядит в выводе команды CoreInfo для двух рассмотренных топологий:
Слева - это старая конфигурация, где был один vCPU на сокет, а справа - 4 vCPU (виртуальных ядер ВМ) на один сокет.
В указанном документе VMware проводит различных конфигураций (от 8 до 51 vCPU на машину) для разных нагрузок с помощью бенчмарков и утилит DVD Store 3.5, Login VSI, VMmark, Iometer, Fio и Netperf в операционных системах Windows и Linux. Забегая вперед, скажем, что для нагрузок Oracle прирост производительности составил 14%, а для Microsoft SQL server - 17%.
Итак, результаты теста DVD Store для БД Oracle:
Статистики NUMA hits NUMA misses для гостевой ОС Linux:
Результаты тестов для Microsoft SQL server:
Результаты тестирования хранилищ с помощью IOmeter:
Производительность в разрезе метрики CPU cycles per I/O (CPIO):
На прошедшей осенью этого года главной конференции о виртуализации Explore 2022 компания VMware сделала немало интересных анонсов, главным из которых стал выпуск новых версий платформ vSphere 8 и vSAN 8. На американской и европейской конференциях много говорили о будущих новых продуктах и технологиях VMware, но несколько незамеченным остался переход VMware на новую схему релизов платформы vSphere...
На сайте virten.net, как обычно, вышла замечательная статья о реальной боли некоторых администраторов VMware vSphere - уменьшении дисков vCenter Server Appliance (vCSA). Так как vCSA работает в виртуальной машине, то иногда возникает необходимость в уменьшении ее дисков в целях простоты перемещения и компактности хранения. Но основная ситуация, когда диски vCSA чрезмерно разрастаются - это апгрейд сервера vCenter - в этом случае его хранилище может увеличиться до 1 ТБ при реально занятом пространстве в 100 ГБ. Тут уже без шринка (shrink) не обойтись.
При апгрейде vCSA установщик смотрит на аллоцированное пространство, а не на занятое, поэтому исходная машина в 416 ГБ может быть преобразована только в целевую ВМ типа Small с 480 ГБ диска:
Метод, описанный ниже, стоит применять только для виртуального модуля vCSA, который вы планируете апгрейдить, поскольку меняется порядок его дисков. Это, в целом, не проблема, но могут возникнуть сложности при взаимодействии с поддержкой VMware, которая может посчитать эту конфигурацию неприемлемой.
Перво-наперво нужно сделать бэкап вашего vCSA или его клон, с которым вы и будете работать. Если что-то не получится, вы просто сможете удалить клон.
Итак, заходим на vCSA по SSH и останавливаем все службы:
# service-control --stop --all
Выбираем файловую систему, для которой будем делать shrink. Например, /storage/seat имеет размер 296 ГБ, но реально используется 67 МБ! Запоминаем файловую систему (/dev/mapper/seat_vg-seat) и точку монтирования хранилища (/storage/seat), которое будем уменьшать.
Также из файловой системы вы можете получить Volume Group (seat_vg) и Logical Volume (seat):
Когда миграция будет закончена, sdh должен остаться пустым (Allocated PE = 0 и нет физических сегментов, только FREE):
# pvdisplay -m /dev/sdh
--- Physical volume ---
PV Name /dev/sdh
VG Name seat_vg
PV Size 300.00 GiB / not usable 7.00 MiB
Allocatable yes
PE Size 8.00 MiB
Total PE 38399
Free PE 38399
Allocated PE 0
PV UUID V7lkDg-Fxyr-qX4x-d3oi-KhNO-XZyT-EHgibI
--- Physical Segments ---
Physical extent 0 to 38398:
FREE
Удаляем sdh из Volume Group:
# vgreduce seat_vg /dev/sdh
Удаляем LVM-метки из sdh:
# pvremove /dev/sdh
Запускаем скрипт autogrow.sh для расширения файловой системы к размеру виртуального диска:
/usr/lib/applmgmt/support/scripts/autogrow.sh
Последний шаг очень важен - удаляем старый диск. Не удалите не тот! Для этого проверяем SCSI ID с помощью lsscsi:
# lsscsi |grep sdh
[2:0:8:0] disk VMware Virtual disk 1.0 /dev/sdh
Мы видим, что SCSI ID [2:0:8:0] нам нужно удалить. Помните, что номер диска не всегда совпадает с SCSI ID. Удалите правильный диск (в данном случае 8), не ошибитесь!
Это все, теперь можно перезагрузить виртуальную машину, после чего в качестве опции апгрейда будет доступен вариант апгрейда на Tiny:
Если вы хотите уменьшить другие разделы, то идентифицируйте соответствующие параметры Logical Volume, Volume Group и Virtual Disk, после чего повторите процедуру.
# lsscsi
[0:0:0:0] cd/dvd NECVMWar VMware IDE CDR00 1.00 /dev/sr0
[2:0:0:0] disk VMware Virtual disk 1.0 /dev/sda
[2:0:1:0] disk VMware Virtual disk 1.0 /dev/sdb
[2:0:2:0] disk VMware Virtual disk 1.0 /dev/sdc
[2:0:3:0] disk VMware Virtual disk 1.0 /dev/sdd
[2:0:4:0] disk VMware Virtual disk 1.0 /dev/sde
[2:0:5:0] disk VMware Virtual disk 1.0 /dev/sdf
[2:0:6:0] disk VMware Virtual disk 1.0 /dev/sdg
[2:0:8:0] disk VMware Virtual disk 1.0 /dev/sdh
[2:0:9:0] disk VMware Virtual disk 1.0 /dev/sdi
[2:0:10:0] disk VMware Virtual disk 1.0 /dev/sdj
[2:0:11:0] disk VMware Virtual disk 1.0 /dev/sdk
[2:0:12:0] disk VMware Virtual disk 1.0 /dev/sdl
[2:0:13:0] disk VMware Virtual disk 1.0 /dev/sdm
Как многие из вас знают, в последние пару лет очень сильно увеличилось число и масштаб атак, связанных с уязвимостями в аппаратном обеспечении. Наибольшую известность получили уязвимости Meltdown и Spectre, которые были обнаружены в процессорах Intel.
Самый неприятный момент, связанный с подобного рода уязвимостями - это то, что поскольку они связаны с аппаратной частью процессоров на самом низком уровне, то, во-первых, ее сложнее исправить и доставить конечным пользователям, а, во-вторых, неправильное обновление, закрывающее эти дырки, может вызвать различные побочные эффекты.
Так, например, было с производительностью серверов VMware ESXi, когда производители ОС совместно с Intel выпустили соответствующие обновления, а VMware выпустила закрывающий уязвимость патч. Сам патч тогда пришлось отозвать и ждать нового, а ведь это потраченного время администраторов, время пользователей и время, в течение которого существует угроза безопасности инфраструктуры предприятия.
Поэтому производители процессоров, совместно с вендорами платформ виртуализации, сейчас уделяют этому моменту особое внимание. Конечно же, в этом направлении работает и AMD, которая активно внедряет следующие технологии:
Secure Encrypted Virtualization (SEV) - первая версия технологии, анонсированная в 2016 году. Она позволяет изолировать виртуальные машины от гипервизора, со стороны которого может быть угроза безопасности при его компрометации. Если гипервизор попытается считать память гостевой ОС, он увидит только зашифрованные данные.
SEV-ES (Encrypted State) - вторая версия технологии, представленная в 2017 году. Она дополняет защиту памяти гостевой ОС шифрованием регистров CPU гостевой ОС. Таким образом, гипервизор не может видеть регистры процессора, активно используемые виртуальной машиной.
SEV-SNP (Secure Nested Paging) - следующее поколение технологии, которое было анонсировано в этом году. Оно добавляет функции аппаратной безопасности для контроля над интеграцией памяти гостевых ОС, что защищает от таких атак, как data replay, memory re-mapping и других (подробнее тут и на картинке ниже).
В недавнем обновлении платформы виртуализации VMware vSphere 7 Update 1 появилась поддержка технологии SEV-ES (Encrypted State), которая должна еще больше защитить от потенциальных уязвимостей, связанных с доступом к данным в рамках процессора. Работает это на процессорах AMD EPYX 7xx2 CPU
или более поздних и требует VM Virtual Hardware версии 18, которое появилось в Update 1.
Надо начать с того, что у VMware уже есть защита памяти и данных гостевой ОС на уровне платформы (а в самих ОС тоже есть средства защиты памяти и процессора), но, само собой, эти механизмы на надежны на 100%, потому что ключевой компонент платформы - гипервизор, обладает очень широкими полномочиями (в виду необходимости), и при его компрометации ничего особо не поможет. Поэтому самое разумное - это поддержать подход изоляции ВМ от гипервизора на аппаратном уровне. Он, кстати, называется Trusted Execution Environment (TEE).
Подход AMD заключается в том, что они добавляют специальный Secure Processor, маленький сопроцессор, интегрированный в основной чип CPU, который является основой безопасности и поддерживает операции шифрования, в том числе и для SEV-ES.
Первое поколение EPYC CPU поддерживало хранение только 15 ключей шифрования, но следующее поколение уже поддерживает более 500. Один из таких ключей используется для гипервизора, а остальные - для гостевых систем.
Для чего вообще нужно защищать регистры процессора гостевых систем? Очень просто - когда виртуальная машина переключает контекст исполнения (меняет процессор), гипервизор получает ресурсы CPU обратно, вместе с содержимым регистров. А в них может храниться много "полезного" для злоумышленника - например, ключи для расшифровки дисков гостевой системы.
Работает механизм ключей так - гостевая ОС запрашивает у процессора с поддержкой SEV ключ шифрования для памяти, а SEV-ES расширяет его и на регистры процессора тоже, после чего гостевая ОС может безопасно использовать память и регистры, не беспокоясь что гипервизор или другие ВМ, изолированные в рамках процессов VMX, считают их содержимое. Очевидно, что гостевая ОС тоже должна поддерживать реализацию SEV-ES (поэтому надо читать соответствующую документацию к ним, чтобы узнать о поддержке).
Самым большим минусом использования технологии SEV-ES является невозможность поддержки таких техник, как vMotion, Memory Snapshots, Guest Integrity, Hot Add, Suspend & Resume, Fault Tolerance и горячих клонов - ведь для их реализации гипервизор должен иметь прямой доступ к памяти гостевых систем. В то же время надо отметить, что это не ограничение от AMD, которая заявляет, что SEV поддерживает live migration и прочее, а ограничение реализации от VMware.
В большинстве производственных окружений невозможность применения этих технологий будет ограничивать использование SEV-ES только системами, требующих наивысшего уровня защищенности.
С другой стороны, например, недавно вышедшее решение vSphere with Tanzu не использует vMotion для машин с контейнерами виртуализованных приложений - они просто выключаются на одном хосте и включаются на другом, то есть здесь есть перспективы применения SEV-ES.
Также использованием технологии SEV-ES можно управлять в пакетном режиме сразу для нескольких тысяч виртуальных машин через интерфейс PowerCLI, что особенно актуально для контейнеров Tanzu. На данный момент VMware еще не опубликовала официальный референс по командлетам для SEV-ES, ждем.
Ну и недавно VMware выпустила интересное видео, рассказывающее о первой имплементации технологии SEV-ES в платформе VMware vSphere 7 Update 1:
Как итог можно отметить, что пока такие технологии, как Secure Encrypted Virtualization имеют достаточно узкое применение ввиду их ограничений. Однако это лишь первые шаги, которые производители процессоров делают совместно с вендорами платформ виртуализации, чтобы защитить ИТ-среду предприятия он новой волны атак на программно-аппаратную инфраструктуру датацентра. Дальше все это будет развиваться, будет и поддержка AMD SEV-SNP, что уже будет существенно уменьшать поверхность возможных атак.
На сайте проекта VMware Labs очередное обновление - вышел апдейт VMware OS Optimization Tool
b1150. Напомним, что это средство предназначено для подготовки гостевых ОС к развертыванию и проведению тюнинга реестра в целях оптимизации производительности, а также отключения ненужных сервисов и запланированных задач. О прошлой версии этой утилиты b1140 мы писали вот тут.
Давайте посмотрим, что нового есть в апрельском апдейте OS Optimization Tool:
Появилась поддержка Windows 10 version 2004 (добавлено во встроенный шаблон Windows 10 1809 – XXXX-Server 2019).
Добавлено множество оптимизаций для Windows 10 и Windows Server.
Новые настройки для приложений:
Office 2013/2016/2019:
Отключить стартовый экран
Отключить анимации
Отключить аппаратное ускорение
Internet Explorer 11 и браузер Edge:
Возможность добавить пустую домашнюю страницу
Не показывать мастер первого запуска
Отключить аппаратное ускорение
Adobe Reader 11 и DC
Отключить аппаратное ускорение
Множество дополнительных мелких оптимизаций
Несколько новых оптимизаций для служб Windows и запланированных задач, уменьшающих время инициализации ОС и увеличивающих производительность.
Несколько кнопок было переименовано и реорганизовано, чтобы лучше отражать суть того, что они делают.
Улучшения структуры файла ответов Sysprep.
Новые настройки для задач во время операции Generalize.
Автоматизация использования утилиты SDelete для обнуления блоков на диске (полезно при клонировании диска).
Создание локальных групповых политик для компьютера и пользователя, которые можно посмотреть с помощью утилит RSOP и GPEdit.
Поддержка командной строки для шага Generalize.
Finalize можно запускать без указания шаблона.
Удалены устаревшие шаблоны для Horizon Cloud и App Volumes.
В прошлом посте мы рассказывали о IOchain - цепочке прохождения пакетов через сетевой стек хоста VMware ESXi, а в этом остановимся на некоторых утилитах, работающих с этим стеком и помогающих решать различного рода сетевые проблемы.
Прежде всего, при решении проблем соединений на хосте ESXi нужно использовать следующие средства:
Но если хочется углубиться дальше в сетевое взаимодействие на хосте, то тут могут оказаться полезными следующие утилиты:
net-stats
pktcap-uw
nc
iperf
1. Net-stats.
Чтобы вывести весь список флагов этой команды, используйте net-stats -h, а вот для вывода детальной информации о номерах портов и MAC-адресах всех интерфейсов используйте команду:
net-stats -l
С помощью net-stats можно делать огромное количество всяких вещей, например, проверить включены ли на интерфейсе vmnic функции NetQueue или Receive Side Scaling (RSS) с помощью команды:
net-stats -A -t vW
Далее нужно сопоставить вывод блока sys для нужного интерфейса и вывода команды:
vsish -e cat /world/<world id>/name
2. Pktcap-uw.
Эта утилита совместно с tcpdump-uw захватывать пакеты на различных уровнях. Если tcpdump-uw позволяет захватывать пакеты только с интерфейсов VMkernel, то pktcap-uw умеет захватывать фреймы на уровне виртуального порта, коммутатора vSwitch или аплинка.
В KB 2051814 подробно описано, как можно использовать утилиту pktcap-uw. На картинке ниже представлен синтаксис использования команды, в зависимости от того, на каком уровне мы хотим ее применить:
Фильтрация пакетов для выбранного MAC-адреса:
pktcap-uw --mac xx:xx:xx:xx:xx:xx
Фильтрация пакетов для выбранного IP-адреса:
pktcap-uw --ip x.x.x.x
Автоматическое исполнение и завершение pktcap-uw с использованием параметра sleep:
pktcap-uw $sleep 120; pkill pktcap-uw
Ограничить захват заданным числом пакетов:
pktcap-uw -c 100
Перенаправить вывод в файл:
pktcap-uw -P -o /tmp/example.pcap
3. NC
NC - это олдскульная Linux-команда NetCat. Она позволяет проверить соединение по указанному порту, так как telnet недоступен на ESXi. Например, так можно проверить, что можно достучаться через интерфейс iSCSI по порту 3260 до системы хранения:
nc -z <destination IP> 3260
В KB 2020669 вы можете найти больше информации об этой команде.
4. Iperf
Эта утилита предназначена для контроля пропускной способности на интерфейсе. Она используется механизмом vSAN proactive network performance test, который доступен в интерфейсе vSAN. Поэтому при ее запуске вы получите сообщение "Operation not permitted". Чтобы она заработала, нужно создать ее копию:
По умолчанию утилита работает на портах, которые запрещены фаерволом ESXi, поэтому во время работы с ней нужно его потушить (не забудьте потом его включить):
esxcli network firewall set --enabled false
Теперь можно использовать эту утилиту для замера производительности канала (флаг -s - это сервер, -c - клиент):
Недавно мы писали про то, как работает механизм регулирования полосы канала Network I/O Control (NIOC) в VMware vSphere, который позволяет приоритизировать различные типы трафика на одном сетевом адаптере, а сегодня взглянем на сам механизм прохождения трафика по уровням абстракции виртуального коммутатора изнутри.
Цепочка прохождения пакетов по сетевому стеку гипервизора ESXi через различные уровни называется Network IOChain. Это фреймворк, который позволяет на пути следования данных от виртуальной машины к физическому сетевому адаптеру производить различную модификацию данных и передачу их на следующий уровень.
IOChain обеспечивает связность виртуального коммутатора vSphere Standard Switch (VSS) или vSphere Distributed Switch (VDS) от групп портов на них к портам физических сетевым адаптеров (uplikns) в процессе передачи и обработки пакетов между этими сущностями. Для каждого из виртуальных коммутаторов есть 2 интерфейса IOChain (для входящего и исходящего трафика). Это дает большую гибкость по настройке политик каналов трафика Ingress и Egress.
Примерами таких политик служат поддержка сетей VLAN, механизма группировки NIC teaming и шейпинг трафика (traffic shaping). Работают эти политики на трех уровнях абстракции (в порядке следования от виртуальной машины):
Группа портов виртуального коммутатора (port group).
На этом уровне работает фильтрация VLAN, а также политики безопасности, такие как Promiscuous mode, MAC address changes и Forged transmits. Пользователи также могут настроить политики шейпинга исходящего трафика (для VSS) или в обоих направлениях (только для VDS).
Обычный или распределенный виртуальный коммутатор (VSS или VDS).
Основная задача этого уровня - направлять пакеты к нужному порту (аплинку), через которые они достигнут адреса назначения. Он оперирует MAC-адресами источника и назначения, а также определяет, отдавать ли трафик локально (в рамках одного или нескольких виртуальных коммутаторов на хосте), либо перенаправлять его к уровню аплинка хоста ESXi.
Кроме того, на этом уровне настраиваются правила NIC teaming по балансировке пакетов между аплинками, подключенными к данному коммутатору. Ну и на этом уровне можно также настраивать политики шейпинга и безопасности для всего виртуального коммутатора в целом.
Порт (uplink).
Этот уровень отвечает за передачу трафика к драйверу сетевого адаптера. На этом уровне работают функции hardware offloading, облегчающие работу с обработкой пакетов за счет ресурсов сетевой карты. Доступные возможности hardware offloading зависят от конкретной модели карты и ее драйвера. Примерами таких возможностей являются TCP Segment Offload (TSO), Large Receive Offload (LRO) и Checksum Offload (CSO). Также здесь обеспечивается поддержка оверлейных протоколов VXLAN и Geneve, которые используются в решениях NSX-v и NSX-T соответственно (эта поддержка есть во многих современных сетевых картах).
Помимо этого на уровне аплинка работают механизмы буфферизации пакетов при всплесках нагрузки (ring buffers), после чего пакеты передаются на DMA-контроллер, чтобы быть обработанными процессором карты и перенаправлены уже в сеть передачи данных.
Для обычного виртуального коммутатора (VSS) схема прохождения трафика через уровни абстракции IOChain
выглядит так:
Если же у вас распределенный виртуальный коммутатор VDS, то вы можете использовать механизм Network I/O Control (NIOC) для резервирования и приоритизации трафика внутри канала аплинков. Также VDS предоставляет множество дополнительных возможностей, таких как LBT (Load Balanced Teaming) и LACP (Link Aggregation Control Protocol).
В случае с VDS схема с IOChain выглядит следующим образом:
Обратите внимание, что на этой диаграмме есть дополнительный модуль DVfilter. Это API-фреймворк, который есть в VDS и требуется для работы решения NSX. Когда компоненты NSX устанавливаются в ядро ESXi, они взаимодействуют с трафиком именно через этот модуль.
С помощью команды summarize-dvfilter можно вывести все загруженные агенты DVfilter и фильтры. Вот так это выглядит без установленного решения NSX:
Если вы посмотрите информацию по компонентам NSX, когда он установлен, то увидите модули nxst-switch-security, nsxt-vsip и nsxt-vdrb.
Вообще, весь стек IOChain является модульным, что позволяет добавлять новую функциональность его компонентов на различных уровнях абстракции. Например, компоненты DVfilter разделяются на Fastpaths, Slowpaths и Filters:
Fastpaths – фильтры трафика на уровне ядра ESXi.
Slowpaths – интеграция со сторонними продуктами для сетевой инфраструктуры.
Filters – размещение фильтров в слоты для каждого из подходящих по модели сетевых адаптеров vNIC.
В VMware vSphere 6.7 в стеке IOChain появилось несколько улучшений, таких как поддержка MAC learning и функции IGMP snooping через интерфейс VNI (Virtual Network Interface), которые могут быть использованы в будущем.
Ну и напомним, что текущая версия распределенного виртуального коммутатора VDS - это 6.6, об их обновлении мы писали вот тут.
Несколько недель назад компания Login VSI, известная своими бенчмарками для виртуальных сред, выпустила обновленную версию своего средства для генерации и тестирования нагрузки приложений в виртуальных ПК - Login PI Release 3. Напомним, что о прошлой версии этого продукта мы писали вот тут.
На наш взгляд, это наиболее продвинутое средство тестирования производительности приложений в виртуальных десктопах на сегодняшний день.
Давайте посмотрим, что нового появилось в Login PI Release 3:
1. Технология Deep Application Performance Testing.
Она позволяет строить расширенные рабочие процессы с помощью логических условных выражений, что позволяет настроить нагрузку в соответствии с требованиями реальных производственных окружений. Сами приложения могут быть добавлены без использования скриптов.
Воркфлоу можно создавать с помощью функций автодополнения (intellisense) и подсветки синтаксиса. Их можно редактировать без соединения с бэкендом Login PI, то есть на клиенте без задержек.
Более гранулярные действия в рабочих процессах и возможность более детального планирования событий, что позволяет точнее настраивать симулированных пользователей и удобнее оркестрировать их поведение.
Расширенная поддержка сторонних приложений (EPIC, Cerner, AllScripts и т.п.), приложений пользователей (Microsoft Office), а также тесно интегрированных сторонних плагинов, рабочих процессов и скриптов.
2. Новая архитектура Login PI Release 3.
Здесь появились следующие улучшения:
Теперь поставляется как виртуальный модуль (virtual appliance) и развертывается за несколько минут.
За счет использования REST API теперь можно интегрировать Login PI с традиционными решениями для мониторинга, такими как SCOM, или системами управления инцидентами, например, ServiceNow, а также big-data анализаторами (например, Splunk).
Login PI R3 поддерживает соединения через RDP, PCoIP, Blast Extreme, Citrix ICA/HDX, NetScaler и любые другие.
Повышенная безопасность продукта.
3. Новый интерфейс.
В продукте были улучшены все дэшборды, которые теперь предоставляют более детальную информацию, дают ее более удобном для понимания виде для технического и бизнес-ориентированного персонала.
Новый интерфейс для конфигурации, репортинга и быстрых выводов (quick insights) в плане производительности.
Более детальная информация и умная агрегация данных на высокоуровневых дэшбордах для проверки и анализа нескольких серверных ферм в разных локациях, а также для нескольких клиентов (удобно для сервис-провайдеров).
4. Проактивный мониторинг.
С помощью функций проактивного мониторинга можно наблюдать за производительностью VDI-инфраструктуры и выявлять потенциальные проблемы еще до их возникновения. Это делается за счет определения метрик производительности на симулированных пользователях при условиях, которые возникнут в будущем.
Скачать пробную версию Login PI Release 3 можно по этой ссылке.
Продолжаем информировать вас о выпусках обновлений и заплаток уязвимостей Meltdown и Spectre для виртуальной инфраструктуры VMware vSphere. Напомним наши прошлые посты:
На днях наш читатель Стас прислал новость о том, что VMware выпустила обновления, закрывающие уязвимость Spectre, на этот раз для ключевых компонентов виртуальной инфраструктуры - серверов vCenter и ESXi. Таким образом, согласно VMware Security Advisory VMSA-2018-0004.3, теперь от уязвимости Spectre защищены все основные продукты VMware трех последних поколений:
Начнем с обновлений для vCenter. Тут были выпущены следующие апдейты:
Для серверов VMware ESXi были выпущены следующие патчи:
ESXi550-201803001 (ESXi550-201803401-BG и ESXi550-201803402-BG)
ESXi600-201803001 (ESXi600-201803401-BG и ESXi600-201803402-BG)
ESXi650-201803001 (ESXi650-201803401-BG и ESXi650-201803402-BG)
Чтобы скачать эти обновления для ESXi, нужно пойти VMware Patch Portal и поискать там обновления для соответствующей версии ESXi.
Кроме наката патчей гипервизора VMware ESXi, вам также придется обновить микрокод серверов. Более подробная информация об этом приведена в KB 52085.
Помните, что порядок наката обновлений безопасности таков:
1. Накатываем обновления vCenter.
2. Обновляем ПО гипервизора на серверах VMware ESXi - накатываем апдейты, заканчивающиеся на 01-BG (позволяет гостевым ОС использовать новый механизм speculative-execution control), одновременно с этим обновляем и микрокод серверов (апдейты, заканчивающиеся на 02-BG), которое применяется в процессе загрузки ESXi. Оба патча накатываются в рамках одного профиля.
Некоторые из вас знают, что VMware и другие производители в последнее время борются с уязвимостями Meltdown и Spectre в процессорах Intel, выпуская и отзывая патчи для различных компонентов ИТ-инфраструктуры. Мы писали об этом не так давно в следующих заметках:
Как вы знаете, из за патчей для данных уязвимостей на серверах ESXi иногда существенно проседает производительность (также подробно об этом написано тут), что необходимо отслеживать для того, чтобы не оказаться в ситуации неожиданного недостатка ресурсов в кластере после его апгрейда.
Напомним основные статьи VMware KB, касающиеся исправлений данных уязвимостей:
Еще в декабре 2017 некоторые из уязвимостей были пофикшены, но с тех пор у многих пользователей VMware vSphere появились проблемы с производительностью.
Один из сотрудников VMware опубликовал полезную заметку о том, как с помощью решения vRealize Operations Manager можно отслеживать производительность хостов ESXi в кластерах VMware HA/DRS и на основе этого принимать решения о патчинге тех или иных производственных сред и кластеров.
1. Трекинг версий BIOS и хостов ESXi для каждого сервера с использованием дэшборда Host Configuration.
Этот инструмент нужен, чтобы не забыть пропатчить хост-серверы ESXi:
2. Просмотр информации об использовании виртуальными машинами системных ресурсов.
Чтобы понять, как исторически изменилась производительность ВМ (CPU, Memory, IOPS и использование сети) после патчинга хостов ESXi, нужно смотреть именно на дэшборд VM utilization.
3. Также надо смотреть на изменения CPU и Memory Usage на уровне кластера с помощью дэшборда Capacity Overview.
4. С помощью дэшборда Heavy Hitters можно выяснить, какие из ВМ сейчас действительно сильно грузят оборудование.
5. Также если у вас есть 2 кластера, которые выполняют одну функцию в плане рабочих нагрузок - вы можете переместить нагрузки с помощью функции Workload Balance.
6. Возможность перераспределения емкости кластера можно узнать с помощью дэшборда Capacity Reclaimable.
7. Использование кастомных дэшбордов для Meltdown и Spectre.
Это возможно, если у вас издание vRealize Operations Advanced или более высокое, так как оно позволяет создавать кастомные дэшборды. Сотрудники VMware, Iwan Rahabok, Mark Scott и Luciano Gomes, разработали специальные дэшборды, которые сфокусированы на конфигурации, производительности, емкости и утилизации виртуальной инфраструктуры. Скачать все три дэшборда вместе с инструкциями можно по этой ссылке.
Эти следующие три дэшборда:
Performance Monitoring
Planning Guest OS Patching
Tracking vSphere Patching
7.1 Дэшборд Performance Monitoring.
Этот дэшборд позволяет отслеживать производительность CPU и памяти на всех уровнях - ВМ, хост, кластер. Соответственно, сравнивая исторические периоды, вы сможете сделать вывод о падении производительности.
7.2 Дэшборд Planning Guest OS Patching.
Этот дэшборд нужен для того, чтобы спланировать патчинг гостевых ОС. Сначала находятся все простаивающее ВМ, апдейт которых не сильно повлияет на функционирование виртуальной инфраструктуры, а в последнюю очередь идет обновление так называемых "heavy hitters" - рабочих лошадок вашего предприятия, апдейт которых должен проводиться с особой осторожностью.
7.3 Дэшборд Tracking vSphere Patching.
Этот дэшборд помогает планировать апгрейд различных версий VMware ESXi, а также версий виртуального аппаратного обеспечения (Virtual Hardware) виртуальных машин. Он решает 2 практические задачи:
Отслеживание номеров билдов VMware ESXi и прогресса патчинга серверов.
Отслеживание Virtual Hardware различных ВМ.
Совокупность всех этих инструментов позволит вам не только грамотно спланировать весь процесс патчинга гостевых ОС и хост-серверов, но и измерить влияние на производительность результата апгрейда хостов ESXi и прочих компонентов виртуальной инфраструктуры.
Как вы знаете, некоторое время назад были обнаружены серьезные уязвимости в процессорах компании Intel, условно называемые Meltdown и Spectre. Вскоре после их обнаружения многие производители выпустили обновления микрокода оборудования, многие из которых оказались неготовыми к эксплуатации в производственной среде (происходили неожиданные перезагрузки, падала производительность и появлялись другие эффекты).
Теперь, наконец, вышло обновление VMware vCenter Server Appliance 6.5 Update 1f, содержащее исправления для серверов управления на базе виртуального модуля с Photon OS на борту, исправляющее следующие дыры в безопасности:
Rogue data cache load issues (уязвимость Meltdown, CVE-2017-5754)
Надо отметить, что уязвимость Spectre-2 (Branch target injection - CVE-2017-5715) по-прежнему не исправлена в данном релизе.
Патч VMware vCenter 6.5 Update 1f можно загрузить с VMware Patch Portal (VMware-VCSA-all-6.5.0-7801515.iso):
В процессе апдейта будут обновлены следующие пакеты:
linux 4.4.110-2
libgcrypt 1.7.6-3
c-ares 1.12.0-2
ncurses 6.0-8
libtasn1 4.12-1
wget 1.18-3
procmail 3.22-4
rsync 3.1.2-4
apr 1.5.2-7
Также помимо VMware vCSA патч доступен и для решения vSphere Integrated Containers 1.3.1. На данный момент матрица выхода апдейтов фикса Meltdown и Spectre выглядит весьма удручающе (более подробно - вот тут):
Пропатчить VMware vCSA можно также через GUI из дефолтного репозитория обновлений продукта.
Ну и мы все еще ждем обновления для хостов VMware ESXi, которые до сих пор в статусе "Patch Pending".
Почти все из вас в курсе, что недавно в процессорах Intel были найдены уязвимости Meltdown и Spectre. Недавно мы писали о том, то компания VMware выпустила патчи для хост-серверов VMware ESXi, а также для управляющего сервера vCenter. Вильям Лам даже написал скрипт PowerCLI для проверки накаченных обновлений на хосты и виртуальные машины.
Но...18 января VMware, получив некую "важную информацию" от Intel, отозвала выпущенные патчи и опубликовала специальную KB 117649, в которой описала сложившуюся ситуацию, не особенно ее проясняя. Пока мы ждем патчей от VMware и Intel, можно взглянуть на некоторые результаты тестов производительности (раз и два), где показано, как исправления микрокода серверов от описанных уязвимостей негативно влияют на производительность:
Говорят, что падение производительности для тяжелых нагрузок (особенно по вводу-выводу) может составить от 5% до 30%, что как бы очень много.
В связи с этими событиями (последствия от которых еще проявят себя в ближайшие недели), компания Login VSI сделала специальную бесплатную лицензию на свое одноименное средство тестирования (мы писали об одной из версий тут). Запросить бесплатную лицензию на инструмент Login VSI можно по этой ссылке. Она, кстати, абсолютно ничем не ограничена - ни числом хостов, ни виртуальных машин в вашей виртуальной инфраструктуре, а для тестирования доступны все рабочие нагрузки.
Единственное ее ограничение - бесплатная версия прекратит работать 31 марта этого года. С помощью Login VSI вы можете протестировать производительность таких платформ, как Citrix XenApp, XenDesktop, Microsoft RDS и, конечно же, VMware Horizon View.
В целом, влияние обновлений безопасности на производительность особенно чувствительно именно для VDI-инфраструктур, где коэффициент консолидации виртуальных машин на хостах существенно выше, чем в серверной среде.
Запросить бесплатную лицензию на Login VSI можно здесь.
Пару лет назад мы писали о продукте Login PI от компании Login VSI, который позволяет в реальном времени создавать нагрузку в виртуальном ПК для различных приложений (то есть открывать окна, выполнять некоторые операции), будто бы за этой виртуальной машиной работает реальный пользователь.
Далее, если время выполнения стандартных операций превышает некоторые пороговые значения (например, приложение запускается слишком долго), Login PI оповещает системного администратора о возникшей проблеме. Из коробки измеряется время запуска таких приложений, как Microsoft Office, Internet Explorer и Adobe Reader, но скрипты можно настроить на использование любых приложений.
На прошедшем VMworld Europe 2017 была представлена обновленная версия решения Login PI, в которой появилась возможность Predictive Power. Эта штука позволяет на основе имеющихся исторических данных о производительности экстраполировать их на будущее (на период до одного месяца вперед), что позволит выявить потенциальные проблемы с нехваткой ресурсов, которые могут произойти через некоторое время.
Вот, например, нормальный режим работы инфраструктуры:
Мы видим, что метрика отклика операции логина иногда имеет небольшие всплески, но тренд в целом постоянный.
Здесь тоже есть пики всплесков по Latency, но в целом все стабильно и до установленного трешхолда еще далеко:
А вот тут мы видим явно растущий тренд нагрузки, который через месяц наполовину приблизится к пороговому значению:
Значит, через через пару месяцев нужно готовиться к увеличению выделенных ресурсов для данных приложений (и заказывать оборудование, если дело в имеющихся емкостях).
В принципе, штука полезная. Скачать продукт Login PI можно по этой ссылке.
На прошедшей недавно конференции VMworld 2017 компания VMware представила несколько интересных продуктов и технологий. Наиболее полезные сессии мероприятия доступны здесь.
Одна из таких сессий посвящена углубленному решению проблем инфраструктуры серверов ESXi - "Advanced Troubleshooting of ESXi Server 6.x for vSphere Gurus":
В рамках сессии рассказали о трех ключевых категориях для траблшутинга хостов ESXi - 7 лог-файлов, 7 команд консоли и 7 конфигурационных файлов.
Среди этих 7 лог-файлов:
Если хост вдруг перезагрузился, смотрите в vmksummary.log.
Если у вас ESXi грузится медленно, то проверьте /var/log/boot.gz (также можно включить логгирование через последовательный порт с помощью нажатия Shift + o при загрузке, см. KB 1033888).
Если ESXi не отвечает, то нужен анализ логов hostd.log и hostd-probe.log.
Если проблемы в виртуальной машиной, надо идти в vmware.log.
Если проблемы с хранилищем, смотрим в vmkernel.log.
Если проблемы с сетью и сетевым хранилищем, проверяем vobd.log.
Ну а для диагностики HA смотрим в fdm.log, а также выполняем команду /opt/vmware/fdm/prettyprint.sh hostlist | less.
7 основных команд:
Для мониторинга и настройки используем – esxcli.
Для получения системной информации VMkernel – vsish get /bios; /hardwareinfo;
Для управления серверами ESXi и конфигурациями ВМ - vim-cmd:
Для управления томами VMFS и виртуальными дисками машин – vmkfstools.
Просмотр детальных статистик по памяти – memstats.
У компании есть отличное средство для подготовки виртуальных ПК к развертыванию - VMware OS Optimization Tool, и на днях вышла его обновленная версия. Напомним, что с помощью этой утилиты можно производить тюнинг реестра в целях оптимизации производительности, а также отключение ненужных сервисов и запланированных задач.
Напомним, что средство VMware OS Optimization Tool нужно для выполнения следующих операций с ОС Windows виртуального десктопа:
Локальный анализ настроек и их оптимизация
Удаленное применение настроек
Просмотр истории изменений конфигураций
Управление шаблонами для различных гостевых ОС
В обновленной версии VMware OS Optimization Tool появилась полноценная поддержка Windows 10 как гостевой ОС для инфраструктуры виртуальных десктопов VMware Horizon View. Разработан этот шаблон оптимизации гостевых ОС был компанией LoginVSI, делающей аналитику в сфере виртуализации и средства тестирования производительности.
Также среди новых возможностей последних релизов поддержка импорта конфигураций в XML-формате, "тихий" режима анализа и оптимизации из командной строки, кастомные (Community-based) шаблоны, возможность указания собственного сценария для кастомизации, а также многое другое.
Нужно отметить, что не так давно обновился и документ об использовании решения - VMware Windows Operating System Optimization Tool Guide. Этот документ был впервые переписан с момента релиза утилиты в 2015 году (хотя он и не про самый последний билд, подробности тут).
Скачать VMware OS Optimization Tool можно по этой ссылке.
Почти два года назад мы писали про VDI Calculator v6, который многие из вас знают как главный калькулятор для расчета параметров инфраструктуры виртуальных ПК на базе VMware Horizon View и Citrix XenDesktop. Он позволяет ответить на такие вопросы, как: сколько серверов нужно для построения инфраструктуры виртуальных ПК, какие у них должны быть аппаратные характеристики, сколько дисковых емкостей нужно для размещения ВМ и т.п.
На днях Andre Leibovici, автор сайта myvirtualcloud.net, объявил о выпуске новой версии калькулятора - VDI Calculator v7.
Давайте посмотрим на новые возможности этого средства:
1. Pre-Defined User Profiles.
Предопределенные пользовательские профили представлены в 4 видах: Task, Office, Knowledge и Power. От них зависят параметры CPU, IOPs и Memory, которые определяются, в большинстве своем, в соответствии с рекомендациями фреймворка Login VSI 4.1. Эти типы пользователей могут быть назначены на различные пулы виртуальных ПК, при этом после выбора типа профиля его можно дальше донастроить:
Вот основные параметры референсных типов рабочей нагрузки от Login VSI:
2. Параметр VMs per Core теперь входит в состав типа виртуальных десктопов.
На самой первой картинке он выделен синим цветом. Это число виртуальных машин, приходящееся на физическое ядро процессора хост-сервера. Ранее он определялся для всех типов виртуальных ПК, но очевидно, что он зависит от конкретных параметров типа, поэтому он теперь принимается в расчет для каждого типа отдельно.
3. Поддержка ОС Linux.
В дополнение к Windows и OSX, калькулятор теперь работает и в ОС Linux.
4. Отображение накладных расходов в зависимости от числа мониторов и разрешения.
Каждый виртуальный ПК имеет накладные расходы на виртуализацию по CPU и памяти, зависящие от выделенного ей объема оперативной памяти (vRAM). Также при расчетах используются обновленные параметры для VMware Horizon View 7 с протоколом PCoIP (в зависимости от используемого пользователями разрешения и числа подключенных мониторов).
5. Новые дефолтные значения.
Некоторые значения по умолчанию были изменены, чтобы обеспечить актуальность данных и соответствие реальным сценариям использования. Например, теперь поддерживается параметр Number of Cores per Socket = 12.
6. Руководство по использованию.
Документация по продукту была обновлена и доработана, также она теперь включается в себя последнюю версию FAQ. Получить доступ к руководству можно по этой ссылке.
Доступ к самому VDI Calculator v7 производится через браузер по этой ссылке.
Какое-то время назад мы писали о технологии доставки приложений пользователям инфраструктуры настольных ПК предприятия - VMware App Volumes (ранее это называлось Cloud Volumes). Суть ее заключается в том, что виртуализованные и готовые к использованию приложения VMware ThinApp доставляются пользователям в виде подключаемых виртуальных дисков к машинам.
Недавно компания VMware выпустила документ "VMware App Volumes Reference Architecture", в котором объясняется работа технологии App Volumes, рассматривается референсная архитектура этого решения, а также проводится тестирование производительности доставляемых таким образом приложений по сравнению с их нативной установкой внутри виртуальных ПК:
Собственно, типовая архитектура решения App Volumes выглядит следующим образом:
Здесь показаны основные компоненты такой инфраструктуры:
AppStacks - это тома, которые содержат сами установленные приложения и работают в режиме Read Only. Их можно назначить пользователям Active Directory, группам или OU. Один такой диск может быть назначен сразу нескольким виртуальным ПК (по умолчанию доступен всем машинам датацентра).
Writable Volumes - это персонализированные тома, которые принадлежат пользователям. Они хранят настройки приложений, лицензионную информацию, файлы конфигураций приложений и сами приложения, которые пользователь установил самостоятельно. Один такой диск может быть назначен только одному десктопу, но его можно перемещать между десктопами.
App Volumes Manager Server - это Windows-сервер, содержащий административную консоль для настройки продукта и управления им.
В качестве референсной архитектуры используется инфраструктура из 2000 виртуальных ПК, запущенных на 18 хостах ESXi инфраструктуры VMware Horizon View:
Для генерации нагрузки использовались различные сценарии пользовательского поведения, создаваемые с помощью средства Login VSI, ставшего уже стандартом де-факто для тестирования VDI-инфраструктур, развернутого на трех хост-серверах.
Здесь описаны 3 варианта тестирования:
Приложения, нативно установленные в виртуальных ПК.
Приложения App Volumes, использующие один AppStack, содержащий основные приложения пользователей.
Приложения App Volumes, распределенные по трем различным AppStack.
Для обоих случаев тестирования App Volumes использовался один Writable Volume. Тут были получены следующие результаты (больше очков - это лучше).
Посмотрим на время логина пользователей при увеличении числа одновременных сессий в референсной архитектуре:
Взглянем на время отклика приложений:
Оценим время запуска приложений:
В целом-то, нельзя сказать, что потери производительности незначительные - они, безусловно, чувствуются. Но радует, что они фиксированы и хорошо масштабируются при увеличении числа одновременных сессий в VDI-инфраструктуре.
Документ очень полезен для оценки потерь производительности с точки зрения User Experience при использовании App Volumes по сравнению с традиционной доставкой приложений. Скачать 50-страничный документ можно скачать по этой ссылке - почитайте, там действительно интересно все изложено.
В документе рассмотрено тестирование производительности 12-узлового кластера Virtual SAN на базе серверов Supermicro в рамках следующей логической архитектуры:
Подробная конфигурация хостов:
В целом инфраструктура тестирования выглядела так:
Для тестов использовалось средство Login VSI (о нем мы уже много писали), которое поставляется вместе с методологией тестирования:
Сводные результаты тестов:
Для получения более подробной информации о результатах по каждому тесту, используемых сценариях и конфигурациях обращайтесь к документу. Все 38 страниц полны картинок, графиков и табличек с цифрами - док составлен очень по делу. Для тех, кто планирует VDI на базе Virtual SAN очень полезный референс, как в плане архитектуры, так и в плане производительности.
Таги: VMware, View, Virtual SAN, VSAN, Storage, HA, VDI, Performance
Не так давно мы писали про средство Login VUM, которое позволяет в реальном времени создавать нагрузку в виртуальном ПК для различных приложений (то есть открывать окна, выполнять некоторые операции), будто бы за этой виртуальной машиной работает реальный пользователь. Далее, если время выполнения стандартных операций превышает некоторые пороговые значения (например, приложение запускается слишком долго), Login VUM оповещает системного администратора о возникшей проблеме. Из коробки измеряется время запуска таких приложений, как Microsoft Office, Internet Explorer и Adobe Reader, но скрипты можно настроить на использование любых приложений.
Теперь компания Login VSI выпустила финальную версию этого решения, которое теперь называется Login PI.
Основные варианты использования Login PI:
Мониторинг производительности продуктивных окружений без влияния на работающие системы предприятия.
Оповещения о снижении производительности VDI-инфраструктуры (неважно, Citrix, VMware или другого вендора).
Регулярное тестирование VDI-среды для понимания ее текущего уровня производительности и занятости ресурсов.
Интересный момент - Login PI можно протестировать в реальном времени (hands-on lab) прямо на сайте Login VSI. Для этого нужно заполнить форму вот тут, после чего вам предоставят доступ к тестовой лаборатории, где вы сможете самостоятельно поработать с данным продуктом, управляя консолями двух виртуальных машин:
Руководство по использованию этой тестовой лаборатории можно почитать вот тут.
Login PI основан на фреймворке Login VSI (технология измерений VSImax), который уже надежно зарекомендовал себя для задач тестирования инфраструктуры виртуальных ПК (об этом мы писали ранее). Для запроса 30-дневной триальной версии Login PI используйте вот эту ссылку.
Многие из вас знают компанию Login VSI, которая выпускает продукт Virtual Session Indexer (VSI), предназначенный для симуляции нагрузки и тестирования VDI-сред. Он уже успел стать стандартом де-факто при тестировании инфраструктуры виртуальных ПК у различных вендоров (например, см. тут). Напомним, что это коммерческое решение, а для бесплатного использования доступен продукт VSI Express.
Теперь компания решила подойти к тестированию VDI-инфраструктуры немного с другой стороны - на прошедшей конференции VMware VMworld 2014 была представлена бета-версия продукта Login VUM.
Это решение позволяет в реальном времени создавать нагрузку в виртуальном ПК для различных приложений (то есть открывать окна, выполнять некоторые операции), будто бы за этой виртуальной машиной работает реальный пользователь. Далее, если время выполнения стандартных операций превышает некоторые пороговые значения (например, приложение запускается слишком долго), Login VUM оповещает системного администратора о возникшей проблеме. Похожий способ используют в Водоканале Санкт-Петербурга - раков, обвешанных датчиками, держат в очищенной воде и измеряют их сердечный ритм, отклонения которого свидетельствуют об изменении качества подаваемой потребителям воды.
То есть, это способ мониторинга реальной производительности виртуальной среды посредством некой эталонной виртуальной машины, симулирующей реальную нагрузку. В веб-консоли можно наблюдать за значениями различных параметров этой машины, полученных в течение дня:
Само собой, Login VUM написан не с нуля, а основан на фреймворке Login VSI (технология измерений VSImax), который уже надежно зарекомендовал себя для задач тестирования инфраструктуры виртуальных ПК.
Пока продукт находится в стадии закрытой беты, но его уже можно будет скачать совсем скоро.
Также Login VSI представила свой графический фреймворк Login VSI: Graphics Framework, который позволяет отдельно тестировать чувствительные к производительности графики нагрузки в виртуальных ПК (такие как AutoCAD, Siemens NX или Photoshop). Фреймворк доступен для пользователей продукта Login VSI Pro.
Пример измерения фреймрейта для Автокада при увеличении числа сессий на хосте ESXi:
Видео о том, как выглядит процедура тестирования интенсивных графических нагрузок:
В результате тестирования данные не попадают в VSImax, так как администратору предлагается самостоятельно решить, какой фреймрейт подходит пользователям VDI-инфраструктуры для конкретного приложения и типа нагрузки.
На данный момент Login VSI: Graphics Framework доступен как публичная бета по этой ссылке.
Помимо всего прочего, в документе рассматривается способ получения информации о структуре и содержимом кэша vFRC. Сделать это можно с помощью команды:
~ # esxcli storage vflash cache list
Эта команда выведет список идентификаторов кэша для VMDK-дисков, для которых включена vFRC. Далее с помощью следующей команды можно узнать детали конкретного ID кэша:
# esxcli storage vflash cache get –c <cache-identifier>
Несколько больше информации (включая объем закэшированных данных) можно почерпнуть из команд, приведенных ниже. Для этого потребуется создать переменную CacheID:
~ # cacheID='vsish -e ls /vmkModules/vflash/module/vfc/cache/'
~ # vsish -e get /vmkModules/vflash/module/vfc/cache/${cacheID}stats
В результате будет выведено что-то подобное:
vFlash per cache instance statistics {
cacheBlockSize:8192
numBlocks:1270976
numBlocksCurrentlyCached:222255
numFailedPrimaryIOs:0
numFailedCacheIOs:0
avgNumBlocksOnCache:172494
read:vFlash per I/O type Statistics {
numIOs:168016
avgNumIOPs:61
maxNumIOPs:1969
avgNumKBs:42143
maxNumKBs:227891
avgLatencyUS:16201
maxLatencyUS:41070
numPrimaryIOs:11442
numCacheIOs:156574
avgCacheLatencyUS:17130
avgPrimaryLatencyUS:239961
cacheHitPercentage:94
}
write:vFlash per I/O type Statistics {
numIOs:102264
avgNumIOPs:307
maxNumIOPs:3982
avgNumKBs:10424
maxNumKBs:12106
avgLatencyUS:3248
maxLatencyUS:31798
numPrimaryIOs:102264
numCacheIOs:0
avgCacheLatencyUS:0
avgPrimaryLatencyUS:3248
cacheHitPercentage:0
}
rwTotal:vFlash per I/O type Statistics {
numIOs:270280
avgNumIOPs:88
maxNumIOPs:2027
avgNumKBs:52568
maxNumKBs:233584
avgLatencyUS:11300
maxLatencyUS:40029
numPrimaryIOs:113706
numCacheIOs:156574
avgCacheLatencyUS:17130
avgPrimaryLatencyUS:27068
cacheHitPercentage:58
}
flush:vFlash per operation type statistics {
lastOpTimeUS:0
numBlocksLastOp:0
nextOpTimeUS:0
numBlocksNextOp:0
avgNumBlocksPerOp:0
}
evict:vFlash per operation type statistics {
lastOpTimeUS:0
numBlocksLastOp:0
nextOpTimeUS:0
numBlocksNextOp:0
avgNumBlocksPerOp:0
}
}
Приведенный вывод содержит все метрики, означенные в упомянутом документе. Далее вы можете использовать эту информацию для принятия решения о размере кэша на серверах ESXi и значении других настроек, описанных в документе.
Многие из вас знают о компании Login Consultants, которая занимается тестированием гипервизоров и ПО для виртуализации настольных ПК. Она делает хорошие сравнения в виде технических документов, а также наглядных демонстраций. Выпускаемый компанией инструмент VSI (Virtual Session Indexer) для симуляции нагрузки и тестирования VDI-сред стал стандартом де-факто при тестировании инфраструктуры виртуальных ПК у различных вендоров (например, см. тут). Напомним, что это коммерческое решение, а для бесплатного использования доступен продукт VSI Express.
Напомним, что средство Login VSI является вендоронезависимым, поэтому с его помощью можно тестировать любое VDI-решение, которое есть сегодня на рынке.
Итак, что нового:
1. Появилось 4 новых типа пользовательских нагрузок:
Task
Office (1vCPU)
Knowledge (2vCPU)
Power user
Можно создать и свой собственный профиль нагрузки на базе ваших корпоративных приложений.
2. Улучшения компонента Login VSI Analyzer.
Теперь это средство может собирать данные через VMware esxtop и Microsoft Windows Performance Monitor (есть возможность объединения данных от разных источников), обрабатывать их и делать выводы об "узких местах" VDI-инфраструктуры.
Работает это так: например, у вас есть график, где по горизонтали отложено количество виртуальных ПК на сервер ESXi, а по вертикали - время отклика. Провели два теста для нагрузки на ПК с ОС Windows 7 и Microsoft Office 2010 на борту. В одном тесте для достижения трэшхолда по отклику удалось разместить 148 сессий пользователей, а вот в другом - только 112 (кликабельно).
Надо выяснить, в чем дело - почему теперь на сервере помещается меньше пользователей? Накладываем график загрузки CPU и дисков и видим, что загрузка процессора достигает 100%, когда число пользователей переваливает за границу 112.
Таким образом, Virtual Session Indexer 4.1 позволяет не только получать информацию о производительности своей VDI-инфраструктуры, но и решать подобного рода проблемы, а также отвечать на вопрос, где ресурсов не хватает, а где наоборот переизбыток.
Скачать Login VSI 4.1 можно по этой ссылке. Если у вас уже есть версия 4.0, то вы просто можете скачать патч. Скриншоты продукта можно скачать тут.
Недавно компания VMware выпустила интересный документ "Reference Architecture for Horizon with View and Virtual SAN", в котором описывается построение инфраструктуры виртуальных ПК VMware View Horizon на базе программных хранилищ VMware Virtual SAN. Те из вас, кто читает референсные архитектуры VMware, знают, что данный документ полезен тем, что в нем приведены практические примеры из реального мира о том, как нужно правильно внедрять данные решения. Кроме того, там описаны реальные конфигурации, пользовательские нагрузки, примеры сценариев тестирования и многое другое. Также в документе много графиков и интересных картинок.
Вот, например, какого результата удалось добиться на серверах Dell R720 PowerEdge для 400 виртуальных ПК (связанные клоны):
Недавно компания Login Consultants, которую мы знаем по исследованию Project Virtual Reality Check и средству тестирования производительности VDI-сред Virtual Session Indexer (VSI) 4.0, выпустила интересную и полезную утилиту Thinapp Configuration Editor, позволяющую в графическом интерфейсе настраивать конфигурацию виртуализованного с помощью VMware ThinApp приложения.
Вот какие параметры пакета ThinApp можно изменять в приложении и возможности утилиты:
Настройка ярлыков.
Настройка параметров сборки (для каждого параметра есть детальное объяснение и примеры использования).
Работа с недокументированными параметрами.
Работа с виртуальным реестром.
Поддержка архитектур x86 и x64.
Возможность экспорта в RES Workspace Manager.
Возможность экспорта в Immidio Flex+.
Возможность экспорта в AppSense DesktopNow.
Опция документирования приложения VMware ThinApp.
Редактирование параметров MSI-пакета напрямую (который можно средствами GPO запушить на десктопы пользователей).
Автоматическое сохранение резервной копии при сохранении проекта.
Множество других полезных функций.
Thinapp Configuration Editor поставляется в виде приложения, которое не требует установки (что логично). При этом продукт совершенно бесплатен.
Скачать Thinapp Configuration Editor можно по этой ссылке.
Таги: VMware, ThinApp, VDI, Login Consultants, VSI
Comparing both Microsoft Office 2010 and 2013 with Office 2007 there is a negligible capacity impact of 1% with Office 2010, but there is a very substantial difference of 20% with Office 2013. As a result, upgrading to Office 2013 requires 20% more VDI capacity in comparison to Office 2007 and Office 2010.
То есть, готовьтесь увеличивать свои мощности под прожорливый офис.
Недавно Duncan Epping опубликовал интересную статью о параметре Mem.MinFreePct, который есть в настройках сервера VMware ESXi из состава vSphere. По-сути, этот параметр определяет, какое количество оперативной памяти VMkernel должен держать свободным на хосте, чтобы всегда были доступные ресурсы под нужды системы, и хост не вывалился в PSOD.
В VMware vSphere 4.1 параметр Mem.MinFreePct составлял 6% и его можно было изменять с помощью следующей команды:
vsish -e set /sched/freeMemoryState/minFreePct <Percentage>
Например, вот так можно было установить Mem.MinFreePct в значение 2%:
vsish -e set /sched/freeMemoryState/minFreePct 2
Этак команда, кстати, не требует перезагрузки, но зато после перезагрузки значение Mem.MinFreePct не сохраняется. Поэтому данную команду, если требуется, нужно занести в /etc/rc.local (подробнее в KB 1033687).
Параметр этот очень важный, поскольку от него зависят пороги использования различных механизмов оптимизации памяти хоста ESXi. При этом, если памяти на хосте много (например, десятки гигабайт), то держать постоянно 6% свободной памяти может быть для кого-то расточительством. Поэтому, начиная с VMware vSphere 5.0, параметр Mem.MinFreePct является "плавающим" и устанавливается в зависимости от объема физической памяти на хосте ESXi.
Вот какие значения принимает Mem.MinFreePct в зависимости от того, сколько RAM есть на вашем физическом хост-сервере:
Процент необходимой свободной памяти
Объем памяти хоста ESXi
6%
0-4 ГБ
4%
4-12 ГБ
2%
12-28 ГБ
1%
Больше 28 ГБ
А вот какие механизмы оптимизации памяти на хосте работают, если свободной памяти становится все меньше и меньше:
Состояние свободной памяти хоста
Пороговое значение
Какие механизмы оптимизации памяти используются
High
6%
-
Soft
64% от значения MinFreePct
Balloon, Compress
Hard
32% от значения MinFreePct
Balloon, compress,swap
Low
16% от значения MinFreePct
Swap
Интересно, конечно, но как-то бесполезно. Зачем загонять хост в такие лимиты? Лучше как минимум процентов 10 всегда держать свободными и своевременно покупать новые серверы.
Появились возможности централизованного управления клиентами, обновления и мониторинга
Режим Direct Desktop Launch позволяет экономить на затратах на хост-серверы для тестовых окружений
Тестовые конфигурации теперь создаются с помощью мастеров (workflow oriented UI)
Новый редактор модели нагрузки
Режим benchmarking mode существенно упрощает сравнение получаемых результатов тестирования
Более реалистичные шаблоны пользовательской нагрузки и данных виртуальных ПК
Переработанный дэшборд, позволяющий в реальном времени отслеживать прогресс тестирования
Автоматические отчеты по необходимым параметрам
Скачать новую версию Login Consultants Virtual Session Indexer (VSI) 4.0 можно по этой ссылке. Пробную версию можно использовать в течение 30 дней для 50 виртуальных ПК/пользователей.
Если вам интересно, что представляет собой продукт, и как он работает, то вы можете послушать завтра вебинар "Login VSI 4.0 - What's new and different" (8 мая, в 19-00 по московскому времени).
У компании VMware есть специализированное ПО для моделиирования рабочей нагрузки в VDI-среде - VMware View Planner 2.0. К сожалению, это средство доступно только партнерам VMware, однако умной голове не составит труда раздобыть его. Также, напомним, что мы уже писали о средствах тестирования VDI-нагрузок: VDI Sizing Tool и Login VSI.
View Planner поставляется в виде виртуального модуля (Virtual Appliance) в формате OVF, построенного на базе дистрибутива Linux Centos 5.x и требующего 2 GB памяти и один vCPU на виртуальную машину.
View Planner предназначен для генерации различных сценариев рабочей нагрузки виртуальных ПК, включая управление состояниями виртуальных машин, пользователями Active Directory, построение отчетов и прочее. Все это управляется через веб-интерфейс, присутствующий у виртуального модуля, включая службы Active Directory и конфигурации View Connection servers, контролируемые средствами развертываемых на них агентов.
Архитектурно решение VMware View Planner состоит из следующих компонентов:
Виртуальные ПК на хостах VMware ESXi.
Несколько клиентских виртуальных машин на хостах ESXi - используются для удаленного режима или пассивных тестов, т.е. те, откуда происходит доступ к виртуальным ПК.
View Planner можно запускать в трех различных режимах:
Remote mode - в этом случае для каждой тестируемой ВМ будет своя клиентская машина. Это самый затратный с точки зрения необходимых ресурсов способ тестирования, однако самый адекватный.
Passive Client mode - в этом режиме клиентских машин требуется меньше и они только пассивно принимают результаты вывода тестируемых машин, а последние генерируют нагрузку. Это позволяет снизить требования к нужным для тестирования ресурсам.
Local mode - в этом случае тесты исполняются только на десктопах, без клиентов. Это не учитывает сетевой трафик между ними, поэтому менее репрезентативно, зато и менее затратно.
Вот, например, как работает тест в режиме Remote mode:
Все данные о тестировании нагрузок хранятся в базе данных MySQL.
Модель нагрузки задается в виде блоков, каждый из которых создается под свою задачу для виртуальных ПК:
Пример рабочей нагрузки, генерируемой View Planner:
В качестве результатов работы View Planner вы получите следующие полезные параметры:
Время отклика в виртуальном ПК (Responce Time) - показатель QoS для пользователей
Статистики использования ресурсов (Resource stats)
Запускаем тест, получаем примерное число виртуальных ПК (пользователей), которые выдержит наша виртуальная инфраструктура с заданным показателем QoS (в данном случае время отклика - 1,5 секунды):
Из таблицы видно, что при заданной модели нагрузки наша VDI-инфраструктура с приемлемым показателем качества обслуживания будет выдерживать максимум ~130 пользователей. Не такого ли ответа на вопрос ожидают те из вас, кто планирует VDI-инфраструктуру у себя в организации?
Чтобы продолжить изучение полезного продукта VMware View Planner, рекомендую обратиться по следующим ссылкам: