При развертывании высоконагруженных кластеров виртуализации VMware vSphere порой стандартных сетевых настроек оказывается недостаточно. Чтобы улучшить показатели производительности адаптеров и коммутаторов Mellanox/NVIDIA, необходимо правильно изолировать типы трафика, настроить MTU и подготовить фабрику к передаче данных с минимальными задержками.
В этой статье мы разберем архитектурный подход к проектированию сети vSphere и приведём конкретные шаги по настройке оборудования.
Главное правило при проектировании сети для VMware — строгая изоляция различных типов трафика. Это необходимо как для безопасности, так и для предсказуемой производительности.
Обычно выделяют четыре изолированных сегмента:
Для физического разделения этих сред и обеспечения отказоустойчивости на каждом хосте ESXi рекомендуется использовать как минимум два высокоскоростных аплинка (например, 25/50/100 GbE), подключенных к двум разным коммутаторам фабрики. Логическое же разделение выполняется с помощью VLAN.
Предположим, что под разные типы трафика мы выделили следующие VLAN:
Через 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
Для управления такой конфигурацией лучше всего использовать Distributed Switch (vDS), так как он позволяет централизованно настраивать политики для всего кластера.
9000. Нажимаем OK.Создаём отдельные группы интерфейсов для каждого типа трафика и указываем для них соответствующие VLAN ID в настройках:
102030Route to ID или VLAN trunking (в зависимости от задач).
Адаптеры Mellanox ConnectX-3 / ConnectX-3 Pro (которые обычно используются в паре с SX6036 на скоростях 40/56G) работают под управлением драйверов nmlx4_core или nmlx5_core. Чтобы проверить их состояние и актуальность через CLI хоста ESXi (по SSH), используем команду:
esxcli network nic list
Убеждаемся, что линки поднялись на максимальной поддерживаемой скорости (например, 40000 Mbps или 56000 Mbps). Базово нативные драйверы отлично оптимизированы под виртуализацию и не требуют глубокого тюнинга на начальном этапе.
Для интерфейсов управления, vMotion и Storage необходимо создать соответствующие адаптеры VMkernel (vmk):
vmk к группе PG-vMotion обязательно отмечаем галочку vMotion traffic.vmk для Storage/vMotion в настройках самого интерфейса VMkernel также вручную указываем MTU: 9000. Если этого не сделать, пакеты будут дробиться, несмотря на настройки распределенного свитча.Перед тем как переносить на кластер боевые виртуальные машины, выполняем финальную проверку через SSH-консоль любого хоста ESXi:
Проверка пинга до соседнего хоста ESXi в сети хранения (vmk1) без фрагментации
vmkping -d -s 8972 <IP_соседа_в_Storage_сети>
Switch # show interfaces ethernet 1/1 counters