Какую версию vHW выбрать для Windows Server 2022?

Неожиданно озадачился вопросом – какая версия VMware vSphere vHW поддерживает Microsoft Windows Server 2022?

На простой вопрос ведь есть простой ответ – посмотреть HCL!

Открываю HCL, смотрю Supported Virtual Hardware Versions: 15,17,18,19,20,21,22.

Всё! Расходимся! Или кто-то недоговаривает?

Начинаю вспоминать, что под 7-ой были какие-то заморочки с выбором ОСи при создании ВМ-ки с MS WS 2022 – Windows Server 2022 guest operating system option is not available during virtual machine creation.

После перехода на 8-ку стали прорабатывать вопрос перехода на NVMe End2End. Открываем историю функционала vHW на virten.net, а там написано, что лучше бы на 21-ую версию глянуть для NVMe 1.3  – Virtual Machine Hardware Versions. А на сам Windows Server надо патч KB5029250 накатить –
Hot add/remove disk on vNVMe controller doesn’t work properly with Window guest OS.

Другие известные косяки с MS WS 2022 (выбрал самые интересные):

Так что могут рекомендовать для 7-ки использовать для Windows Server 2022 vHW 18+ на Intel, vHW 19 на AMD c VBS, для 8-ки с NVMe vHW 21.

Теория и практика Multi-NIC vMotion

Одним из столпов виртуализации является vMotion – живая миграция виртуальных машин между хостов.

95% нагрузок перемещаются без каких-либо последствий, но 5% могут иметь занимательные проблемы – я бы назвал это похмельным синдромом перемещения.

В чём он выражается? Во время миграции вы ощущаете лёгкое отупление как от употребления алкоголя в чуть повышенной дозе, а потом жесточайшие тормоза, длящиеся от пары до пары десятков минут.

vMotion имеет длительную историю, но для меня ключевыми вехами стали версии 5 и 7 (новый функционал релизнули в 7u1). Например, в 5-ке появился целый набор технологий – Mirror [Copy] Driver, Stun During Page Send и Multi-NIC vMotion.

Лучшее доступное описание по архитектуре и настройке читайте в блоге Frank Denneman:

Part 1 – Designing your vMotion network
Part 2 – Multi-NIC vMotion failover order configuration
Part 3 – Multi-NIC vMotion and NetIOC
Part 4 – Choose link aggregation over Multi-NIC vMotion?
Part 5 – 3 reasons why I use a distributed switch for vMotion networks

В 7-ке разработчики озадачились миграцией виртуальных машин с большой нагрузкой и выкатили Monster VM vMotion, о чём подробно можно почитать в документе:

vMotion Innovations in VMware vSphere7.0 U1 .

Теперь вернёмся к причине похмельного синдрома после перемещения – приведу короткую цитату из Sensitive Virtual Machines become impacted by vMotion stun time:

some highly sensitive applications like Database or Banking applications have been known to encounter crash’s or persistent performance impact due to the stun or suspend resume time they experienced as part of the vMotion.

Что же вредного делает этот stun? А он при перемещении ВМ понижает частоту виртуальных процессоров до уровня, когда миграция начинает успевать передавать изменённые страницы памяти с хоста на хост и чем интенсивнее приложение меняет содержимое памяти, тем сильнее приходится прижимать ресурсы процессора. В итоге, мы видим резкий рост очередей на процессор. Пример проблемы на графике: на 20 процессоров две очереди во время миграции составляют по 600 сессий, а потом ~15 минут в районе 300 сессий из-за накопительного эффекта + наложилась борьба за 101% памяти на хосте.

Как сократить время миграции и нивелировать действия stun? Я выбрал старый метод – расширить канал с использованием Multi-NIC vMotion!

У меня есть два сегмента с проблемной миграцией – обычные машины плохо едут по 1 Гбит/с, тяжёлые машины плохо едут по 10 Гбит/с.

Открываем вышеуказанные ссылки плюс статью Multiple-NIC vMotion in vSphere и настраиваем отдельные VMkernel-интерфейсы с сетевыми картами в режиме Active-Standby первый, в режиме Standby-Active второй в политике Teaming and Failover.

У меня ситуация с 10-ками получилась не очень – сетевухи уже 25 Гбит/с, а свитчи всё ещё 10 Гбит/с. Но тяжелые ВМ-ки у меня в 2-узловом кластере, соответственно, интерфейсы под vMotion переключаем на DAC и получаем 2 по 25 Гбит/с.

