В данной статье я хотел бы представить полезную информацию, собранную при проектировании и внедрении отказоустойчивой среды виртуализации. Особое внимание уделено нюансам работы HP Virtual Connect FlexFabric и конфигурации гипервизора VMware vSphere 5.5 при использовании Ethernet 10 Gbit и NFS в качестве Datastore.

Схема сетевого взаимодействия


«Железо»

Блейд-корзина «HP BladeSystem c7000» c парой модулей «HP VC FlexFabric 10/24».
Сервера «HP BL460c Gen8» со встроенной сетевой картой «HP FlexFabric 10Gb 536FLB».
Сетевые коммутаторы «Cisco Nexus 5k».
Система хранения данных «NetApp FAS8020».

Агрегирование каналов


Агрегация каналов является одним из основных средств достижения высокой отказоустойчивости виртуальной среды, поэтому необходимо использовать это на всех уровнях прохождения трафика. В нашем случае:
ESXi FlexFabric Network Storage
vSphere vSwitch в режиме «Port ID» Shared Uplink Set + режим «Auto» (LACP) EtherChannel (LACP) lif

Jumbo Frames


Чтобы получить максимальную выгоду от 10 Gbit рекомендуется включать Jumbo Frames на всех уровнях:
VMkernel port vSwitch FlexFabric Network Storage
Значение 9000 9000 9216 9216 9000

Значение MTU в FlexFabric «зашито» на значение 9216 и не может быть изменено.

Как установить Jumbo Frames на ESXi.

Cisco Discovery Protocol


К сожалению, CDP не поддерживается модулями «HP VC FlexFabric», поэтому включать ее поддержку на гипервизоре смысла нет.
Выдержка из документации: «Virtual Connect does not support CDP. VC does support the industry standard protocol called Link Layer Discovery Protocol (LLDP) by default. LLDP is functionally equivalent to CDP, although the two protocols are not compatible.»

Flow Control


В вопросе использования механизма «Flow Control» мы решили придерживаться рекомендации NetApp и отключить его на всех «уровнях» (ESXi, FlexFabric, Network, Storage).

Рекомендация NetApp: «Modern network equipment and protocols handle port congestion better than those in the past. NFS and iSCSI as implemented in ESXi use TCP. TCP has built-in congestion management, making Ethernet flow control unnecessary. Furthermore, Ethernet flow control can actually introduce performance issues on other servers when a slow receiver sends a pause frame to storage and stops all traffic coming out of that port until the slow receiver sends a resume frame. Although NetApp has previously recommended flow control set to send on ESXi hosts and NetApp storage controllers, the current recommendation is to disable flow control on ESXi, NetApp storage, and on the switches ports connected to ESXi and NetApp storage.»

В конфигурации модулей «HP VC FlexFabric» Flow Control по умолчанию включен только на downlink-ах (значение «Auto»), а на uplink-ах выключено.

«ON» — all ports will advertise support for flow control (if autoneg), or flowcontrol turned on (non-autoneg).
«OFF» — all ports will advertise *no* support for flow control (if autoneg), or flowcontrol turned off (non-autoneg).
«Auto» — all uplink/stacking links will behave like «OFF», and all server links behave like «ON».


Команда для выключения: #set advanced-networking FlowControl=off

Интересные статьи по данной теме:
Virtual Connect FlexFabric interconnect modules and Ethernet Flow Control
NETAPP vs VMWARE FLOW CONTROL DILEMMA
Configuring Flow Control on VMware ESXi and VMware ESX

Smart Link


Режим Smart Link должен быть включен для всех vNet (Ethernet Network) в конфигурации FlexFabric. Это необходимо, чтобы гипервизор правильно отработал балансировку в виртуальном коммутаторе.

Выдержка из документации: «HP’s Virtual Connect supports a feature called Smart Link, a network enabled with Smart Link automatically drops link to the server ports if all uplink ports lose link. This feature is very similar to the Uplink Failure Detection (UFD) that is available on the HP GbE2, GbE2c and most ProCurve switches. I believe there is a similar feature available on Cisco switches called Link State Tracking.»

Виртуальные коммутаторы


Рекомендуется разделять трафик виртуальных машин от трафика управления (vMotion, Management, NFS, FT). Для повышения надежности виртуальной среды мы использовали стандартный коммутатор для трафика управления, а не распределенный, хоть он и имеет ряд преимуществ (например, поддержка LACP).

vSphere vSwitch Load Balancing


В подобной конфигурации в виртуальных коммутаторах рекомендуется использовать режим балансировки нагрузки «Route based on the originating virtual port id».

Режим «Route Based on IP Hash» (рекомендация NetApp) использоваться не может, так как для этого требуется объединение его uplink-ов (виртуального коммутатора) в транк по протоколу 802.3ad, а HP VC FlexFabric не предоставляет такую возможность для downlink к серверам. Подтверждение.

