После установки плоскости управления, кластерного компонента и Knative Serving стек готов принимать нагрузки. Приведённые ниже тесты сквозным образом проверяют три типа нагрузок (инференс, рабочая среда, обучение) с помощью CLI runai версии 2 и подтверждают, что планирование GPU, автомасштабирование Knative и внешняя связность работают. Каждый тест содержит явные шаги проверки, чтобы оператор понимал, что тест пройден. Все три теста самодостаточны и после проверки могут быть свёрнуты.
Одна мысль звучит от заказчиков VMware постоянно: перенос нагрузок Kubernetes на VMware vSphere Kubernetes Service (VKS) — самый важный шаг на пути внедрения VMware Cloud Foundation (VCF). Долгое время он же оставался и самым трудным для объяснения. У большого числа заказчиков миграция раз за разом всплывала как блокер номер один на пути к VCF. Опасения были реальными и повторяющимися: длинные окна переключения, риск потери данных и методы резервного копирования и восстановления, которые попросту не поспевали за масштабом крупных наборов данных. В отдельных случаях заказчикам приходилось полностью отказываться от старой среды и разворачивать новые кластеры VKS с нуля — только чтобы обойти эту сложность.
Именно эту проблему и взялись решить. За несколько последних месяцев команды профессиональных сервисов, решений и инженерная команда проверили три различных пути миграции на широком наборе исходных топологий: от Tanzu и OpenShift на vSphere до Kubernetes на «голом железе» и облачных дистрибутивов вроде EKS, GKE и AKS. Результатом стал повторяемый плейбук из трёх путей, за которым стоят скрипты, ранбуки и технические документы. Этот материал обобщает четыре документа, кодифицирующих плейбук, и даёт практическую систему выбора нужного пути под конкретную ситуацию. Полный список документов доступен по ссылкам ниже.
OpenShift на «голом железе», облачные Kubernetes, любой сторонний CSI
Методология, общая для всех сценариев
Все четыре документа опираются на один и тот же каркас — четырёхфазную методологию, которая сохраняет миграцию проверяемой и обратимой:
Discover — инвентаризация всего: объекты Kubernetes API, топология сети, RBAC и секреты (значения никогда не выгружаются), а также перекрёстная сверка с FCD в vSphere, сопоставляющая каждый PVC с PV и с UUID диска FCD.
Analyze — трансляция специфичных для платформы объектов в эквиваленты VKS (Routes в OpenShift становятся Ingress, SCC — Pod Security Admission, проекты Rancher — пространствами имён) и выбор пути для данных.
Blueprint — фиксация плана в файле Solution Definition File (SDF) с тремя письменными шлюзами согласования: спонсор, платформа, комплаенс. Ни одна волна не выполняется, пока не подписаны все три.
Execute — поволновая миграция с прогонами вхолостую, шлюзами валидации и отрепетированным откатом.
Различаются ситуации тем, какой путь для данных выбирается на второй фазе: именно он определяет простой, риск потери данных и инструментарий.
Варианты переноса постоянных данных
Это самое важное решение в любой миграции на VKS, и сводится оно к одному вопросу: находится ли диск, на котором лежит постоянный том, уже внутри vSphere?
Путь 1: Zero-Copy, адаптация FCD только на уровне метаданных
Применяется, когда источник использует драйвер vSphere CSI, а диск First Class Disk (FCD) присутствует в базе данных vCenter. Данные приложения не копируются вообще. Velero переносит манифесты Kubernetes (PV, PVC и снимки при этом исключаются), а сам FCD отцепляется от источника и заново регистрируется на целевом кластере через CnsRegisterVolume. Всё это время том физически остаётся на том же хранилище данных.
Простой: ограничен синхронизацией API, а не полосой пропускания — менее 2 минут для тома объёмом 100 ГБ.
Риск потери данных: низкий, поскольку копирования нет, но операционный риск вполне реален — опасность в разделении состояния (split-brain). Оба кластера ни в коем случае не должны монтировать FCD одновременно, иначе повреждение данных наступает немедленно. Источник должен быть масштабирован до нуля прежде, чем целевой кластер подключит диск.
Предварительные требования: хранение источника на vSphere CSI; FCD разрешается в vCenter; политика reclaim у PV изменена на Retain до освобождения исходного claim; проверена целостность UUID диска FCD (Storage vMotion между хранилищами может изменить UUID); подключением должен управлять драйвер CSI, а не команда govc disk.attach.
Путь 2: Data-Copy, копирование данных
Применяется, когда хранение реализовано не на vSphere CSI (AWS EBS, Ceph, NFS, облачные блочные хранилища) либо когда FCD в vCenter отсутствует. Данные физически перемещаются через S3-совместимое объектное хранилище с помощью Data Mover для снимков CSI в Velero: встроенный в агент узла движок Kopia выполняет дедупликацию, сжатие, шифрование и выгрузку блоков, а целевая сторона создаёт новый том vSphere CSI и загружает данные в него.
Простой: растёт вместе с объёмом тома и зависит от полосы пропускания — 45–90 минут для тома 100 ГБ. Замеры дали около 24 минут для одного PVC на 450 ГиБ при использовании движка под управлением оператора и около 86 минут для четырёх томов по 450 ГиБ (1,8 ТиБ) параллельно.
Риск потери данных: выше, поскольку данные активно копируются. Но источник при этом не изменяется, поэтому откат обходится дёшево: достаточно удалить целевое пространство имён и заново созданные тома, а источник остаётся главным вплоть до момента переключения.
Предварительные требования: Velero и CSI Data Mover (либо файловое резервное копирование для драйверов без поддержки снимков); общая точка BackupStorageLocation на S3, доступность которой подтверждена с обоих кластеров; сетевая доступность; класс хранения с немедленной привязкой (Immediate) на целевой стороне; MinIO или S3 объёмом не менее 1,2 от самой крупной партии.
Замечание об инструментах: путь с копированием данных использует Velero вместе с Restic или Kopia (либо Data Mover для снимков CSI в составе Velero). Для источников вне vSphere документы описывают также pv-migrate — более прямой инструмент переноса данных «точка-точка» на базе rsync. А для переездов между кластерами VKS в разных vCenter блоки FCD переносит сам vMotion, и этот вариант предпочтительнее и Velero, и pv-migrate, поскольку он уже является частью vSphere.
Какой путь выбрать: руководство по принятию решения
Ниже — практическая рекомендация для каждой ситуации.
Ситуация 1: инфраструктура уже на vSphere (TKG, OpenShift, Rancher, upstream)
Это идеальный случай, и именно на него приходится основной спрос со стороны заказчиков сегодня: более 300 кластеров на vSphere CSI ждут такого переезда. Почти наверняка такая инфраструктура подходит под zero-copy-адаптацию FCD, которая превращает многочасовое окно простоя в считанные минуты. Схема принятия решения из документа выглядит так:
Драйвер хранения — csi.vsphere.vmware.com, и FCD присутствует в vCenter: zero-copy через CnsRegisterVolume.
Любой другой драйвер CSI либо отсутствие FCD в vCenter: копирование данных через Velero с Restic или Kopia.
Обязательно следует сменить политику reclaim у PV на Retain до удаления исходного PVC, проверить UUID диска FCD после любого Storage vMotion и никогда не допускать одновременного монтирования обоими кластерами. Состояние Helm нужно обрабатывать явно. Миграция пространств имён без фильтров исключения сохраняет на целевой стороне секреты релизов Helm (sh.helm.release.v1) и блокирует helm upgrade. Этап 6.5 методологии выполняет сверку или пересборку релиза с ключом --take-ownership.
Рекомендация: по умолчанию выбирать zero-copy. Копирование данных оставить для небольшого набора томов на стороннем хранилище. Рассчитывать стоит на SLA отката менее 10 минут, если что-то пойдёт не так.
Ситуация 2: инфраструктура уже на VKS, перенос между кластерами VKS
Внешне это похоже на первую ситуацию, но нюанс в том, где расположены Supervisor и vCenter.
Тот же vCenter и то же хранилище данных: zero-copy — объекты Supervisor сохраняются, создаётся новый PV в VKS, и всё завершается менее чем за 2 минуты на каждые 100 ГБ.
Разные vCenter: копирование данных, но силами vMotion, а не Velero и не pv-migrate. vMotion переносит блоки FCD нативно, через транспортную оболочку в виде выключенной вспомогательной виртуальной машины, после чего CnsRegisterVolume адаптирует диск на приёмной стороне. Закладывать следует 45–90 минут на каждые 100 ГБ.
Резервное копирование и восстановление томов средствами Velero здесь явно не выбрано как путь: промежуточное хранение в S3 добавляет задержку, которой vMotion избегает.
Два правила для сценария с разными vCenter важнее прочих. Первое: UUID диска FCD сохраняется при миграции, но его всегда необходимо заново обнаруживать после vMotion — нельзя предполагать, что он совпадает с исходным идентификатором, и нельзя передавать исходный UUID в CnsRegisterVolume. Второе: пространству имён на целевом Supervisor нужна политика хранения, назначенная этому FCD и открытая для данного пространства имён, а также трансляция реестра образов и ingress (например, AKO в Contour) через плагины ConfigMap в Velero.
Рекомендация: если оба кластера используют один vCenter и одно хранилище данных, zero-copy тривиален. Если нет — опираться следует на vMotion, а UUID диска FCD рассматривать как величину, которую всегда перепроверяют, а не принимают на веру. Откат ограничен длительностью vMotion, поэтому RTO стоит отрепетировать.
Ситуация 3: инфраструктура на vSphere, но хранение не на vSphere CSI (NFS, Ceph, внешние массивы)
Этот сценарий сбивает с толку чаще всего. Кластер Kubernetes работает на vSphere, поэтому легко предположить, что zero-copy-адаптация FCD доступна. Но постоянные тома обслуживает сторонний драйвер CSI: NFS, Ceph, внешний массив SAN или NAS либо любой другой сторонний плагин хранения. Адаптировать в vCenter нечего, FCD там просто нет, поэтому zero-copy отпадает. Документ формулирует это прямо: реализация хранения на стороне источника не имеет значения для метода переноса, пока исходный PVC является файловым томом, который задание миграции может смонтировать и прочитать.
Рекомендуемый путь — копирование данных через pv-migrate (rsync поверх SSH), тогда как манифесты Kubernetes переносит Velero. Поскольку перенос работает на уровне файловой системы по сети, источнику и приёмнику не нужно иметь общую платформу хранения, общий драйвер CSI и даже общий vCenter. Этот же документ покрывает и полностью не-vSphere источники: методология идентична, потому что абстракция хранения одна и та же.
Простой: растёт вместе с объёмом набора данных, количеством файлов и доступной полосой пропускания — 45–90 минут для тома 100 ГБ.
Риск потери данных: выше, чем при zero-copy, поскольку данные физически копируются, но исходный PVC не удаляется до тех пор, пока волна не принята, — граница отката сохраняется полностью.
Предварительные требования: исходный PVC является файловым томом; pv-migrate (rsync поверх SSH) для данных; Velero для манифестов; Helm для сверки; сетевая достижимость между источником и VKS по TCP 22 до балансировщика нагрузки VKS; класс хранения StorageClass на стороне VKS.
Ключевой принцип: исходный и целевой тома — независимые объекты хранения. Им не требуется общий vCenter, общий домен CNS, общий массив хранения, общий драйвер CSI или общий дистрибутив Kubernetes. Исходный PVC остаётся на месте и обеспечивает возможность отката до тех пор, пока волна миграции не будет принята.
Нюанс по сравнению с первой ситуацией стоит подчеркнуть: работать на vSphere — недостаточно. Решающим фактором является то, лежит ли постоянный том на диске FCD, которым управляет драйвер vSphere CSI. Если нет, то даже когда сам кластер работает на виртуальных машинах vSphere, сценарий относится к территории копирования данных.
Рекомендация: использовать pv-migrate для копирования данных и Velero для манифестов. Заложить окно по полосе пропускания, выполнить инкрементальную синхронизацию перед переключением, чтобы минимизировать финальную дельту, и сохранять исходный PVC до тех пор, пока нагрузка в VKS не пройдёт проверку. Откат чистый: достаточно удалить целевой PVC и создать его заново, источник остаётся нетронутым.
Ситуация 4: инфраструктура вне vSphere (облако, «голое железо», стороннее хранение)
Zero-copy здесь недоступен, потому что в vCenter нет FCD, который можно было бы адаптировать. Копирование данных остаётся единственным путём, а эталонная архитектура на Velero и S3 — проверенный способ его реализовать. Главная мысль этого документа в том, что источники вне vSphere заставляют встретиться с гравитацией данных лицом к лицу, поэтому работа уходит в классификацию и тонкую настройку, а не в изобретательные приёмы с хранилищем.
Каждый объект классифицируется до переключения по одной из трёх проекций: MIGRATE_AS_IS (переносимый, восстанавливается без изменений), REVIEW_REQUIRED (нужен трансформирующий оверлей — Route в Ingress, DeploymentConfig в Deployment, SCC в Pod Security Admission) или BLOCK_MIGRATION (на целевой стороне отсутствует CRD или оператор — сначала установить, либо исключить). Скрипты проверяются по записанным ожидаемым вердиктам, поэтому неверная классификация всплывает как дефект инструментария до переключения, а не как сломанное приложение после.
Предпочтительна установка под управлением оператора: на источнике это OADP в OpenShift. По результатам проверки она оказалась примерно в 4 раза быстрее нативного Velero для одного PVC на 450 ГиБ (24 минуты против примерно 90), потому что плагин CSI, Data Mover и агент узла остаются согласованными по версиям и обновляются как единое целое. На целевой стороне VKS всегда работает нативный Velero.
Ориентироваться следует на ресурсы DataUpload и DataDownload, а не на фазу Backup или Restore: именно ресурсы данных являются источником истины. PartiallyFailed — нормальное конечное состояние для восстановления, и только постпроверочное сканирование вместе с чек-листом приёмки решают, прошла ли партия.
Асимметрия ёмкости: файловые системы вне vSphere (например, CephFS) сообщают всю номинальную ёмкость как доступную, тогда как целевые тома на vSphere CSI с ext4 заранее выделяют таблицы inode (около 1,7%) и резервируют 5% для root. Исходные PVC следует заполнять не более чем на 90%, а целевые PVC для патологически заполненных томов делать больше.
Рекомендация: планировать копирование данных с самого начала. Заложить окно по полосе пропускания, классифицировать объекты заранее, предпочесть установку Velero под управлением оператора и выполнить дельта-партию непосредственно перед переключением, чтобы последние записи источника попали на целевую сторону. Откат обходится дёшево, поскольку источник не изменяется, поэтому фиксироваться следует только в момент переключения.
Сводим воедино: краткая таблица решений
Если источник…
А хранение…
Использовать путь
Простой (100 ГБ)
Основной инструментарий
Kubernetes на vSphere (TKG, OpenShift, Rancher, upstream)
vSphere CSI и FCD в vCenter
Zero-copy
Менее 2 минут
Velero (манифесты) и CnsRegisterVolume
VKS в VKS, разные vCenter
vSphere CSI
Копирование данных через vMotion
45–90 минут
vMotion и CnsRegisterVolume
Kubernetes на vSphere
Сторонний CSI, FCD отсутствует
Копирование данных
45–90 минут
Velero с Restic или Kopia либо pv-migrate
Kubernetes вне vSphere (облако, «голое железо»)
Любое хранение вне vSphere
Копирование данных
45–90 минут
Velero, CSI Data Mover и S3
Несколько правил, действующих для всех четырёх методов
Каким бы ни был выбранный путь, эти правила работают всегда:
Разделять конфигурацию без состояния и хранение с состоянием. Velero переносит манифесты, путь хранения переносит данные. Смешивать их не нужно.
Никогда не обслуживать трафик с обеих сторон одновременно. Перед финальной партией источник нужно остановить или масштабировать вниз, либо выполнить дельта-партию прямо перед переключением. Две расходящиеся живые копии — самый быстрый способ получить повреждение данных.
Сохранять метаданные PVC, принадлежащие приложению (метки и аннотации для Helm и операторов), но никогда не копировать метаданные привязки и выделения, сгенерированные самим Kubernetes: на восстановленной целевой стороне они не совпадут.
Явно обрабатывать состояние Helm. Не удалять вслепую секреты релизов Helm; до переключения извлечь значения и версию чарта из источника и выполнить сверку с ключом --take-ownership.
Проверять до продвижения. Шлюз продвижения контролирует, что PVC находится в состоянии Bound, реплики готовы, а конечная точка проверки состояния приложения отвечает healthy. До перевода волны в стабильное состояние должны пройти все четыре проверки.
Откат всегда репетируется. Zero-copy даёт RTO менее 10 минут, копирование данных даёт дешёвый откат, поскольку источник не тронут. В любом случае RTO нужно знать до переключения.
Итог
Правильная стратегия миграции — та, что соответствует месту, где данные уже находятся. Если тома уже являются дисками FCD в vSphere, zero-copy-адаптация превращает миграцию в операцию с метаданными, измеряемую минутами. Если нет, хорошо настроенный конвейер копирования данных на Velero и S3, с дисциплинированной классификацией объектов и отрепетированным откатом, приведёт к цели столь же безопасно, просто по графику, который упирается в полосу пропускания. А если инфраструктура уже работает на VKS, vMotion вместе с CnsRegisterVolume позволяет переезжать между кластерами вообще без копирования на уровне Kubernetes.
Обратная связь
Описанные пути миграции проверены, но не заморожены. По мере того как всё больше команд будет прогонять их на реальных производственных нагрузках, именно этот опыт отточит следующую редакцию плейбука. Обратная связь здесь по-настоящему важна. Связаться с Broadcom за подробностями можно, используя эту форму.
Шифрованный vMotion уже много лет остаётся одним из краеугольных камней защиты рабочих нагрузок в средах VMware. Он гарантирует, что данные виртуальной машины защищены при передаче каждый раз, когда ВМ перемещается между хостами, и для большинства продуктивных сред это попросту обязательное требование. С выходом VMware Cloud Foundation (VCF) 9.1 эта защита становится ещё эффективнее: криптографическая работа перекладывается на Intel QuickAssist Technology (QAT) — аппаратный ускоритель, встроенный в современные процессоры Intel Xeon. В VCF 9.1 функция включена по умолчанию и не требует какой-либо настройки. Команде инженеров было важно понять, сколько именно вычислительной мощности CPU возвращается заказчику, когда шифрованием занимается QAT, а не процессор. Тесты были проведены, и результаты дают вполне однозначную картину.
Как работает разгрузка на QAT
Когда запускается миграция vMotion, данные ВМ шифруются на исходном хосте и расшифровываются на целевом. При использовании разгрузки на QAT в VCF 9.1 работа по шифрованию и расшифровке выполняется аппаратным ускорителем QAT, а не центральным процессором. Процессоры на обеих сторонах освобождаются и могут заниматься выполнением рабочих нагрузок. Для администратора функция прозрачна и на поддерживаемом оборудовании Intel Xeon включена по умолчанию. Подробнее о разгрузке шифрованного vMotion на Intel QAT в VCF 9.1 рассказывается в отдельной статье.
Стенд для тестирования
Для испытаний требовалась нагрузка, чувствительная к доступности CPU, — такая, на которой было бы отчётливо видно, что происходит с производительностью приложения, когда процессор получает обратно такты, ранее уходившие на шифрование. Выбор пал на базу данных Oracle под управлением HammerDB — OLTP-нагрузку с интенсивным профилем дисковых операций. Основной метрикой состояния системы на протяжении всех испытаний служила пропускная способность транзакций Oracle (операций в секунду).
Методика миграции была следующей: на этапе измерений в установившемся режиме выполнялось восемь последовательных операций vMotion с паузой в 120 секунд между соседними миграциями. Восемь прогонов дают статистически честную картину вместо одной-единственной точки данных.
Тестировались три конфигурации:
Шифрование отключено: теоретический потолок без каких-либо криптографических накладных расходов.
QAT Off: шифрованный vMotion полностью выполняется программно силами CPU.
QAT On: шифрованный vMotion разгружен на аппаратный ускоритель Intel QAT.
Результаты
Медианные значения по всем восьми миграциям:
Метрика
Шифрование отключено
QAT OFF
QAT ON
Время миграции (секунды)
57,22
86,97
84,71
Пропускная способность предварительного копирования (МБ/с)
10 871
7 592
7 146
CPU исходного хоста (среднее число одновременно занятых ядер)
7,8*
20,1
7,7
CPU целевого хоста (среднее число одновременно занятых ядер)
18,8*
13,6
10,5
Пропускная способность Oracle (операций/с)
51 319
44 306
50 634
Время простоя ВМ (секунды)**
0,42
0,33
0,78
* Эта конфигурация завершает миграции за существенно меньшее астрономическое время, поэтому её показатель среднего числа одновременно занятых ядер отражает ту же фоновую работу CPU, сжатую в более короткое окно, и не является корректной точкой сравнения с конфигурациями QAT On и QAT Off. Приводится исключительно для справки.
** Время простоя в обеих конфигурациях оставалось близким к целевому, а наблюдаемый разброс обусловлен характером передачи страниц (page-in) на конкретно этой нагрузке, а не работой QAT. Разгрузка шифрования не оказывает причинно-следственного влияния на время простоя.
Экономия CPU на исходном хосте
Загрузка CPU исходного хоста падает с примерно 20,1 ядра при QAT Off до примерно 7,7 ядра при QAT On — это около 62% сокращения вычислительной мощности, расходуемой на шифрование vMotion на стороне источника. Процессорные ресурсы, ранее занятые шифрованием, теперь могут быть отданы работе Oracle. Целевой хост тоже выигрывает: накладные расходы на расшифровку сокращаются примерно на 23% (с ~13,6 до ~10,5 ядра). Больший выигрыш достаётся исходному хосту, поскольку шифрование из этих двух операций вычислительно более затратно.
Пропускная способность Oracle
При QAT Off пропускная способность Oracle в окне миграции составляла 44 306 операций в секунду. При QAT On она восстановилась до 50 634 операций в секунду, что на 14% больше, чем при чисто программном шифровании. Для OLTP-среды, где темп транзакций напрямую отражается на бизнес-результате, эта возвращённая пропускная способность имеет вполне ощутимую ценность.
Время миграции
Конфигурации QAT On и QAT Off дают практически одинаковое время миграции — 84,71 против 86,97 секунды. Разгрузка на QAT и не рассчитана на то, чтобы ускорять саму миграцию. Операции копирования по сети и работы с памятью занимают одинаковое время в обоих случаях. Меняется другое — сколько процессорного запаса остаётся работающей нагрузке, пока идёт эта передача.
Стабильность и джиттер
Разгрузка на QAT полностью развязывает шифрование и планирование выполнения на CPU, и это проявляется в измеримо меньшем разбросе как времени миграции, так и пропускной способности гостевой системы при повторяющихся миграциях. Для нагрузок, работа которых регламентирована SLA, такая предсказуемость имеет вполне реальную эксплуатационную ценность.
Результаты при одновременных миграциях vMotion
Результаты по одиночной ВМ показывают лишь часть картины. Сценарии эвакуации хоста подразумевают множество одновременных миграций. Такие тесты также были проведены.
При невысокой степени параллелизма (от 4 до 6 ВМ одновременно на каналах 25–50 GbE) QAT обеспечивает сокращение нагрузки на CPU на 40–45% без изменения времени завершения миграций. При более высокой степени параллелизма, характерной для полной эвакуации хоста, миграции завершаются практически с той же скоростью, что и без QAT, тогда как потребление CPU на исходном хосте снижается вплоть до ~39%. Плановое обслуживание или аварийная эвакуация — в обоих случаях QAT возвращает задействованным хостам заметный запас процессорной мощности.
Возврат CPU рабочим нагрузкам
Основная ценность разгрузки на QAT состоит не в скорости миграции. Она в том, что именно возвращается системе. Каждое ядро вычислительной мощности, которое QAT удерживает от работы по шифрованию, — это ядро, которое рабочая нагрузка забирает себе для полезной работы. В проведённых тестах это выразилось в 14% приросте пропускной способности Oracle, удерживаемом на протяжении всего окна миграции, и примерно 62% сокращении вычислительной мощности, потребляемой шифрованием на исходном хосте, что эквивалентно примерно 12 освободившимся ядрам во время миграции.
Для команд, эксплуатирующих плотные OLTP-среды, эти возвращённые такты могут стать разницей между сохранением темпа транзакций в окне обслуживания и его проседанием. Для более широкого класса смешанных нагрузок профиль выигрыша аналогичен. Процессор хоста может уделять больше внимания выполнению рабочих нагрузок, пока шифрованием занимается QAT.
Есть и эксплуатационный аспект. Поскольку QAT снимает с исходного хоста основную часть «процессорного налога» во время миграций, хосты с частой активностью vMotion — активные кластеры DRS или площадки с насыщенным графиком обслуживания и эвакуаций — сохраняют больший запас CPU для продуктивных нагрузок на протяжении всех этих операций, вместо того чтобы закладывать дополнительный резерв под накладные расходы на шифрование.
Что это значит на практике
Если VCF 9.1 уже работает на поддерживаемом оборудовании Intel Xeon, разгрузка на QAT уже активна. В среде виртуализации настраивать ничего не требуется. Практический вопрос в другом — что именно дадут конкретной инфраструктуре возвращённые процессорные такты. Для нагрузок с интенсивным OLTP-профилем вроде Oracle ответ очевиден: это пропускная способность транзакций, которую QAT возвращает приложению. Для других чувствительных к CPU нагрузок профиль выигрыша схож.
Итоги
Разгрузка на QAT в VCF 9.1 даёт примерно на 62% меньше накладных расходов CPU на исходном хосте, на 14% более высокую пропускную способность Oracle, удерживаемую в течение окна миграции, и меньший разброс времени миграции и производительности приложения при повторяющихся прогонах. Всё это происходит прозрачно на уровне инфраструктуры, на оборудовании, которое уже присутствует в большинстве развёртываний на Intel Xeon. Шифрованный vMotion продолжает делать ровно то же, что делал всегда: защищать рабочие нагрузки при передаче. Разгрузка на QAT лишь позволяет ему делать это, одновременно возвращая процессорные ресурсы тем нагрузкам, которым они нужны.
Тем, кто ещё не перешёл на VCF 9.1, это даёт конкретный измеримый повод для обновления. Для тех, кто уже работает на этой версии, описанный механизм уже действует в их среде. Проверить, поддерживает ли конкретная модель Intel Xeon технологию QAT, можно на ark.intel.com — и начать возвращать процессорные такты уже сегодня.
Для администраторов vSphere и инженеров автоматизации ESXCLI остаётся одной из самых базовых утилит в наборе средств управления VMware. Она позволяет удалённо выполнять команды управления хостом: обращаться к хосту ESXi напрямую или работать с любым хостом под управлением vCenter Server — с локальной рабочей станции или административного jumpbox, без интерактивной SSH-сессии к самому хосту.
Недавно было объявлено о переводе автономной версии ESXCLI 9.1.0 (сборка 25692154) в статус общей доступности. Этот выпуск приносит упрощённую установку за счёт использования штатной упаковки Python, модернизацию платформы, ужесточение требований безопасности при проверке хоста, детальное управление клиентским логированием и критически важные исправления стабильности аутентификации.
Независимо от того, на какой системе выполняются задачи администрирования — Linux, macOS или Windows, — ESXCLI 9.1.0 делает удалённое управление более безопасным, доступным и надёжным.
Что нового в ESXCLI 9.1.0
1. Современные требования к Python и упрощённая поставка через PyPI
ESXCLI 9.1.0 распространяется как единый пакет Python, совместимый с PyPI. Установку и обновление автономной версии на Linux, Windows и macOS теперь можно выполнять стандартными инструментами управления пакетами Python.
Системные требования:
Версия Python: требуется Python 3.10 или новее.
Отказ от устаревших версий: Python 2.7 и версии Python ниже 3.10 больше не поддерживаются.
Чтобы установить ESXCLI 9.1 через PyPI, выполните:
2. Ужесточение требований безопасности: отказ от SHA-1
Требования стандартов безопасности в корпоративной инфраструктуре продолжают развиваться. В ESXCLI 9.1.0 отпечатки серверных сертификатов SHA-1 официально больше не принимаются.
Уведомление о критическом изменении
При установлении проверенных удалённых сессий поддерживаются только отпечатки SHA-256 и SHA-512. Это относится к следующим способам передачи отпечатка:
параметр командной строки --thumbprint;
переменная окружения VI_THUMBPRINT;
записи, сохранённые в хранилище учётных данных ESXCLI.
Важное действие, которое нужно выполнить до обновления: проверьте автоматизированные скрипты, конвейеры CI/CD, переменные окружения и конфигурации хранилища учётных данных. Отпечатки SHA-1 необходимо заменить на отпечатки SHA-256 или SHA-512 до перехода на новую версию. Соединения, опирающиеся на отпечатки SHA-1, в версии 9.1.0 работать не будут.
Пример: запуск ESXCLI с отпечатком SHA-256
esxcli --server=vcenter.domain.local --target=esxi01.domain.local \
--username=administrator@vsphere.local \
--thumbprint=25:E3:4C:…:SHA256_THUMBPRINT… \
system version get
3. Гибкое управление клиентским логированием
В предыдущих версиях ESXCLI автоматически создавал и поддерживал ротируемый файл .log рядом с исполняемым файлом. В версии 9.1.0 поведение журналирования полностью настраивается и по умолчанию не проявляет себя никак.
Поведение по умолчанию: клиент больше не создаёт файл журнала на диске и не пишет в него.
Произвольный путь к журналу (--log-file): перенаправление клиентских сообщений журнала в выбранный вами файл.
Подробное и отладочное журналирование (--log-verbose): включение детализации уровня debug для изучения деталей протокола и диагностики проблем с подключением или выполнением команд.
Пример: подробное журналирование в произвольный файл
esxcli --server=esxi01.domain.local \
--log-file=/var/log/esxcli-debug.log \
--log-verbose \
network nic list
Чек-лист обновления для администраторов
Прежде чем переходить на версию 9.1, держите в уме этот короткий список проверок:
Проверьте окружение Python: убедитесь, что на административных рабочих станциях используется Python 3.10 или новее.
Обновите отпечатки: замените все отпечатки SHA-1 в скриптах и сохранённых хранилищах учётных данных на отпечатки SHA-256 или SHA-512.
Пересмотрите сценарии работы с журналами: если какие-либо пользовательские рабочие процессы полагаются на чтение файла журнала, который раньше создавался по умолчанию рядом с бинарным файлом ESXCLI, обновите эти сценарии так, чтобы они явно передавали --log-file <path>.
Развёртывание контейнерных нагрузок в изолированных (air-gapped) средах всегда требовало тщательной проработки — особенно в ситуации, когда реестр платформы, который планируется использовать, не может установить сам себя без образов, которых у него ещё нет. Именно поэтому упрощение развёртывания Harbor в качестве Supervisor Service в изолированных средах VMware Cloud Foundation (VCF) стало одним из ключевых направлений работы. Раньше эффективным промежуточным решением служили наработки сообщества, например сторонние реестры, а теперь предлагается официальный, поддерживаемый в рамках VCF вариант, спроектированный специально под этот сценарий.
С выходом VMware Bootstrap Registry Appliance в полной доступности (General Availability) появилось официальное решение с поддержкой со стороны VCF: специализированный OVA-образ, который даёт заказчикам VCF чистый, безопасный и чётко регламентированный с эксплуатационной точки зрения путь первоначальной загрузки (bootstrapping) Harbor в роли Supervisor Service в изолированных средах VCF 9.0 и vSphere 8.0 Update 3.
Что такое VMware Bootstrap Registry Appliance
VMware Bootstrap Registry Appliance — это защищённый (hardened) виртуальный модуль, распространяемый в формате OVA. В его составе поставляется совместимый со спецификацией OCI реестр Harbor, работающий нативно на Photon OS 5.0. Модуль предназначен для размещения OCI-образов, необходимых для включения Harbor Supervisor Service (а также Contour) на vSphere Supervisor.
При этом модуль не является универсальным корпоративным реестром и не предназначен для обслуживания рабочих нагрузок в продуктивной среде. Его роль — Registry 0 в последовательности развёртывания изолированной среды: это временный инструмент первоначальной загрузки, который передаёт ответственность сервису Harbor Supervisor Service (Registry 1), как только тот становится работоспособным и функционирует штатно.
Чтобы обеспечить соответствие архитектурным требованиям и сохранить право на поддержку, развёртывание VMware Bootstrap Registry Appliance регулируется следующими обязательными эксплуатационными ограничениями:
Исключительно задача bootstrap: VMware Bootstrap Registry Appliance допускается применять только для загрузки и хранения OCI-образов, необходимых для включения сервисов Contour и Harbor Supervisor на Supervisor.
Запрет вторичных ролей: модуль не должен использоваться в инфраструктуре ни для каких иных целей. В частности, прямо запрещено его применение в качестве постоянного реестра платформы или корпоративного реестра рабочих нагрузок.
Ограничение по версии развёртывания: использование VMware Bootstrap Registry Appliance допускается только в развёртываниях версий ниже VCF 9.1. Начиная с VCF 9.1 официально поддерживаемым решением для управления жизненным циклом изолированных сред становится Fleet Depot Service (FDS).
Для vSphere 8.0: Broadcom Support Portal > My Downloads > VMware vSphere > VMware vSphere Standard > 8.0 > Drivers and Tools > VMware Bootstrap Appliance > BOOTSTRAP_APPLIANCE-2.15.2+vmware.1-25635995.ova
Для VCF 9.0: Broadcom Support Portal > My Downloads > VMware Cloud Foundation > VMware Cloud Foundation 9 – 9.0.2 > VMware vCenter > Drivers and Tools > VMware Bootstrap Appliance > BOOTSTRAP_APPLIANCE-2.15.2+vmware.1-25635995.ova
Обзор процесса развёртывания
Развёртывание VCF в изолированной среде выполняется по двухфазной схеме. Сначала, на первой фазе, создаётся bootstrap-реестр на базе VMware Bootstrap Registry Appliance. На второй фазе разворачивается Harbor в качестве Supervisor Service, который затем становится продуктивным реестром для всех рабочих нагрузок.
Сегодня VMware Bootstrap Registry Appliance является подходящим решением для сред VCF 9.0 и vSphere 8.0 U3. Заказчики, которые перейдут на VCF 9.1, смогут воспользоваться преимуществами Fleet Depot Service (FDS). Этот встроенный реестр нативно обслуживает жизненный цикл первоначальной загрузки как часть платформы. В средах VCF 9.1 VMware Bootstrap Registry Appliance больше не требуется, поскольку эту роль берёт на себя FDS.
Заключение
Таким образом, VMware Bootstrap Registry Appliance закрывает пробел в сценарии развёртывания изолированных сред VCF. Он представляет собой специализированный и поддерживаемый инструмент первоначальной загрузки сервиса Harbor Supervisor Service. Решение на базе Bitnami Harbor заменяется альтернативой, готовой к промышленной эксплуатации. Этот путь рекомендуется как при развёртывании с нуля на VCF 9.0, так и при миграции уже существующей изолированной среды.
В стремительно меняющемся ИТ-ландшафте корпоративные ИТ-подразделения сталкиваются с фундаментальной операционной дилеммой. С одной стороны, администраторам VMware vSphere и инфраструктуры необходимы жёсткий контроль, соответствие требованиям, безопасность и мультиарендное управление ресурсами. С другой стороны, разработчикам и DevOps-инженерам нужны гибкость, быстрое самостоятельное выделение ресурсов и нативная инфраструктура, управляемая через API, чтобы ускорить выпуск приложений.
Когда эти два приоритета сталкиваются, операционные проблемы неизбежны. Инфраструктурные команды тонут в бесконечных очередях заявок на развёртывание кластеров и изменение сетевых настроек, а команды разработки, раздражённые задержками, уходят в теневые ИТ или разворачивают изолированные внешние управляющие кластеры. Такая фрагментация не только замедляет инновации, но и порождает серьёзные уязвимости в безопасности, дополнительные операционные издержки и неэффективные расходы.
В недавнем вебинаре Activating VKS Supervisor to Support Kubernetes было показано, как активация управляющего уровня, называемого vSphere Supervisor, в VMware Cloud Foundation (VCF) 9.1 напрямую решает эту дилемму современных приложений.
VMware vSphere Kubernetes Service (VKS) — это среда исполнения Kubernetes, встроенная непосредственно в VCF. Благодаря сертифицированному CNCF дистрибутиву Kubernetes служба VKS позволяет платформенным инженерам разворачивать кластеры Kubernetes, управлять ими и масштабировать их, задействуя при этом весь набор облачных сервисов VCF, а также любые совместимые сторонние сервисы.
Преодоление разрыва: что такое vSphere Supervisor
Корпоративные платформенные команды постоянно испытывают операционное напряжение: разработчикам нужны быстрые API Kubernetes в режиме самообслуживания, тогда как инфраструктурные команды обязаны обеспечивать централизованное управление, безопасность и соблюдение политик по ресурсам.
vSphere Supervisor снимает эти трения, предоставляя настоящее самообслуживание для разработчиков, подкреплённое административным контролем корпоративного уровня, — и всё это работает прямо на существующей инфраструктуре vSphere. Вместо того чтобы строить и обслуживать сложные изолированные управляющие кластеры поверх vSphere, Supervisor встраивает нативный управляющий уровень Kubernetes непосредственно в VMware ESXi и vSphere, превращая гипервизоры в нативные эндпоинты Kubernetes.
Такая архитектура создаёт общую мультиарендную платформу, на которой гармонично работают и инфраструктурные администраторы, и разработчики:
Для администраторов vSphere: контроль и соответствие требованиям сохраняются за счёт пространств имён vSphere Namespaces. Администраторы задают границы ресурсов (квоты на CPU, память и хранилище), назначают ролевую модель доступа (RBAC) и сохраняют полную операционную видимость через vSphere Client и VMware Cloud Foundation Operations.
Для DevOps-инженеров: платформа предоставляет стандартную конечную точку API Kubernetes. Инженеры могут применять декларативные YAML-манифесты через kubectl и Helm, чтобы разворачивать кластеры рабочих нагрузок (кластеры VKS), виртуальные машины (через VM Service) и контейнеризованные нагрузки прямо внутри выделенных им пространств имён vSphere.
В VCF 9.1 развязанное управление жизненным циклом позволяет платформенным командам обновлять и патчить версии Kubernetes независимо от обновлений самой платформы. В сочетании с серьёзной оптимизацией движка VKS платформа обеспечивает развёртывание кластеров до 70% быстрее, обновления до 75% быстрее и масштабирование до 500 кластеров на один экземпляр управляющего уровня.
Архитектура vSphere Supervisor и высокая доступность
Архитектура vSphere Supervisor спроектирована так, чтобы обеспечивать отказоустойчивость корпоративного уровня за счёт встраивания нативного высокодоступного управляющего уровня Kubernetes непосредственно в слой гипервизора vSphere. Управляющий уровень vSphere Supervisor состоит из трёх активных виртуальных машин управляющего уровня Kubernetes, развёрнутых на хостах ESX или в мультизональных кластерах vSphere, что обеспечивает непрерывный кворум и отсутствие единых точек отказа. Эти виртуальные машины напрямую взаимодействуют с vCenter и ESX, управляя жизненным циклом рабочих нагрузок, распределением ресурсов и согласованием состояния во всей среде.
На низком уровне примитивы хранения и вычислений тесно связаны между собой, что помогает обеспечить высокую доступность. Алгоритм размещения управляющего уровня динамически распределяет виртуальные машины по доменам отказа, а временные данные обслуживаются через эфемерные диски (Ephemeral Disks), которые автоматически очищаются при завершении работы пода. Кроме того, диски с образами контейнеров кэшируются непосредственно на отдельных хостах ESX, что позволяет обойти задержки загрузки из реестра и обеспечить практически мгновенное создание подов и их восстановление при отказе хоста.
Топологии хранения и управление политиками
Приложениям с сохранением состояния, построенным по облачно-нативным принципам, требуется надёжная работа с постоянным хранилищем. vSphere Supervisor связывает запросы Kubernetes на постоянные тома с примитивами хранения vSphere через Cloud Native Storage (CNS) и нативный драйвер vSphere Container Storage Interface (CSI).
Когда разработчик отправляет запрос PersistentVolumeClaim (PVC), драйвер CNS-CSI напрямую обращается к vCenter и транслирует этот запрос в диск First Class Disk (FCD) на нижележащем хранилище. Администраторы обеспечивают управляемость, назначая политики хранения (например, Gold, Silver) и лимиты ёмкости непосредственно пространствам имён vSphere.
vSphere Supervisor поддерживает три различные топологии хранения, рассчитанные на конкретные требования рабочих нагрузок:
Хотя чаще всего в качестве примера приводится гиперконвергентный vSAN, традиционные внешние массивы хранения (Fibre Channel, iSCSI и NFS) отображаются на те же самые топологии. Стандартные внешние хранилища SAN/NAS, подключённые к одному кластеру vSphere, работают как зональные хранилища (Zonal Datastores). В мультизональных развёртываниях заказчики, использующие репликацию на уровне сторонних массивов — например, метрокластеры хранения на базе FC/iSCSI, — могут добиться доступности межзональных хранилищ (Cross-Zone Datastore) без применения нативного растянутого кластера vSAN.
Помимо постоянного хранилища vSphere Supervisor управляет дисками управляющего уровня, эфемерными дисками (автоматически уничтожаются при удалении пода) и кэшированием образов контейнеров непосредственно на хостах ESX, что обеспечивает практически мгновенный запуск подов.
Сеть и балансировка нагрузки в vSphere Supervisor
Сетевая подсистема и балансировка нагрузки в vSphere Supervisor построены вокруг развязанной, хорошо масштабируемой модели виртуального частного облака (VPC), реализованной через системные проекты VMware NSX и централизованные транзитные шлюзы. Каждое пространство имён vSphere работает внутри собственного выделенного NSX VPC с приватными подсетями и шлюзами VPC, которые изолируют нагрузки арендаторов и устраняют конфликты IP-адресов, даже если разные команды используют пересекающиеся блоки CIDR.
Маршрутизация трафика между пространствами имён, управляющими сетями и внешними сервисами обеспечивается транзитными шлюзами Tier-0 и Tier-1, что помогает организовать безопасную и высокопроизводительную транзитную передачу по сетевой фабрике. Для балансировки нагрузки и входящего трафика vSphere Supervisor интегрируется с VMware Avi Load Balancer. Эта интеграция автоматизирует выделение и управление жизненным циклом виртуальных IP-адресов (VIP), балансировщиков для конечной точки API Kubernetes и контроллеров ingress уровней L4/L7, обеспечивая точное управление трафиком, полностью автоматическую настройку сети и глубокую изоляцию по безопасности без ручного вмешательства в сетевую конфигурацию.
Современная сеть: NSX VPC и транзитные шлюзы
Организация сети в мультиарендных контейнерных платформах традиционно вызывала значительные трудности, нередко приводя к исчерпанию IP-адресов, усложнению маршрутизации на межсетевых экранах и рискам безопасности.
vSphere Supervisor решает эту задачу, сочетая виртуальные частные облака NSX (VPC) с гибкими схемами транзитных шлюзов в системных проектах NSX. Хотя в демонстрации на вебинаре был показан вариант с централизованным транзитным шлюзом, vSphere Supervisor в полной мере поддерживает и распределённые транзитные шлюзы, что позволяет выбрать модель подключения, наиболее подходящую конкретной среде.
Ключевые возможности этой сетевой архитектуры:
Изолированные VPC для каждого пространства имён: каждое пространство имён vSphere изолировано внутри собственного NSX VPC с приватными подсетями и выделенными шлюзами VPC.
Отсутствие конфликтов IP и развязанная маршрутизация: развязанная маршрутизация между VPC позволяет разным командам разработки использовать пересекающиеся диапазоны IP без сетевых коллизий.
Линейная масштабируемость: централизованные транзитные шлюзы безопасно обрабатывают высокоскоростную маршрутизацию между пространствами имён и во внешние сети через шлюзы Tier-0/Tier-1.
Встроенная балансировка нагрузки: Avi Load Balancer автоматизирует маршрутизацию трафика через контроллер ingress и балансировку API Kubernetes.
Пошаговая активация и сценарий демонстрации
В демонстрационной части вебинара был показан полный сквозной жизненный цикл развёртывания — как со стороны администратора, так и со стороны разработчика.
Наблюдаемость на этапе Day-2: вся телеметрия, метрики производительности и логи поступают напрямую в централизованный VCF Operations для проактивного мониторинга и операций жизненного цикла.
Предварительные требования и запуск активации: перед запуском активации Supervisor необходимо убедиться, что выполнены базовые требования: действующий домен рабочих нагрузок VCF с включёнными vSphere HA и DRS, сетевая конфигурация на базе NSX или распределённого коммутатора vSphere с назначенными пулами IP-адресов, поддерживаемый балансировщик нагрузки, выделенная политика хранения vSphere и подписная библиотека контента (Subscribed Content Library). После этого активацию можно инициировать при создании домена рабочих нагрузок в VCF Operations либо уже после развёртывания непосредственно в vCenter в разделе Supervisor Management -> Get Started, где мастер перед развёртыванием проверяет вычислительные зоны, политики хранения, библиотеки контента и настройки балансировки нагрузки.
Настройка пространства имён и RBAC: администратор виртуальной инфраструктуры создаёт пространство имён vSphere, назначает политики хранения и квоты ресурсов, а также выдаёт права доступа разработчикам.
Декларативное развёртывание: DevOps-инженер аутентифицируется на управляющем уровне vSphere Supervisor через kubectl и применяет YAML-манифест с запросом на новый кластер VKS. vSphere Supervisor автоматически разворачивает узлы управляющего уровня и рабочие узлы.
Двойная перспектива наблюдения: администратор виртуальной инфраструктуры отслеживает состояние инфраструктуры и объекты виртуальных машин в vSphere и VCF Operations, тогда как разработчик управляет подами, сервисами и развёртываниями через kubectl.
Развёртывание гибридного приложения: команды разворачивают многоуровневые приложения, объединяющие виртуальные машины (через API службы VM Service) и контейнеризованные нагрузки на базе Helm-чартов.
Заключение и что дальше
Активация vSphere Supervisor превращает традиционную корпоративную виртуализацию в мощную мультиарендную облачную платформу. Предоставляя разработчикам нативное самообслуживание Kubernetes и одновременно оставляя ИТ-администраторам полный контроль над ресурсами и политиками, VKS ускоряет выпуск современных приложений без роста операционных рисков.
Учебные курсы: войдите в Learning@Broadcom через портал поддержки Broadcom, раздел «Education Portal», чтобы получить доступ к следующим курсам по VKS:
Если по проектам VKS нужна помощь, обратитесь к своему аккаунт-менеджеру Broadcom, чтобы узнать, чем могут помочь профессиональные сервисы VCF и партнёры, такие как TeraSky.
Механизм Memory Tiering в VMware Cloud Foundation 9 использует два типа устройств памяти, чтобы нарастить её объём при существенно меньшей стоимости. Технология незаметно для виртуальных машин отслеживает активность обращений к памяти и удерживает часто используемые данные в быстрой и дорогой DRAM, вытесняя редко запрашиваемые страницы на второй, более медленный и дешёвый уровень на NVMe-накопителе.
Память нередко оказывается самой дорогой составляющей в стоимости сервера, а современные приложения потребляют её всё больше: растут объёмы данных, усложняются вычисления, добавляются требования к работе в реальном времени. При этом в продуктивных средах администраторы обычно избегают переподписки памяти из-за непредсказуемой деградации при срабатывании механизмов её возврата — ballooning, сжатия или свопинга. Эти техники не обладают интеллектом Memory Tiering и не умеют грамотно распоряжаться активной памятью, поэтому виртуальным машинам выделяют полный требуемый объём. Решение рабочее, но неэффективное: одновременно используется далеко не вся выделенная память, и дорогой ресурс простаивает.
В VCF 9.0 Memory Tiering предоставляет виртуальным машинам единое логическое пространство памяти, а под капотом управляет двумя её типами в зависимости от активности обращений:
Tier 0 — высокоскоростная DRAM: дорогая и очень быстрая системная память, где остаётся активная, «горячая» память.
Tier 1 — устройства NVMe: производительные SSD, более медленные и заметно более дешёвые, куда переносится неактивная, «холодная» память.
После включения тиринга информация о нём доступна в интерфейсе VMware vCenter: вкладка Configure > Hardware > Overview > Memory. Там отображается суммарный объём памяти и его распределение по уровням — например, 1 022,93 ГБ всего, из которых 511,46 ГБ приходится на Tier 0 и столько же на Tier 1. Настройка описана в документации vSphere, а бизнес-обоснование технологии разобрано в блоге VMware Cloud Foundation.
Архитектура
В систему добавлен модуль классификации и размещения страниц памяти. Он периодически обходит всю гостевую память, динамически вычисляя активность гостя, пропускную способность каждого уровня, квоты уровней для виртуальных машин и пороги активности страниц. Планировщик памяти опирается на эти показатели вместе с историей активности каждой гостевой страницы и размещает страницы на подходящем уровне.
Работа идёт в фоне. Механизм наблюдает за обращениями к памяти и определяет, какие страницы горячие, а какие холодные в заданном временном окне: например, горячими считаются те, к которым чаще всего обращались в течение последней минуты, — они остаются в DRAM, остальные уходят на NVMe. Классификация постоянно пересматривается: когда нагрузки проходят через смену фаз и активными становятся другие участки памяти, тиринг перераспределяет страницы, поддерживая эффективную загрузку DRAM.
Методика тестирования
Для оценки была смоделирована продуктивная среда на VCF 9.0 с включённым тирингом, на которой запускались популярные корпоративные бенчмарки, нагружающие процессор, память, хранилище и сеть.
Бенчмарк
Нагрузка
Результат
Login Enterprise
Приложения VDI
Двукратный рост плотности ВМ, потери 0–8%
VMmark
Корпоративные приложения
Двукратный рост плотности ВМ, потери 5%
DVD Store
Oracle Database
Двукратный рост плотности ВМ, потери менее 5%
HammerDB
SQL Server, MySQL
Двукратный рост плотности ВМ, потери 5–10%
Все цифры относятся к двукратной плотности виртуальных машин; при меньшей плотности влияние на производительность будет ниже или вовсе незаметным. Соотношение DRAM к NVMe по умолчанию в VCF 9.0 составляет 1:1 — при 1 ТБ DRAM можно получить ещё около 1 ТБ памяти на NVMe. Во всех тестах применялось именно оно.
Результаты представлены через три группы метрик: прирост плотности виртуальных машин, разница в производительности относительно системы только на DRAM и загрузка процессора — как в части дополнительно утилизируемых ресурсов, так и в части накладных расходов тиринга. Чтобы точнее отразить последние, большие страницы (large pages) на хосте везде оставались отключёнными — это настройка по умолчанию для ESX с тирингом.
Метрика активной памяти в разных инструментах называется по-разному: в esxtop это TCHD (touched memory), причём общехостового счётчика нет и значения всех машин приходится суммировать; в vCenter — счётчик Active в разделе Monitor > Performance > Overview > Memory; в VCF Operations — Metrics > Memory > Guest Active.
VDI: тестирование с Login Enterprise
Login Enterprise от Login VSI — отраслевой стандарт для оценки ёмкости и производительности VDI: виртуальные пользователи имитируют реальных сотрудников и замеряют время отклика на каждое взаимодействие. Инфраструктурой рабочих столов служила Omnissa Horizon. Из двух преднастроенных профилей выбран knowledge worker как самый тяжёлый и распространённый: он включает девять приложений, среди которых Word, PowerPoint, Excel, Outlook, браузер Edge и потоковое видео. Главная метрика — оценка пользовательского опыта EUX, складывающаяся из таймеров типичных действий: отзывчивости приложений, обработки клавиатурного ввода, ресурсоёмких вычислений и задержек дисковых операций.
Тесты шли в двух вариантах провижининга: с отключённым межмашинным Pshare (ModeB) и с включённым (ModeA). В ModeA мгновенные клоны при создании клонируются от родительской ВМ и разделяют её память; в ModeB — от выключенной ВМ-реплики, без разделения. Режимы различаются не только поведением разделения страниц, но и работой алгоритма тиринга, поэтому в исследование вошли оба. Одиночный узел — Dell PowerEdge R760 с двумя Intel Xeon 8480 (56 ядер на сокет) и 1 или 2 ТБ DRAM, устройство тиринга Dell Ent NVMe P5620 MU на 1,6 ТБ, рабочие столы Windows 11 на 2 vCPU.
В режиме ModeB машинам выделялось 8 ГБ RAM: при 1 ТБ DRAM это давало около 120 VDI-сессий, а добавление 1 ТБ на NVMe позволило довести их число до 240. Потери составили менее 6% относительно варианта только на DRAM (1 ТБ). Оценка EUX снизилась с 8,6 до 8,3 при сравнении дорогой системы с 2 ТБ DRAM и заметно более дешёвой с 1 ТБ DRAM плюс 1 ТБ тиринга — падение всего около 3,5%. Загрузка процессора выросла с 63,5% до 74%: перемещение данных между уровнями имеет свою цену.
Время отклика приложений изменилось незначительно: Outlook открывался за 1,10 секунды против 0,94 на чистой DRAM, запуск Excel и PowerPoint замедлился примерно на 0,002 секунды. Активная память хоста держалась в диапазоне 420–450 ГБ — около 50% от ёмкости DRAM. Динамика EUX по мере роста числа сессий тесно коррелирует с показателями NVMe: когда задержка поднималась выше 200 микросекунд, метрики CPU score и Generic application score проседали, а при стабилизации около 200 микросекунд снова росли вместе с общей оценкой.
В режиме ModeA машинам выделялось 6 ГБ: выигрыш от разделения страниц оставляет алгоритму больше пространства для масштабирования. Число сессий выросло с 160 до 320. Оценка EUX снизилась с 8,7 до 7,9, но причина не в тиринге: в первом случае процессор работал с турбо-ускорением в 1,5 раза, а при 320 машинах из-за высокой загрузки его частота была близка к номинальной. С включёнными большими страницами EUX составила 8,3 при загрузке CPU 84,5%, с отключёнными — 7,9 при загрузке 90%. Сравнение 8,3 и 7,8 даёт потерю 6%, а если брать только малые страницы, падение с 7,9 до 7,8 — порядка 1%. Столь низкие потери согласуются с задержкой NVMe всего в 100 микросекунд при пропускной способности чтения заметно ниже 100 МБ/с.
Многоузловые тесты шли на трёхузловом кластере vSAN архитектуры ESA с RAID 5 на серверах Dell PowerEdge R660 с двумя Intel Xeon 6430 (32 ядра на сокет) и 512 ГБ DRAM: четыре NVMe в каждом хосте отданы под vSAN, пятое — под тиринг. В режиме ModeB тиринг позволил удвоить плотность машин за счёт добавления 512 ГБ NVMe, при этом оценка EUX относительно 1 ТБ DRAM снизилась лишь на 8%. Пропускная способность чтения NVMe составляла около 200 МБ/с, задержки стартовали со 100 микросекунд, поднимались до 400 по мере добавления сессий и опускались до 200 в установившемся режиме.
Во втором наборе тестов число рабочих столов увеличили до 200 на хост, то есть до 600 на кластер, с мгновенными клонами по 5 ГБ и провижинингом ModeA. Оценки EUX для DRAM (1 ТБ) и Memory Tiering (1 ТБ) составили 6,9 и 7,0 при загрузке процессора выше 90% в обоих случаях — то есть удвоение плотности прошло вовсе без потерь производительности. Задержки устройства тиринга достигали 150 микросекунд, пропускная способность держалась около 200 МБ/с, активная память доходила до 320 ГБ — 62,5% от доступной DRAM.
Корпоративные приложения: VMmark
VMmark оценивает производительность и масштабируемость виртуализованных ЦОД. Бенчмарк объединяет типовые приложения (standby, DVD Store и Weathervane) в блоки-«тайлы»; один тайл состоит из 19 Linux-машин с нагрузками от 1 до 8 vCPU и от 4 до 250 ГБ памяти. Использовалась конфигурация с большим объёмом памяти: размер ВМ с базой увеличен с 32 до 250 ГБ, размер базы — со 100 до 300 ГБ, время раздумий — с 1 до 1,5 секунды, чтобы сделать тест в большей степени memory-intensive, чем compute-intensive. Тестовая система — два Intel Xeon 8592 по 64 ядра с 1 или 2 ТБ DRAM, устройство тиринга Samsung PM9A3 на 3,84 ТБ, на тайл приходилось 376 ГБ памяти и 31 vCPU.
Итоговая оценка агрегирует метрики пропускной способности приложений с нормализацией по весу каждого, а тайлы добавлялись до появления сбоев качества обслуживания. Конфигурация только на DRAM (1 ТБ) выдержала 57 виртуальных машин в трёх тайлах, конфигурация с тирингом (2 ТБ) — 114 машин в шести тайлах.
Сравнение трёх конфигураций показывает накладные расходы технологии по производительности и по процессору. В базовом варианте загрузка CPU была ограничена нехваткой памяти, тогда как при большем её объёме сервер утилизировался значительно плотнее. Производительность тиринговой конфигурации оказалась менее чем на 5% ниже варианта с 2 ТБ DRAM — притом что хост располагал лишь 1 ТБ реальной DRAM. Пропускная способность чтения NVMe была чуть выше рекомендованной, но задержка оставалась около 100 микросекунд, и производительность не пострадала.
Базы данных: SQL Server, Oracle и MySQL
Нагрузки баз данных требовательны к процессору, дискам и памяти одновременно, что делает их хорошим полигоном для проверки тиринга. Тестировались СУБД, типичные для развёртываний VCF: Microsoft SQL Server 2022, Oracle Database 21c и MySQL 8.0.
SQL Server измерялся с помощью HammerDB 5.0 (профиль TPC-C, 1000 складов, 125 виртуальных пользователей) на Dell PowerEdge R760 с 512 ГБ или 1 ТБ DRAM и виртуальными машинами на 8 vCPU и 80 ГБ. На хосте с 512 ГБ DRAM удавалось запустить не более 6 машин — при попытке добавить больше транзакции завершались по таймауту. Расширение памяти до 1 ТБ с помощью тиринга позволило удвоить их число. Прирост производительности при переходе от 512 ГБ к 1 ТБ DRAM составил 1,6 раза (нелинейность объясняется факторами, не связанными с тирингом), а падение при сравнении DRAM (1 ТБ) и тиринга (1 ТБ) не превысило 10%.
Активная память в установившемся режиме составляла около 256 ГБ, а процессорная нагрузка снизилась, поскольку машины ожидали обслуживания промахов DRAM накопителем. Задержка чтения NVMe на фазе разогрева держалась в районе 300–400 микросекунд и стабилизировалась примерно на 200 в измерительной фазе. Показательна корреляция: пока активная память на разогреве превышала 50% от DRAM, число транзакций в минуту проседало; когда она устоялась на уровне около 50%, показатель TPM вырос и стабилизировался.
Oracle Database 21c тестировалась на Oracle Enterprise Linux 8.8 с нагрузкой DVD Store 3.5: 600 пользователей на машину, время раздумий 5 секунд, база около 200 ГБ. Система — односокетный AMD EPYC 9755 на 128 ядер с 768 ГБ DRAM, виртуальные машины на 16 vCPU и 192 ГБ. Проверялись три сценария: 768 ГБ DRAM, 1,5 ТБ DRAM и тиринговый вариант из 768 ГБ DRAM плюс 768 ГБ NVMe. Число машин подбиралось так, чтобы полностью законтрактовать память: 4 машины на 768 ГБ и 8 машин на 1,5 ТБ. Результат — рост с 4 до 8 машин при потере менее 5% относительно 1,5 ТБ чистой DRAM.
Особенно показательна динамика процессора: в базовом сценарии его загрузка была ограничена 43%, а с тирингом достигла 85%. Это наглядно демонстрирует способность технологии раскрывать ёмкость хоста там, где система упирается в память, а процессорные циклы простаивают. Активная память по счётчику touched memory в esxtop в среднем составляла около 400 ГБ — чуть больше 50% от DRAM, а средняя задержка чтения NVMe — 86 микросекунд при пропускной способности около 35 МБ/с.
MySQL 8.0 на RHEL 9.4 тестировался тем же HammerDB на машинах с 14 vCPU и 60 ГБ; плотность также удалось удвоить при потере менее 5%. Параметром keyingandthinktime здесь регулировались нагрузка на процессор и объём активной памяти. При времени раздумий 10 миллисекунд загрузка CPU в базовом сценарии на 512 ГБ была высокой — 70%, активная память достигала 286 ГБ (около 55% ёмкости DRAM); при удвоении числа машин в работу вовлекались 224 vCPU и процессор доходил почти до насыщения, что объясняет нелинейное масштабирование. Когда время раздумий подняли до 45 миллисекунд, активная память выросла до 410 ГБ (около 80% DRAM), а загрузка CPU снизилась до 45% — благодаря запасу по процессору удвоение плотности дало двукратный рост пропускной способности. Примечательно, что даже при активной памяти на уровне 80% потери оказались минимальными: вероятно, большое время раздумий поглощало задержки NVMe.
Влияние на vMotion
Производительность виртуальных машин при миграции vMotion в среде с тирингом не страдает, но сама миграция может занимать больше времени: фаза предварительного копирования читает данные с медленных уровней. Внутренний механизм vMotion разобран в отдельном документе.
Тестировался Dell PowerEdge R750 с двумя Intel Xeon 8380 и адаптерами Mellanox 100GbE. Четыре машины на 12 vCPU и 48 ГБ работали под RHEL 8.1 с Oracle 21c и SGA 43 ГБ, нагрузка создавалась HammerDB; чтобы активировать тиринг, память хоста искусственно уменьшили до 164 ГБ. В сценарии эвакуации хоста с одновременной миграцией всех четырёх машин пропускная способность Oracle оставалась практически неизменной: наблюдался единственный провал в фазе переключения, но простой не превышал секунды.
Сценарий
Среднее время миграции
Простой ВМ
Штраф для гостя
4 ВМ, базовый вариант (только DRAM)
23,5 секунды
менее 1 секунды
менее 5%
4 ВМ, Memory Tiering
82 секунды
менее 1 секунды
менее 5%
Тиринг увеличивает длительность vMotion, но на производительности машин это не сказывается: замедление приходится на фазу предварительного копирования, когда холодные страницы читаются с более медленного NVMe.
Эксплуатация и мониторинг
Чтобы Memory Tiering обеспечивал хорошую производительность, важны три вещи: следить за активной памятью, следить за задержкой чтения NVMe и правильно выбрать сам накопитель.
Активную память рекомендуется удерживать не выше 50% от ёмкости DRAM хоста; для некоторых нагрузок она может быть выше без каких-либо проблем. В диапазоне от 50% до 75% необходимы тестирование и наблюдение за конкретной нагрузкой. Выше 75% в большинстве случаев следует ожидать существенных потерь.
Пока задержка чтения накопителя остаётся ниже 200 микросекунд, производительность тиринга ожидаемо хорошая. В диапазоне 200–400 микросекунд возможны проблемы, а выше 400 влияние на нагрузки становится заметным.
При выборе накопителя стоит ориентироваться на высокий класс износостойкости D и высокий класс производительности — более 100 000 операций записи в секунду при DWPD = 3 — а также на больший объём.
Нужные метрики доступны в vCenter на странице Advanced Performance через Chart Options. Пропускная способность записи показывает перенос холодных страниц на NVMe, чтения — извлечение страницы, которая снова стала активной, но отсутствует в DRAM; если чтение превышает 200 МБ/с, стоит присмотреться к задержкам. На качественном накопителе они остаются заметно ниже 200 микросекунд даже при 400 МБ/с, тогда как некоторые другие модели на схожем трафике показывают около 300. Чтобы понять, почему конкретная машина работает медленно, стоит посмотреть пропускную способность чтения в её разрезе: всплывающее окно графика позволяет вывести несколько машин сразу. Активная память хоста доступна там же, а также в VCF Operations.
Дополнительно рекомендуется обеспечить достаточный запас по процессору под накладные расходы тиринга; следить, чтобы загрузка CPU на нетиринговых хостах кластера не превышала 75%, иначе эффективность технологии может снизиться; и не использовать с Memory Tiering «монструозные» виртуальные машины — крупнее 32 vCPU и 512 ГБ DRAM.
Выводы
Memory Tiering — важное усовершенствование VCF 9, позволяющее за счёт добавления NVMe SSD получить значительно больший объём памяти при существенно меньшей стоимости по сравнению с использованием только DRAM. Технология решает проблему растущей стоимости памяти в ЦОД, оптимизируя совокупную стоимость владения серверами и нагрузками, ограниченными объёмом памяти.
Измерения на нескольких бенчмарках дали стабильно хорошие результаты: двукратный рост плотности виртуальных машин и экономия TCO до 40%. Тиринг также высвобождает процессорные ресурсы хоста, которые при дефиците памяти иначе остались бы неиспользованными, а простой машин при vMotion неизменно остаётся ниже одной секунды. Оптимальную производительность обеспечивает мониторинг двух показателей: активную память в идеале следует удерживать ниже 50% от объёма DRAM, а задержку устройства нижнего уровня — ниже 200 микросекунд.
Обновление аппаратной части — неизбежная задача в рамках управления жизненным циклом дата-центра. В существующих кластерах vSAN могут работать серверы, приближающиеся к окончанию срока поддержки со стороны производителя, либо просто переставшие соответствовать техническим требованиям организации.
Самая распространённая стратегия замены серверов — развернуть полностью новый кластер и перенести нагрузки с одного кластера на другой средствами vMotion. Однако иногда возникает потребность заменить старое оборудование новым, сохранив при этом сам кластер, чтобы не потерять его настройки или сервисы данных. В этом случае встаёт вопрос: «Следует ли добавлять и выводить серверы из кластера по одному, или же нужно сначала добавить все новые серверы, а затем вывести из эксплуатации старые?»
Варианты обновления серверов внутри кластера vSAN
vSAN предоставляет широкие возможности для аппаратного обновления практически любого типа. Когда устаревающие серверы заменяются новыми с сохранением существующего кластера, доступные варианты в целом делятся на три категории.
Массовое добавление и поэтапный вывод. Все новые серверы последовательно добавляются в существующий кластер, а старые хосты выводятся из эксплуатации по одному.
Поэтапное добавление и поэтапный вывод с повторением цикла. В существующий кластер добавляется один новый сервер, после чего выводится один старый хост. Процесс повторяется до полного завершения.
Групповое добавление и поэтапный вывод с повторением цикла. В существующий кластер добавляется группа новых серверов, после чего по одному выводится столько же старых хостов, сколько было добавлено. Цикл повторяется до завершения обновления.
Под выводом из эксплуатации здесь понимается перевод одного из старых хостов в режим обслуживания с принудительным пересозданием данных в другом месте, чтобы восстановить заданный уровень отказоустойчивости. После завершения этой операции хост удаляется из кластера нажатием «Remove from inventory» в vSphere Client.
Какой подход оптимален? Ответ зависит от особенностей конкретной среды, поэтому стоит рассмотреть каждый из вариантов подробнее.
Как vSAN распределяет данные по кластеру
Прежде чем детально разбирать варианты, полезно вспомнить, каким образом vSAN обеспечивает отказоустойчивое распределение данных по кластеру. В приведённых примерах предполагается стандартный односайтовый кластер vSAN.
Менеджер объектов vSAN определяет размещение данных при развёртывании, эвакуации и ребалансировке, опираясь на следующие критерии:
Хосты, пригодные для размещения данных. vSAN применяет логику anti-affinity для избыточных данных, гарантируя, что компоненты объекта, обеспечивающие отказоустойчивость (зеркалированные данные или данные чётности при использовании кода коррекции ошибок), никогда не окажутся на одном и том же хосте.
Доступная ёмкость хоста внутри кластера vSAN. vSAN отдаёт предпочтение хостам с большим объёмом свободного пространства перед хостами, где его меньше.
Как показано на рисунке 1, логика анти-аффинности vSAN не допускает размещения на одном хосте компонентов, обеспечивающих отказоустойчивость объекта с политикой RAID-6. При эвакуации хоста vSAN разместит большую часть переносимых данных на новом, относительно пустом хосте. Но по мере выравнивания заполненности между хостами vSAN может разместить часть эвакуируемых компонентов на других подходящих хостах, которые ещё предстоит вывести из эксплуатации. Именно поэтому добавление всего одного хоста с последующим удалением старого иногда порождает избыточный трафик ресинхронизации при дальнейшем выводе серверов. Добавление двух и более хостов за раз снижает вероятность такого сценария.
Рисунок 1. Принцип перераспределения данных в vSAN при выводе хоста из эксплуатации.
Эти критерии и сопровождающий их пример помогают лучше понять, как разные подходы влияют на размещение и перемещение данных в процессе обновления оборудования.
Вариант 1: массовое добавление и поэтапный вывод
В этом сценарии все новые серверы добавляются в кластер до того, как старые хосты начинают выводиться из эксплуатации по одному.
Преимущества. Такой подход работает при наличии свободных физических ресурсов. Правила размещения данных vSAN обрабатывают эту ситуацию максимально просто. При окончательном выводе хоста данные будут пересозданы на одном из новых хостов, поскольку: 1) новые хосты подходят для приёма мигрирующих данных, так как это не нарушает правил анти-аффинности и сохраняет отказоустойчивость и доступность; 2) новые хосты обладают большим объёмом свободной ёмкости, чем старые. Это снижает вероятность повторного перемещения уже перенесённых данных при выводе следующих хостов.
Недостатки. Такой сценарий сложно реализовать в крупных кластерах, где одновременное добавление всех новых хостов может превысить доступное место в стойках, количество сетевых портов или лимиты по электропитанию. Возможно даже превышение максимально допустимого числа хостов для конкретной топологии кластера (64 хоста для стандартного кластера и 40 хостов для растянутого).
Когда применять. Из-за перечисленных требований этот вариант малопригоден для чего-либо, кроме обновления небольших кластеров при наличии достаточного свободного места в стойках, запаса по питанию и сетевой ёмкости.
Вариант 2: поэтапное добавление и поэтапный вывод
В этом сценарии после добавления в кластер одного нового хоста из него выводится один старый. Цикл повторяется до завершения обновления.
Преимущества. Этот вариант позволяет обновить кластер в условиях жёстких физических ограничений — например, при нехватке места в стойках для установки новых серверов или при дефиците свободных портов на коммутаторах ToR.
Недостатки. В зависимости от обстоятельств такой подход может повысить вероятность повторного перемещения уже перенесённых данных при выводе следующих хостов, как показано на рисунке 1. vSAN перераспределяет данные автоматически, но добавление и удаление по одному хосту за раз способно породить дополнительный объём перемещений.
Когда применять. Для сред с жёсткими физическими ограничениями это может быть единственным или наилучшим доступным вариантом. Потенциальная неэффективность в части перемещения данных делает его менее предпочтительным в обычных условиях.
Вариант 3: групповое добавление и поэтапный вывод
Этот подход сочетает два предыдущих: в кластер добавляется группа хостов (два или более — в зависимости от общего числа хостов в кластере), после чего выводится столько же старых хостов, сколько было добавлено новых. Цикл повторяется до завершения обновления.
Преимущества. Добавление группы хостов даёт выводимому из эксплуатации хосту несколько новых целевых площадок с достаточным запасом свободной ёмкости и при этом соблюдает логику анти-аффинности, обеспечивающую отказоустойчивость данных. Это сводит к минимуму вероятность вторичного перемещения данных при выводе последующих хостов.
Недостатки. Потребуется больше физических ресурсов (места в стойках, электропитания и сетевых портов), чем при варианте 2, но существенно меньше, чем при варианте 1.
Когда применять. Это оптимальный вариант для большинства сред. Он сочетает достоинства массового добавления хостов, не требуя при этом соответствующего объёма физических ресурсов. Кроме того, он минимизирует риск того, что перенесённые данные окажутся на старых хостах, которые впоследствии придётся эвакуировать повторно.
Рекомендации
Независимо от выбранного подхода, приведённые ниже рекомендации помогут сделать процесс плавным и предсказуемым.
1. Добавляйте от двух до шести хостов за раз перед выводом старых. Для небольших кластеров, состоящих, например, всего из трёх хостов, следует добавить два хоста до вывода любого из старых. Для кластеров с включённым Auto-RAID это позволит сохранить использование кода коррекции ошибок RAID-5 вместо автоматической (но временной) переконфигурации в RAID-6 на время обновления. Для кластеров из шести и более хостов добавление двух-трёх хостов перед выводом старых становится эффективным способом минимизировать лишнее перетасовывание данных при обновлении остальной части кластера. Добавление шести хостов за раз позволит операциям развёртывания — созданию новых виртуальных машин или постоянных томов — размещать объект целиком на новых хостах, а не частично на тех, которые ещё предстоит вывести.
2. Учитывайте поведение Auto-RAID в небольших кластерах. При работе Auto-RAID в vSAN для VMware Cloud Foundation (VCF) 9.1 добавление хостов в небольшой кластер, использующий код коррекции ошибок RAID-5, может увеличить число хостов до значения, при котором данные в итоге переконфигурируются под RAID-6 (например, при добавлении двух хостов в кластер из четырёх). В этой ситуации следует просто продолжать по плану и выводить старые хосты после добавления новых. В зависимости от обстоятельств можно либо добавлять новые хосты небольшими порциями, либо предоставить vSAN выполнить переконфигурацию автоматически.
3. Продумывайте физическое размещение новых хостов. Не стоит произвольно распределять хосты кластера vSAN по нескольким стойкам — это способно породить больший объём сетевого трафика, чем требуется. Подробнее об этом рассказано в материале «vSAN Networking – Optimal Placement of Hosts in Racks».
4. Временно отключите функцию «Automatic Rebalance» в vSAN. Если она включена (по умолчанию она отключена), на время обновления её стоит временно деактивировать, чтобы предотвратить преждевременное перемещение данных. Функцию Automatic Rebalance можно снова включить после завершения обновления.
5. Распознавайте сценарии, где вывод хоста должен предшествовать добавлению новых. Изменение порядка шагов, при котором один или несколько хостов удаляются из инвентаря до добавления новых, применимо для кластеров в стойках, где нет свободного места или сетевых ресурсов. Это сработает только в том случае, если уровень заполнения достаточно низок, чтобы выдержать временное сокращение ёмкости, и может вызвать больший объём перемещения данных, чем описанные выше варианты. Кроме того, такой порядок может оказаться неоптимальным для кластеров из шести и более хостов, поскольку способен временно изменить уровень отказоустойчивости, автоматически назначаемый механизмом Auto-RAID.
6. Используйте режим «Full data migration» при выводе хостов. При переводе хоста в режим обслуживания следует выбирать «Full data migration», чтобы данные были пересозданы немедленно и отказоустойчивость сохранялась. Вариант «Ensure accessibility» тоже работоспособен, однако пересоздание данных в этом случае обычно откладывается на час.
7. Действуйте последовательно при выводе хостов. Прежде чем выводить следующий хост, необходимо дождаться завершения всех операций ресинхронизации. Это ограничит объём одновременно синхронизируемых данных.
8, Если вы всё ещё используете vSAN OSA, воспользуйтесь возможностью перейти на ESA. Аппаратное обновление — идеальный момент для перехода с vSAN OSA на ESA, однако переход на ESA потребует развёртывания нового кластера и переноса нагрузок стандартными методами, такими как vMotion. При этом отсутствие нового оборудования не должно становиться препятствием для перехода на vSAN ESA: многие серверы с более старыми версиями vSphere легко перепрофилируются под хосты vSAN ESA — достаточно добавить накопители NVMe. Подробности приведены в материалах «Repurposing ESX Servers for VMware vSAN» и «The 2026 Structural Supply Crisis: Why VMware Cloud Foundation Is The Answer to the 2026 Hardware Crunch».
Заключение
В большинстве случаев создание нового кластера vSAN для ввода новых серверов в эксплуатацию остаётся простым и предсказуемым путём аппаратного обновления. Но бывают ситуации, когда замена серверов внутри существующего кластера оказывается оправданной. Теперь у администраторов есть информация и перечень вариантов, позволяющих принять верное решение для своей среды.
В версии VMware Data Services Manager 9.1 поддержка Microsoft SQL Server переведена в статус общей доступности на платформе VCF — продукт полностью поддерживается и готов к промышленным нагрузкам.
В демонстрации, подготовленной Эриком Греем (Eric Gray) из подразделения технического маркетинга VCF, показан полный цикл восстановления базы данных на произвольный момент времени. В стенде уже развёрнут промышленный кластер Always On availability group из трёх узлов, на котором работают базы данных. Задача — восстановить одну из этих баз на конкретный момент времени для отладки, не изменяя и не затрагивая работающий кластер.
Исходное состояние стенда
Работа ведётся в интерфейсе управления DSM под учётной записью администратора DSM. Среда заранее подготовлена: настроена интеграция с Active Directory, сконфигурированы S3-совместимые хранилища для резервных копий баз данных и системных бэкапов, а также уже запущено несколько баз данных.
Основное внимание в демонстрации уделяется SQL Server. В окружении уже работает один экземпляр SQL Server, и его можно рассмотреть подробнее.
Одна из особенностей, отличающих SQL Server от СУБД с открытым исходным кодом в DSM, — намеренно проведённое разделение между базовым экземпляром (instance) и пользовательской базой данных. На скриншоте видно, что базовый экземпляр состоит из трёх узлов и представляет собой кластер Always On availability group. Он интегрирован с Active Directory, работает под управлением SQL Server 2022 с накопительным обновлением и находится в использовании.
На этом экземпляре размещены две пользовательские базы данных, названные в честь деревьев — spruce и pine. В рамках операции демонстрируется восстановление базы pine на момент времени с размещением копии на новом базовом экземпляре, предназначенном для отладки.
Создание нового экземпляра SQL Server
Первым шагом создаётся новый экземпляр SQL Server — так не придётся вмешиваться в существующий трёхузловой HA-кластер. Экземпляру задаётся имя (в демонстрации используются названия штатов), после чего выбирается редакция. Для решаемой задачи достаточно редакции Developer, однако DSM предлагает и другие варианты — на случай, если требуются возможности уровня Enterprise.
Далее можно указать имя и пароль административной учётной записи либо оставить эти поля пустыми: тогда DSM сгенерирует учётные данные автоматически. Второй вариант удобнее — при необходимости их всегда можно посмотреть позже.
Интеграция с Active Directory
Здесь проявляется одно из ключевых преимуществ связки DSM и Microsoft SQL Server — работа с Active Directory. В качестве подготовительного шага интеграция с AD в DSM уже настроена: указаны имя домена и учётные данные. Поэтому при создании нового экземпляра достаточно выбрать опцию присоединения к домену.
Для этого указывается заранее созданная на стороне AD учётная запись с необходимыми правами и включается запись DNS-имён. Задаётся IP-адрес сервера AD, выполняющего роль DNS-сервера, и вводится полное доменное имя (FQDN). DSM самостоятельно создаст прямую и обратную записи для этого FQDN, благодаря чему к экземпляру можно будет обращаться по имени, а не по IP-адресу.
Чтобы продолжить, необходимо принять лицензионное соглашение Microsoft и перейти к выбору топологии развёртывания.
Топология развёртывания и инфраструктурные политики
Рассмотренный ранее экземпляр использовал трёхузловую конфигурацию Always On availability group — кластер для обеспечения высокой доступности и отработки отказов. Для текущего проекта, связанного только с восстановлением ради отладки, высокая доступность не нужна, поэтому создаётся одиночный виртуальный экземпляр SQL Server.
В DSM существует понятие инфраструктурных политик — это ресурсы, на которых выполняются сами базы данных. Доступны два варианта: пространство имён vSphere либо политика, создаваемая в клиенте vSphere, — так называемая DSM managed policy. Она представляет собой набор ресурсов: кластер, пул IP-адресов, набор классов виртуальных машин. Эти ресурсы создаёт администратор vSphere, и они становятся местом размещения базы данных.
Пространство имён vSphere в данном стенде было создано в VCF Automation для другого проекта, поэтому оно не используется — выбор делается в пользу политики DSM. Соответствующая политика хранения подставляется автоматически, остаётся выбрать класс виртуальной машины. Произвольные значения CPU и памяти задать нельзя: выбор ограничен классами, подготовленными администраторами. В данном случае четырёх vCPU и 8 ГБ оперативной памяти более чем достаточно.
Если бы речь шла о промышленной базе данных, с которой будут работать администраторы SQL Server, им наверняка потребовался бы включённый агент SQL Server для планирования регламентных заданий, а также специфические настройки конфигурации SQL Server. Всё это задаётся на данном шаге. Для отладочного проекта достаточно значений по умолчанию.
После итогового просмотра всех параметров запускается создание экземпляра. Процесс занимает несколько минут: в фоновом режиме на инфраструктуре vSphere разворачивается новая виртуальная машина, внутри неё устанавливается Microsoft SQL Server, после чего экземпляр вводится в работу.
Настройка политики сервиса данных
Следующий шаг — получить доступ к новому экземпляру баз данных в DSM. Доступ полностью управляется через концепцию политик сервисов данных (data service policies). В рассматриваемом окружении политика для SQL Server уже существует, поэтому вместо создания новой достаточно отредактировать имеющуюся. Эта политика определяет, кто, что и где может запускать.
Сейчас она настроена на применение ко всем пространствам имён — в тестовой среде это самый простой вариант. Кроме того, политика управляет тем, к каким серверам баз данных имеет доступ пользователь.
До этого момента в списке присутствовал только экземпляр nevada — тот самый трёхузловой HA-кластер. Поскольку в среде появился новый экземпляр arizona, его необходимо отметить, чтобы получить возможность разворачивать на этой инфраструктуре новые пользовательские базы данных.
Новый одноузловой SQL Server будет использоваться временно и, скорее всего, впоследствии удалён, поэтому резервное копирование для него делать необязательно. Политика меняется с режима «требовать резервные копии», который необходим при использовании варианта с HA-кластером, на режим «разрешать резервные копии». В результате базы данных на HA-кластере продолжают резервироваться, а для одиночного экземпляра резервное копирование можно не задействовать.
Типы аутентификации остаются без изменений — разрешены оба: Windows Active Directory и связка «имя пользователя и пароль SQL Server». Второй вариант считается менее безопасным, но зачастую более удобным, поэтому пока допускаются оба. После краткой проверки настроек политика сохраняется и готова к использованию.
Восстановление базы данных на момент времени
Далее выполняется возврат к разделу SQL Server и переход на вкладку баз данных, где видны две работающие пользовательские базы. Из существующей базы данных запускается восстановление на определённый момент времени.
Это востребованная возможность. Например, произошло повреждение данных или кто-то внёс изменения, и требуется вернуться назад, чтобы понять, как база выглядела в определённый момент, — ради отладки. В мастере выбирается вариант Custom Time вместо восстановления на последнюю доступную точку, после чего указываются нужные дата и время.
Копия разворачивается не поверх существующего экземпляра, где работает «живая» база, а на новом экземпляре arizona, созданном ранее. База при этом переименовывается — так её проще запомнить.
Имя пользователя не меняется: используется аутентификация Windows и учётная запись Active Directory с именем DBA. Резервные копии для этой базы отключаются, чтобы не засорять корзину S3, — база всё равно будет удалена через день-два. После итогового просмотра параметров запускается восстановление. В результате в среде появляется третья база данных SQL Server, размещённая на другом сервере SQL Server и готовая к работе.
Подключение через SQL Server Management Studio
Дальнейшая работа переносится на рабочий стол Windows, где выполнен вход под той самой доменной учётной записью DBA. Заранее открыта SQL Server Management Studio, в которой уже указано полное доменное имя только что созданного экземпляра базы данных. Соответствующая запись в DNS присутствует — её автоматически создал DSM.
Остаётся ввести имя новой базы данных, работающей на этом экземпляре. Шифрование и доверие сертификату сервера также настроены. После нажатия кнопки подключения база открывается так же, как любая другая знакомая база SQL Server.
Видно, что это копия на определённый момент времени: в ней уже присутствует таблица cities — набор данных о городах со всего мира, и данные в ней есть. Начиная с этого момента разработчик или администратор баз данных может выполнять запросы и выяснять состояние тех элементов, которые предположительно вызывают проблемы и требуют расследования путём восстановления на момент времени.
Итог
Показанный сценарий представляет собой восстановление базы данных SQL Server на момент времени с размещением на полностью изолированном экземпляре. Промышленный кластер при этом не был затронут.
DSM самостоятельно подготовил целевой экземпляр, присоединил его к Active Directory, автоматически зарегистрировал DNS-запись и восстановил базу данных на точно указанную метку времени. Администратор базы данных подключился с использованием аутентификации Windows — без необходимости управлять паролями. Ручных операций с инфраструктурой и заявок в поддержку не потребовалось.
Именно так выглядит управление жизненным циклом SQL Server на платформе VCF в DSM 9.1: автоматизированно, управляемо и с готовностью к промышленной эксплуатации.
Состоялся анонс средства VMware VCF Inspector — нового автономного средства диагностики, проверки состояния и устранения неполадок, созданного специально для VMware Cloud Foundation (VCF) 9.1 и служб управления VCF (VCF management services).
VCF Inspector предоставляет администраторам инфраструктуры, инженерам поддержки и архитекторам решений мгновенную структурированную картину происходящего в средах VCF 9.1 — без ручной работы в командной строке, без написания собственных SSH-скриптов и без развёртывания тяжеловесных виртуальных модулей.
Модуль VCF Inspector уже доступен для бесплатной загрузки на портале Broadcom Support Portal в разделе VMware Flings.
Зачем понадобился VCF Inspector
Службы управления VCF, появившиеся в версии VCF 9.1, представляют собой единую архитектуру для централизованного управления жизненным циклом и эксплуатацией всего парка VCF. В их состав входят ключевые сервисы уровня флота и отдельных инстансов: службы управления жизненным циклом, VCF SSO, управление журналами, управление конфигурациями Salt и другие.
Такая унифицированная модель даёт упорядоченные операции жизненного цикла и глобальную видимость через VCF Operations, однако управление этими взаимосвязанными службами и поиск неисправностей в них требуют рассматривать состояние компонентов, сертификаты платформы, межкомпонентные соединения и процессы жизненного цикла как единую платформу.
Чтобы дать администраторам больше возможностей и укрепить уверенность в эксплуатации, VCF Inspector закрывает три ключевых сценария:
Проактивная проверка готовности к обновлению: автоматизированный способ в один клик убедиться в соответствии парольных политик требованиям, готовности хостов, доступности сети и валидности сертификатов до запуска обновления до VCF 9.1
Прозрачность развёртывания и обновления: сводная временная шкала хода установок и обновлений VCF в реальном времени, дающая командам ясное представление о выполнении подзадач и автоматические подсказки по первопричинам сбоев без ручного поиска по журналам на узлах управляющей плоскости
Мгновенная диагностика режима day-2: структурированная проверка состояния всех служб платформы, позволяющая отслеживать состояния сервисов, динамику перезапусков и релевантные рекомендации из базы знаний в едином интерфейсе
Все три возможности флинг VCF Inspector реализует в одном исполняемом файле, рассчитанном на запуск с рабочей станции администратора или с jumpbox-хоста.
Ключевые возможности и сценарии применения
VCF Inspector поддерживает три основных сценария «из коробки»:
1. Оценка готовности к обновлению VCF 9.1
Теперь не требуется быть экспертом по документации VCF или разбираться в каждой статье базы знаний (KB). Инструмент выполняет набор автоматизированных предварительных проверок в отношении SDDC Manager и vCenter до запуска обновления VCF. Проверяются:
Соответствие парольным политикам и сроки истечения учётных записей
Состояние хостов и готовность кластеров vSphere
Доступность необходимых сетевых портов (SSH 22, HTTPS 443, Platform API 5480, Cluster API 6443)
Статус активных задач управления жизненным циклом и пороговые значения истечения сертификатов
Выдача конкретных рекомендаций по устранению для непройденных проверок
2. Мониторинг развёртывания и обновления в реальном времени
Инструмент позволяет отслеживать ход текущей установки или обновления VCF в реальном времени. В числе функций:
Временная шкала подзадач SDDC Manager и стадий Bootstrap в реальном времени
Автоматическое обнаружение зависших задач и извлечение первопричины ошибок
Прямые ссылки на статьи базы знаний Broadcom по известным проблемам развёртывания
Расчёт длительности стадий и фильтрация по стадиям
Расширенный мониторинг задач развёртывания служб управления VCF
3. Диагностика и контроль состояния служб управления VCF в режиме day-2
Проверка состояния всех работающих служб платформы выполняется без какой-либо настройки:
Мгновенная проверка состояния сервисов: сгруппированное представление служб управления VCF (управление журналами, управление жизненным циклом флота, VCF Automation, брокер идентификации, компоненты VMware Salt for VCF, телеметрия) с индикаторами состояния.
Обнаружение пулов IP и FQDN платформы: развёрнутая таблица соответствий VIP-адресов управляющей плоскости, IP-адресов рабочих узлов, канонических FQDN и служб LoadBalancer.
Схема топологии узлов: визуальная матрица узлов управляющей плоскости и рабочих узлов с отображением размещения компонентов и их статуса.
Анализатор журналов и диагностика компонентов: выявление недавних шаблонов ошибок и предупреждений в журналах служб платформы с мгновенной диагностикой компонентов и журналами выполнения в отдельном окне с деталями.
Административные действия по устранению неполадок: обновление сертификатов cert-manager, поочерёдный перезапуск DNS, уплотнение системной базы данных и проверка сетевой доступности — всё в один клик и под защитой интерактивной блокировки с подтверждением.
Безопасная консоль терминала: консоль для продвинутых пользователей со строгой проверкой команд только на чтение, что разрешает безопасные запросы статуса и блокирует деструктивные операции.
Обзор служб управления VCF:
Действия по устранению неполадок и контролируемая консоль:
Расширенное устранение неполадок:
Как начать работу
Запуск VCF Inspector занимает считанные минуты:
Загрузка бинарного файла: нужно перейти на портал Broadcom Support Portal, раздел Free Downloads / VMware Flings и скачать единственный бинарный файл для своей операционной системы (vcf-inspector-darwin-arm64-native, vcf-inspector-windows-amd64-native.exe или vcf-inspector-linux-amd64).
Выдача прав на выполнение и запуск:
macOS/Linux: в терминале выполнить chmod +x ./vcf-inspector-darwin-arm64-native, затем запустить ./vcf-inspector-darwin-arm64-native.
Windows: дважды кликнуть по vcf-inspector-windows-amd64-native.exe.
Подключение к среде:
Ввести IP-адрес или FQDN любого узла управляющей плоскости VCF (либо SDDC Manager).
Указать учётные данные vmware-system-user (или администратора SDDC Manager).
VCF Inspector установит защищённую сессию и автоматически заполнит все панели состояния.
Итоги и обратная связь
VCF Inspector сводит устранение неполадок в VCF 9.1 к работе с одним изящным инструментом, который не требует ни установки, ни какого-либо инфраструктурного следа. Подготовка к обновлению до VCF 9.1, наблюдение за идущим развёртыванием или проверки состояния в режиме day-2 — во всех этих случаях VCF Inspector мгновенно выдаёт нужную информацию. Попробовать VCF Inspector можно уже сегодня, а отзывы, сообщения об ошибках и пожелания по функциональности принимаются через каналы сообщества VMware Flings.
Решение VMware Cloud Foundation Operations HCX 9.1 включено в состав платформы VCF 9.1 и развивает линейку инструментов мобильности рабочих нагрузок. В новой версии переработана архитектура транспортных устройств, управление жизненным циклом полностью переведено в VCF Operations, усилены механизмы безопасности и соответствия требованиям, а также расширены возможности миграции и поддержка гостевых операционных систем. Ниже разобраны основные нововведения. Полное описание доступно в официальной документации по мобильности рабочих нагрузок.
Оптимизированная архитектура устройств IX и NE
Ключевое нововведение версии — новая оптимизированная (enhanced) архитектура устройств HCX Interconnect (IX) и Network Extension (NE), обеспечивающая более высокую производительность передачи данных между площадками.
Начиная с версии 9.1, все вновь создаваемые сервисные сети (Service Mesh) автоматически разворачиваются на базе оптимизированной архитектуры. Устройства, развёрнутые в предыдущих версиях, продолжают работать на прежней (legacy) архитектуре до тех пор, пока не будут переведены на новую через процедуру миграции расширений сети (Migrating Network Extensions).
Дополнительно версия отказывается от самоуправляемых устройств на базе PhotonOS в пользу стека NSX Edge, который обеспечивает более высокую производительность и устраняет избыточность поддержки двух функционально эквивалентных сетевых стеков. Для перевода устройств PhotonOS на архитектуру NSX Edge в HCX 9.1 предусмотрен автоматизированный сценарий миграции. Поддержка PhotonOS-устройств объявлена устаревшей, полное удаление запланировано на VCF 10.0.0.
Развёртывание и управление жизненным циклом через VCF Operations
HCX 9.1 становится неотъемлемой частью платформы VCF: развёртывание, управление и обновление HCX Manager теперь выполняются непосредственно из VCF Operations. Установочные дистрибутивы загружаются в экземпляр VCF, после чего устройство разворачивается через централизованный интерфейс без ручных операций с OVA на целевой стороне.
Загрузка дистрибутивов VMware Cloud Foundation Operations HCX из консоли VCF Operations:
Установка HCX Manager как дополнительного компонента домена прямо из интерфейса VCF Operations:
Экземпляры HCX Manager, развёрнутые вручную (например, в устаревшей исходной среде за пределами VCF), можно подключить (onboard) и в дальнейшем управлять ими из VCF Operations. Основные возможности блока управления жизненным циклом:
Управление жизненным циклом (LCM): развёртывание, обслуживание и обновление HCX Manager выполняются через VCF Operations.
Пакет управления VCF Operations HCX Management Pack: новый пакет для установки в VCF Operations, обеспечивающий критически важные сервисы — ротацию паролей локальных пользователей, ротацию сертификатов и сбор диагностических журналов. Пакет несовместим с прежним пакетом управления HCX для vRealize Operations.
Идентификация и доступ: поддержка единого входа VCF Single Sign-On (SSO) и ролей VCF для унифицированной аутентификации и авторизации в веб-интерфейсе и API HCX Manager.
Завершение мастера развёртывания HCX Manager, запускающего автоматизированную установку:
Безопасность и соответствие требованиям
Сертификация FIPS 140-3: HCX теперь сертифицирован по стандарту FIPS 140-3, что соответствует строгим требованиям к безопасности.
Неразрывное управление сертификатами (NDC): новые REST API HCX Manager позволяют управлять сертификатами HCX без нарушения доверия со стороны клиентов.
Сетевая безопасность: порты HCX добавлены в список исключений распределённого межсетевого экрана (DFW); между оптимизированными устройствами IX и NE используется стандартный трафик IPsec.
Улучшения миграции и Interconnect
Оптимизация WAN: возвращена функция эффективной оптимизации WAN, встроенная непосредственно в конфигурацию сервисной сети HCX Interconnect. Возможность доступна исключительно для оптимизированных сервисных сетей и не поддерживается для миграций OSAM и HAV.
Локальные миграции в пределах площадки: поддержка миграций без развёртывания устройств внутри одного экземпляра vCenter с помощью HCX Assisted vMotion (HAV) — источник и приёмник могут быть одним и тем же экземпляром.
Расширенная поддержка хранилищ и правил: поддержка нестандартных политик хранения при «холодных» (Cold) миграциях, а также возможность выбирать несколько целевых хранилищ данных для одной виртуальной машины (кроме OSAM).
Расширения VLAN-сетей: поддержка расширения VLAN-сетей на нативные распределённые группы портов (DVPG) на целевой площадке.
Обновлённый веб-интерфейс: переработанный и дополненный пользовательский интерфейс.
Расширенная поддержка гостевых ОС
Список поддерживаемых операционных систем для кастомизации гостевой ОС и миграции с помощью агента (OS Assisted Migration, OSAM) расширен:
Кастомизация гостевой ОС и массовая (Bulk) миграция теперь поддерживают Windows Server 2022.
Миграция OSAM теперь поддерживает Windows Server 2022 и Windows Server 2025.
Устаревшие функции
В рамках упрощения продукта в версии 9.1 объявлен отказ от ряда возможностей:
Устройства на базе PhotonOS: поддержка самоуправляемых устройств PhotonOS объявлена устаревшей с версии 9.1.0, полное удаление намечено на VCF 10.0.0. Предусмотрен автоматизированный переход на архитектуру NSX Edge.
VMware Cloud Director (VCD): поддержка VCD в VCF Operations HCX объявлена устаревшей с версии 9.1.0. Поскольку VCD не поддерживается в VCF 9, для переноса рабочих нагрузок в VCF Automation 9 внедряется новый инструмент импорта. Полное удаление запланировано на VCF 9.2.0.
Совокупность нововведений делает VCF Operations HCX 9.1 более производительным, безопасным и глубоко интегрированным в платформу VCF решением для мобильности рабочих нагрузок. Подробности приведены в официальных заметках о выпуске VCF 9.1.