Cloud řešení na bázi hostitelských serverů VMWare, Cisco Nexus 1000V a technologie VXLAN Kamil Václavík Abstrakt: Trendem poslední doby nejen u velkých firem je postupný přechod fyzických serverů do virtuálního cloudového prostředí. Důležitou součástí každé virtuální infrastruktury je implementace síťových služeb. Platforma vsphere nám nabízí v základu dva typy virtuálních switchů, standardní a distribuovaný. V následujících kapitolách si oba uvedené typy virtuálních switchů představíme. Dále se podíváme i na virtuální switch dodávaný firmou Cisco. Klíčová slova: VmWare, Cisco Nexus 1000V, VXLAN, virtualizace 1 Úvod...2 2 Standardní switch...3 3 Distribuovaný switch...4 4 Cisco Nexus 1000V...5 4.1 Virtual Ethernet Module (VEM)...6 4.2 Virtual Supervisor Module (VSM)...6 4.3 Podpora VXLAN...6 5 Technologie VXLAN...7 6 Použitá literatůra...9 duben 2013 1/9
1 Úvod Trendem poslední doby nejen u velkých firem je postupný přechod fyzických serverů do virtuálního cloudového prostředí. Společnost VMware je předním světovým poskytovatelem virtualizačních technologií a cloudových služeb. Nabízí mnoho produktů určených pro virtualizaci aplikací, stanic a serverů. Podle agentury Gartner je více jak 60 procent nově virtualizovaných serverů nasazováno právě na virtualizační platformě vsphere společnosti VMware. Velice důležitou součástí každé virtuální infrastruktury je implementace síťových služeb. Platforma vsphere nám nabízí dva základní typy virtuálních switchů, standardní a distribuovaný. V následujících kapitolách si oba uvedené typy virtuálních switchů představíme. Dále se podíváme i na virtuální switch dodávaný firmou Cisco Nexus 1000V. V samém závěru si popíšeme technologii VXLAN. Než pokročíme k popisu jednotlivých technologií, popíšeme si ještě v krátkosti základní části VMware vsphere prostředí, o kterých se budeme v dalším textu zmiňovat. Základním stavebním kamenem každé virtuální infrastruktury je vsphere ESXi server (host), jde o server, na kterém je nainstalován vlastní hypervizor. ESXi servery můžeme sdružovat do společných celků a vytvářet tak virtualizační clustery - cloudy. Každý cluster musí obsahovat minimálně jeden vcenter server, který se stará o řízení celého clusteru. VMware vcloud Director je cloudové rozšíření celé vsphere infrastruktury. Nástin celého cloudové řešení na bázi VMware vsphere je dobře patrný na obrázku 1. 1. Obrázek: VMware vsphere - cloudové řešení duben 2013 2/9
2 Standardní switch Jak již bylo zmíněno v předchozím textu důležitou součástí každé virtualizační infrastruktury je právě virtualizovaná síťová vrstva. VMware vsphere má pro tento účel vytvořen vsphere Standart Switch ( VSS ) což je vlastně vytvořená abstrakce běžného síťového zařízení. VSS nám zajišťuje vnitřní komunikace mezi jednotlivými virtuálními stoji připojenými do stejné port groupy a také zajišťuje komunikaci s okolní sítí. VSS je tedy ve své podstatě modelem fyzického 256 portového síťového switche (počet portů je konfigurovatelný defaultní konfigurace je 120 portů). 2. Obrázek: vsphere standart switch Jak již název napovídá jde o základní síťový virtualizovaný switch, dostačuje plně pro většinu malých instalací. Podíváme se tedy blíže na takovýto switch, ten je vyobrazen na obrázku číslo 2. Celý switch si můžeme rozdělit na dvě hlavní funkční části. Levá strana je tvořena tzv. port groupami na pravé straně vidíme část uplinkovou. V té jsou přiřazené fyzické síťové adaptéry serveru a slouží ke komunikaci s okolím. VSS může mít takto připojeno až osm 10Gb nebo třicet-dva 1GB fyzických síťových adaptérů což zajišťuje dostatečnou kapacitu a redundanci. Každý virtuální síťový port musí být přiřazen do tzv. Port groups. Port groups je vlastně logicky uskupená skupina portů, pro kterou můžeme definovat různé vlastnosti, VLAN id, povolení promiskuitního modu, omezení datového toku apd. Stejně tak můžeme každé port groupě vyhradit konkrétní fyzický adaptér pro komunikaci s okolím nebo nastavit jinou Faillover politiku. 3. Obrázek: NIC Failover duben 2013 3/9
3 Distribuovaný switch Dalším typem switche, který je v rámci VMware vsphere infrastruktury použit je vsphere distribuovaný switch (VDS). Ten je určen pro nasazení ve větších prostředích v rámci vsphere clusteru. Na první pohled vypadá VDS velice podobně, jako výše uvedený VSS, můžeme si jej opět rozdělit na dvě funkční části. Část distribuovaných port groups a Distribuovaných uplinků. Jak již název napovídá tak VDS je rozprostřen přes skupinu ESXi serverů/hostů v rámci vsphere clusteru. Pro svoji funkcionalitu vyžaduje přítomnost vcenter serveru, který se stará o řízení komunikace. V případě nedostupnosti vcenter serveru se distribuovaný switch rozpadá na potřebný počet standardních switchů funkcionalita tak zůstává zachována, což je i znázorněno na obrázku 5. Velkou výhodou tohoto řešení je centrální konfigurace celého switche prostřednictvím vcenter serveru. Konfigurace distribuovaných port groups je velice podobná konfiguraci port groups na standartním switchi. Lze zde voli VLAN ID, parametry pro traffic shaping, port security, teaminng a load ballancing. V části distribuovaných uplinků vidíme názvy fyzických adaptérů včetně názvy serverů v rámci clusteru, v našem případě jde o pěti nodový cluster. Další funkcionalita Podporu privátních VLAN umožňuje omezit komunikaci mezi virtuálními stanicemi vrámci stejné VLAN nebo segmentu. Network vmotion Sleduje síťovou statistiku jednotlivých virtuálních strojů i při využití vmotion (migrace virtuálního serveru mezi hosty clusteru) zjednodušuje se tak případné řešení problémů a monitoring. Bi-directional Traffic Shaping podpora obousměrného traffic Shapingu. Network Health Check Slouží k detekci problému se síťovým připojením. V pravidelných intervalech jsou snímány pakety na druhé vrstvě přes všechny uplink rozhraní. Tyto jsou dále analyzovány případný problém s komunikací je zobrazen ve vsphere klientovi. duben 2013 4/9
Oba virtuální switche VSS a VDS lze spravovat a konfigurovatelné i pomocí příkazového řádku přes SSH konzoli,pomocí doplnku do powershellu (PowerCli) a přes speciální management stanici VIMA. 4 Cisco Nexus 1000V Další distribuovaný switch dostupný v rámci Vmware vsphere je Cisco Nexus 1000V. Jde o distribuovaný switch dodávaný firmou CISCO, poskytuje komplexní platformu pro virtuální stroje. Je integrován do hypervisoru VMware vsphere a je plně kompatibilní s VMware vcloud Directorem. Distribuován je jako virtuálni appliance ve formě OVF souboru. Po deploymentu OVF souboru se zobrazí jako standardní virtuální stroj. Dokončení konfigurace se provede až následně přes webové rozhraní, až poté vznikne jeho objekt mezi distribuovanými switchi. 6. Obrázek: Cisco Nexus 1000V Cisco Nexus 1000 Series poskytuje funkcionalitu přepínání na druhé vrstvě a nabízí rozšířené síťové funkce se společným modelem řízení sítě, ve virtualizovaném prostředí nahrazuje virtuální přepínač v rámci VMware vsphere. Každý server v datovém centru je reprezentován jako linková karta v Cisco Nexus 1000V Switche a mohou být spravovány, jako kdyby se jednalo o linkové karty fyzického přepínače. duben 2013 5/9
Implementace Cisco Nexus 1000 Series má dvě hlavní složky: Virtual Supervisor Module (VSM) Virtual Ethernet modul (VEM) 4.1 Virtual Ethernet Module (VEM) Cisco Nexus 1000V Series VEM běží jako součást VMware ESXi kernelu a nahrazuje funkcionalitu VMware Virtual Switch. VEM používá VMware vnetwork Distributed Switch (vds) API, vyvinuté ve spolupráci firem Cisco a VMware, s cílem poskytnutí vyspělé síťové funkcionality. Tato úroveň integrace zajišťuje, že Cisco Nexus 1000V si je plně vědomo všech akcí prováděných ve virtualizační vrstvě jako je například VMware VMotion a Distributed Resource Sheduler (DRS). VEM získává informace o konfiguraci z VSM a provádí přepínání na 2. vrstvě a to včetně pokročilých síťových funkcí: PortChannels Quality of service (QoS) Security: Private VLAN, access control lists (ACLs), and port security Monitoring: NetFlow, Switch Port Analyzer (SPAN), and Encapsulated Remote SPAN (ERSPAN) 4.2 Virtual Supervisor Module (VSM) Cisco Nexus VSM slouží k řízení většího množství VEMs jako jednoho modulárního přepínače. Místo fyzických karet však podporuje VSM více VEMs běžících uvnitř jednotlivých fyzických serverů. Konfigurace se provádí pomocí VSM a je automaticky přenesena do VEMs. Konfigurace je tak centrální a je okamžitě použita na všech VEMs, řízených daným VSM. Cisco Nexus 1000V Series poskytuje: Flexibilitu a rozšiřitelnost: port profily, nové Cisco NX-OS funkce, umožňuje konfiguraci portů podle kategorie. Vysoká dostupnost: Synchronizace, redundantní VSMs umožňují rychlé stavové převzetí služeb při selhání. správa: pro správu lze využít rozhraní příkazového řádku (CLI), Simple Network Management Protocol (SNMP), XML API, a CiscoWorks LAN Management Solution (LMS). VSM je také integrován s VMware vcenter Server. 4.3 Podpora VXLAN V rámci Cisco Nexus 1000V je samozřejmě zajištěna podpora technologie VXLAN. Na každém VEM jsou vytvořeny virtuální VMkernel porty. Těchto portů může mít VEM více. Každému VMkernel portu je přiřazena IP adresa, která slouží jako zdrojová adresa pro zapouzdření MAC rámců. 7. Obrázek: VEM - VMkernel Připojený VXLAN je specifikován v rámci konfigurace profilu portu vnic a je použit při připojení VM. Každý VXLAN uživatel má přiřazenu multicastovou adresu pro přenos broadcastové komunikace v rámci VXLAN segmentu. Další popis technologie VXLAN je v následující kapitole. VMkernel port Speciální systémový sport v rámci vsphere se používají například pro management, realizaci vmotion a Fault Tolerance. duben 2013 6/9
5 Technologie VXLAN Mnoho velkých společností řeší v současné době problém jak efektivně propojit svoje datová centra. VMware nabízí pro takovéto propojení datových center technologii postavenou na VXLAN. Technologie VXLAN umožňuje vytvářet logické sítě pro virtuální servery napříč různými sítěmi. Více technicky řečeno, nám VXLAN umožňuje vytvořit druhou vrstvu sítě na vyšší třetí vrstvě. VXLAN to řeší prostřednictvím zapouzdření paketů. Podle definice cloud comutingu má mít každý nájemce cloudu k dispozici vlastní síť identifikovanou vlastním ID. Klasická VLAN specifikace však umožňuje definovat pouze 4096 VLAN ID což pro velká cloudová řešení nemusí být dostatečné. Technologie VXLAN tento problém však řeší, a to rozšířením adresního prostoru pro VLAN přidáním 24-bit segmentu. Počet dostupných ID se tak zvýší na 16 milionů. 8. Obrázek: Schema VXLAN Základním příkladem použití VXLAN je spojení dvou nebo více sítí na třetí vrstvě (L3), tak aby vypadaly jako jedna sdílená L2 vrstva. To umožňuje virtuálním serverům žít ve dvou nesourodých sítích přesto fungovat, jako by byly připojeny k jedné homogenní síti. Potřebné součásti VXLAN : Multicast podpora IGMP a PIM VXLAN identifikátor sítě (VNI) VXLAN brána VXLAN Tunnel End Point (VTEP) VXLAN Segment / VXLAN Overlay Network VXLAN je překrytí L2 vrstvy přes vrstvu L3. Každé překrytí sítě je známé jako VXLAN segment a ten je identifikován jedinečným 24-bit ID segmentu tzv. VXLAN identifikátor sítě (VNI). Pouze virtuální servery na stejném VNI tak mohou mezi sebou komunikovat. Virtuální stroje se jednoznačně identifikují tím, že kombinují svou MAC adresu a VNI. Servery s duplicitní MAC adresy v různých VXLAN segmentech proto bez problému mezi sebou komunikují. Původní L2 paket, který virtuální server vyslat je zapouzdřen a doplněn o záhlaví VXLAN. Výsledný paket je pak zabalen do UDP IP paketu Ethernet pro odeslání v rámci síti. Vzhledem k tomuto zapouzdření můžete uvažovat o VXLAN jako tunelování spojení mezi ESX hosty, které tvoří VXLAN koncové body tunelu (VTEP). Každý VTEP je odpovědný za zapouzdření komunikace virtuálního serveru tedy o doplnění a odstranění VXLAN záhlaví, cílový virtuální stroj tak vidí původní L2 paket. Pro nasazení technologie VXLAN je proto potřeba také řešit zvýšení MTU a také zajistit podpora multicastu. Samotné zapouzdření se skládá z následujících úprav UDP, IP a Ethernet rámců: duben 2013 7/9
Ethernet header Cílová adresa - Tato hodnota je nastavena na MAC adresu cílového VTEP, v případě místní adresy je zde nastavena obvykle adresa routeru. VLAN - Tato možnost je volitelná v implementaci VXLAN EtherType - Tato hodnota je nastavena na 0 0800 pro IPv4 paket. Počáteční VXLAN návrh nepočítal s podporou IPv6. IP Header Protokol - sada 0 11 označuje, že rámec obsahuje paket UDP Zdrojová IP - IP adresa pocházející VTEP Cílová IP - IP adresa cílového VTEP. Není-li známa provádí se zjišťování Cílová IP je nahrazena IP adresou multicast skupiny odpovídající VNI z původního virtuálního počítače Všechny VTEPs IP multicast skupiny obdrží rámec a zjistí si mapování zdrojového virtuálního počítače MAC adresy a VTEP hosta Hostitel VTEP cílového virtuálního stroje poté zašle virtuálnímu počítači odpověď na původní VTEP pomocí jeho cílové adresy IP, kterou si zjistil multicast rámce Zdrojový VTEP si přidá nové mapování do své tabulky pro budoucí pakety UDP Header Source Port - nastaven zasláním VTEP VXLAN Port - IANA přidělen VXLAN port. To se ještě přiděleno UDP Checksum / Kontrolní součet - Měl by být nastavena na 0 0000. 10. Obrázek: Formát VXLAN paketu VXLAN Header VXLAN Flags - rezervované bity nastaveny na nulu kromě bitu 3, který je nastaven na 1 pro platnou VNI VNI - 24-bitové pole VXLAN identifikátor sítě Reserved - sada polí, 24 bitů a 8 bitů, které jsou vyhrazeny a nastaveny na nulu duben 2013 8/9
Zvýšení hodnoty MTU Pokud se podíváme výše zjistíme, že zapouzdření paketu protokolu IPv4 přidá 50 bajtů do původního rámce. Doporučení je proto zvýšení MTU na 1600 bajtů. Proč 1600 bajtů, když hlavička VXLAN je jen 50 bajtů? Důvodem je, že host může dělat VLAN taggování a na paket maximální velikosti 1514 bajtů přidá 4 bajty k výslednému paketu. Pokud transportní síť vyžaduje, aby byl provoz VXLAN také označován VLAN tagy je třeba přidat další 4 bajty. Příklad výpočtu MTU 1514 (Guest) + 4 (Guest VLAN tag) + 50/70 (VXLAN/VXLAN IPv6) + 4 (VXLAN Transport VLAN Tag) = 1572 / 1592 Změna velikosti MTU musí být provedena jak na distribuovaných switchích tak na všechny fyzické zařízení, které budou zajišťovat VXLAN provoz. Je potřeba si dát pozor na kominikaci virtuálních serverů, které mají již nakonfigurovány jumbo rámce, tak aby nedošlo k jejich fragmentaci. 6 Použitá literatůra [1] VMware VXLAN Deployment Guide http://www.vmware.com/files/pdf/techpaper/vmware-vxlan-deployment-guide.pdf [2] Deploying the VXLAN Feature in Cisco Nexus 1000V Series Switches http://www.cisco.com/en/us/prod/collateral/switches/ps9441/ps9902/guide_c07-702975.html#wp9000039 [3] VXLAN basics and use cases http://www.yellow-bricks.com/2012/11/02/vxlan-use-cases/ [4] The Datacenter Networking Challenge - http://www.vmware.com/cz/solutions/datacenter/vxlan.html [5] VXLAN Primer - http://www.borgcube.com/blogs/2011/11/vxlan-primer-part-1/ duben 2013 9/9