Результаты

Примечание. Тюнинг vMotion не использовался. Конфигурация железа разная в vSphere 6.7 и в 8.0.

Переход с 6.7 на 7.0 – один канал vMotion на 10 Гбит/с, проверяем улучшения в 7-ке. Миграция ВМ с работающей под высокой нагрузкой системой управления базами данных Oracle DB (20 виртуальных процессоров и 242 гигабайта оперативной памяти) была перемещена за 3 минуты 47 секунд по сравнению с 4 минутами 8 секундами в версии 6.7 – ускорение составило порядка 10%.

Меняем 7-ку на 8-ку, постепенно изменяем конфигурацию сети vMotion:

ВМ СУБД Oracle DB, низкая нагрузка (64 ГБ, 4 vCPU)
Скорость сети, Гбит/с Время миграции, сек Пиковая скорость
10 51 1,2 ГБ/с
25 23 1,8 ГБ/с
2*25 14 2,7 ГБ/с
ВМ СУБД Oracle DB, низкая нагрузка (320 ГБ, 20 vCPU)
Скорость сети, Гбит/с Время миграции, сек Пиковая скорость
2*25 76 5,3ГБ/с
ВМ СУБД Oracle DB, высокая нагрузка (320 ГБ, 20 vCPU)
Скорость сети, Гбит/с Время миграции, сек Пиковая скорость
10 ~51 минута ~1,2 ГБ/с
2*25 61 6,2 ГБ/с

В результате тестов стало ясно, что скорость vMotion растёт практически линейно, если есть что перемещать, – мы получили ускорение до 5 раз при переходе с 10 на 2*25. Для не слишком тяжёлых виртуальных машин не хватает разгона, так как основное время занимают сервисные операции. Если широкого канала хватает для покрытия скорости изменения памяти, то stun не используется и не влияет на время миграции, также мы не видим каких-то особо выраженных пиков по очередям процессора во время начала и конца миграции, да и похмелья у ВМ-ки нет.

Хождение по граблям при обновлении VMware vSphere 7.0 на 8.0

Очень скоро заканчивается жизненный цикл VMware vSphere 7.0 и после 2 октября 2025 года уязвимости будут прирастать, а вот патчи вряд ли.
Просидев на 7-ке ровно 5 лет, мы решили обновиться на 8-ке. Обновление с update 3 на update 3 не предвещало никаких проблем… Так что продолжим традиции статьи Хождение по граблям VMware vSphere 7.0.

Обновление vCenter встаёт по таймауту

Обновили несколько vCenter’ов и на очередном обновлятор встаёт колом:

При этом даёт классный совет, типа, за 1 час не успеваю, дай мне побольше времени:
Upgrade phase timed out. The time planned for the upgrade phase
was 60 minutes. The upgrade phase has already been running for 60
minutes. To extend the default timeout, set environment variable
UPGRADE_EXPORT_TIMEOUT

Поиск дал ссылочку на БЗ –  The vCenter Server upgrade from version 7.0 to 8.0 fails at 39% with the error: “Upgrade phase timed out” after getting stuck during the “Exporting the VMware Analytics Service data” step
Запускаем предложенный скрипт и смотрим на наличие 127k файликов в аналитике:

Зачем сломали интерфейс?

Интерфейс в 7-ке были вылизан и привычен. В 8-ке решили, что FULL HD мониторы – это прошлый век, и исправили иконки, всплывающие длинные поля поменяли на полный вывод, а если название хоста не влезет, то не постеснялись в 2 этажа отобразить. Выбор нескольких строк тоже поломали.

Старое оборудование не поддерживается в ESXi 8

После эпопеи VMware ESXi 7.0 и неподдерживаемое оборудование отказ от оборудования в 8-ке продолжился. По процессорам у нас вышли из поддержки Intel Xeon 26xx v2 – хорошо, отправим на списание. Для любителей хлама – неофициально ESXi8 на старых процессорах работает Heads Up – ESXi 8.0 Update 2 requires XSAVE CPU instruction even with allowLegacyCPU=true.
Актуальной остаётся проблема Отвал FC HBA Emulex 8/16-Gb/s после обновления VMware ESXi 7.0 update 3. Драйвер нужно интегрировать старый.

