Нещодавно ми писали про вихід нової версії популярного продукту VMware vSphere 8. Одним з найбільш цікавих і значних анонсів цього продукту є поява функціоналу vSphere Distributed Services Engine. Цей функціонал, при використанні VMware vSphere 8, дасть можливість переносити деякі завдання у віртуальному середовищі на апаратний прискорювач мережі або DPU (так само інша назва SmartNIC), тим самим звільняючи інші серверні ресурси. Далі у статті йтиметься як працює цей мережний прискорювач у новому рішенні. При цьому нововведення потужно інтегрується із продуктом VMware NSX. 

Трохи теорії

Щоб зрозуміти значення прискорення на основі DPU для NSX, спочатку потрібно зрозуміти, як працюють SmartNIC. SmartNIC – це мережева карта з вбудованим процесором, відомим як DPU, яким можна керувати окремо від центрального процесора. Це означає, що служби мережі, безпеки та зберігання можуть працювати безпосередньо на карті мережі, а не покладатися на серверний х86 процесор, як це зазвичай робилося раніше в старих, відмінних від VMware vSphere 8 версіях. 

Перенесення мережевих служб і служб безпеки на DPU значно підвищить продуктивність мережі за одночасного зниження ресурсів хоста, необхідні для їх запуску. А коли мережеві служби споживають менше ресурсів хоста, більше ресурсів залишається доступним для виробничих робочих навантажень, що підвищує загальну продуктивність робочих навантажень і допомагає знизити витрати на «обслуговування віртуалізації». 

Рисунок: Робота SmartNIC

Загалом планується дві хвилі впровадження рішення. Ми лише на порозі використання першої. Перша хвиля – це використання DPU для розвантаження мережевої обробки за допомогою Enhanced Data Path або скорочено EDP. EDP – це продуктивна модель шляху даних, що існує сьогодні у NSX-T. У четвертій NSX версії, EDP доступний у двох варіантах: EDP Standard, заснований на перериваннях і EDP Performance, заснований на опитуванні. Сьогодні рекомендується використовувати EDP Standard. Коли ми обговорюємо розвантаження у цьому контексті, ми розвантажуємо завдання мережевої обробки, пов'язані з віртуальним комутатором (vSwitch), а також мережевий стек у віртуальній машині. 

Як це працює: наскрізний доступ для підвищення продуктивності віртуального середовища VMware? 

Почнемо із розгляду SR-IOV. Абревіатура SR-IOV – це скорочення від Single Root I/O Virtualization – технологія, що дозволяє одному фізичному пристрою PCIe, такому як мережева карта, виглядати як кілька окремих фізичних пристроїв PCIe. SR-IOV працює, вводячи поняття фізичних функцій (PF) та віртуальних функцій (VF). Фізичні функції (PF) – це повнофункціональні функції PCIe пристроїв; Віртуальні функції (VF) є більш «легковажними» функціями. Віртуальні машини можуть підключатися до VF на фізичному мережевому адаптері з налаштованим SR-IOV. 

Віртуальні комутатори (vSwitches) ігноруються під час використання SR-IOV. SR-IOV по суті прив'язує мережевий драйвер віртуальної машини до конкретної віртуальної машини. Це унеможливлює використання переваг віртуалізації. У той час як SR-IOV забезпечує підвищення продуктивності мережі завдяки відсутності накладних витрат серверних процесорів x86 для vSwitch, віртуальні машини ефективно "заблоковані" від використання функцій високої доступності та міграції vSphere. Це робить керування життєвим циклом таких віртуальних машин досить складним. 

Нові режими Data Path для DPU у VMware vSphere 8

