Инструменты пользователя

Инструменты сайта


mellanox:realtasks:vmware

Настройка сетевой фабрики Mellanox/NVIDIA SX6036 для кластеров VMware vSphere

При развертывании высоконагруженных кластеров виртуализации VMware vSphere порой стандартных сетевых настроек оказывается недостаточно. Чтобы улучшить показатели производительности адаптеров и коммутаторов Mellanox/NVIDIA, необходимо правильно изолировать типы трафика, настроить MTU и подготовить фабрику к передаче данных с минимальными задержками.

В этой статье мы разберем архитектурный подход к проектированию сети vSphere и приведём конкретные шаги по настройке оборудования.

Архитектурный подход: разделение трафика

Главное правило при проектировании сети для VMware — строгая изоляция различных типов трафика. Это необходимо как для безопасности, так и для предсказуемой производительности.

Обычно выделяют четыре изолированных сегмента:

  • Management Network: Трафик управления хостами ESXi и vCenter. Требует максимальной надежности, но объемы данных там небольшие.
  • vMotion Network: Трафик динамической миграции виртуальных машин. Генерирует огромные всплески нагрузки на полосу пропускания.
  • Storage Network (iSCSI / NFS / vSAN / RoCE): Сеть хранения данных. Критична к задержкам и потерям пакетов.
  • VM Network: Непосредственно трафик самих виртуальных машин.

Для физического разделения этих сред и обеспечения отказоустойчивости на каждом хосте ESXi рекомендуется использовать как минимум два высокоскоростных аплинка (например, 25/50/100 GbE), подключенных к двум разным коммутаторам фабрики. Логическое же разделение выполняется с помощью VLAN.

Шаг 1. Конфигурация коммутатора SX6036 (MLNX-OS в режиме Ethernet)

Предположим, что под разные типы трафика мы выделили следующие VLAN:

  • Management — VLAN 10
  • vMotion — VLAN 20
  • Storage — VLAN 30
  • VM Network — VLAN 100-200

Через CLI коммутатора настроим интерфейсы, к которым подключены хосты ESXi. Здесь нужно перевести интерфейсы в режим Trunk, разрешить прохождение нужных VLAN и обязательно включить поддержку Jumbo Frames (MTU 9000) для сетей хранения и vMotion.

Важно: В MLNX-OS для изменения MTU интерфейс необходимо предварительно выключить (shutdown), иначе система может заблокировать команду или вызвать сетевой сбой. Значение 9216 на коммутаторе обеспечит чистый MTU 9000 внутри гипервизора ESXi с учетом служебных заголовков.

Входим в режим конфигурации

Switch > enable
Switch # configure terminal

Переходим к настройке интерфейсов хостов (например, порты с 1 по 4)

Switch (config) # interface ethernet 1/1-1/4

Переводим интерфейсы в режим Trunk

Switch (config interface ethernet 1/1-1/4) # switchport mode trunk

Разрешаем созданные VLAN на этих интерфейсах

Switch (config interface ethernet 1/1-1/4) # switchport trunk allowed-vlan 10,20,30,100-200

Выключаем интерфейсы для корректного изменения MTU под Jumbo Frames

Switch (config interface ethernet 1/1-1/4) # shutdown

Задаем размер MTU

Switch (config interface ethernet 1/1-1/4) # mtu 9216

Включаем интерфейсы обратно

Switch (config interface ethernet 1/1-1/4) # no shutdown
Switch (config interface ethernet 1/1-1/4) # exit

Сохраняем конфигурацию в память

Switch (config) # configuration write

Шаг 2. Настройка на стороне VMware vSphere

Для управления такой конфигурацией лучше всего использовать Distributed Switch (vDS), так как он позволяет централизованно настраивать политики для всего кластера.

1. Настройка MTU на vDS

  1. Открываем vSphere Client и переходим в раздел Networking.
  2. Нажимаем правой кнопкой мыши на Distributed Switch и выбираем Settings → Edit Settings.
  3. Вкладка Advanced: изменяем значение MTU (Bytes) на 9000. Нажимаем OK.

2. Создание Distributed Port Groups

Создаём отдельные группы интерфейсов для каждого типа трафика и указываем для них соответствующие VLAN ID в настройках:

  • PG-Management: VLAN ID 10
  • PG-vMotion: VLAN ID 20
  • PG-Storage: VLAN ID 30
  • PG-VM-Network: VLAN ID Route to ID или VLAN trunking (в зависимости от задач).

3. Оптимизация сетевых адаптеров (Драйверы nmlx)

Адаптеры Mellanox ConnectX-3 / ConnectX-3 Pro (которые обычно используются в паре с SX6036 на скоростях 40/56G) работают под управлением драйверов nmlx4_core или nmlx5_core. Чтобы проверить их состояние и актуальность через CLI хоста ESXi (по SSH), используем команду:

esxcli network nic list

Убеждаемся, что линки поднялись на максимальной поддерживаемой скорости (например, 40000 Mbps или 56000 Mbps). Базово нативные драйверы отлично оптимизированы под виртуализацию и не требуют глубокого тюнинга на начальном этапе.

4. Создание VMkernel интерфейсов

Для интерфейсов управления, vMotion и Storage необходимо создать соответствующие адаптеры VMkernel (vmk):

  1. При привязке vmk к группе PG-vMotion обязательно отмечаем галочку vMotion traffic.
  2. При создании vmk для Storage/vMotion в настройках самого интерфейса VMkernel также вручную указываем MTU: 9000. Если этого не сделать, пакеты будут дробиться, несмотря на настройки распределенного свитча.

Проверяем все настройки перед запуском в прод

Перед тем как переносить на кластер боевые виртуальные машины, выполняем финальную проверку через SSH-консоль любого хоста ESXi:

  • [X] Проверка Jumbo Frames: Пакеты размером 9000 байт должны проходить без фрагментации в сети хранения и vMotion.

Проверка пинга до соседнего хоста ESXi в сети хранения (vmk1) без фрагментации

vmkping -d -s 8972 <IP_соседа_в_Storage_сети>
  • [X] Проверка статуса линков на SX6036: Оба аплинка на хостах активны, ошибки (CRC, Discards) на портах коммутатора отсутствуют. На свитче проверяем командой:
Switch # show interfaces ethernet 1/1 counters
  • [X] Изоляция трафика: Хост не должен иметь пинга между изолированными сетями (например, из сети Management в сеть Storage), если это не предусмотрено вашей топологией маршрутизации.
mellanox/realtasks/vmware.txt · Последнее изменение: — Chigus