Загрузка ESXi и TPM 2.0

8-ка стала требовать включения TPM 2.0 на серверах (с TPM 1.2 грузится, но ругается):
TPM 1.2 device detected. Support for TPM version 1.2 is discontinued. Installation may proceed, but may cause the system to behave unexpectedly.Make sure the host is upgraded to TPM 2.0.
Как оказалось, на всех старых серверах необходимо на уровне UEFI, а местами и джамперов, переключаться на TPM 2.0.
Как включить TPM 2.0 на серверах Lenovo:

QuickBoot и TPM 2.0, а ещё TXT и IPMI

С 8-ки поддерживается QuickBoot на серверах с TPM 2.0, но встаём на целый набор граблей: современный сервер пишет, что поддержки нет. Запускаем утилиту проверки для определения причин:

Ищем где выключить TXT на серверах Lenovo  – находим нужный пункт в этой КБ:

По второй ошибке – “BMC Firmware Version” missing in System information of VMware DCUI, проверяем, что поля заполнены или нет:

Ошибка спустя несколько минут исправилась после перезагрузки контроллера.
В итоге получаем:

Проблема с плагином Veeam BR

Также отвалился плагин для Veeam BR – порешалось переустановкой? Нет…

Почему стало мало статей на бложике?

Вышла сегодня статья на Хабре  Зарплаты и отношение к кадрам в российском ИТ как отображение заката эпохи «среднего класса».

И там написана кайфовая фраза: “Я не вижу в российском ИТ (сообществе) уже года три – запроса на публичное обсуждение чего-то и публичную экспертизу. Русские блоги, которых было штук сто в 2010 – прекратили обновление, кроме единичных сайтов. Те, что обновляются, например сайт по виртуализации в Перди-Закаменной, хорошо если раз в квартал что-то новое повесит.
Тот, средний подкласс из среднего ИТ класса – умер или уехал.”

Ржал до упаду – 100% попадание.

Хочу пояснить ситуацию. Я интенсивно тестирую российские продукты – БРЕСТ/ZVirt/ECP Veil/SpaceVM, КиберБэкап, РедОС/АстраЛинукс, Р7 Офис/Мой Офис и прочая-прочая. Пишутся простыни отчётов, делаются здоровенные сравнительные таблицы. А где же статьи? Косяк в том, что всё взаимодействие с интреграторами и производителями идёт в рамках соглашений о неразглашении, поэтому возможности вываливать результатты тестов в бложик у меня нет – руки скованы.

Как ChatGPT решает математические задачи

Мой сын учится в шестом классе. Попалась тут ему задача по математике, которую он не смог решить. Мы решили спросить глубокоуважаемый ИИ – как же решить эту задачу. Continue reading “Как ChatGPT решает математические задачи”

Удаленное подключение к Linux через VMware Horizon Direct Connection

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

В разгар локдауна от ковида была написана статья о возможности использования прямого подключения к ПК по протоколу Blast (Blast Extreme) без использования серверной инфраструктуры VMware Horizon:

Удаленное подключение к ПК через VMware Horizon Direct Connection


В последние годы Linux приобретает всё большую популярность, как и потребность в удаленном подключении к нему.

В свою очередь, и компания VMware наращивает функциональность агента и клиента Horizon под операционные системы семейства Linux.

12 января 2023 года вышел релиз VMware Horizon 2212 (8.8). В этом релизе в агент для Linux добавили поддержку Debian 11.5, в котором мы и проведём наш эксперимент.

Для установки нам потребуется следующая документация:

и два дистрибутива агента и плагина:

  1. VMware-horizonagent-linux-x86_64-2212-8.8.0-21071111.tar.gz
  2. VMware-horizonagent-linux-vadc-x86_64-2212-8.8.0-21071111.tar.gz

В соответствии с системными требования проверяем версию Linux:

  • Ubuntu 18.04, 20.04, and 22.04
  • Debian 10.13 and 11.5
  • Red Hat Enterprise Linux (RHEL) Workstation 7.9, 8.4, 8.6, 8.7, 9.0, and 9.1
  • Red Hat Enterprise Linux (RHEL) Server 7.9, 8.4, 8.6, 8.7, 9.0, and 9.1
  • CentOS 7.9
  • SUSE Linux Enterprise Desktop (SLED) 15 SP3 and 15 SP4
  • SUSE Linux Enterprise Server (SLES) 15 SP3 and 15 SP4