Нові режими Data Path на основі DPU доступні на рівні кожної віртуальної машини та кожної віртуальної мережевої картки. ІТ-персонал може тонко налаштувати цю опцію. Першим із цих режимів є режим MUX, який є стандартним режимом. Цей режим продовжує виконувати деяку обробку на рівні процесора x86, але висуває менше вимог порівняно з UPTv2. Другий режим UPTv2 повністю переносить всю обробку DPU. Режим MUX забезпечує більш високу гнучкість, а UPTv2 забезпечує більш високу продуктивність. Режим MUX продовжує використовувати кілька процесорної потужності x86 гіпервізора. Він не має резервування гостьової пам'яті та не залежить від конкретної версії драйвера VMXNET3. UPTv2 – це повний наскрізний механізм. Він потребує резервування гостьової пам'яті та залежить від конкретної версії драйвера VMXNET3. Обидва режими забезпечують прискорені мережеві служби для VLAN та оверлейних мереж, а також розвантаження TCP Segment Offload (TSO), контрольної суми та масштабування на стороні прийому (Receive Side Scaling або RSS). Щоб налаштувати новий режим Enhanced Data Path (EDP) з режимом MUX або UPTv2, необхідно розгорнути NSX Manager для налаштування EDP на транспортному вузлі. Це розгортання NSX Manager не потребує додаткової ліцензії NSX для клієнтів vSphere Enterprise Plus. 

UPTv2 вимагає, щоб постачальник мережевих адаптерів (постачальник DPU) публікував функції віртуалізованих пристроїв (VF), аналогічно SR-IOV. Таким чином, кількість віртуальних машин, які можна підключити, залежить від кількості опублікованих ВМ постачальником пристрою. Механізм UPTv2 забезпечує продуктивність, близьку до SR-IOV із майже нульовими накладними витратами на гіпервізор. І що більш важливо, він підтримує основні функції vSphere, такі як vMotion для будь-яких ВМ, які його використовують. 

Налаштування нових режимів Data Path у VMware vSphere 8

Як налаштувати розвантаження мережі та прискорення для DPU? Як вже згадувалося вище, для конфігурації потрібно NSX Manager (він дуже простий у розгортанні). Якщо ви хочете розвантажити віртуальний комутатор тільки на DPU, просто використовуйте NSX Manager, щоб включити EDP на транспортному рівні (у профілі транспортного вузла) у параметрах розширеної конфігурації, як показано нижче. Зараз рекомендується використовувати режим Standard Enhanced DataPath. 

Також необхідно правильно вибрати сумісність мережних розвантажень під час побудови віртуального комутатора на vSphere. Сьогодні підтримуються два мережеві адаптери Pensando (від AMD) і BlueField (від NVIDIA). Конфігурація віртуального комутатора завершується вибором фізичних uplink портів на DPU. 

Як згадувалося вище у статті, розвантаження та прискорення можна налаштувати для кожної віртуальної машини або кожної віртуальної мережевої карти. Стандартно віртуальні машини використовують режим MUX для розвантаження та прискорення. Якщо ви хочете, щоб одна або кілька віртуальних машин або vNIC використовували режим UPTv2, необхідно встановити параметр «Використовувати підтримку UPT» у налаштуваннях обладнання віртуальної машини для vNIC, як показано нижче. 

Нагадуємо, що перераховані вище можливості залежать від наявності наступного: vSphere 8 і NSX 4, а також від DPU від двох поки що вендорів (AMD, NVIDIA). Для клієнтів, які використовують ліцензії vSphere Enterprise Plus, не потрібні додаткові ліцензії для реалізації можливостей розвантаження мережевої обробки. Якщо ІТ-персонал хоче перенести оверлейну мережу і розподілений брандмауер NSX на DPU, їм потрібно придбати відповідні ліцензії NSX Enterprise Plus.

Майбутні версії Distributed Services Engine (друга хвиля) додадуть в VMware vSphere нові цікаві функції, такі як запуск DPU як транспортні вузли NSX, при цьому обчислювальні ресурси x86 залишаться недоторканими для робочих навантажень на голому залізі -Bare Metal, таких як високопродуктивні обчислення. Це дозволить дослідникам використовувати різні типи обчислювальних платформ залежно від конкретних вимог, віртуальних машин, контейнерів або фізичних серверів (Bare Metal) з однією структурою управління, рівнем безпеки та мережевими службами.