Недавно компания VMware провела тестирование баз данных PostgreSQL в качестве рабочей нагрузки в виртуальных машинах vSphere 7.0 U2 с использованием памяти Intel Optane DC persistent memory (PMem). Напомним, что именно на этот тип памяти компания VMware ориентируется при разработке технологии Project Capitola.
Память Intel Optane DC persistent memory (DCPMM она же PMEM) не такая быстрая как DRAM и имеет бОльшие задержки, но они все равно измеряются наносекундами. При этом данная память позволяет иметь ее большой объем на сервере, что существенно повышает плотность ВМ на одном хосте.
В качестве тестового стенда использовалась следующая конфигурация хоста ESXi и виртуальных машин:
Память PMEM была презентована виртуальным машинам как очень быстрое устройство хранения (NVDIMM). Конфигурация PostgreSQL была следующей:
VMware использовала 3 различных конфигурации для тестирования:
2 устройства NVME SSD (это базовый уровень) - оба раздела, WAL и база данных, были на двух разных быстрых SSD
WAL на базе PMEM - раздел WAL поместили на 200-гигабайтное устройство PMem NVDIMM
WAL и база данных на PMem - все разделы были размещены на устройствах PMem NVDIMM
В виртуальной машине запускали стресс-тест базы данных со значительной нагрузкой на диск, средней нагрузкой на систему и интегрированными транзакциями. Пропускная способность (throughput) измерялась в количестве транзакций в секунду (TPS).
Вот что из этого вышло:
По итогу теста для полной нагрузки на PMEM по сравнению с SSD пропускная способность выросла на 44.6%, а задержка (latency) упала на 30.8% (при перенесении только WAL на PMEM эти показатели составили 13.4% и 11.8%, соответственно).
Те же самые параметры для read-only транзакций:
Тут уже разница более, чем в 3 раза. Также VMware попробовала машину с 1 ГБ оперативной памяти вместо 200 ГБ - там улучшение было еще больше, а среднем PMEM дает улучшение производительности по сравнению с SSD в районе 4.5x.
Полное описание процедуры тестирования находится тут.
Компания VMware к началу осени обновила один из самых главных своих документов - "Performance Best Practices for VMware vSphere 7.0, Update 2". Этот whitepaper не просто так называется книгой, так как данный документ представляет собой всеобъемлющее руководство почти на 100 страницах, где рассматриваются все аспекты поддержания и повышения производительности новой версии платформы VMware vSphere 7.0 Update 2 и виртуальных машин в контексте ее основных возможностей.
Глобальные разделы документа:
Hardware for Use with VMware vSphere - о том, какое оборудование и как работает с платформой
ESXi and Virtual Machines - об оптимизации хостов и ВМ на них
Guest Operating Systems - об оптимизации непосредственно гостевых операционных систем
Virtual Infrastructure Management - лучшие практики для средств управления виртуальной инфраструктурой
Ну а подразделы этих глав содержат очень много конкретных пунктов про различные аспекты оптимизации виртуальных датацентров и объектов, работающих в их рамках.
Очень полезное руководство для тех, кто хочет выжать из своей виртуальной среды максимум. Скачать книгу Performance Best Practices for VMware vSphere 7.0, Update 2 можно по этой ссылке.
Очередная интересная штука появилась на сайте проекта VMware Labs - утилита NUMA Observer, которая позволяет обнаружить виртуальные машины с перекрытием использования NUMA-узлов на хостах ESXi. При работе с тяжелыми нагрузками, требовательными к Latency, администраторы часто создают affinity-правила по привязке виртуальных машин к NUMA-узлам и ядрам CPU, чтобы они работали быстрее, с наименьшими задержками.
Но после сбоев и неполадок механизм VMware HA, восстанавливающий виртуальные машины на других хостах, может нарушить эту конфигурацию - там могут быть ВМ с уже привязанными NUMA-узлами, в результате чего возникнет перекрытие (overlap), которое полезно своевременно обнаружить.
С помощью NUMA Observer можно не только обнаруживать перекрытия по использованию ядер CPU и NUMA-узлов со стороны виртуальных машин, но и собирать статистики по использованию памяти дальнего узла и недостатке CPU-ресурсов (метрика CPU Ready). После анализа конфигураций и использования ресурсов, утилита генерирует алерты, которые администратор может использовать как исходные данные при настройке новой конфигурации NUMA-узлов.
Скачать NUMA Observer
можно по этой ссылке. После установки сервис доступен через веб-консоль по адресу localhost:8443. Для его работы потребуется Java 8.
Многие из вас знакомы с продуктом VMware vRealize Operations, который предназначен для комплексного управления и мониторинга виртуальной инфраструктуры в различных аспектах. Одна из полезных возможностей этого решения - суперметрики (super metrics). Это те метрики, которые образованы путем каких-либо комбинаций обычных метрик через математическую формулу (например, какой процент CPU виртуальная машина отъедает от всего хоста ESXi). Для редактирования таких метрик используется super metric editor:
На ютуб-канале VMware Cloud Management появилась серия видеороликов, где в деталях рассказывается обо всех тонкостях суперметрик:
Видео короткие - от полутора до семи минут, так что весь плейлист можно будет посмотреть за полчасика. Полный плейлист всех роликов о суперметриках находится по этой ссылке.
На сайте проекта VMware Labs обновилась очередная интересная утилита Storage Performance Tester, которая позволяет провести тестирование хранилищ в один клик на сервере VMware ESXi, получив метрики IOPS, latency и CPU cycles per I/O. В новой версии появилась поддержка адаптеров vnvme, а также исправления ошибок для ESXi 6.7.
С помощью данного средства можно автоматизировать шаги проведения тестирования, которые включают в себя развертывание кастомизированной ВМ, запуск нагрузки по вводу-выводу внутри нее и, собственно, функции по анализу результата тестирования производительности.
Результаты для полученных метрик выводятся в графическом интерфейсе в виде диаграмм и комментариев к ним:
Самое приятное - это то, что утилита запускается одной командой, после чего пользователь получает итоговый результат. Выглядит это так:
#./sperf.py HOSTNAME -d DatastoreName
Данное средство можно использовать как для решения проблем с действующей инфраструктурой хранилищ, так и для выяснения максимальных параметров производительности только что купленного железа (диски, контроллеры, компоненты сети хранения данных).
Ну и видео о том, как это все работает:
Для запуска Storage Performance Tester вам потребуется:
Python 3
sshpass
2 ГБ свободного пространства на диске
Linux-окружение (ядро не старше 2.6.31)
Скачать Storage Performance Tester можно по этой ссылке.
Неофициально конкурс стартовал внутри команды Veeam в феврале этого года. В своей рассылке на форуме Гостев рассказал об установке системы резервного копирования Veeam, которая показала максимальную производительность, достигающую 11.4 ГБ/с. Коллеги делились цифрами, которые встречали в своей практике, и искали новые данные, которые побьют цифры Гостева. Теперь в Veeam решили сделать этот конкурс публичным - ищется самая быстрая инфраструктура резервного копирования Veeam в России!
Участвуйте и расскажите о конкурсе коллегам. Перед участием прочитайте ответы на вопросы об условиях конкурса. Самые интересные случаи Veeam соберет и опубликует в статье. Три самых быстрых результата получат призы:
Электросамокат XIAOMI
Проектор Xiaomi Mi Smart
Умная колонка Яндекс.Станция
Размещать результаты можно в Facebook или Twitter с хештегом #BeatTheGostev. Публикации с большим количеством лайков получат также шанс выиграть дополнительный секретный приз!
Конкурс продолжится до 30 сентября включительно, после чего будут подведены итоги. Кстати, скорость 11,4 ГБ/с для системы резервного копирования не является минимальным требованием для участия в конкурсе.
Среди открытых документов VMware появился очень интересный док - "vSphere Snapshots: Performance and Best Practices", в котором рассматривается весьма полезные многим администраторам аспекты - производительность снапшотов, а также, как правильно с ними обращаться. Мы часто пишем про это (1, 2, 3), а вот теперь есть и хороший документ с картинками.
Основные темы документа:
Что такое снапшоты
Какие есть форматы снапшотов
Описание тестового окружения и рабочих нагрузок
Результаты тестирования производительности
Выводы по этим результатам
Итак, для тестирования использовались следующие рабочие нагрузки:
FIO (стандартный тест производительности ввода-вывода)
JVM (бенчмарк SPECjbb 2015)
OLTP database (тест HammerDB)
Давайте взглянем на результаты тестирования производительности с точки зрения гостевой системы и ее приложений:
1. Число выдаваемых IOPS в зависимости от количества снапшотов для виртуальной машины (Random I/O):
В этом тесте и в последующих мы увидим, что снапшоты не влияют на производительность хранилищ VVols - такова природа этих хранилищ. А вот с VMFS и vSAN мы видим, что производительность падает, для VMFS - в три раза уже с первого снапшота, для vSAN - с третьего.
2. Для последовательного чтения vSAN ведет себя значительно лучше, а вот на VMFS производительность уже с первого снапшота падает в 2.5 раза, и дальше только хуже:
3. Для обработки запросов SPECjbb во всех трех случаях снапшоты не оказывали влияния на производительность:
4. По количеству транзакций в секунду тест HammerDB тоже показывает падение производительности хотя бы с одним снапшотом почти в 3 раза:
Интересно, что для хранилищ vSAN со снапшотами просадки по производительности для теста HammerDB нет.
5. Интересна также производительность гостевых ОС при соазднии и при удалении снапшотов:
Как мы видим, на VMFS критичен первый снапшот, и исходная производительность возвращается виртуальной машине только с удалением последнего снапшота. На vSAN производительность уменьшается и увеличивается постепенно, с изменением количества снапшотов.
Для больших блоков ввода вывода страдает только VMFS при последовательном чтении:
При последовательной записи больших блоков снапшоты влияют только на VMFS (при этом, только первый):
Ну и в заключение VMware приводит такую табличку потерь производительности для виртуальных машин с одним снапшотом:
Итак, очевидные выводы:
Снапшоты - зло. Особенно для VMFS и иногда для vSAN.
Особенное зло снапшотов проявляется для случайного чтения (Random reads), хотя и для последовательного все далеко не так хорошо.
Хранилищам VVol все равно на снапшоты, производительность не падает.
Зло, как правило, именно первый снапшот, дальше уже не так важно, сколько их, но производительность продолжает падать.
При удалении снапшотов производительность ВМ возвращается к исходному уровню.
На сайте проекта VMware Labs обновилась утилита HCIBench 2.6, которая до этого обновлялась осенью прошлого года. Напомним, что это средство позволяет провести комплексный тест производительности отказоустойчивых кластеров хранилищ VMware vSAN, а также других конфигураций виртуальной инфраструктуры. О прошлой версии HCIBench 2.4 мы писали вот тут.
Суть работы HCIbench проста - пользователь задает параметры работы скрипта, а утилита дает команду средству Vdbench, содержащую инструкции о том, какие действия необходимо выполнить в кластере хранилищ. Это может вам пригодиться, например, когда вы хотите убедиться, что развернутая инфраструктура обеспечивает достаточную производительность для планируемой на нее нагрузки.
Давайте взглянем на новые возможности HCIBench 2.6:
Сервер tomcat обновлен до версии 8.5.68
Поддержка IPv6 для сетей ВМ и Management Network - как для DHCPv6, так и для link-local mode
Поддержка режима развертывания multi-writer disk
Улучшенная пре-валидация за счет перехода на govc
Поддержка спецификации read/write io_limit для fio
Исправлена ошибка при запуске в инфраструктуре VMC
Улучшена система сбора диагностических бандлов в режиме отладки vSAN
На сайте проекта VMware Labs появилась новая утилита - Edge Services Observability. Она предназначена для мониторинга служб Edge Services (VMware Tunnel, Content Gateway, Secure Email Gateway, Reverse и Horizon Secure Access), которые запущены на модуле Unified Access Gateway - одном из ключевых компонентов решений VMware Horizon и Workspace ONE.
С помощью этого средства можно понять:
Производительность шлюза на основе его загрузки
Распределение трафика
Влияние правил Device Traffic Rules на производительность
Основные возможности утилиты:
Поставляется как готовый к настройке и развертыванию виртуальный модуль (Virtual Appliance) в формате OVA:
Веб-портал для управления инстансами Unified Access Gateway (UAG):
Дашборды для визуализации метрик компонентов VMware Tunnel и VMware Horizon на базе Grafana:
Возможность настройки алертов на основе различных условий, что позволяет оперативно выявлять аномалии
Скачать VMware Edge Services Observability можно по этой ссылке. Более подробная информация о продукте доступна тут.
Когда вышло обновление VMware vSphere 7 Update 2, мы рассказывали о новых оптимизациях для процессоров AMD EPYC, которые были сделаны в платформе виртуализации на базе гипервизора ESXi. Реализация поддержки новых функций CPU идет в соответствии с развитием технологий аппаратной виртуализации AMD, которую VMware поддерживает наравне с таковой от Intel.
В документе есть много интересных тестов (большинство из них сделано с помощью утилиты VMmark3), приведем ниже результаты некоторых из них:
Увеличение производительности одной ВМ для БД Microsoft SQL Server под нагрузкой HammerDB (тут и далее нормировано к показателям vSphere 7 Update 1):
Несколько виртуальных машин с 8 vCPU на борту и нагрузкой HammerDB - производительность при увеличении числа виртуальных машин на хосте:
Использование базы данных CockroachDB на 6-узловом кластере, прирост производительности до 50%:
Тестирование кластера Kubernetes c узлами по 64 воркера с помощью бенчмарка Weathervane (на 16 инстансах приложений прирост производительности - более 40%):
Оказывается у VMware есть утилита TENS, что расшифровывается как Traffic Emulator for Network Service. Это еще один эмулятор сетевой нагрузки от VMware, который, в отличие от аналогов, сфокусирован на паттернах нагрузки, а не только на генерации объема и интенсивности сетевого потока. В основном, подобные средства предназначены для того, чтобы выяснить максимальные параметры сетевой нагрузки, которые могут выдержать те или иные компоненты. Кроме того, при генерации нагрузки эти средства, как правило, работают с одним приложением, когда речь идет о задании паттернов.
VMware же решила сделать утилиту для симуляции паттернов нагрузки для нескольких приложений, чтобы изучать их поведение в условиях, приближенных к реальным. Проект TENS распространяется как Open Source и доступен в репозитории на GitHub.
Продукт состоит из двух компонентов:
Traffic Engine Controller (TEC) - это мозг всей системы, который управляет распределенными воркерами (их может быть сколько угодно) и предоставляет доступ сторонним системам через API.
Traffic Engines Datapath (TE-DP) - компоненты непосредственно эмулирующие трафик нагрузки в соответствии с реальными паттернами.
TENS может эмулировать несколько браузерных сессий, клиентов, соединений и запросов на уровнях L4 и L7. Это позволяет заполнить разрыв между тестовым окружением, предпроизводственной средой, которую надо хорошо оттестировать, и производственным окружением, где приложения должны выдерживать требования к нагрузке по TCP/HTTP/UDP. Также TENS выводит отчет о метриках и ошибках для компонентов тестируемой системы.
Основные возможности VMware Traffic Emulator for Network Service:
Функции для валидации и отчетности серверов балансировки нагрузки и серверов приложений.
Генерация трафика от нескольких пользователей, нескольких сессий одного пользователя и нескольких соединений/запросов в рамках одной сессии - все это для нескольких вычислительных узлов.
Комплексные метрики, выявление аномалий и мониторинг в реальном времени с одного узла с возможностью сообщения об ошибках как на уровне L4 (TCP/UDP), так и на L7 (HTTP/HTTPS).
Возможность генерации L7-траффика с разных исходных IP и пространств имен, с внедренными куками, хэдерами и параметрами запросов в измерениях RPS, TPS, TPUT и CPS.
Возможность запуска в нескольких процессинговых узлах, которые контролируются единой точкой доступа через API.
Поддержка трафика http/1, http/1.1 и http/2 на уровне L7.
Поддержка SSL версий SSLv2, SSLv3, TLSv1, TLSv1.0, TLSv1.1, TLSv1.2 и TLSv1.3 на уровне L7.
Поддержка взаимной аутентификации сервер-клиент за счет проверки сертификатов на уровне L7.
Возможность эмуляции аплоадов и загрузок больших UDP-датаграмм с несколькими одновременными подключениями на уровне L4.
Утилита TENS упакована для использования в контейнеризованных системах - как в облачных, так и онпремизных.
Возможность управлять утилитой через REST API для автоматизации операций и интеграции в общую инфраструктуру рабочих процессов тестирования.
Поддержка SSL session reuse и persistence validation, что позволяет более безопасно организовывать процесс тестирования.
На днях компания VMware обновила средство VMware OS Optimization Tool до версии b2002 на сайте проекта VMware Labs. Напомним, что эта утилита нужна для подготовки гостевых ОС к развертыванию и проведению тюнинга реестра в целях оптимизации производительности, а также отключения ненужных сервисов и запланированных задач. О прошлом ее релизе мы писали вот тут.
Давайте посмотрим, что нового в мартовской версии VMware OSOT b2002:
Пункт "Block all consumer Microsoft account user authentication" отключен по умолчанию, чтобы пользователи не испытывали проблем с логином в Edge и Windows store.
Также по умолчанию отключен пункт "Turn off Thumbnail Previews in File Explorer", что приводило к не ожидаемому для пользователей поведению.
Для не-Enterprise изданий Windows 10, обновление KB4023057 устанавливает новое приложение Microsoft Update Health Tools. Теперь добавлена логика, позволяющая убедиться, что служба Windows Update Medic Service отключена при отключении обновлений, включая ситуации перещелкивания включенной/отключенной службы Windows Updates на вкладке Update.
Шаблоны Windows 8 и 8.1 были удалены из списка встроенных шаблонов. Чтобы работать с этими версиями, вам понадобится OSOT версии b1130.
Также из репозитория были удалены старые шаблоны Windows 10 1809-2004-Server 2019 и Windows 10 1507-1803-Server 2016.
Поправлена ошибка с обработкой файла тем, который обновлялся задачей Generalize, затиравшей предыдущие оптимизации.
Поправлена ошибка с файлом ответов, который теперь корректно обрабатывает имя администратора для задачи Generalize.
Удален старый код для GPO Policy corruption.
Убрано окошко CMD.exe, которое появлялось при логине.
Пофикшена ошибка, когда Windows Store Apps некорректно удалялись для Windows 10 version 20H2
Скачать VMware OS Optimization Tool версии b2002 можно по этой ссылке.
Продолжаем рассказывать о лучшем в отрасли решении для создания программных хранилищ под виртуальные машины на базе хост-серверов ESXi - StarWind Virtual SAN for vSphere. Как многие знают, с какого-то момента StarWind стала поставлять свое решение для платформ VMware в виде виртуального модуля (Virtual Appliance) на базе Linux, который реализует основные сервисы хранения, дедупликации и компрессии, а также отказоустойчивости и обеспечения надежности данных в виртуальных машинах.
Для виртуального модуля StarWind работа механизма дедупликации и компрессии обеспечивается средствами Linux-движка Virtual Data Optimizer (VDO), который появился относительно недавно. Это удобный и надежный способ экономии дискового пространства за счет использования дополнительных емкостей оперативной памяти на хосте.
Для начала вам нужно определиться с оборудованием хостов ESXi, где вы будете развертывать виртуальные модули StarWind. Как вы понимаете, в целях обеспечения отказоустойчивости таких узлов должно быть как минимум два.
Что касается HDD и SSD-дисков, то нужно также спланировать конфигурацию RAID на хранилище хостов. Сделать это можно в соответствии с рекомендациями, описанными в базе знаний StarWind. Вы можете использовать программный или аппаратный RAID, о настройках которого мы расскажем ниже.
Что касается дополнительной оперативной памяти на хосте ESXi, то нужно выбирать ее объем, исходя из следующих критериев:
370 МБ плюс дополнительные 268 МБ на каждый 1 ТБ физического хранилища
Дополнительно 250 МБ на 1 ТБ физического хранилища, если включена дедупликация (UDS index)
То есть для 4 ТБ физического хранилища с дедупликацией вам понадобится:
370 MB + 4 * 268 MB +4 * 250 MB = 2 442 MB RAM
Итого 2,4 ГБ оперативной памяти дополнительно к памяти под ОС виртуального модуля. Вообще, StarWind рекомендует 8 ГБ памяти для виртуального модуля - 4 ГБ на машину и 4 ГБ на движок VDO для работы с хранилищем.
Один VDO-том может работать с хранилищем до 256 ТБ, что покрывает максимум потребностей в рамках хранилищ на базе серверов. Также StarWind очень рекомендует использовать дисковые массивы All-flash или NVMe-оборудование.
Общее правило развертывания таких хранилищ таково:
Под VDO: аппаратный или программный RAID (LVM или mdraid)
Над VDO: "толстые" (thick) диски StarWind Virtual SAN в режиме stand-alone или HA
Надо понимать, что сам том VDO - это тонкий диск, растущий по мере наполнения, поэтому устройство под ним должно иметь расширяемую природу (MD RAID, LVM).
Примерная схема отказоустойчивого решения StarWind Virtual SAN for vSphere на базе 2 узлов выглядит так:
После того, как вы установите StarWind Virtual SAN, настроите виртуальную машину и StarWind Management Console, нужно будет настроить аппаратный или программный RAID для хранилища.
Если вы используете аппаратный RAID, то просто создайте виртуальный диск для ВМ StarWind Virtual SAN на его хранилище, но обязательно типа "Thick Provisioned Eager Zeroed" (также вы можете использовать RDM-диск):
Если же вы будете использовать программный RAID, то нужно будет использовать HBA или RAID-контроллер в режиме DirectPath I/O passthrough, чтобы получить прямой доступ к дискам и собрать на их базе RAID-массив.
Для этого вам нужно будте выбрать правильный HBA/RAID-контроллер как PCI-устройство:
И пробросить его напрямую в виртуальную машину StarWind:
После этого в StarWind Management Console можно будет собрать RAID нужного вам уровня:
Рекомендации тут такие:
После этого в виртуальном модуле StarWind на полученном хранилище нужно будет создать VDO-устройство с нужными вам параметрами:
Здесь мы видим, что создается устройство с включенной дедупликацией, выключенной компрессией, нужным размером индексной памяти и заданного объема.
После создания это устройство надо отформатировать в XFS со следующими параметрами:
Далее вы можете создавать хранилище StarWind на этом устройстве и (опционально) сделать его реплику на партнерском узле в режиме HA. Также рекомендуется выставить настройку Disk.DiskMaxIOSize на хосте ESXi
В значение 512:
Ну и про оптимизацию производительности I/O-планировщика прочитайте вот эту статью базы знаний StarWind. Если вам интересен процесс создания хранилищ с дедупликацией и компрессией на базе StarWind Virtual SAN в стиле "от и до", то рекомендуем прочитать вот эту статью.
На сайте VMware Labs появился интересный инструмент Virtualized High Performance Computing Toolkit, который может оказаться полезен компаниям, использующим VMware vSphere для организации высокопроизводительных вычислений (High Performance Computing, HPC). Такие комплексные вычислительные задачи, как правило, вовлекают параллельные вычисления, аппаратное ускорение (такое как GPU и FPGA), а также используют высокоскоростные каналы, такие как RDMA.
Все это требует определенных конфигураций VMware vSphere, для настройки которых и нужно данное средство. С помощью него, используя vSphere API, можно дать администраторам инструменты по сопровождению задач HPC, таких как клонирование ВМ, настройка Latency Sensitivity, сайзинг виртуальных машин по CPU и памяти и многое другое.
Основные возможности тулкита:
Настройка устройств PCIe в режиме DirectPath I/O, таких как GPGPU, FPGA и RDMA
Простое создание и уничтожение кластеров HPC с помощью файлов конфигураций
Выполнение задач vSphere, таких как клонирование, настройка vCPU, памяти, резерваций, shares, Latency Sensitivity, обычного и распределенного виртуального коммутатора, сетевых адаптеров и конфигураций
Например, клонирование 4 виртуальных машин с заданными кастомизациями CPU и памяти, а также добавлением NVIDIA vGPU с профилем grid_p100-4q выглядит так:
Администраторы VMware vSphere в больших инфраструктурах иногда используют кластеры Windows Server Failover Clusters (WSFC) на базе RDM-дисков, которые доступны для хостов VMware ESXi. Ранее они назывались Microsoft Cluster Service (MSCS). При использовании таких кластеров время загрузки хоста ESXi может вырасти аж до целого часа, если не поставить этим LUN статус Perennially reserved.
Суть проблемы в том, что WSFC ставит SCSI-3 reservations для своих LUN, используемых активным узлом, и если ESXi видит эти тома (то есть они не отмаскированы для него), то он безуспешно пытается получить к ним доступ. Для этого он делает несколько попыток при загрузке, пока не решает перейти к следующим томам. Статус этих операций вы можете увидеть, если нажмете Alt+F12 при загрузке хоста:
Xavier Avrillier написал статью о том, как с помощью esxicli/PowerCLI пометить такие тома как Perennially reserved, чтобы ESXi пропускал их при сканировании (об этом также рассказано в KB 1016106).
Сначала вам надо узнать LUN canonical name устройства. Делается это следующей командой PowerCLI:
Увеличена производительность при создании тэгов и категорий по сравнению с vSphere 6.7 U3.
Производительность вывода тэгов через API улучшилась по сравнению с vSphere 6.7 U3.
Теперь доступна паджинация вывода API, что позволяет упростить и ускорить получение данных.
Для иллюстрации улучшений на рисунке ниже приведена картина задержек (latency) при привязывании 15 тэгов к 5 000 виртуальным машинам в vSphere 6.7 U3 (где время линейно увеличивалось с ростом числа тэгов) и vSphere 7.0 Update 1, где время оставалось практически неизменным.
Скачать отчет VMware vSphere 7.0 U1 Tagging Best Practices можно по этой ссылке.
Не все администраторы VMware vSphere и vSAN знают, что в версии vSAN 6.7 Update 3 появилась утилита vsantop, которая по аналогии с esxtop, используемой для получения метрик с хостов ESXi, позволяет получать метрики с устройств и хранилищ vSAN.
Запускается утилита просто: vsantop
По умолчанию она отображает метрики для сущности host-domclient. Чтобы выбрать нужную вам сущность - устройства, хост или кластер, нужно нажать большую клавишу <E> с шифтом:
После того, как вы выберете нужную сущность, будут отображаться метрики для нее с дефолтными колонками в данной категории. Чтобы выбрать колонки, нужно нажать клавишу <f>:
Для отображения можно выбрать только 10 полей, если хотите добавить какое-то поле, то какое-то из текущих придется убрать.
Также esxtop может работать в пакетном режиме с заданным интервалом и записывать метрики в CSV-файл:
vsantop -b -d [delay] -n [iterations] > [file location & name]
usage: vsantop [-h] [-v] [-b] [-d delay] [-n iterations]
-h prints this help menu.
-v prints version.
-b enables batch mode.
-d sets the delay between updates in seconds.
-n runs vsantop for only n iterations. Use "-n infinity" to run forever.
Например, вот такая команда запустит сбор метрик с 10-секундным интервалом, всего будет 20 таких итераций, а результаты будут записаны в файл CSV:
Напомним, что NVMe-oF - это реализация технологии RDMA, которая позволяет не использовать CPU для удаленного доступа к памяти и пропускать к хранилищу основной поток управляющих команд и команд доступа к данным напрямую, минуя процессоры серверов и ядро операционной системы. Еще один его плюс - это то, что он обратно совместим с такими технологиями, как InfiniBand, RoCE и iWARP. Для всего этого нужна поддержка RDMA со стороны HBA-адаптера хоста ESXi.
Поддержка NVMe-oF для доступа к хранилищам появилась еще в VMware vSphere 7, а в обновлении Update 1 была улучшена и оптимизирована. В указанном выше документе рассматривается сравнение производительности традиционного протокола Fibre Channel Protocol (SCSI FCP) с реализацией FC-NVMe в vSphere 7.0 U1.
Для всех бенчмарков использовался тот же HBA-адаптер и инфраструктура сети хранения данных SAN. Для генерации нагрузки использовались утилиты fio (для создания разных по размеру операций ввода-вывода I/O, а также паттернов нагрузки) и Microsoft CDB (бенчмарк для генерации OLTP-нагрузки в SQL Server).
Результат оказался весьма интересным. С точки зрения IOPS протокол NVMe-oF смог выжать почти в два раза больше операций ввода-вывода практически для IO любого размера:
Задержка (Latency) также снизилась практически в два раза:
На картинке ниже приведены результаты теста Microsoft CDB для базы данных в числе транзакций в секунду:
Здесь также виден значительный прирост для NVMe-oF, а для двух виртуальных машин производительность выше почти в раза!
Остальные интересные детали тестирования - в документе.
Это такая утилита, построенная на принципах клеточного автомата (cellular automata, CA), которая позволяет смоделировать характеристики производительности для путей данных в кластере vSAN. Сам методика клеточных автоматов позволяет смоделировать и исследовать комплексную систему со множеством элементов, работающих параллельно и имеющих короткие соединения между собой, при этом создающих эмерждентную сущность.
При симуляции стека хранилищ данная утилита моделирует передачу блоков данных по сети через аппаратные ресурсы по различным коротким соединениям, таким как CPU->кэш->DRAM->SSD/HDD, соединения PCIe, Ethernet и т.п. Вот небольшое видео о том, как это работает:
Основная цель такой симуляции - получить идеальные показатели пиковой пропускной способности к хранилищам - так называемая speed-of-light (SOL) throughput.
При моделировании запросов ввода-вывода на чтение-запись применяются различные модели движения блоков данных по сети. Эти модели включают в себя функции репликации данных, вычисление parity, контрольных сумм, шифрование, компрессия данных и некоторые другие факторы, влияющие на длительность операций.
Результаты можно использовать для бенчмаркинга реальных инфраструктур, изменения настроек для повышения производительности, а также понимания затыков (bottlenecks), понижающих общую производительность стека работы с хранилищами vSAN в виртуальной инфраструктуре.
Вот пример такого моделирования:
В общем, если у вас есть время на подобные игры - скачивайте Storage Simulator Using Cellular Automata по этой ссылке. Инструкции по использованию доступны там же на вкладке "Instructions".
Пару недель назад на сайте проекта VMware Labs вышли обновления сразу нескольких утилит, поэтому вы, возможно, пропустили апдейты HCIBench 2.5 и 2.5.1. Напомним, что это средство позволяет провести комплексный тест производительности отказоустойчивых кластеров хранилищ VMware vSAN, а также других конфигураций виртуальной инфраструктуры. О прошлой версии HCIBench 2.4 мы писали вот тут.
Давайте посмотрим, что нового появилось в версиях 2.5 и 2.5.1:
Добавлена возможность тестирования в рамках топологии vSAN HCI Mesh, теперь можно добавлять локальные и удаленные датасторы vSAN одновременно.
Добавлена поддержка локальных хранилищ, включая VMFS и тестирование vSAN-Direct.
Новый режим vSAN Debug Mode, который позволяет автоматически собрать бандлы vm-support и vmkstats при тестировании vSAN.
Изменена конвенция имен виртуальных машин на {vm_prefix}-{datastore_id}-batch_num-sequence_num.
Улучшенный формат отчета о тестировании.
Возможность указывать кастомные IP для тестовых машин.
Возможность выставлять CPU и память для тестовых машин.
Добавлено руководство по сетевому траблшутингу как раздел пользовательской документации.
Возможность обновления на текущую и последующие версии одной командой: tdnf install -y git && git clone https://github.com/cwei44/HCIBench.git && sh HCIBench/upgrade.sh
MD5 Checksum: 1d14426f92b353e90469a8623ade2bc1 HCIBench_2.5.1.ova
Исправлены ошибки с тестированием не-vSAN кластера, а также с превалидацией политики хранилищ.
Прочие исправления ошибок.
Скачать VMware HCIBench 2.5.1 можно по этой ссылке.
Некоторое время назад мы писали о технологии Remote Direct Memory Access (RDMA) которая позволяет не использовать CPU сервера для удаленного доступа приложения к памяти другого хоста. RDMA позволяет приложению обратиться (в режиме чтение-запись) к данным памяти другого приложения на таргете, минуя CPU и операционную систему за счет использования аппаратных возможностей, которые предоставляют сетевые карты с поддержкой этой технологии - называются они Host Channel Adaptor (HCA).
Устройства HCA могут коммуницировать с памятью приложений на сервере напрямую. Грубо говоря, если в обычном режиме (TCP) коммуникация по сети происходит так:
То при наличии на обоих хостах HCA, обмен данными будет происходить вот так:
Очевидно, что такая схема не только снижает нагрузку на CPU систем, но и существенно уменьшает задержки (latency) ввиду обхода некоторых компонентов, для прохождения которых данными требуется время.
Поддержка RDMA появилась еще в VMware vSphere 6.5, когда для сетевых адаптеров PCIe с поддержкой этой технологии появилась возможность обмениваться данными памяти для виртуальных машин напрямую через RDMA API. Эта возможность получила название Paravirtual RDMA (PVRDMA).
Работает она только в окружениях, где есть хосты ESXi с сетевыми картами с соответствующей поддержкой, а также где виртуальные машины подключены к распределенному коммутатору vSphere Distributed Switch (VDS). Метод коммуникации между виртуальными машинами в таком случае выбирается по следующему сценарию:
Если две машины общаются между собой на одном ESXi, то используется техника memory copy для PVRDMA, что не требует наличия HCA-карточки на хосте, но сама коммуникация между ВМ идет напрямую.
Если машины находятся на хостах с HCA-адаптерами, которые подключены как аплинки к VDS, то коммуникация идет через PVRDMA-канал, минуя обработку на CPU хостов, что существенно повышает быстродействие.
Если в коммуникации есть хоть одна ВМ на хосте, где поддержки RDMA на уровне HCA нет, то коммуникация идет через стандартный TCP-туннель.
Начиная с VMware vSphere 7 Update 1, для PVRDMA была добавлена поддержка оконечных устройств с поддержкой RDMA (Native Endpoints), в частности хранилищ. Это позволяет передать хранилищу основной поток управляющих команд и команд доступа к данным от виртуальных машин напрямую, минуя процессоры серверов и ядро операционной системы. К сожалению для таких коммуникаций пока не поддерживается vMotion, но работа в этом направлении идет.
Чтобы у вас работала технология PVRDMA для Native Endpoints:
ESXi должен поддерживать пространство имен PVRDMA. Это значит, что аппаратная платформа должна гарантировать, что физический сетевой ресурс для виртуальной машины может быть выделен с тем же публичным идентификатором, что и был для нее на другом хосте (например, она поменяла размещение за счет vMotion или холодной миграции). Для этого обработка идентификаторов происходит на сетевых карточках, чтобы не было конфликтов в сети.
Гостевая ОС должна поддерживать RDMA namespaces
на уровне ядра (Linux kernel 5.5 и более поздние).
Виртуальная машина должна иметь версию VM Hardware 18
или более позднюю.
За счет PVRDMA для Native Endpoints виртуальные машины могут быстрее налаживать коммуникацию с хранилищами и снижать задержки в сети, что положительно сказывается на производительности как отдельных приложений и виртуальных машин, так и на работе виртуального датацентра в целом.
На сайте проекта VMware Labs появилась очередная полезная штука - Storage Performance Tester. С помощью данного средства администраторы VMware vSphere могут в один клик проверить производительность хранилищ в плане IOPS, Latency и циклов CPU на одну операцию ввода-вывода для серверов VMware ESXi.
Эта утилита автоматизирует все шаги, которые необходимо предпринять для тестирования, включая развертывание виртуальных машин, запуск нагрузки по вводу-выводу, а также анализ производительности хранилища. Метрики, полученные в результате тестирования, визуализируются на графиках. Единственная вещь, которую вам нужно сделать - это выполнить соответствующую команду и ждать сгенерированного отчета о производительности хоста ESXi.
Средство создано как для администраторов платформы vSphere, так и для разработчиков, которым требуется решать проблемы производительности в виртуальной инфраструктуре. Также Storage Performance Tester удобно использовать для получения максимальных параметров производительности аппаратного обеспечения, а также программных компонентов (драйверы, настройки vSphere и vSAN).
Для запуска тестовой среды вам понадобятся:
python3
sshpass
2 ГБ свободного места
Linux-окружения (с версией ядра не менее 2.6.31)
Вот небольшое обзорное видео, где можно посмотреть всю процедуру запуска утилиты и, собственно, сам отчет с результатами тестирования:
Скачать Storage Performance Tester можно по этой ссылке.
Не так давно мы писали о том, что в последней версии VMware vSphere 7 Update 1 технология vMotion стала еще быстрее и теперь обеспечивает нужды горячей миграции даже для самых тяжелых виртуальных машин.
Напомним, что VMware полностью переписала технологию vMotion memory pre-copy с использованием нового механизма page-tracing, который существенно уменьшает время "заморозки" и переключения копии виртуальной машины на ее копию на другом хосте ESXi.
Интересны некоторые моменты. Например, в vSphere 6.7 используется технология отслеживания изменений CPU во время миграции stop-based trace, которая "подмораживает" все CPU, а в vSphere 7 U1 уже подмораживается только один процессор (техника loose page-trace Install):
Также vSphere 7.0 U1 передает compacted bitmap памяти вместо полного, что уменьшает время переключения на ВМ другого хоста:
Интересно уменьшение влияния миграции тяжелой БД Oracle на производительность - улучшение составило 19 раз!
Время миграции - до 50% меньше:
Ну и вообще в документе очень много всего интересного для интересующихся. Читайте здесь.
В начале октября этого года прошла конференция VMworld 2020, которую компания VMware впервые провела исключительно в онлайн-формате. Там было сделано много интересных анонсов, главные из которых - это развитие экосистемы поддержки контейнеризованных приложений и расширение продуктовой линейки для автоматизации облачных инфраструктур.
Сегодня мы поговорим о второй части - решении VMware vRealize AI Cloud, которое предназначено для автоматического повышения эффективности использования хранилищ в рамках концепции самооптимизирующегося датацентра.
Эту концепцию вендоры различных ИТ-платформ продвигают уже давно. Ее суть заключается в том, что решения в рамках датацентра будущего (как программные, так и аппаратные) должны самостоятельно отслеживать изменяющиеся метрики среды, в которой они работают, после чего автоматически вносить коррективы в конфигурации для максимально эффективного функционирования инфраструктуры в целом.
Еще одним трендом VMware считает развитие гибридных инфраструктур, которые будут строить крупные компании. В гибридной среде важна унификация процедур управления и технических инструментов, над чем VMware работает уже давно (например, в этой парадигме построено решение Cloud Director 10.2).
Так вот, в гибридной среде у каждого онпремизного решения должны быть его облачные аналоги, но должны быть и чисто облачные инструменты, которые как раз делают датацентр самооптимизирующимся, поскольку за это отвечает вендор платформы. Одним из таких инструментов и стало решение vRealize AI Cloud:
vRealize AI Cloud поставляется вместе с решением vRealize Operations Cloud в рамках подписки vRealize Cloud Universal. За счет использования алгоритмов машинного обучения этот продукт позволяет адаптироваться к изменяющимся условиям в характере нагрузок и проводить постоянную оптимизацию использования хранилищ (а именно улучшая конкретные KPI, вроде пропускной способности или latency).
Сейчас эта технология работает только с хранилищами vSAN, но потенциально нет никаких препятствий для VMware открыть ее и для других облачных хранилищ.
Как видно из картинки выше, vRealize AI Cloud генерирует и применяет настройки для оптимизации работы с хранилищами, а также дает администратору инструменты для отслеживания производимых изменений и средства мониторинга измеренных количественных улучшений.
Консоль vRealize AI Cloud предлагает администратору решения 4 блоков задач:
Оптимизация производительности в кластере
Оптимизация емкости хранилищ
Решение проблем разного характера, в зависимости от типа объекта
Анализ конфигураций объектов и управление ими
Если перейти на уровень виртуальных датацентров, администратор видит те из них, где оптимизация кластеров уже включена (зелено-синий цвет), и те, где выключена, причем для обоих вариантов показано, на сколько процентов можно улучшить количественные метрики:
Можно провалиться на уровень кластера (выбрав соответствующую точку в периметре) и увидеть определенные хосты ESXi, где могут быть проведены оптимизации:
В частности мы видим в реальном времени поток оптимизаций (верхняя строчка), а также основные параметры производительности справа - latency и пропускную способность:
Раскрыв уровень оптимизаций, можно увидеть, какие конкретно настройки и в какое время были изменены. В данном случае был уменьшен размер кэша, поскольку AI Cloud предположил, что это улучшит write latency на 25%:
Конечно же, предположения могут не оправдаться, и тогда AI Cloud откатит настройку, чтобы убедиться, что хуже KPI не стали.
В потоке действий AI Cloud мы четко видим таймлайн изменений и детальные графики производительности на уровне каждого из выбранных хостов:
Если AI Cloud не включен в кластере, то будет рассчитан примерный потенциал оптимизаций, который, на самом деле, представляет собой довольно серьезные цифры, поэтому вполне имеет смысл хотя бы включить и попробовать AI Cloud в деле:
Когда вы включаете этот движок, вы можете выбрать степень агрессивности работы алгоритма оптимизаций:
Консервативный режим всегда оставляет запас по производительности и емкости при выполнении рекомендаций по оптимизации, а агрессивный - действует весьма смело. Как всегда, начинать нужно с консервативного режима и потом потихоньку увеличивать степень. После включения механизма AI Cloud начнется процесс обучения системы паттернам нагрузок, только после чего уже начнется генерация и применение рекомендаций.
В среднем, по тестам VMware, оптимизации хранилищ vSAN могут достигать 60% за счет использования движка AI Cloud. Например, по тестам Rackspace в 4-узловом кластере хранилищ улучшения полосы пропускания на запись (write-throughpu) составили 18%, а уменьшение задержек находилось на уровне 40%-84%.
Также AI Cloud тесно интегрирован с политиками хранилищ SPBM (Storage Policy Based Management). Настройки этих политик также влияют на производительность - например, можно отключить дедупликацию, и это существенно улучшит производительность хоста за счет уменьшения нагрузки на CPU и хранилища:
В целом, решение vRealize AI Cloud - это шаг вперед в реализации концепции самооптимизирующихся датацентров в разрезе хранилищ. Будем надеяться, что решение уже скоро будет доступно в облачных инфраструктурах сервис-провайдеров VMware Cloud.
Также на конференции VMworld Online 2020 компания VMware показала, как именно будет выглядеть решение vRealize AI Cloud:
Многие из вас знают, что компания VMware с каждым новым релизом мажорной версии платформы vSphere улучшает техники горячей миграции виртуальных машин vMotion. Последнее обновление VMware vSphere 7 Update 1 - не исключение, там было сделано много для того, чтобы технология vMotion работала еще быстрее и обеспечивала нужды горячей миграции даже для самых тяжелых виртуальных машин.
Ранее vMotion могла не пройти для больших ВМ, которые имели более 64 vCPU и 512 ГБ памяти (они же Monster VMs). В документе "vMotion Innovations in vSphere 7.0 U1" можно найти конкретное описание улучшений. Давайте посмотрим на них вкратце.
Прежде всего, VMware полностью переписала технологию vMotion memory pre-copy с использованием нового механизма page-tracing, который существенно уменьшает время "заморозки" и переключения копии виртуальной машины на ее копию на другом хосте ESXi.
В документе выше для примера делается миграция vMotion сервера БД Oracle, запущенного в виртуальной машине с 72-vCPU / 1 TБ памяти на борту. На картинке ниже показано число тразакций в секунду с шагом как раз в секунду - до, во время и после vMotion (тест HammerDB):
Основные выводы теста, проведенного для такой нагрузки:
Общее время миграции уменьшилось более чем в 2 раза (с 271 секунды до 120 секунд)
Итоговое время для установления трассировки уменьшилось с 86 секунд до 7.5 секунд (снизилось в 11 раз)
Общее проседание пропускной способности во время миграции - на 50% для vSphere 6.7 и всего лишь 5% для vSphere 7.0 Update 1
Ответ Oracle во время переключения в среднем стал менее одной секунды, а ранее составлял более 6 секунд
Второй тест проводили для миграции vMotion сервера БД Oracle в виртуальной машине с 12 vCPU / 64 ГБ памяти для vSphere 6.7 и vSphere 7.0 U1. На картинке ниже показано число транзакций в секунду с шагом в полсекунды - до, во время и после vMotion (тест HammerDB):
Основные результаты теста:
Общее время горячей миграции сократилось с 23 секунд в vSphere 6.7 до 11 секунд в vSphere 7.0 U1 (уменьшение в 2 раза)
Итоговое время для установления трассировки уменьшилось с 2.8 секунд до 0.4 секунд (снизилось в 7 раз)
Увеличение полосы пропускания где-то на 45% (около 3480 транзакций в секунду, по сравнению с 2403 транзакции в секунду)
Коллега с virten.net написал замечательную статью об использовании сетевых адаптеров USB на хостах VMware ESXi, основные моменты которой мы приведем ниже.
Напомним, что подключить сетевые адаптеры USB на хостах ESXi можно с помощью драйвера USB Network Native Driver for ESXi, о котором мы не так давно писали вот тут. Такой адаптер, например, можно использовать, когда вам необходимо подключить дополнительные Ethernet-порты к серверу, а у него больше не осталось свободных PCI/PCIe-слотов.
Еще один вариант использования таких адаптеров - когда у вас (например, на тестовом сервере) есть всего один гигабитный порт, а вам нужно тестировать технологии и продукты, где нужно несколько высокоскоростных соединений.
Итак, после того, как вы скачаете драйвер, его установка делается одной командой:
С помощью PowerShell можно создать кастомизированный образ ESXi с уже вшитым драйвером сетевого USB-адаптера. Просто раскомментируйте строчку с нужной версией драйвера:
# ESXi 7.0 Image with USB NIC Fling 1.6:
$baseProfile = "ESXi-7.0.0-15843807-standard" # See https://www.virten.net/vmware/vmware-esxi-image-profiles/ for available Image Profiles
$usbFling = "ESXi700-VMKUSB-NIC-FLING-39035884-component-16770668.zip" # Uncomment for ESXi 7.0
#$usbFling = "ESXi670-VMKUSB-NIC-FLING-39203948-offline_bundle-16780994.zip" # Uncomment for ESXi 6.7
#$usbFling = "ESXi650-VMKUSB-NIC-FLING-39176435-offline_bundle-16775917.zip" # Uncomment for ESXi 6.5
При установке VMware ESXi на хост, где есть только USB сетевые адаптеры, процесс может зависнуть на 81%. В этом случае почитайте вот эту статью.
Кстати, ваши USB-адаптеры лучше всего пометить наклейками. Автор предлагает указать имя хоста ESXi, MAC-адрес адаптера и его номер vusbX:
Номер виртуального vusbX не сохраняется при перезагрузках. Начиная с версии драйвера 1.6 можно закрепить MAC-адрес за нужным vusbX. Сначала найдем наш адаптер:
# esxcli network nic list |grep vusb |awk '{print $1, $8}'
vusb0 00:23:54:8c:43:45
vusb1 a0:ce:c8:cd:3d:5d
Затем сделаем статический маппинг адаптеров с использованием модуля vmkusb_nic_fling:
# esxcli system module parameters set -p "vusb0_mac=00:23:54:8c:43:45 vusb1_mac=a0:ce:c8:cd:3d:5d" -m vmkusb_nic_fling
В данной команде нужно перечислить все адаптеры через пробел (если вы вызываете ее второй раз, то нужно переуказать каждый из адаптеров, иначе маппинг сбросится).
Далее нужно проверить маппинги с помощью команды:
# esxcli system module parameters list -m vmkusb_nic_fling
Name Type Value Description
-------------------------- ------ ----------------- -----------
usbCdromPassthroughEnabled int Enable USB CDROM device for USB passtrough: 0 No, 1 Yes
vusb0_mac string 00:23:54:8c:43:45 persist vusb0 MAC Address: xx:xx:xx:xx:xx:xx
vusb1_mac string a0:ce:c8:cd:3d:5d persist vusb1 MAC Address: xx:xx:xx:xx:xx:xx
vusb2_mac string persist vusb2 MAC Address: xx:xx:xx:xx:xx:xx
vusb3_mac string persist vusb3 MAC Address: xx:xx:xx:xx:xx:xx
vusb4_mac string persist vusb4 MAC Address: xx:xx:xx:xx:xx:xx
vusb5_mac string persist vusb5 MAC Address: xx:xx:xx:xx:xx:xx
vusb6_mac string persist vusb6 MAC Address: xx:xx:xx:xx:xx:xx
vusb7_mac string persist vusb7 MAC Address: xx:xx:xx:xx:xx:xx
Если вы хотите сделать текущий маппинг постоянным, то используйте команду:
# esxcli system module parameters set -p "$(esxcli network nic list |grep vusb |awk '{print $1 "_mac=" $8}' | awk 1 ORS=' ')" -m vmkusb_nic_fling
Также статические маппинги можно сделать и через PowerCLI. Выводим адаптеры:
PS> Get-VMHostNetworkAdapter -VMHost esx2.virten.lab -Physical -Name vusb* |select Name,Mac
Name Mac
---- ---
vusb0 00:23:54:8c:43:45
vusb1 a0:ce:c8:cd:3d:5d
Далее проводим операцию vMotion виртуальной машины между хостами ESXi. Результат таков:
Очевидно, кросс-соединение на адаптерах 2.5G рулит.
Проверка совместимости
Не все сетевые адаптеры USB поддерживаются нативным драйвером. Их актуальный список всегда можно найти вот тут. Вот эти адаптеры точно работают:
Адаптеры доступны в форм-факторах USB-A и USB-C. Между ними есть переходники.
Если вам нужно высокоскоростное соединение (multi-gigabit) между несколькими хостами, можно посмотреть на следующие коммутаторы:
MikroTik CRS305-1G-4S+IN ($130 USD) - 4 порта
MikroTik CRS309-1G-8S+IN ($260 USD) - 8 портов
Netgear MS510TX ($260 USD) - 10 портов
TRENDnet TEG-30102WS ($450 USD) - 10 портов
Самое быстрое и дешевое соединение между двумя хостами ESXi - соединить адаптеры патч-кордом напрямую:
Проверяйте параметр MTU size, когда включаете Jumbo Frames
Если вы меняете размер MTU на виртуальном коммутаторе, он принудительно меняется на всех подключенных к нему физических сетевых адаптерах. Имейте в виду, что эти адаптеры должны поддерживать выставляемый MTU size.
Посмотреть размер MTU можно следующей командой:
[root@esx4:~] esxcfg-nics -l
Name PCI Driver Link Speed Duplex MAC Address MTU Description
vmnic0 0000:00:1f.6 ne1000 Up 1000Mbps Full 00:1f:c6:9c:47:13 1500 Intel Corporation Ethernet Connection (2) I219-LM
vusb0 Pseudo uether Up 1000Mbps Full 00:24:9b:1a:bd:18 1600 ASIX Elec. Corp. AX88179
vusb1 Pseudo uether Up 1000Mbps Full 00:24:9b:1a:bd:19 1500 ASIX Elec. Corp. AX88179
В данном примере MTU size настроен как 1600, что подходит для адаптеров (и работает для сети NSX-T). Если же вы поставите его в 9000, то увидите в vmkernel.log ошибки для dvSwitch о том, что такой размер не поддерживается устройством:
2020-07-19T16:10:42.344Z cpu6:524356)WARNING: vmkusb: Set MTU 9000 is not supported: Failure
2020-07-19T16:10:42.344Z cpu6:524356)WARNING: Uplink: 16632: Failed to set MTU to 9000 on vusb0
Если вы хотите проверить корректность вашего MTU size, то можно использовать команду ping с размером пакета MTU-28 байт (8 байт на заголовок ICMP и 20 байт на заголовок IP). Таким образом, для MTU size 1600 используйте число 1572:
[root@esx2:~] vmkping ++netstack=vxlan 192.168.225.10 -d -s 1572 -I vmk10
PING 192.168.225.10 (192.168.225.10): 1572 data bytes
1580 bytes from 192.168.225.10: icmp_seq=0 ttl=64 time=0.680 ms
[root@esx2:~] vmkping ++netstack=vxlan 192.168.225.10 -d -s 1573 -I vmk10
PING 192.168.225.10 (192.168.225.10): 1573 data bytes
sendto() failed (Message too long)
Производительность дисковой подсистемы в Linux зависит от различных параметров и настроек, одной из которых является тип планировщика для работы с потоком ввода-вывода (I/O scheduler). Если вы планируете использовать продукт StarWind VSAN for vSphere для создания программных хранилищ на базе виртуальных машин Linux (Virtual Storage Appliance), то информация ниже может быть вам полезна.
В зависимости от типа целевого хранилища, иногда целесообразно поменять используемый тип планировщика. Чтобы вывести текущий тип I/O scheduler, нужно выполнить следующую команду для выбранного устройства:
В данном случае мы видим, что тип планировщика - это noop (он же none). В зависимости от версии ядра Linux, он также может быть выставлен как mq-deadline. Кстати, обратите внимание, что тип планировщика указывается на уровне отдельного дискового устройства.
Считается, что для SSD и NVMe-устройств лучше ставить планировщик none / noop, который уменьшает нагрузку на CPU, а вот для HDD-дисков лучше использовать mq-deadline, который показывает лучшие результаты по итогам синтетических тестов.
Чтобы поменять планировщик на noop для диска sdb, нужно выполнить следующую команду:
# echo noop > /sys/block/sdb/queue/scheduler
Потом надо обязательно проверить, что планировщик поменялся, следующей командой:
Но это все меняет тип планировщика на время, до перезагрузки, чтобы вы могли проверить разные планировщики и сделать тесты производительности. Чтобы сохранить эти изменения, нужно изменить файл scheduler.rules в директории /etc/udev/rules.d/
Например, если вы хотите поменять планировщик на noop для устройства sdb и установить политику "no read ahead" для него, то нужно добавить туда следующую строчку:
Рекомендуется выставлять одинаковый тип планировщика на всех узлах, где расположены хранилища StarWind VSAN. Также надо отметить, что последние версии продукта StarWind VSAN for vSphere при установке автоматически выставляют тип планировщика noop для SSD-хранилищ.
Напомним, что Intel Optane DC persistent memory (DCPMM) - эта память не такая быстрая как DRAM и имеет бОльшие задержки, но они все равно измеряются наносекундами. При этом данная память позволяет иметь ее большой объем на сервере, что существенно повышает плотность ВМ на одном хосте.
Модули DCPMM изготавливаются под разъем DDR4 и доступны планками по 128, 256 и 512 ГБ. В одной системе может быть до 6 ТБ памяти DCPMM. Платформа VMware vSphere 6.7 EP10 и более поздние версии поддерживают память Intel Optane persistent memory 100 series (она же Intel Optane PMem) со вторым поколением процессоров Intel Xeon Scalable в режимах App Direct и Memory.
В указанном документе рассматривается производительность данной памяти в новом режиме Balanced Profile для конфигурации BIOS, который впервые появился в процессорах Intel этой серии в целях повышения производительности. За счет данного режима производительность памяти увеличилась в 1.75 раза, как показано на картинке по результатам тестов:
Раньше DRS был сфокусирован на выравнивании нагрузки на уровне всего кластера хостов ESXi в целом (на базе расчета стандартного отклонения по производительности), то есть бралась в расчет загрузка аппаратных ресурсов каждого из серверов ESXi, на основании которой рассчитывались рекомендации по миграциям vMotion виртуальных машин. Теперь же механизм запускается каждую минуту, а для генерации рекомендаций используется механизм VM DRS Score (он же VM Hapiness), отражающий удовлетворение потребности виртуальной машины в свободных ресурсах.
Пример 1 - хост с отклонением нагрузки от большинства
В старом DRS, работающем по принципу выравнивания нагрузки в кластере на базе анализа стандартного отклонения загруженности хостов в рамках определенного порога, могла возникнуть вот такая ситуация, когда DRS не требовалось предпринимать никаких действий по выравниванию нагрузки, хотя они, очевидно, требовались:
Новый DRS работает на базе анализа ресурсов для каждой виртуальной машины и будет перемещать их средствами vMotion, пока не достигнет максимальной доступности ресурсов для каждой ВМ. В точно таком же случае, как описано выше, это приведет в итоге к более сбалансированной ситуации:
Пример 2 - неравномерная загрузка хостов в кластере
В старом DRS был порог по дисбалансу в кластере, и если он не превышен - то механизм балансировки не запускался. Это могло приводить к образованием групп хостов с разными уровнями средней загрузки процессора и памяти:
В ситуации с новым DRS ситуация в итоге, опять-таки, получается более справедливая:
Также полезной оказывается метрика DRS Score (она же VM Hapiness), которая формируется из 10-15 главных метрик машин. Основные метрики из этого числа - Host CPU Cache Cost, VM CPU Ready Time, VM Memory Swapped и Workload Burstiness.
Если все машины чувствуют себя "комфортно" на всех хостах, то DRS Score оказывается максимальным:
Если подать нагрузку на пару хостов ESXi, то их средний DRS Score падает, а на дэшборде указывается число машин, для которых рассчитаны низкие уровни DRS Score:
После того, как DRS обработает эту ситуацию, нагрузка на хосты выравнивается, а значение DRS Score увеличивается:
На сайте проекта VMware Labs обновилась утилита Horizon Reach до версии 1.1, которая позволяет проводить мониторинг и алертинг для развертываний VMware Horizon на площадках заказчиков (только в реальном времени, без исторических данных). Horizon Reach предназначен для тех окружений VMware Horizon, которые образуются в крупных компаниях на уровне площадок (Pod) в рамках концепции Cloud Pod Architecture как отдельный домен отказа (либо где площадки изолированы, но хочется иметь доступ к мониторингу в моменте из одной точки).
Это большое обновление, и в нем появилось много новых возможностей и исправлений ошибок прошлой версии (о которой мы писали осенью прошлого года вот тут).
Давайте посмотрим, что нового в Horizon Reach 1.1:
Теперь утилитой можно напрямую мониторить компоненты Unified Access Gateways, также доступны функции скачивания конфигурации и логов
Пользовательские сессии можно просматривать в рамках следующих представлений:
Pools
Farms
Unified Access Gateways
Global Entitlements
Global Application Entitlements
Алармы были полностью переработаны, чтобы поддерживать отправку нотификаций в следующие каналы:
SMTP
Slack
Сторонние средства через сценарии PowerShell
LDAP-интеграция алармов поддерживает кириллицу
Улучшенный дэшборд алармов
Обновления vCenter:
Хосты теперь видимы, и для них отслеживается производительность
Датасторы теперь видимы, показано свободное пространство
Кастеры теперь видимы, для них доступны различные представления - пулы, фермы и т.п. Также можно использовать интеграцию PowerShell и API
Профили vGPU теперь показаны в представлении пулов
Множество исправлений ошибок
Скачать VMware Horizon Reach 1.1 можно по этой ссылке.