Inleiding

VMware vSphere heeft zelf een aantal load balancing algoritmes om netwerkverkeer slim over meerdere netwerkkaarten van een host te verdelen. Dit werkt over het algemeen uitstekend, vaak beter nog dan LACP (Link Aggregation Control Protocol), waarbij de loadbalancing op de netwerkswitches geconfigureerd en bepaald wordt i.p.v. door VMware vSphere. Ondanks dat de loadbalancing door VMware vSphere vaak beter en zeker eenvoudiger te configureren is, is LACP binnen organisaties soms toch de standaard (en ook een uitstekende oplossing voor bare metal servers). VMware vSphere kan overweg met LACP. Deze blog geeft aan hoe gemigreerd kan worden naar LACP zonder dat er onbeschikbaarheid optreedt.

Aandachtspunten

Er zijn enkele aandachtspunten wanneer je LACP wilt gebruiken binnen VMware vSphere:
  • LACP is alleen mogelijk op distributed switches
  • Alle portgroups die LACP gebruiken moeten de load balancing policy geconfigureerd hebben als Route Based on Originating Virtual Port, network failure detection als link status only en alle uplinks moeten op active staan
  • LACP ondersteunt geen port mirroring en iSCSI software multipathing
  • LACP settings kunnen niet in een host profile geconfigureerd worden
  • LACP werkt niet binnen nested ESXi hosts
  • LACP werkt niet met SR-IOV

Migreren naar LACP

Als uitgangspunt ga ik ervan uit dat de virtual switches binnen VMware vSphere al distributed switches zijn. Maak als eerste op de fysieke switches LAGs, Port-Channels (PC), MLAGs of Virtual Port Channels (vPC) aan. Afhankelijk van het merk switch en of er meerdere switches gebruikt worden, worden verschillende begrippen gebruikt, maar het is uiteindelijk allemaal hetzelfde. Het is belangrijk heel precies te weten welke vmnic op VMware vSphere is gekoppeld aan welke fysieke netwerkadapter en op welke poorten van de fysieke switches de fysieke netwerkadapters aangesloten zijn. Als dit niet duidelijk is, is dit het eerste om in kaart te brengen, omdat er anders een groot risico bestaan van netwerk onbeschikbaarheid tijdens het proces. Als tip geef ik mee om de management IP adressen van de hosts te pingen tijdens het proces. De connectiviteit mag niet verloren gaan, hooguit 1 ping. Hierdoor kan meteen gezien worden wanneer er iets mis gaat in het proces. Laten we starten met het configureren van LACP op VMware vSphere. Herconfigureer hiervoor als eerste de port-groups op de distributed switch door alle Uplinks, behalve Uplink 1 naar standby te zetten. Ga hiervoor naar de distributed switch, rechtermuistoets, Distributed Port Group -> Manage Distributed Port Groups … Selecteer hierna Teaming and failover en druk op NEXT. Selecteer vervolgens alle port groups en druk op NEXT. Verplaats hierna alle Uplinks naar Standby uplinks, behalve Uplink 1. Druk hierna op NEXT en FINISH. Voeg nu alle poorten van de fysieke switch toe aan de port-channel group, behalve de poort waar de fysieke netwerkkaart van Uplink 1 op aangesloten is. Hierdoor blijft er netwerkverkeer mogelijk. Omdat er meestal maar twee uplinks zijn en dus twee fysieke netwerkkaarten, wordt één poort van de fysieke netwerkswitch in de port-channel group geplaatst en de andere poort blijft ongewijzigd. Maak nu een LAG in VMware vSphere aan. Ga hiervoor naar de distributed switch, kies configure -> LACP. Druk hierna op NEW. Geef vervolgens de naam van de LAG op, het aantal poorten (dat gelijk moet zijn aan het aantal fysieke netwerkkaarten in de port-channel group, meestal 2), mode kan meestal Passive blijven. In dat geval zal de fysieke netwerkswitch de LACP initiëren. Als de netwerkswitch dat niet kan, kan Active gekozen worden. De load balancing mode moet ondersteund worden door de netwerkswitch. De standaard waarde voldoet meestal. We gaan nu opnieuw de port-groups herconfigureren op de distributed switch. Ga hiervoor weer naar de distributed switch, rechtermuistoets, Distributed Port Group -> Manage Distributed Port Groups … Selecteer weer Teaming and failover en druk op NEXT. Selecteer vervolgens alle port groups en druk op NEXT. Verplaats hierna alle Uplinks naar Unused uplinks uplinks, behalve Uplink 1 en verplaats de lag naar Standby uplinks. Druk hierna op NEXT. Er verschijnt een waarschuwing. Omdat het om een migratie gaat, mag tijdelijk de LAG als standby en Uplink 1 als active worden geconfigureerd. Druk daarom op OK bij de waarschuwing. Druk hierna om FINISH. Koppel nu alle fysieke netwerkadapters aan de LAG, behalve de fysieke netwerkadapter gekoppeld aan Uplink 1. Ga hiervoor naar de distributed switch, rechtermuistoets en kies voor Add and Manage Hosts… Kies hierna voor Manage host networking en druk op NEXT. Selecteer hierna alle hosts en druk op NEXT. Koppel nu de fysieke netwerkadapters aan de LAG. In onderstaande voorbeeld is vmnic1 gekoppeld aan lag1-1. In de eindsituatie zal vmnic0 gekoppeld zijn aan lag1-0. Omdat vmnic0 nog steeds gekoppeld is aan een uplink, blijft netwerkverkeer mogelijk. Druk hierna 3 maal op NEXT en daarna op FINISH. Kijk op de fysieke netwerkswitch of de port-channel configuratie werkt. Hierna gaan we de vmnic0 ook koppelen aan de LAG. Ga hiervoor weer naar de distributed switch, rechtermuistoets en kies voor Add and Manage Hosts… Kies hierna voor Manage host networking en druk op NEXT. Selecteer hierna alle hosts en druk op NEXT. Koppel nu vmnic0 aan lag1-0. Plaats de port op de fysieke switch waar de fysieke netwerkkaart die gebruikt werd voor Uplink 1 op aangesloten is nu ook in de port-channel group. Als laatste gaan we de LAG actief maken op de distributed switch en gaan de uplinks naar unused. Ga hiervoor wederom naar de distributed switch, rechtermuistoets, Distributed Port Group -> Manage Distributed Port Groups … Selecteer Teaming and failover en druk op NEXT. Selecteer vervolgens alle port groups en druk op NEXT. Verplaats hierna alle Uplinks naar Unused uplinks en de LAG naar Active uplinks. Druk hierna op NEXT en daarna op FINISH. Het resultaat is een succesvolle migratie naar LACP zonder onbeschikbaarheid.