Остальные настройки Load Balancing Policy:

Network failure detection: Link status only.
Notify switches: Yes.
Failback: Yes.

VMkernel Port


Для каждого сервиса (vMotion, Management, NFS, FT) рекомендуется создавать отдельный VMkernel Port. Vmk для NFS-трафика (Available Services остается пустым) необходимо создавать в той же подсети, где будут находиться NFS-экспорты. В нашем случае:
VMkernel port Available Services Network Label VLAN ID MTU
vmk0 vMotion vMotion 1 9000
vmk1 Management Management 2 9000
vmk2 - NFS 3 9000

NFS Advanced Settings


Рекомендуется изменять стандартные значения некоторых параметров работы с NFS-экспортами. Для ESXi 5.5 в Advanced Settings устанавливаем следующие значения:

NFS.HeartbeatFrequency = 12
NFS.HeartbeatTimeout = 5
NFS.HeartbeatMaxFailures = 10
Net.TcpipHeapSize = 32
Net.TcpipHeapMax = 512
NFS.MaxVolumes = 256
NFS.MaxQueueDepth = 64

Рекомендации описаны в следующих документах:
Best Practices for running VMware vSphere on Network Attached Storage
Increasing the default value that defines the maximum number of NFS mounts on an ESXi/ESX host

Другие нюансы


  1. Сетевая карта блейд-сервера должна быть совместима с модулями Virtual Connect. Совместимость можно проверить в QuickSpecs от HP.
  2. Желательно обновлять Firmware модулей Virtual Connect до последней доступной версии, но делать это стоит очень осторожно, проверяя совместимость FW блейд-серверов и корзины.
  3. В комплекте с модулями Virtual Connect SFP-трансиверы не идут, поэтому заранее планируйте схему физической коммутации, и покупайте правильные трансиверы.
  4. Virtual Connect позволяет гарантировать и устанавливать ограничения пропускной способности для подсетей (на уровне vNet/Ethernet Network/VLAN). Этим стоит пользоваться, например, для ограничения VLAN-а с Management-трафиком ESXi до 1 Gbit и гарантии VLAN-у NFS-а от 4 Gbit до 10 Gbit.

Литература


VMware vSphere 5 on NetApp Clustered Data ONTAP
Best Practices for Running VMware vSphere on Network-Attached Storage (NAS)
HP Virtual Connect FlexFabric Cookbook
FC Cookbook for HP Virtual Connect
HP Virtual Connect for the Cisco Network Administrator
HP Virtual Connect Manager Command Line Interface
Форум HP «HP BladeSystem Virtual Connect»

Комментарии (7)


  1. gotch
    15.10.2015 12:57

    А можете в двух словах объяснить, что из себя представляет FlexFabric сугубо практически? Мы не используем, а гуглится только какой-то маркетинг. В чем там этот Flex?


    1. chestor2
      15.10.2015 14:17

      Практически, пара модулей «HP VC FlexFabric 10/24» может заменить пару LAN модулей (а иногда и две пары) и пару SAN модулей в блейд-корзине, и позволяет гибко управлять подачей LAN и SAN-адаптеров и VLAN-ов в блейд-сервера. По данной технологии много интересного написано в блоге HP — habrahabr.ru/company/hp


  1. DamDamich
    15.10.2015 14:27
    +1

    Был опыт внедрения и эксплуатации, похожей инфраструктуры виртуализации, на базе Cisco Nexus 5k /UCS 5800 /6248UP. В свое время, не стали обновлять существующие корзины HP C7000 до 10Gb, решили переехать на новые крзины Cisco UCS. Довольно таки, гибкое решение. Автор, поделитесь опытом эксплуатации NFS в среде виртуализации, интересно узнать ваше мнение?


    1. chestor2
      15.10.2015 17:15

      К сожалению, опыта эксплуатации NFS у меня не так много. Я не являюсь приверженцем одной из технологий, у каждого из решений NFS/FCoE/FC есть свои плюсы и минусы, мы же остановились на NFS.


  1. Karroplan
    15.10.2015 16:58

    а почему NFS, а не FCoE? у вас вроде все компоненты поддерживают FCoE…


    1. chestor2
      16.10.2015 08:41

      Это решение было принято СХДшниками. Насколько я знаю NFS проще FCoE в выявлении проблем.


    1. netto
      17.10.2015 15:02

      Легче управляется, проще бэкапится, гранулярность бэкапа-восстановления выше (на уровне отдельного виртуального диска, а не датастора целиком), в ряде случаев может быть выше производительность, из-за отсутствия ограничений «одна очередь SCSI-команд на данный датастор со всеми его VMDK целиком».