У средства обновления хостов VMware vSphere Update Manager (VUM) есть полезный механизм проверок Pre-Check Remediation Report, который выполняет предварительную проверку условий для обновления хостов ESXi, чтобы этот процесс не прервался уже после его начала. Эти условия очень просты, но иногда позволяют сэкономить массу времени, особенно в большой инфраструктуре VMware vSphere.
Чтобы запустить эти проверки, надо выбрать нужный вам кластер и нажать кнопку Pre-Check Remediation:
После того, как вы запустите предпроверку Update Manager, вы получите отчет с предупреждениями о фактах, мешающих дальнейшим обновлениям:
Отчет Pre-Check Remediation Report для кластера может содержать следующие пункты:
Номер
Текущий статус
Рекомендуемое действие
Описание
1
Отключен ли DPM?
Отключите DPM в кластере
Если на хосте нет виртуальных машин, то механизм DPM может перевести хост в режим standby во время или до обновления. Вследствие этого, DPM может не начать процесс обновления хоста.
2
Включен ли DRS?
Включите DRS в кластере
Именно DRS позволяет серверу vCenter смигрировать ВМ на другие хосты ESXi, чтобы обновить целевой хост-сервер.
3
Отключен ли HA admission control?
Отключите HA admission control
HA admission control предотвращает миграцию ВМ средствами vMotion, в результате которой не выполняются правила доступности слотов. Перед обновлением этот механизм лучше отключить.
4
Включен ли EVC в кластере?
Включите EVC в кластере
EVC позволяет убедиться, что все хосты в кластере презентуют одинаковый набор инструкций CPU виртуальным машинам. Это позволяет гарантировать, что все они могут перемещаться на любой хост кластера средствами vMotion во время эвакуации машин с обновляемого хоста ESXi.
5
Успешны ли проверки vSAN health check?
Проверьте страницу vSAN Health Check на наличие проблем
Проверки vSAN Health Check представляют собой набор тестов для хостов ESXi, составляющих кластер vSAN (например, тесты доступности хранилищ во время обновления). Они должны завершиться успешно перед началом процедуры обновления хостов.
Отчет Pre-Check Remediation Report для виртуальных машин может содержать следующее:
Номер
Текущий статус
Рекомендуемое действие
Описание
1
К ВМ привязан привод CD/DVD
Отключите привод CD/DVD
Это редкая, но случающаяся проблема, когда такие приводы используются, например, для монтирования ISO-образов.
2
К ВМ привязан floppy-драйв
Отключите привод floppy
Очень редко, но бывает.
3
Для ВМ включена технология FT
Отключите Fault Tolerance для ВМ
Технология Fault Tolerance не позволяет VUM обновлять ВМ.
4
На ВМ установлен VMware vCenter Server, при этом DRS в кластере отключена
Включите DRS в кластере и убедитесь, что машина может мигрировать средствами vMotion
vCenter управляет компонентом VUM, поэтому нужно, чтобы он мог переехать на другой хост в процессе обновления ESXi.
5
На ВМ установлен VMware vSphere Update Manager, при этом DRS в кластере отключена
Включите DRS в кластере и убедитесь, что машина может мигрировать средствами vMotion
vCenter управляет процессом обновления, поэтому нужно, чтобы он мог переехать на другой хост в процессе обновления ESXi.
Компания VMware опубликовала уведомление VMSA-2019-0009 для пакета VMware Tools, который содержит уязвимость, позволяющую непривилегированному пользователю читать данные из гостевой ВМ, а также негативно влиять на ее гостевую ОС. Уязвимости подвержены версии VMware Tools ниже 10.3.10.
В качестве примера использования такой уязвимости можно привести Windows-машины, где включены службы Microsoft Remote Desktop Services. Также риску подвержены службы Microsoft SQL Server или IIS, использующие сервисные аккаунты.
Сначала надо вывести все ВМ, имеющие VMware Tools версии ниже 10.3.10 с помощью следующей команды PowerCLI:
Проверить версию VMware Tools можно и самостоятельно в VMware vSphere Client:
Помните, что VMware 6.7 Update 2a идет с версией VMware Tools 10.3.5. Надо отметить, что гостевые ОС Linux не подвержены уязвимости, поэтому не пугайтесь, что open-vm-tools имеют только версию 10.3.5.
Если вы хотите обновить VMware Tools через офлайн-бандл, то скачайте "VMware Tools Offline VIB Bundle", после чего можно использовать vSphere Update Manager (VUM) для развертывания установщиков пакета на хостах ESXi без простоя. После этого машины должны в течение 5 минут схватить новую версию тулзов (таков период обновления информации об актуальной версии пакета). Установленная версия VMware Tools также проверяется и при vMotion, а, кроме того, и при операциях с питанием ВМ (включение/выключение).
Помните, что при апгрейде VMware Tools вам может потребоваться перезагрузка виртуальных машин и их гостевых ОС. Также вы можете использовать приведенный выше сценарий для нескольких ВМ в одной папке:
Через vSphere Client тулзы также прекрасно обновляются:
Если вы используете опцию "Automatic Upgrade", то машина будет обновлена автоматически (без взаимодействия с гостевой ОС) и, при необходимости, перезагрузится. Также вы можете использовать обновление тулзов без немедленной перезагрузки, применив инструкции, описанные в KB1018377. Надо помнить, что в этом случае до перезагрузки будет работать старая версия VMware Tools, а значит, что до перезагрузки машины уязвимость будет актуальна.
Еще одна опция - настроить обновления тулзов в настройках виртуальной машины:
Иногда администраторы гостевой системы имеют эксклюзивный доступ к ней (например, админы бизнес-критичных баз данных) и контролируют все происходящие в ней события. Для этого надо настроить их взаимодействие с машиной как указано в KB 2007298.
В этом случае они получат нотификацию о новой версии VMware Tools из трея, либо могут проверить наличие обновлений самостоятельно с помощью команд:
Для многих пользователей публичного облака VMware vCloud on AWS одним из первых возникает вопрос - как предоставить доступ из виртуальной машины в сети Compute Network в сеть SDDC Management Network, например, для целей управления сервисами vCenter или другими службами виртуального датацентра?
Также этот вариант использования может быть востребован, когда вам требуется доступ к управляющим компонентам посредством таких интерфейсов, как PowerCLI, или развертывание виртуальных сервисов с помощью утилиты OVFTool. Вильям Лам написал об этом хорошую статью, и мы приведем здесь ее основные моменты.
Естественно, что для целей обеспечения безопасности в облаке, эти две сети по умолчанию разделены. Первое, что вам нужно сделать - это понять, с каким типом решения NSX для управления сетью вы работаете (NSX-T или NSX-V). Сделать это можно с помощью вот этой статьи.
Процедура для NSX-V
В среде NSX-V вам нужно настроить IPsec VPN между компонентами Management Gateway (MGW) и Compute Gateway (CGW) перед тем, как заработает коммуникация между сетями.
Для настройки VPN для компонента Management Gateway нажимаем Add VPN в консоли VMC и вводим требующуюся информацию сетевой идентификации (публичный IP удаленного шлюза, параметры удаленной сети и ключи), что должно отражать конфигурацию Compute Gateway (остальные настройки можно оставить по умолчанию).
Далее надо настроить VPN для Compute Gateway путем выполнения тех же шагов, что и в предыдущем абзаце, только указав конфигурацию шлюза Management Gateway. После того, как настройки обеих VPN будут сохранены, начнет отображаться статус "Partially Connected". Потом нажимаем ссылку Actions в правом верхнем углу, выбираем Edit и сохраняем настройки еще раз, чтобы на обоих шлюзах показался статус "Connected":
Теперь надо настроить сетевой экран Compute Gateway Firewall, чтобы разрешить исходящие соединения в SDDC Management Network по порту 443 для требуемых ВМ (этот порт используется для vSphere Client, а также для доступа через средства OVFTool и PowerCLI).
В приведенном ниже примере машина имеет адрес 192.168.1.4, и мы хотим позволить ей общаться с сетью 10.2.0.0/16 через порт 443:
Теперь нужно добавить в фаервол Management Gateway Firewall правила для разрешения входящих соединений для vCenter Server и хостов ESXi по порту 443 от наших определенных ВМ. Здесь все точно так же - указываем IP машины 192.168.1.4, и нам нужно добавить 2 правила для входящего трафика для разрешения коммуникации со средствами управления виртуальной инфраструктурой:
После этого вы можете залогиниться в виртуальную машину и использовать средства управления платформой vSphere, например, применять утилиту импорта виртуальных модулей OVFTool, как рассказано тут.
Процедура для NSX-T
В среде NSX-T вам не нужно создавать VPN для получения функциональности маршрутизации, которая изначально заложена в маршрутизаторе T0, ведь обе сети Management и Compute Network присоединены к T0. Между тем, правила сетевого экрана добавлять, конечно же, нужно.
В решении NSX-T используются сущности Inventory Groups, чтобы сгруппировать набор виртуальных машин и/или IP-адреса/сети, которые можно использовать при создании правил сетевого экрана.
Создаем две Inventory Groups для нашей Compute Group - одну для нашей виртуальной машины и одну для того, чтобы представлять сеть Management Network. Идем в Groups и в левой части выбираем пункт "Workload Groups", где создаем 2 группы:
Windows10 с Member Type вида Virtual Machine и указываем ВМ из инвентаря.
VMC Management Network с Member Type вида IP Address и указываем сетевой диапазон 10.2.0.0/16.
Теперь нужно создать еще одну Inventory Group для нашей Management Group, которая будет отражать ВМ, для которой мы хотим сделать доступ. Чтобы это сделать, идем в Groups, выбираем "Management Groups" и создаем следующую группу:
Windows10 Private IP с Member Type вида IP Address и указываем частный IP-адрес ВМ (в данном случае это 192.168.1.2).
Не забывайте нажать кнопку Publish, чтобы сохранить и применить правило сетевого экрана.
Теперь нужно создать правило сетевого экрана, чтобы разрешить Compute Gateway исходящие соединения к SDDC Management Network по порту 443 для нужных ВМ. Идем в Gateway Firewall и выбираем "Compute Gateway", где создаем новое правило, которое отражает группу Windows 10 как источник и группу VMC Management Network как назначение, а в качестве сервиса выбираем HTTPS (помним также про кнопку Publish).
Теперь надо создать правила на уровне Management Gateway, чтобы разрешить входящие соединения к хостам vCenter Server и ESXi по порту 443 из нужных нам ВМ. Идем в Gateway Firewall, слева выбираем "Management Gateway", затем создаем правило, которое отражает группу Windows 10 как источник, а в качестве группы назначения указываем vCenter и ESXi (сервис ставим также HTTPS):
После выполнения этой процедуры вы сможете залогиниться в ВМ Windows и использовать утилиту OVFTool для импорта/экспорта ВМ в ваш виртуальный датацентр (см. также данную процедуру здесь).
Если все было сделано правильно, вы должны иметь возможность доступа к интерфейсу vSphere Client из нужной вам ВМ, а также возможность выполнять сценарии PowerCLI и использовать утилиту OVFTool, как показано на скриншоте ниже:
Те, кто используют серверы HPE ProLiant с гипервизором VMware ESXi и пакетом управления HPE Agentless Management (AMS) для кастомизированных образов ESXi от HP, могут столкнуться со следующим сообщением об ошибке в клиенте vSphere Client:
The ramdisk 'tmp' is full
Выглядит это чаще всего вот так:
Проблема актуальна для всех версий VMware ESXi 6.0, VMware ESXi 6.5 и VMware ESXi 6.7 с пакетом Agentless Management Service (AMS) версии 11.4.0.
Если зайти в консоль ESXi и выполнить там команду vdf, то можно увидеть, что раздел /tmp заполнен на 99%:
В самом же разделе tmp есть файлик ams-bbUsg.txt, который и является источником проблем:
Для временного решения этой проблемы нужно просто удалить этот файлик, и сообщения об ошибке прекратятся. Но чтобы этого не происходило, надо обновить ваш пакет HPE Agentless Management (AMS) версии 11.4.0, где проявляется данная проблема, на версию 11.4.2. О том, как это сделать написано в статье базы знаний HP:
Недавно мы писали об утилите для тестирования производительности хранилищ HCIBench 2.0, которая помогает администраторам VMware vSphere валидировать конфигурацию кластера с точки зрения соответствия требованиям к производительности подсистемы хранения для приложений датацентра.
HCIBench используется для проведения синтетических тестов кластера хранилищ, когда нагрузка распределяется по нескольким виртуальным машинам на разных хостах ESXi. Генерация операций ввода-вывода происходит одновременно с разных ВМ согласно заранее определенному шаблону нагрузки.
А зачем вообще проводить тестирование кластера vSAN? Тут, как правило, есть следующие причины:
Понимание возможностей инфраструктуры хранения и возможность убедиться в том, что в ней нет аномалий.
Валидировать дизайн кластера vSAN с точки зрения приемо-сдаточных испытаний (User Acceptance Testing, UAT).
Получить референсные значения, с которыми можно будет сверяться при внесении существенных изменений в архитектуру vSAN.
Проведение тестов перед внедрением (PoC-проекты).
Установление базового уровня пользовательских ожиданий после развертывания приложений.
По итогу тестирования производительности хранилищ vSAN вы должны получить ответы на следующие вопросы:
Какого наибольшего числа операций ввода-вывода в секунду (IOPS) можно добиться?
Какая ожидаемая задержка выполнения операций (latency) при требуемом числе IOPS для рабочей нагрузки?
Какая максимальная пропускная способность операций чтения-записи (throughput)?
То есть результаты тестирования держатся на трех китах - IOPS, latency и throughput.
При проведении тестов нужно отключать все тормозящие технологии, такие как дедупликация и компрессия данных, а также шифрование на уровне кластера vSAN.
IOPS
Число выдаваемых IOPS зависит как от используемого оборудования для хостов и сетевых компонентов, так и от архитектуры системы. Актуальное число IOPS также зависит от уровня RAID в кластере vSAN, числа сетевых соединений между хостами, их загрузки и прочих факторов.
Обычно начинают тестирование с нескольких тредов на дисковый объект, а затем постепенно увеличивают это количество тредов, пока число выдаваемых IOPS не прекратит расти. При проведении тестирования число IOPS коррелирует с Latency, так как при увеличении одной операции ввода-вывода (размер блока операции) уменьшается число выдаваемых IOPS, а также увеличивается latency.
Latency
Обычно задержку измеряют в миллисекундах со стороны приложений, которые выполняют определенные операции. При этом, зачастую, нет каких-то референсных значений, их приходится выяснять экспериментальным путем (насколько это устраивает пользователей).
К увеличению задержек при выполнении операций приводят увеличение блока ввода-вывода, соотношение операций чтения и записи, одновременность исполнения операций ввода-вывода со стороны нескольких виртуальных машин и т.п.
Throughput
Пропускная способность важна при выполнении больших операций ввода-вывода, а также при различных паттернах чтения записи (последовательный/случайный). Чем больше размер I/O, тем очевидно больше пропускная способность. С точки зрения объема передаваемых данных одна операция I/O размером 256К равна 64 операциям ввода-вывода по 4К, но вот с точки зрения throughput это будут совершенно разные значения, так как займут разное время.
Методология тестирования хорошо описана в документации по HCIBench, а также вот в этой статье на русском языке. Работа с утилитой начинается по ссылке https://<HCIBench IP address>:8443.
Перед началом тестирования можно задать параметры среды - число виртуальных машин для кластера, количество их виртуальных дисков и их размер. Для ленивых есть параметр Easy Run, который позволит автоматически подобрать эту конфигурацию, исходя из размера кластера vSAN и параметров хостов ESXi:
Очень важно при тестировании также задать правильный профиль рабочей нагрузки (4 варианта на картинке выше).
После выполнения теста Easy Run вы получите выходной файл с результатами вроде vdb-8vmdk-100ws-4k-70rdpct-100randompct-4threads-xxxxxxxxxx-res.txt. Из имени файла можно понять использованную тестовую конфигурацию (она также будет в самом файле):
Также в папке с результатами тестирования будет подпапка с отдельными файлами, где хранятся результаты самих тестов:
Если открыть один их этих файлов, мы увидим детальные параметры производительности различных компонентов среды vSAN:
Полученные параметры можно считать базовым уровнем для тестирования производительности кластера. Теперь нужно увеличивать параллелизм, то есть число тредов Outstanding I/O (OIO), для выжимки оптимальной производительности. Увеличение этого параметра будет увеличивать число IOPS, а также, как следствие, будет расти Latency. Так вы сможете понять, как инфраструктура хранения ведет себя в динамике, реагируя на изменение профиля нагрузки.
Чтобы изменить параметр OIO, нужно отключить Easy Run и в профиле рабочей нагрузки нажать Add:
Также для измерения пропускной способности вы можете поэкспериментировать с размером операции ввода-вывода. Современные ОС поддерживают размер I/O в диапазоне 32K - 1 MB, но для тестирования лучше использовать I/O в диапазоне 32K – 256K.
Еще какие моменты надо учитывать при тестировании:
Синтетическое тестирование не учитывает, что профиль рабочей нагрузки в кластере в реальной жизни постоянно изменяется точки зрения соотношения операций чтения и записи и их рандомизации в потоке ввода-вывода. Используемая модель - всего лишь аппроксимация.
Тесты ориентированы на отслеживание характеристик хранилищ, а не загрузки CPU и памяти хостов ESXi.
Некоторое время назад мы писали о новых возможностях недавно вышедшего обновления платформы виртуализации VMware vSphere Platinum 6.7 Update 2. Cреди новых возможностей гипервизора там есть фича "Новые возможности планировщика CPU помогают бороться с уязвимостями типа L1TF".
Оказывается, это довольно серьезное улучшение. Надо сказать, что планировщик гипервизора side-channel aware scheduler (SCA) появился еще в прошлой версии платформы. Он закрывал уязвимость L1TF (L1 Terminal Fault) в процессорах Intel за счет того, что процессы виртуальных машин запускались только в одном треде одного физического ядра. Это позволяло нивелировать вектор атаки данного типа, но приводило к существенному снижению производительности.
Особенно это чувствовалось, когда сервер ESXi был загружен по CPU полностью, и SCA первой версии в этом случае давал до 30% хуже результат, чем без него. Если же сервер был загружен, например, на 75%, то в производительность оставалась примерно той же, но без SCA нагрузка на CPU была существенно ниже.
Итак, начиная с VMware vSphere 6.7 Update 2, появился обновленный планировщик SCAv2, который был существенно доработан по сравнению со своей предыдущей версией. Он позволяет исполнять контексты vCPU одной машины в разных гипертредах одного физического ядра процессора хоста. В этом случае атаке L1TF не подвержены взаимодействия типа VM/VM и VM/ESXi (чувствительная информация между ними не шарится в общем кэше).
В документе описано 2 типа тестов, которые проводились для планировщиков SCAv1 и SCAv2: работа хоста под максимальной нагрузкой по процессорам и под нагрузкой на уровне 75% от максимальной мощности всех CPU хоста ESXi (reduced load). В качестве базового уровня использовался планировщик без SCA (он же на картинке ниже обозначен как Default):
Если верить графикам, отражающим результаты тестирования различными бенчмарками, то планировщик SCAv2 работает существенно лучше во всех случаях, кроме очень большой (по выделенным ресурсам) виртуальной машины - Monster VM с базой Oracle и 192 vCPU, но такой кейс в реальной жизни случается весьма редко. Так что, в целом, улучшения были проведены весьма существенные (как минимум, на 11% планировщик стал более производительным по результатам тестов).
Помимо документа выше, информация об улучшениях планировщика приведена еще в KB 55806.
Многие из вас, конечно же, прекрасно знают, как работает механизм VMware HA на платформе vSphere. Но для тех из вас, кто подзабыл, Дункан написал пост о том, через какой интерфейс VMkernel идет этот трафик.
Так вот, хартбиты механизма HA пойдут через тот vmk-интерфейс, на котором в vSphere Client отмечена галочка Management, как на картинке:
Надо понимать, что этот пункт, хоть и называется Management, имеет отношение только к HA-трафику. Это означает, что если галочка не отмечена, то через этот интерфейс все равно можно будет подключиться по протоколу SSH, а также присоединить хост ESXi к серверу управления VMware vCenter, используя этот IP-адрес.
Так что Management - это не про управление, а только про HA. Это касается только обычной виртуальной инфраструктуры, а вот в кластере vSAN трафик HA идет по выделенной под vSAN сети автоматически.
Многие администраторы пользуются Putty для соединения с хостами VMware ESXi по протоколу SSH. Между тем, в веб-клиенте ESXi Embedded host client есть способ получить доступ к SSH-консоли прямо в браузере, реализованный на базе технологии HTML5.
Чтобы начать использовать консоль, надо сначала зайти на вкладку Services в разделе Manage и найти службу TSM-SSH:
Ее надо включить и поставить ей опцию запуска вместе с загрузкой хоста (Start and stop with host):
После этого в меню Action хостового веб-клиента надо выбрать пункт SSH Console:
Далее эта консоль загрузится в новой вкладке браузера:
Вильям Лам написал интересную заметку про обновление информации о сетевой идентификации гостевой ОС, которую выдает VMware Tools. Она показывается на вкладке Summary клиента vSphere Client или VMware Workstation:
По умолчанию эта информация обновляется каждые 30 секунд на базе данных, предоставляемых пакетом VMware Tools из гостевой ОС. Однако если вы используете технологию создания мгновенных клонов (Instant Clone) и массово создаете виртуальные машины, то вам может потребоваться увидеть эту информацию пораньше.
Здесь есть 2 пути:
1. Принудительно обновить настройки из гостевой ОС следующими командами:
Windows - C:\Program Files\VMware\VMware Tools\VMwareToolboxCmd.exe info update network
Linux - /usr/bin/vmware-toolbox-cmd info update network
Mac OS - /Library/Application\ Support/VMware\ Tools/vmware-tools-cli info update network
2. Изменить интервал, по которому обновляются данные со стороны гостевой ОС (это может создать дополнительную нагрузку из-за частых обновлений). По умолчанию это 30 секунд.
Для этого в vmx-файл виртуальной машины нужно добавить следующую строчку (но не факт, что это работает сейчас):
Некоторые администраторы VMware vSphere задаются вопросом, а для чего же нужна опция Dedicated failover hosts при настройке механизма Admission Control в кластере VMware HA:
Очень просто - это так называемые Spare Hosts, то есть запасные и всегда свободные хосты ESXi, которые берут на себя нагрузку по размещению виртуальных машин только в случае сбоев других серверов, обрабатываемых механизмом VMware HA.
Эти хосты в обычной жизни будут простаивать, и, если на них не удастся запустить виртуальные машины в случае сбоя, VMware HA все равно перезапустит эти ВМ на других хостах ESXi. Также эти хосты не будут браться в расчет механизмом VMware DRS, то есть он не будет мигрировать туда виртуальные машины, даже на период обслуживания других хостов (Maintenance mode).
Так для чего же такая настройка вообще существует, если выгоднее держать просто больше запаса емкости на хостах кластера HA, но использовать все серверы в нем? Вариантов может быть 2:
Совокупные затраты на Failover-хосты ниже, чем на создание запаса емкости на оставшихся серверах кластера (такое бывает крайне редко).
Вам нужно точно знать, где окажутся виртуальные машины после сбоя. Это актуально для некоторых лицензионных ограничений, касающихся лицензий на определенные серверы, как это сделано, например, у Oracle.
Оба этих варианта очень маловероятны, поэтому, как правило, настройку Dedicated failover hosts использовать вообще не нужно.
Как вы знаете, уже довольно давно компании Amazon и VMware совместно продвигают публичное облако VMware Cloud on AWS, где можно взять в аренду виртуальные машины. Недавно компания VMware выпустила документ VMware Cloud on AWS Evaluation Guide, который позволит вам понять процедуру развертывания и начать тестирование виртуальной инфраструктуры в облаке VMConAWS.
В документе представлен обзор функциональности платформы, ее основные возможности и основные шаги по ее первоначальной конфигурации. Также рассматривается опциональный вариант сопряжения облачного SDDC (Software-Defined Data Center) и онпремизной виртуальной инфраструктуры с настройкой средств катастрофоустойчивости.
Вы также научитесь строить и конфигурировать сети software defined networks в гибридном облаке, настраивать сетевые экраны, развертывать сервисы DNS, VPN, отчетности и многое другое. Лучше всего использовать данное руководство с функциональностью сервиса Get Started в облаке VMConAWS (оно под него и заточено). Для построения гибридной облачной среды вам потребуется как минимум один хост ESXi на платформе vSphere 6.0 Update 3 или более поздней в своем датацентре.
Необычно и печально то, что сервис VMware Cloud on AWS не предоставляет бесплатного триала (у всех остальных он есть), поэтому нужно быть готовым сразу платить.
На днях компания VMware анонсировала доступность новой версии своей флагманской платформы виртуализации VMware vSphere 6.7 Update 2. Напомним, что предыдущее обновление VMware vSphere 6.7 Update 1 вышло в августе прошлого года.
Давайте посмотрим, что с тех появилось нового:
1. Новое издание VMware vSphere ROBO Enterprise.
Теперь в издании для ROBO-сценариев (Remote or Branch Offices) появились следующие возможности уровня Enterprise:
DRS в режиме обслуживания (Maintenance Mode):
Доступно только для vSphere ROBO Enterprise.
Может быть использовано для автоматического перемещения ВМ между хостами (и обратно по окончании процесса). Для этого автоматически создаются правила VM-Host affinity (отслеживается, куда машины уехали перед миграцией, потом запомненные правила применяются - и машины приезжают обратно, где и были изначально).
Утилита PSC Converge tool теперь доступна в графическом интерфейсе. Об этом средстве мы писали вот тут, оно позволяет смигрировать внешний сервер Platform Services Controller (PSC) на простой в управлении embedded PSC.
Она дает следующие возможности:
Конвертация топологии external PSC в Embedded через GUI.
Можно выполнить шаги по выводу внешнего PSC из эксплуатации (Decomission).
Все это доступно в разделе System Configuration тонкого клиента vSphere Client (на базе HTML5).
Можно посмотреть текущую топологию PSC и vCenter в графическом или табличном виде.
В следующих релизах будет невозможно развернуть внешний PSC, поэтому с него надо уходить.
3. Улучшения резервного копирования и восстановления vCenter Server.
Здесь появилось 2 главных улучшения:
Новые протоколы, посредством которых вы можете сделать бэкап vCSA - NFS v3 и SMB.
Нотификации и алармы на успешное и неуспешное завершение задач РК. Эти алармы можно настроить подобно обычным алармам vSphere (послать email, SNMP trap или выполнить сценарий в случае успеха или неудачи).
4. Новые алармы и категории для vSphere Health.
Опция acknowledgement (заглушить) для алармов vSphere health (как и для обычных алармов).
Новые категории теперь включают в себя:
Online Availability
Compute
Network
Storage
Эти новые категории позволяют более органично охватывать проблемы сервера vCenter и упрощать управление им.
5. Улучшения Content Library.
Функции синхронизации шаблонов VM Template (VMTX).
Шаблоны виртуальных машин теперь можно синхронизировать в автоматическом режиме, как между приватными облаками с серверами vCenter, так и с публичным облаком VMware Cloud on AWS.
6. Улучшения vSphere Client.
В vSphere Client появилась возможность "code capture" (о ней мы писали вот тут). Теперь она позволяет вести запись пользовательских действий, которые были сделаны в рамках текущей сессии через vCenter API, и генерация соответствующего скрипта. Далее его можно использовать для автоматизации задач в инфраструктуре vSphere.
Функции API Explorer (доступны в разделе "Developer Center") - простая утилита по поиску в API, которая позволяет найти основные API-вызовы, включая примеры и возможность их тестирования.
7. Улучшения vSphere Update Manager.
Улучшения пользовательского интерфейса, включая функции attach, compliance check и remediation (все можно делать на одном экране).
Теперь можно привязать и сделать remediate для нескольких бейслайнов в рамках одной операции.
Во время remediation можно отключать removable-девайсы от виртуальных машин, включать Quickboot и пропускать проверки vSAN HealthCheck.
8. Улучшения VMware Tools.
Для Windows Server 2016 тулзы теперь обновляются через Windows update, а значит, что их обновления включены в общий цикл апдейта системы.
Версия VMware tools for Linux (в формате .TAR) больше не развивается, начиная с VMware Tools 10.3.10, так как OpenVM Tools доступны через любой package update manager.
9. Фикс Host Profiles.
Теперь при применении профиля хоста к ESXi не удаляется интерфейс VMK0, как это было раньше.
10. Улучшения безопасности.
Windows Server 2019 и RHEL 8 теперь полностью поддерживаются в vSphere 6.7 Update 2.
Можно применять лимиты для Password History и Reuse.
Теперь логируются дополнительные события SSO.
Улучшения ESXi certification API.
Генерация запроса vCenter Server CSR доступна через GUI клиента.
vSphere 6.7 Update 2 лучше обрабатывает уязвимости CPU за счет нового планировщика.
Доступна сертификация NIAP.
11. Улучшения производительности.
Поддержка 40 & 100Gb Ethernet и RDMA
Новая версия Virtual Hardware 15 (VM Compatibility):
До 256 vCPU на виртуальную машину
До 6 ТБ RAM на ВМ
Поддержка SAP HANA
На момент написания статьи обновление VMware vSphere 6.7 Update 2 было еще недоступно. Мы обновим пост, когда обновление можно будет скачать.
Совсем недавно мы писали о новых возможностях решения VMware NSX-T 2.4, которое предназначено для сетевой виртуализации и агрегации виртуальных сетей датацентров, работающих на базе гибридной среды гипервизоров и контейнеров приложений.
Также у VMware есть продукт vRealize Network Insight, который позволяет системным и сетевым администраторам, а также администраторам информационной безопасности, следить за сетевым взаимодействием в рамках виртуальной инфраструктуры и предпринимать действия по ее защите.
Ну и, конечно же, многие из вас помнят решение AppDefense, анонсированное на VMworld 2017. Оно реализует новую модель защиты приложений в виртуализованных и облачных средах. Суть технологии AppDefense заключается в том, что она изучает нормальное поведение операционной системы и приложений при обычных условиях, а в случае выявления отклонений от этого состояния, оповещает об этом администратора и автоматически предпринимает некоторые шаги по защите окружения.
Использовав наработки этих трех продуктов за последние годы, компания VMware на днях анонсировала новое решение - первый в отрасли Service-defined Firewall.
Это решение основано на подходе по микросегментации приложений с точки зрения защиты виртуальной среды (см. service insertion и guest introspection), что подразумевает анализ сетевой активности на уровне приложения, при этом мониторинг ведется извне гостевой ОС на уровне гипервизора (данные берутся из NSX или напрямую с серверов ESXi), что позволяет исключить манипуляции средствами обнаружения вторжений, которые могут быть выполнены программным обеспечением внутри ОС.
Но главная штука VMware Service-defined Firewall - это возможность создания политик на уровне приложений/микросервисов, а не сетевых компонентов (серверов/ОС/портов). Это существенно упрощает ввод в эксплуатацию новых сервисов с точки зрения организации их защиты, а также обслуживания при перемещении виртуальных машин внутри датацентра и между ЦОДами.
Традиционная защита ИТ-инфраструктуры строится на базе обеспечения безопасности приложений, находящимися за сетевыми экранами, то есть защищается только сетевой периметр. При этом часто вектор атаки расположен внутри инфраструктуры, где вредоносное ПО сначала изучает ее состав и структуру, а потом начинает распространяться в датацентре, используя его уязвимые места.
VMware Service-defined Firewall позволит использовать новый подход к защите сетевой инфраструктуры предприятия за счет анализа приложений внутри периметра ЦОД (internal network firewalling), где наблюдение за сервисами происходит на уровне гипервизора и на седьмом уровне модели OSI (L7 packet inspection), без агентов в гостевых ОС, при этом используется модель Zero Trust (то есть изначально нет доверия ни одному компоненту в сети, считается, что атака может прийти откуда угодно, через любое сетевое соединение).
Суть защиты заключается в наблюдении за всеми приложениями датацентра, определении их "хорошего" поведения и далее детектировании отклонений от их повседневной активности, что влечет за собой оповещение администратора, который уже предпринимает действия по устранению угроз. При этом VMware Service-defined Firewall сам способен сгенерировать нужные политики для защиты приложений.
Такая модель обладает неоспоримым преимуществом перед системами с агентами, где вредоносное ПО может получить контроль над этими агентами. Также еще один плюс VMware Service-defined Firewall - это чисто программная реализация. В современном мире программно-аппаратные сетевые экраны сложно масштабируются, а также есть проблемы с управлением ими, так как приложение в виртуальной инфраструктуре может перемещаться между серверами и даже между датацентрами.
Для анализа подозрительных активностей используется Application Verification Cloud, который собирает информацию из миллионов виртуальных машин по всему миру и использует методы машинного обучения для определения нормального поведения микросервисов и их вариаций, а также выявления отклонений от нормальных показателей.
Что интересного можно почитать на тему VMware Service-defined Firewall:
Вы все, конечно же, в курсе, что графические карты уже давно используются не только для просчета графики в играх и требовательных к графике приложениях, но и для вычислительных задач. Сегодня процессоры GPGPU (General Purpose GPU) используются в ИТ-инфраструктурах High Performance Computing (HPC) для решения сложных задач, в том числе машинного обучения (Machine Learning, ML), глубокого обучения (Deep Learning, DL) и искусственного интеллекта (Artificial Intelligence, AI).
Эти задачи, зачастую, хорошо параллелятся, а архитектура GPU (по сравнению с CPU) лучше приспособлена именно для такого рода задач, так как в графических платах сейчас значительно больше вычислительных ядер:
Кроме того, архитектура CPU больше заточена на решение последовательных задач, где параметры рассчитываются друг за другом, а архитектура GPU позволяет независимо просчитывать компоненты задачи на разных процессорных кластерах, после чего сводить итоговый результат.
Вот так, если обобщить, выглядит архитектура CPU - два уровня кэша на базе каждого из ядер и общий L3-кэш для шаринга данных между ядрами:
Число ядер на CPU может достигать 32, каждое из которых работает на частоте до 3.8 ГГц в турбо-режиме.
Графическая карта имеет, как правило, только один уровень кэша на уровне вычислительных модулей, объединенных в мультипроцессоры (Streaming Multiprocessors, SM), которые, в свою очередь, объединяются в процессорные кластеры:
Также в видеокарте есть L2-кэш, который является общим для всех процессорных кластеров. Набор процессорных кластеров, имеющих собственный контроллер памяти и общую память GDDR-5 называется устройство GPU (GPU Device). Как видно, архитектура GPU имеет меньше уровней кэша (вместо транзисторов кэша на плату помещаются вычислительные блоки) и более толерантна к задержкам получения данных из памяти, что делает ее более пригодной к параллельным вычислениям, где задача локализуется на уровне отдельного вычислительного модуля.
Например, если говорить об устройствах NVIDIA, то модель Tesla V100 содержит 80 мультипроцессоров (SM), каждый из которых содержит 64 ядра, что дает в сумме 5120 ядер! Очевидно, что именно такие штуки надо использовать для задач ML/DL/AI.
Платформа VMware vSphere поддерживает технологию vGPU для реализации такого рода задач и возможности использования виртуальными машинами выделенных ВМ модулей GPU. В первую очередь, это все работает для карточек NVIDIA GRID, но и для AMD VMware также сделала поддержку, начиная с Horizon 7 (хотя и далеко не в полном объеме).
Еще одна интересная архитектура для решения подобных задач - это технология FlexDirect от компании BitFusion. Она позволяет организовать вычисления таким образом, что хосты ESXi с модулями GPU выполняют виртуальные машины, а их ВМ-компаньоны на обычных серверах ESXi исполняют непосредственно приложения. При CUDA-инструкции от клиентских ВМ передаются серверным по сети:
Обмен данными может быть организован как по TCP/IP, так и через интерфейс RDMA, который может быть организован как подключение Infiniband или RoCE (RDMA over Converged Ethernet). О результатах тестирования такого сетевого взаимодействия вы можете почитать тут.
При этом FlexDirect позволяет использовать ресурсы GPU как только одной машине, так и разделять его между несколькими. При этом администратор может выбрать, какой объем Shares выделить каждой из машин, то есть можно приоритизировать использование ресурсов GPU.
Такая архитектура позволяет разделить виртуальную инфраструктуру VMware vSphere на ярусы: кластер GPU, обсчитывающий данные, и кластер исполнения приложений пользователей, которые вводят данные в них и запускают расчеты. Это дает гибкость в обслуживании, управлении и масштабировании.
Многие администраторы VMware vSphere сталкиваются с необходимостью развертывания кастомных образов VMware ESXi, например, от HP или Dell, так как они содержат все необходимые драйверы серверного оборудования.
Но процедура, как правило, такова - сначала администратор развертывает последний доступный образ ESXi Custom ISO, а уже после установки накатывает на него обновления через ESXCLI или Update Manager. Это несколько неудобно, так как зачастую требует перезагрузки уже после окончания основной установки.
Если у вас, например, 1500 хостов ESXi, то дополнительное время которое вы потратите за год на процедуры обновления после основной установки может составить до 42 часов в месяц (при условии, что вы накатываете по каким-то причинам образ ESXi на сервер где-то раз в год). Это, конечно же, очень много, поэтому в таких случаях стоит задуматься об интеграции обновлений в кастомизированный образ ESXi.
На самом деле, делается это достаточно просто с помощью PowerCLI в несколько команд (подробно процесс описан в документе Image Builder Patching):
1. Загружаете патчи в формате zip-бандлов и складываете их в одну папку.
В конце прошлого года мы писали о новых возможностях VMware vCenter в составе обновленной платформы виртуализации VMware vSphere 6.7 Update 1. Среди прочих интересных фичей, vCenter 6.7 U1 получил функцию Health Сhecks, которая позволяет обрабатывать данные телеметрии виртуальной инфраструктуры и на основе экспертных алгоритмов вырабатывать рекомендации по ее улучшению. Например, если у вас одна сеть Management network, вам могут порекомендовать ее задублировать.
Вчера мы писали об общем устройстве механизма vSphere Health. Давайте теперь детально посмотрим, как именно это работает. Сделано это чем-то похоже на службы vSAN Health Services, но здесь больше проактивной составляющей (то есть рекомендации генерируются постепенно и еще до возникновения реальных проблем).
Для просмотра основных хэлсчеков сервера vCenter, нужно в vSphere Client пойти на вкладку Monitor и выбрать там раздел Health:
Чтобы эти фичи функционировали корректно, нужно чтобы у вас была включена настройка Customer experience improvement program (CEIP). Если вы не включили ее во время установки vCenter, то вы всегда можете сделать это в разделе Administration клиента vSphere Client:
Надо отметить, что vCenter Health Сhecks не только оповещает о проблемах виртуальной инфраструктуры, но и в некоторых случаях предоставляет ссылки на статьи базы знаний VMware KB, которые могут помочь найти решения.
Если вы нажмете на какой-нибудь из ворнингов, например, "Disk space check for VMware vCenter Server Appliance", то увидите две группы параметров на вкладках "Details" и "Info":
На вкладке Details отображены численные значения и/или объекты виртуальной инфраструктуры, имеющие отношение к предупреждению, а вот вкладка Info разъясняет его суть и дает рекомендации по его устранению. Если же в правом верхнем углу появился значок "Ask VMware", значит для данного предупреждения есть ссылка на статью базы знаний VMware KB, которая может помочь:
Например, здесь на двух из трех хостов ESXi установлена не последняя версия драйвера bnx2x (адаптер Broadcom NetXtreme II 10Gb):
На вкладке Info объясняется, что хосты с такой версией драйвера этого устройства могут вывалиться в "розовый экран":
Если нажмем "Ask VMware", то в новой вкладке откроется статья KB, описывающая проблемы данной версии драйвера и пути их решения:
Если вы сделали изменения конфигурации согласно рекомендациям, вы можете нажать кнопку RETEST в правом верхнем углу, чтобы увидеть только актуальные предупреждения:
Некоторые администраторы инфраструктуры VMware vSphere знают, что существует средство Update Manager Download Service (UMDS), с помощью которого можно скачивать обновления ESXi для последующего их наката со стороны vSphere Update Manager (VUM), интерфейс которого сейчас реализован в vSphere Client на базе HTML5:
UMDS вам может оказаться полезным в двух случаях:
Вы не можете выставить в интернет сервер vCenter, частью которого является VUM, для загрузки обновлений (например, в соответствии с корпоративными политиками). Поэтому нужно развернуть UMDS на компьютере в DMZ, с которого VUM будет забирать обновления (либо вы будете их перекидывать на VUM вручную).
У вас есть несколько серверов Update Manager, и вы используете UMDS в качестве централизованной точки распространения обновлений серверов ESXi, чтобы каждый vCenter не скачивал обновления из интернета самостоятельно.
Начиная с Update Manager версии 6.7, сервис UMDS доступен для развертывания на платформах Windows и Linux. Для Windows поддерживаются те же серверные ОС, что и для сервера vCenter, а для Linux список систем можно найти в документации. Вот они:
Ubuntu 14.0.4
Ubuntu 18.04
Red Hat Enterprise Linux 7.4
Red Hat Enterprise Linux 7.5
Кстати, начиная с vSphere 6.7 Update 1, VMware отменила требование к созданию базы данных для UMDS, поэтому использование сервиса стало еще проще и удобнее.
Если вы используете UMDS на Windows, то вам понадобится Microsoft .NET framework 4.7 и та же версия UMDS, что и сам Update Manager.
На Linux UMDS автоматически не создает переменной PATH для сервиса vmware-umds. Чтобы запустить команду vmware-umds нативно, нужно добавить переменную окружения с путем к сервису следующей командой:
PATH=”$PATH”:/usr/local/vmware-umds/bin
Чтобы на Linux посмотреть текущую конфигурацию UMDS, нужно выполнить команду:
/usr/local/vmware-umds/bin/vmware-umds -G
Здесь мы видим сконфигурированные урлы для хранилищ обновлений (depots), локальный путь к хранению патчей и путь экспорта хранилища, по которому серверы VUM будут забирать обновления. Также здесь мы видим, контент каких версий ESXi нужно скачивать.
Если у вас все хост-серверы одной версии, например, ESXi 6.7, то вы можете отключить скачивание всех остальных образов командой:
Еще одна важная опция - это задание собственного пути к репозиторию обновлений. Например, если вы используете кастомизированные образы ESXi для серверов Dell, то вы можете добавить адрес репозитория следующей командой:
После того, как URL репозитория добавлен, мы можем принудительно скачать все образы обновлений командой:
sudo /usr/local/vmware-umds/bin/vmware-umds -D
Полный список опций UMDS можно получить с помощью вот этой команды:
/usr/local/vmware-umds/bin/vmware-umds --help
Далее вам нужно уже пойти на сервер VMware Update Manager и настроить его на использование с репозиторием UMDS. Если у вас очень высокие требования к безопасности, то вы можете отнести обновления на сервер VUM, например, на флешке. Второй вариант - настроить на UMDS веб-сервер и указать его как путь для обновлений от VUM.
Если вы используете вариант с веб-сервером, то его публичную папку надо настроить на следующий путь по умолчанию:
C:\ProgramData\VMware\VMware Update Manager\Data\ - на Windows.
На сайте проекта VMware Labs появилась интересная и полезная некоторым администраторам vSphere штука - USB Network Native Driver for ESXi. Это нативный драйвер для сетевых адаптеров серверов, которые подключаются через USB-порт.
Такой адаптер можно использовать, когда вам необходимо, например, подключить дополнительные Ethernet-порты к серверу, а у него больше не осталось свободных PCI/PCIe-слотов. В каких-то еще случаях подключение такого адаптера может помочь, чтобы получить еще одно сетевое соединение без необходимости перезагружать сервер (и так же просто отключить его).
На данный момент драйвер поддерживает 3 самых популярных чипсета на рынке:
ASIX USB 2.0 gigabit network ASIX88178a
ASIX USB 3.0 gigabit network ASIX88179
Realtek USB 3.0 gigabit network RTL8153
А вот, собственно, и сами поддерживаемые адаптеры:
Надо отметить, что это сравнительно недорогие устройства, которые может позволить себе каждый администратор платформы vSphere.
Затем нужно будет перезагрузить хост VMware ESXi, после чего устройство USB NIC будет автоматически смонтировано как, например, vusb0. Но чтобы приаттачить такой NIC к виртуальному коммутатору vSwitch, придется добавить в /etc/rc.local.d/local.sh такой скрипт:
vusb0_status=$(esxcli network nic get -n vusb0 | grep 'Link Status' | awk '{print $NF}')
count=0
while [[ $count -lt 20 && "${vusb0_status}" != "Up" ]] ]
do
sleep 10
count=$(( $count + 1 ))
vusb0_status=$(esxcli network nic get -n vusb0 | grep 'Link Status' | awk '{print $NF}')
done
if [ "${vusb0_status}" = "Up" ]; then
esxcfg-vswitch -L vusb0 vSwitch0
esxcfg-vswitch -M vusb0 -p "Management Network" vSwitch0
esxcfg-vswitch -M vusb0 -p "VM Network" vSwitch0
fi
Драйвер работает с VMware vSphere 6.5 и 6.7. Скачать его можно по этой ссылке.
В самом конце января компания VMware обновила свой клиент для управления отдельными хостами ESXi, выпустив Embedded Host Client версии 1.33. Напомним, что о версии 1.32, вышедшей в ноябре прошлого года, мы писали вот тут.
Давайте посмотрим, что нового появилось в хостовом клиенте версии 1.33:
Множество исправлений ошибок, которые ранее возникали при импорте OVF-шаблона.
ISO-образы теперь можно импортировать из OVA.
Исправлена проблема со спецсимволами в названиях датасторов на ESXi.
Пофикшены перепутанные подписи к графику Network (transmit и receive).
Сетевые адптеры добавляются к виртуальной машине в правильном порядке.
Исправлена проблема с некорректными оповещениями фаервола об устаревших лицензиях.
Поддержка шведского языка для ввода в консоли ВМ.
Отображение WWN и WWPN адаптеров Fibre Channel как 64-битных адресов.
Скачать ESXi Embedded Host Client можно по этой ссылке. Кстати, некоторые пишут, что у них повились проблемы данной версии клиента для ESXi 5.5.
Чтобы централизованно обновлять VMware для всех ВМ, вам нужно настроить единый репозиторий на всех хостах ESXi, из которого будет происходить апдейт. Сначала нужно создать для этого папку, например:
/vmfs/volumes/vsanDatastore/vmtools
Далее нужно скачать последнюю версию VMware Tools по ссылке выше и положить ее в созданную папку (включая папки "vmtools" и "floppies").
Теперь на каждом хосте ESXi нужно обновить указатель ProductLocker через интерфейс MOB (Managed Object Browser). Для этого надо зайти по ссылке:
Далее нужно выбрать хост ESXi, для которого вы хотите обновить этот указатель. Здесь есть два API вызова, которые вам понадобятся:
Вызов QueryProductLockerLocation покажет вам текущий указатель на папку с VMware Tools на хосте (ProductLocker):
Метод UpdateProductLockerLocation_Task позволит вам обновить размещение для пакетов VMware Tools для этого хоста, добавив путь к нужной папке в параметр path:
Теперь снова вызовите QueryProductLockerLocation, чтобы увидеть, что путь к папке обновился:
Теперь все остальные хосты ESXi также нужно перенастроить на путь к этой папке, чтобы они брали обновления VMware Tools из единого места, где всегда будет лежать последняя версия пакета.
Обновление к vCenter не содержит никакого нового функционала, однако закрывает несколько серьезных проблем и багов, которые были обнаружены с момента релиза платформы в октябре прошлого года в компонентах vCenter и vSAN.
Например, как вам вот такой баг:
In the vSphere Client, if you right-click on a folder and select Remove from Inventory from the drop-down menu, the action might delete all virtual machines in that folder from the disk and underlying datastore, and cause data loss.
То есть вместо убирания машины из инвентори в vSphere Client, происходит удаление всех виртуальных машин из этой папки с диска. Так что лучше обновите свой vCenter уже сегодня. Надо еще помнить, что, по-прежнему, не поддерживается прямое обновление vCenter Server 6.5 Update 2d и 2e на этот релиз. Странно, но VMware никак не может это починить.
Кроме этого VMware выпустила важные патчи к ESXi 6.7, которые содержат исправления ошибок и апдейт подсистемы безопасности.
Тут ничего особенно критичного, но все равно лучше обновиться, особенно если вы используете решение NSX-T.
В прошлом посте мы рассказывали о 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 - клиент):
Сегодня Алексей расскажет про две тонкости с которыми пришлось повозиться на следующем этапе установки – обе относятся к подготовке образа для установки.
Первая – выбор места для установки. Если в вашем сервере на момент загрузки присутствует один диск, и вы планируете его использовать для установки, то проблем нет. А если их несколько, и вам нужно использовать какой-то определенный, то придется указать на желаемый диск с помощью команды:
install --disk=diskname или install –-firstdisk=disk-type
В моем же случае в системе имелся маленький SSD (так называемый BOSS card, в случае Dell – RAID1 массив из двух SATA m.2 SSD) для установки системы и большой RAID-массив, на котором теоретически могли располагаться виртуальные машины (в случае если производится переустановка хоста).
Что в вышеприведенной статье не упомянуто – так это как найти diskname или disk-type для искомого диска/массива.
А сделать это можно следующим образом:
Проведите тестовую установку в ручном режиме.
Запустите SSH сервис и подключитесь к серверу по SSH.
Используйте команду esxcli storage core device list для того, чтобы получить список всех контроллеров в системе.
Искомая информация для вашего контроллера будет в поле Model:
Вторая тонкость выяснилась, когда я начал тестировать загрузочный диск. Сервер из другой поставки наотрез игнорировал содержимое kickstart файла. Выяснилось что один из серверов был сконфигурирован использовать EFI для загрузки, другой же - классический BIOS. ISO-образ ESXi содержит два различных BOOT.CFG файла для этих двух типов загрузки:
для BIOS - в корне образа
для EFI - соответственно, в папке /EFI/BOOT
Если в вашем случае, как и мне, нужно иметь один kickstart файл для обоих типов загрузки, не забудьте отредактировать оба файла.
Недавно мы писали про то, как работает механизм регулирования полосы канала 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, об их обновлении мы писали вот тут.
На написание этого поста меня вдохновила достаточно старая, но лично мною обнаруженная совсем недавно статья Романа Гельмана "PowerShell скрипт для автоматической установки ESXi хостов на серверах IBM/Lenovo". Какое-то время назад появилась необходимость автоматизировать процесс развертывания новой инфраструктуры для vSphere для клиента...
Как знают многие пользователи решения для создания отказоустойчивых кластеров VMware vSAN, в данном продукте есть возможность перевода хоста в режим обслуживания (Enter Maintenance Mode, EMM), который позволяет вывести его на время из эксплуатации с сохранением работоспособности кластера в целом. При этом происходит взаимодействие vSAN и механизма балансировки нагрузки VMware vSphere Distributed Resource Scheduler (DRS), который эвакуирует виртуальные машины с хоста ESXi.
Давайте посмотрим, как работает EMM для кластера vSAN, и какие есть опции для данной процедуры. Чтобы перевести хост ESXi в режим обслуживания, надо нажать на него правой кнопкой в vSphere Client и выбрать пункт Maintenance Mode > Enter Maintenance Mode.
Далее мы увидим окно перевода хоста в режим обслуживания, где можно выбрать одну из трех опций:
Full Data Migration – это миграция всех компонентов дисковых объектов на другие хосты кластера.
Ensure Accessibility – это миграция только тех компонентов, которые есть в кластере в единственном экземпляре. При этом, для некоторых объектов в этом случае не будет соблюдена политика Failures to tolerate (FTT).
No Data Migration – в этом случае никакие компоненты не будут перемещены с хоста, поэтому некоторые ВМ могут оказаться недоступными (если на этом хосте их дисковые компоненты находятся в единственном экземпляре, а уровень RAID недостаточен для предоставления доступа к объекту).
С первым пунктом (Full Data Migration) все ясно - он вызывает долговременную процедуру миграции всех дисковых объектов и не всегда оправдан, когда хост ESXi нужно погасить лишь ненадолго. Но если вы выводите хост ESXi из эксплуатации производственного кластера (либо останавливаете, например, на несколько дней), то нужно выбирать именно Full Data Migration.
Давайте подробнее рассмотрим вариант Ensure Accessibility, который как раз подходит для кратковременного обслуживания хоста и последующего его повторного ввода в эксплуатацию. Если у вас достаточно запаса дисковых ресурсов, и виртуальные диски машин работают в RAID-1, то копии дисковых объектов переводимого в режим обслуживания хоста должны быть на других серверах. На картинке ниже реплика объекта C1 есть на другом хосте, поэтому в режиме Ensure Accessibility никаких миграций данных производиться не будет, кластер продолжит работать в режиме полной производительности:
Если же у вас, например, задана политика кластера FTT=1 на четырех хостах, и компоненты дисковых объектов хранятся в соответствии с политикой RAID-5, то картина будет следующей:
В этом случае EMM также не будет перемещать никаких компонентов, так как данные дискового объекта в целом продолжают оставаться доступными. Более подробно о различных вариантах перехода в режим EMM вы можете почитать вот в этой статье.
Между тем, если vSAN object manager будет наблюдать ситуацию несоответствия политики надежности более чем 60 минут (см. параметр Object repair timer в конце статьи), то он, все-таки, запустит синхронизацию дисковых объектов, чтобы их конфигурация в итоге соответствовала действующим политикам.
Кстати, обратите внимание, что такое поведение кластера vSAN - это одна из причин, почему VMware Update Manager не делает обновление хостов ESXi кластера vSAN в параллельном режиме, а проводит это последовательно. Ведь если бы это происходило параллельно, не факт, что можно было бы выполнить требования опции Ensure Accessibility, а также происходило бы много миграций дисковых компонентов.
Кроме того, перед переходом в режим обслуживания хоста, EMM делает полную симуляцию перемещений данных, которые будут проведены в процессе выключения хоста. Например, у нас есть 3 виртуальные машины: vm01 с политикой RAID-0 (без избыточных копий данных), а также машины vm02 и vm03 в режиме RAID-1 (зеркало).
Обратите внимание на картинку ниже:
Здесь показано, что в соответствии с вариантом No data migration 3 дисковых объекта виртуальной машины vm01 окажутся недоступными, а 30, относящихся к vm02 и vm03, не будут соответствовать действующей политике по обеспечению надежности.
Если мы нажмем на ссылку See detailed report, то увидим подробную картину симуляции EMM:
То есть, vm01 окажется недоступной, а vm02 и vm03 будут Non-compliant, пока хост находится в режиме обслуживания.
Если же вы выберете вариант Ensure Accessibility, то прогноз будет следующим:
440 МБ дисковых объектов, относящихся к vm01 будут перемещены, а 30 объектов не будут соответствовать политике, при этом все ВМ останутся доступными. Также в VMware vSAN 6.7 Update 1 появились новые предупреждения о том, что в кластере есть активные процессы синхронизации, а также переходящие или уже перешедшие в режим обслуживания хосты ESXi.
Ну и напомним о настройке Object Repair Timer, которую мы детально рассматривали вот тут. Она то, как раз, и позволяет вам расширить окно обслуживания хоста ESXi в Maintenance Mode, если вам это требуется для проведения какой-то долгой операции. По умолчанию синхронизация не соответствующих политике дисковых объектов начнется через 60 минут:
Удобно, что эта настройка задается на уровне всего кластера vSAN, поэтому не нужно как раньше ходить на каждый хост ESXi и задавать ее.
Многие администраторы VMware vSphere весьма консервативны и подолгу не обновляют версию платформы виртуализации, даже когда есть деньги на продление поддержки. Отчасти это верная стратегия - VMware так часто пропускает серьезные баги в мажорных релизах, что многие ждут пока обновление "настоится".
Но долго ждать тоже не стоит, так как можно недополучить преимущества новых версий. Например, всегда от релиза к релизу у платформы vSphere растет производительность в различных аспектах. В частности, давайте посмотрим, как выросла производительность технологии миграции хранилищ Storage DRS в VMware vSphere 6.7 по сравнению с версией 6.5.
VMware провела тестирование двух версий платформы и посмотрела, как быстро происходит генерация рекомендаций DRS в разрезе следующих операций в кластере:
CreateVM
CloneVM
ReconfigureVM (добавление дополнительного диска)
RelocateVM (перемещение на другой датастор)
Datastore Enter Maintenance (перевод датастора в режим обслуживания)
При одновременном исполнении в кластере множества данных задач одновременно имеет значение своевременное формирование рекомендаций (куда поместить ВМ, куда ее клонировать и т.п.). По итогам тестирования были получены следующие результаты (столбики показывают процент улучшения по времени для 5 одновременных исполняемых операций):
Для 16 одновременных операций:
Отдельно представлен график для операций Datastore Enter Maintenance:
Все это приводит к увеличению скорости развертывания и миграции виртуальных машин и их VMDK-дисков в больших инфраструктурах, где в этом участвует механизм SDRS (генерация рекомендаций по размещению виртуальных машин).
В догонку к найденным и, вроде бы, поборенным уязвимостям Meltdown и Spectre, в процессорах Intel нашли еще одну потенциальную дыру - L1 Terminal Fault Vulnerability, которая затрагивает современные процессоры (2009-2018 годов выпуска) и гипервизор VMware ESXi (а также и все остальные гипервизоры).
Для начала надо сказать, что на днях стали доступны вот такие патчи для платформы виртуализации VMware vSphere, которые настоятельно рекомендуется установить:
Суть уязвимости, описанной в CVE-2018-3646 заключается в том, что виртуальная машина, исполняемая на конкретном ядре, может получить доступ к данным других машин, использующих это ядро, или самого гипервизора через L1 Data Cache, который совместно используется машинами, выполняющими команды на данном ядре.
Для такой уязвимости возможны 2 типа векторов атаки:
Sequential-context - вредоносная машина получает доступ к данным другой ВМ, которая исполнялась на этом ядре ранее и получала доступ к кэшу L1.
Concurrent-context - вредоносная машина прямо сейчас получает доступ к данным ВМ или гипервизора, которые исполняются планировщиком на этом ядре.
Решение вопроса уровня Sequential-context заключается просто в накатывании патчей, которые не должны приводить к падению производительности (как это было с Meltdown и Spectre). А вот для избавления от риска применения вектора атаки Concurrent-context нужно включить фичу, которая называется ESXi Side-Channel-Aware Scheduler. И вот в этом случае влияние на производительность может уже быть существенным, поэтому нужно либо принять риск Concurrent-context, либо следить за производительностью систем.
Таким образом, процесс обновления инфраструктуры VMware vSphere должен выглядеть так:
Обновляете сначала серверы vCenter, потом хосты ESXi.
Смотрите, есть ли на хостах запас по CPU на случай возникновения проблем с производительностью.
Если запас есть - включаете функцию ESXi Side-Channel-Aware Scheduler и наблюдаете за производительностью систем по CPU.
Детальные инструкции по включению ESXi Side-Channel-Aware Scheduler вы найдете здесь. Действовать нужно по следующей схеме:
Ну и в заключение, вот список процессоров, которые подвержены атакам типа L1 Terminal Fault:
Кодовое имя процессора Intel
FMS
Товарное наименование Intel
Nehalem-EP
0x106a5
Intel Xeon 35xx Series;
Intel Xeon 55xx Series
Lynnfield
0x106e5
Intel Xeon 34xx Lynnfield Series
Clarkdale
0x20652
Intel i3/i5 Clarkdale Series;
Intel Xeon 34xx Clarkdale Series
Во время проходящей сейчас в Барселоне конференции VMworld Europe 2018 компания VMware выпустила обновление клиента для управления отдельными хостами ESXi - Embedded Host Client версии 1.32. Напомним, что прошлая версия этого продукта была выпущена еще в июле этого года, поэтому обновления пришлось ждать довольно долго.
Давайте посмотрим, что нового появилось в Host Client 1.32:
Улучшения функций Import / Export:
Файлы ISO и NVRAM теперь можно экспортировать и импортировать (если это поддерживается соответствующей версией ESXi).
При экспорте машины можно выбрать только некоторые файлы.
Все расширенные настройки ВМ экспортируются по умолчанию.
Было исправлено несколько багов в мастере экспорта.
Общие улучшения:
Предварительный просмотр прав доступа (пермиссий) теперь отображается корректно.
Пакеты Support Bundles теперь генерируются на лету.
Восстановлена функциональность работы под доменным пользователем.
Адреса устройств Fibre Channel WWN отображаются в шестнадцатиричном формате.
Скачать VMware ESXi Embedded Host Client 1.32 можно по этой ссылке.
На днях компания VMware выпустила финальную версию своего руководства по обеспечению безопасности виртуальной инфраструктуры vSphere 6.7 Update 1 Security Configuration Guide. Напомним, что ранее мы писали о документе vSphere 6.5 Update 1 SCG, который описывал основные аспекты обеспечения безопасности прошлой версии платформы (оказывается, был и гайд по vSphere 6.7 - он публично не анонсировался, но теперь находится в статусе Deprecated).
Напомним, что этот документ доносит концепцию "Secure by design", что означает, что среда VMware vSphere изначально настроена оптимальным образом с точки зрения безопасности, поэтому вносить изменения вам нужно только в случае наличия каких-либо специальных требований в вашей инфраструктуре.
В документе, помимо описания рекомендуемой настройки и лога изменений, есть следующие полезные колонки:
Hardening - указывает на то, что это действительно настройка, которой нужно уделить внимание при конфигурации.
Site Specific Setting - говорит о том, что задать конфигурацию должен сам пользователь, в зависимости от его окружения.
Audit Setting - указывает, что вам необходимо время от времени проверять эту настройку, чтобы убедиться, что значение по умолчанию не было изменено администратором необоснованно.
Desired value - рекомендуемое значение, оно же и является значением по умолчанию, если это не site specific.
Сейчас распределение по этим настройкам выглядит так (50 настроек в vSphere 6.7 U1 против 68 опций в версии vSphere 6.5 U1):
Давайте посмотрим на отличие vSphere 6.7 U1 SCG от прошлых версий руководства:
Появились настройки категории deprecated - они описывают параметры ESXi или vCenter, которые больше нет необходимости изменять, так как они потеряли актуальность. Все настройки этой категории приведены в отдельном документе, который настоятельно рекомендуется изучить. Если вы их использовали - то лучше перестать это делать, так как это только добавляет дополнительной работы по их обслуживанию.
Больше нет категории "Risk Profiles". Причина в том, что только настройка "ESXi.enable-strict-lockdown-mode" подпадает под Risk Profile 1, а остальные находятся во 2-й или 3-й категории, поэтому было решено отказаться от этой таксономии. Вместо этого было добавлено больше содержимого в колонку Vulnerability Discussion, где обсуждаются конкретные факторы риска.
Настройка vNetwork.enable-bpdu-filter переместилась из категории Hardening в Site Specific, так как при нормальных условиях функционирования сети ее менять не требуется (а она также затрагивает конфигурацию аппаратных коммутаторов и гостевой ОС). Да, она защищает от Spanning Tree Loops, но в нормально настроенной сетевой конфигурации менять ее не следует.
В гифке ниже можно посмотреть прогресс Security Configuration Guide с версии vSphere 6.5:
Скачать VMware vSphere 6.7 Update 1 Security Configuration Guide можно по этой ссылке.