Jak na NIC teaming ve virtuální mašině (a něco navíc)

Pokud používáte inteligentní virtuální prostředí od VMware (tj. Virtual Infrastructure 3.5 nebo vSphere 4.0), můžete pocítit potřebu propojení ESX serveru s úložištěm (svazků, systému, …) více, než jednou síťovou kartou (NIC). Jak docílit několikagigabitové přípojky bez optiky nebo 10G ethernetu, případně chcete-li využívat rychlosti mezi 100-Mbitovým Fast ethernetem a Gigabitovým ethernetem, čtěte dále.Klasickým případem pro zvýšení konektivity může být infrastruktura, která je tvořena několika ESX servery (clusterovanými např. do VI 3.5 nebo vSphere 4.0) na straně jedné a iSCSI úložištěm na straně druhé. V mém případě jde konkrétně o 3 ESX servery ve vSphere 4 a iSCSI storage cluster Falconstor. Celá struktura je rozdělena do dvou propojených, nezávislých sajt (čtenář odpustí anglismus, ale skloňuje se lépe než „site“ a jde mi lépe od úst). Primární sajta obsahuje 2x ESX a primární node storage clusteru, sekundární sajta 1x ESX a sekundární node storage clusteru. Síť je postavena na přepínačích Cisco Catalyst 29xx až 37xx.

Protože provozuji nejen mnoho jednodušších virtuálních serverů (dále jen VM), ale i databázové stroje (SQL a chystá se i poměrně „velký“ Oracle), hodí se mi, aby měl VM možnost komunikace s úložištěm vyšší rychlostí, než 1 Gbit. Abych toho dosáhl, musím si připravit několik věcí.

1. Síťová struktura

Protože jde o Cisco infrastrukturu, s výhodou mohu použít funkci EtherChannel, která mi umožňuje „svázat“ libovolné množství portů přepínače tak, aby se např. chovaly jako jedna linka o rychlosti x-krát 1 Gbit. Způsoby, jak toho dosáhnout jsou k dispozici na webu Cisco (viz http://www.cisco.com/en/US/tech/tk389/tk213/technologies_tech_note09186a0080094714.shtml). Více o technologii Etherchannel např. zde: http://en.wikipedia.org/wiki/EtherChannel.

2. Virtuální infrastruktura

Předpokládejme, že naše ESX servery mají pro VM k dispozici více, než jednu 100/1000 Mbit kartu. Ve vlastnostech všech přítomných ESX serverů (Networking) je potřeba zkontrolovat, zda jsou minimálně 2 síťové karty přidělené na vSwitchi poolu s virtuálními stroji. Pokud to tak není a je odkud brát (např. z vMotion), „převeďte“ požadovaný počet adaptérů do VM vSwitche. Pak už jen ve vlastnostech nastavte jejich svázání. Pokud na Ciscích proběhlo nastavení EtherChannelu, jak mělo, jsou nyní ESX servery připojeny do sítě max. 200 nebo 2000 Mbity. Nemusím připomínat, že takto rozšířené pásmo je třeba mít „ošéfované“ v celé trase, kudy potečou data.

3. Virtuální stroje

Pokud vytvoříte VM pomocí Converteru nebo „načisto“, zjistíte, že oproti fyzickému prostředí jsou možnosti nastavení síťového adaptéru velice skromné. Nativní AMD driver (i po instalaci VMTools, a je fuk, jestli jde o verzi VM/VMTools 4 (VI 3.5) nebo 7 (vSphere 4)) nabízí buď nic anebo 1 Gbit. O žádném týmování adaptérů nemůže být řeč. Řešením je, vytvořit si (nebo pozměnit stávající) adaptéry, které nebudou defaultně typu „flexible“, ale „E1000“ (ve vlastnostech VYPNUTÉ virtuální mašiny). To nám umožňuje stáhnout a nainstalovat ovladač Intel, který nám možnosti adaptérů nápadně rozkošatí. Driver je k dispozici např. zde: http://www.intel.com/support/network/sb/cs-006120.htm. Po zapnutí vypnuté VM (nyní bohatší o nový E1000 NIC) nainstalujeme stažený driver a restartujeme VM. Po restartu nastavíme na obou nových adaptérech IP adresy a rychlosti (+ další užitečné vlastnosti, např. TCP Off-load atd.) a můžeme díky rozhraní adaptéru nastavit i párování (teaming). Zbývá poslední restart a je hotovo.

4. …a něco navíc

Nové Intel ovladače, kterými jsme nahradily nativní „ořezané“ AMD drivery nám poslouží ještě další dobré věci. Díky nim mohu regulovat propustnost síťovek a tak mohu u VM stáhnout rychlost na 100 nebo 10 Mbit, což se může hodit v případě iSCSI pole (zejména neobsahuje-li dostatečný počet disků pro rozložení zátěže na sběrnici), které není ve špičce přehlcováno několika 1 Gbitovými vlákny.