и тип окружения рабочего стола: Continue reading “Удаленное подключение к Linux через VMware Horizon Direct Connection”

AWS SAA-C03

Наверное, многие из вас видели этот мем про девопс и зарплату в 300кк. Зарплаты девопс-инженеров с hh.ru пробивали мой воображаемый потолок по зарплате в несколько раз, поэтому: настала пора перемен. Пора закопать VMware и изучить кубернетис.

Continue reading “AWS SAA-C03”

Наука виртуализации

Многие читатели бложика являются практиками виртуализации, кто-то даже пытается заглянуть под капот и посмотреть как это устроено.

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

Virtualization Internals

  1. Virtualization Internals Part 1 – Intro to Virtualization
  2. Virtualization Internals Part 2 – VMWare and Full Virtualization using Binary Translation
  3. Virtualization Internals Part 3 – Xen and Paravirtualization
  4. Virtualization Internals Part 4 – QEMU

Как написать гипервизор самому:

  1. Hypervisor From Scratch – Part 1: Basic Concepts & Configure Testing Environment
  2. Hypervisor From Scratch – Part 2: Entering VMX Operation
  3. Hypervisor From Scratch – Part 3: Setting up Our First Virtual Machine
  4. Hypervisor From Scratch – Part 4: Address Translation Using Extended Page Table (EPT)
  5. Hypervisor From Scratch – Part 5: Setting up VMCS & Running Guest Code
  6. Hypervisor From Scratch – Part 6: Virtualizing An Already Running System
  7. Hypervisor From Scratch – Part 7: Using EPT & Page-Level Monitoring Features
  8. Hypervisor From Scratch – Part 8: How To Do Magic With Hypervisor!

Вложенная виртуализация:

Для понимая поддержки аппаратной виртуализации в VMware ESXi есть довольно полезная, хоть и давно не обновлявшаяся таблица ESX(i) Support of Intel VT-x and AMD-V Features. Вроде, все функции были реализованы в 6.5/6.7: Continue reading “Наука виртуализации”

Подбираем лабораторный сервер с поддержкой vSphere 8

William Lam опубликовал статью Homelab considerations for vSphere 8, перевод которой представлен ниже.

После анонса vSphere 8, который состоялся несколько недель назад, появилось множество отличных технических материалов как от VMware, так и от более широкого сообщества. Многим не терпится получить в свои руки vSphere 8 и vSAN 8 – в этой статье представлены некоторые соображения для тех, кто заинтересован в запуске vSphere 8 в своей домашней лаборатории.

Как и при выпуске любого релиза vSphere, вы всегда должны внимательно изучать примечания к релизу, когда они становятся доступными, и проверять, что все ваше оборудование и базовые компоненты официально включены в список VMware HCL, который будет обновлен после выпуска vSphere 8 и vSAN 8 GA. Только так можно гарантировать, что у вас будет наилучший опыт и поддерживаемая конфигурация от VMware.

Disclaimer: приведенные ниже соображения основаны на ранних наблюдениях за использованием предварительных сборок vSphere 8 и не отражают никаких официальных рекомендаций или поддержки со стороны VMware. Continue reading “Подбираем лабораторный сервер с поддержкой vSphere 8”

Что новое в подсистеме хранения vSphere 8

Disclaimer:  статья основана на следующих источниках:

NVMeoF vVols

Виртуальные тома vVols были основным направлением в разработке систем хранения VMware в течение последних нескольких релизов, и в vSphere 8.0 это не изменилось. Самым крупным анонсом в подсистеме хранения vSphere 8.0 (core storage) является добавление поддержки vVols в NVMeoF. Первоначально будет поддерживаться только FC, но в дальнейшем будут проверять и поддерживать другие протоколы, поддерживаемые vSphere NVMeoF. Это новая спецификация vVols Spec, фреймворк VASA/VC – VASA 4.0/vVols 3.0.

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

Еще одним преимуществом NVMeoF vVols является настройка. При развертывании, после регистрации VASA, базовая настройка выполняется в фоновом режиме, необходимо только создать хранилище данных. Виртуальные конечные точки протокола (vPE) и соединения обрабатываются VASA, что упрощает настройку. Continue reading “Что новое в подсистеме хранения vSphere 8”