Cumulus Linux Možnosti networkingu a cloudové automatizace Daniel Janků (JAW073) Abstrakt: Článek pojednává o popisu relativně nového linuxového systému Cumulus Linux, který je určen pro velké směrovače a další podobné síťové prvky s důrazem kladeným na datová centra. Operační systém běží v síťových přepínačích, které jsou dodávány bez operačního systému (bare metal). Čtenář se dozví o historii, architektuře Cumulus Linuxu, verzemi, licencemi a podporou. Také se dozví o otevřeném síťovém instalačním prostředí (ONIE). Na závěr je uveden příklad jednoduché instalace Cumulus Linuxu pomocí web/dhcp serveru. Klíčová slova: Cumulus Linux, ONIE, Cloud, bare metal 1 Úvod... 2 2 Cumulus Linux... 2 2.1 Historie... 3 2.2 Verze, licence a podpora... 3 3 Architektura... 4 3.1 Automatizace... 4 3.2 Orchestrace... 4 3.3 Síťová virtualizace... 5 3.4 Směrování... 5 3.5 Monitorování... 5 4 Open Network Install Environment (ONIE)... 6 4.1 Výhody ONIE... 6 4.2 Seznam výrobců zařízení podporující Cumulus Linux... 6 5 Ukázka prvotní instalace... 6 5.1 Nahrání licence... 8 6 Použité zdroje... 9 květen 2015 1/9
1 Úvod Informační technologie můžeme poslední léta popisovat nákupními cykly, kterými firmy investují do farem fyzických a virtuálních serverů, na kterých jsou provozovány sady tradičních škálovatelných aplikačních softwarů. Nabízená infrastruktura od prodejců pak zajišťuje hardwarvé zdroje, síťovou konektivitu, ukládání dat a další funkce. Poslední dobou se ale stále více objevují požadavky, které se tímto principem dají stěží realizovat, důraz je kladen na snižování nákladů, zrychlení cyklu zdokonalování, např. kolik času potřebujeme pro uvedení nového produktu na trh, ale také chceme-li být nezávislí na dodavatelích. Jelikož poslední dobou je tendence kladena na konzumaci služeb pomocí výpočetní techniky, roste i důležitost, jaká je aktivita a efektivita fungování IT pro prosazení obchodních záměrů firmy. Proto se mnoho společností ubírá ke cloudovému řešení. Cloudové řešení je model, který umožňuje všeobecně a pohodlně dostupný přístup po síti ke sdíleným kapacitám konfigurovatelných výpočetních zdrojů (sítě, servery, datová uložiště, aplikace, služby), které mohou být rychle zprovozněny a zpřístupněny s minimálními nároky na správu nebo na komunikaci s poskytovatelem služby. Každá architektura cloudu by měla splňovat několik základních podmínek. Musí využívat dostupnosti zdrojů na požádání, elasticity a pararelizace, kterou cloud prostředí nabízí. Musí být v co možná největší míře automatizovaná a měla by počítat s výpadky a obsahovat mechanismy obnovy po havárii. Provoz IT v cloud prostředí mění také způsob administrace. Realizuje se převážně prostřednictvím nástrojů, které dokáží obvyklé administrační akce automatizovat. 2 Cumulus Linux Cumulus Linux je specializovaný systém (linuxová distribuce debian) pro síťový hardware vytvořen firmou Cumulus Networks. Přenos obrovských objemů dat je nutné v současnosti aktivně řídit. Tradiční dodavatelé síťových zařízení nic podobného jako Cumulus Linux nenabízí. Pokud ano, tak jen za velmi vysokou cenu. Systémy dodavatelů jsou navíc příliš uzavřené, aby mohly být v rozsáhlé infrastruktuře spravovány. Cumulus Linux využívá, jak už je zřejmé z názvu, platformu operačního systému Linux šířeného jako open source, který pohání značnou část počítačových serverů provozující webové stránky. Odtud také plyne označení Cumulus Linux. Jelikož systém Linux výrazně šetří náklady a zajištuje bezproblémové nasazování a správu počítačových serverů, firma Cumulus Networks tento princip aplikuje i na síťová zařízení. Tímto principem umožňuje tento relativně nový síťový operační systém spravovat počítačové servery i síťová zařízení pomocí stejného centrálního softwaru pro správu, má tedy jednotný systém pro správu všech zařízení. Cumulus Linux může provozovat různé aplikace dle potřeby, jeho přímou součástí jsou kupříkladu Openstack, Openflow či Ganglia a další. Systém již nasadily jedni z největších poskytovatelů nových cloudových řešení a služeb na světě DreamHost, a Fastly. květen 2015 2/9
2.1 Historie Firma Cumulus Networks byla založena dvěma síťovými specialisty dříve působící ve firmách Cisco a VMware. Zakladatelé kladly důraz na vytvoření nového řešení pro velký síťový hardware. Hlavně tedy pro routery, switche a další prvky do datových center. V této oblasti má dnes silnou pozici právě zmíněná firma Cisco. Jejich relativně nové řešení je na rozdíl od těch dosavadních otevřené a výsledkem je Cumulus Linux. Zakladatel a nyní výkonný ředitel firmy Cumulus Networks J.R. Rivers strávil několik měsíců v roce 2005 ve firmě Google. I v tak krátké době pochopil, že provoz v těchto gigantických firmách narostl do takových dimenzí, že bylo třeba snížit náklady na aktivní síťové prvky, ale také najít efektivnější způsob řízení těchto zařízení. Základní myšlenkou je tedy, snížit náklady a snížení náročnosti síťových prvků, a pokud operační systém běží v síťových přepínačích, které jsou dodány bez operačního systému, záleží jen na zákazníkovi, jaký řídicí systém do nich nahraje. 2.2 Verze, licence a podpora K 15. 5. je poslední verzí Cumulus Linuxu verze 2.5.2. Všechny doposud vydan éverze: Verze 2.5.x Verze 2.2.x Verze 2.1.x Verze 2.0.x Verze 1.5.x Cumulus Linux není open source a je licencován na základě instance. Každé nasazení síťového systému vyžaduje licenci. Licence jsou k dispozici pro konkrétní období a jsou dodávána jako součást předplatného. Cumulus Linux předplatné zahrnuje plnou funkčnost, podporu a údržbu softwaru kromě licenčních práv. Jinými slovy tedy tak dlouho, jak bude mít společnost aktivní předplatné, tak dlouho bude mít přístup k celé řadě možností podpory. Pro představu firma Dell nabízí 3 roky předplatného Cumulus Linuxu za částku pohybující se kolem 90 000 korun českých. Jak už bylo zmíněno výše, podpora pro Cumulus Linux je dodávána s licencí k užívání software. Podmínky použití mohou být 1 rok, 3 nebo 5 let. Cumulus Networks zajišťují 24 hodin týdně danou podporu, včetně víkendů a svátků. Podpora se rozděluje podle závažnosti problému a podle toho také Cumulus Networks reagují časově. Tedy závažnost 1 je například nějaký katastrofický problém, který může mít velký dopad na schopnost dané firmy vykonávat primární účely (systémy produktů nefungují atd.). U tohoto problému je podle tzv. Service Level Agreement (SLA) doba, do kdy musí poskytovatel zasáhnout 30 minut. Závažností 2 máme na mysli dopad na funkci zákazníka, nicméně nenastává žádná ztráta schopnosti prezentování firmy navenek. Zde je dle SLA doba zásahu 2 hodiny. U závažnosti 3 má problém středně - nízký dopad, čili zahrnuje nějakou nekritickou ztrátu části systému. Doba dle SLA je 8 hodin v pracovních dnech. Pokud nastane problém u Závažnosti 4, je rázu minimálního. Většinou jsou v této závažnosti zahrnuty požadavky na nové funkce systému. Doba činí 8 hodin v pracovních dnech. Do poslední Závažnosti 5 můžeme zařadit dotazy, které jsou mimo běžný rozsah podpůrné podpory. Doba záleží na dohodě. květen 2015 3/9
3 Architektura Cumulus Linux se skládá ze složitější architektury, která je uvedena na obrázku, popisy některých částí jsou uvedeny níže. Na spodní části obrázku vidíme část standartního hardware, což může být například Standart Linux Kernel (CPU, RAM, uložiště, atd.). Spojením Linux Kernelu a Hardwarové abstrakční vrstvy (HAL) pomocí Switche Driveru a Switch programu běžícího na pozadí (SwitchD Switch Daemon) se synchronizuje hardware s kernelem, tedy hardwarová abstraktní vrstva přepínače urychluje linuxové jádro síťové konstrukce v hardwaru včetně směrovací tabulky, ARP tabulky atd. 3.1 Automatizace Jelikož je Cumulus Linux plně vybavený Linux OS, tak nám umožňuje využít nejnovějších aplikací Linuxu a automatizačních nástrojů. Tím nám zajistí pružnost, škálovatelnost pro moderní datová centra. Právě rozšířením standardizované automatizace sady nástrojů do prostředí síťové světa, může jeden člověk automatizovat a řídit kompletní provozní životní cyklus síťových zařízení. Jednou z hlavních výhod Cumulus Linuxu je možnost zvýšení stability sítě a dobu provozu tím, že brání nesrovnalosti a chybám kvůli uzavřeným systémům od dodavatelů a ke složité práci s komplexními protokoly. V kombinaci se systémy pro centrální údržbu operačních systému (např. Puppet, Chef, CFEngine) můžeme pomocí Cumulus Linuxu získávat informace o existující infrastruktuře, spravovat serverové konfigurace jak na úrovni operačních systémů, tak na úrovni aplikací. Dále můžeme spravovat verze, či aktualizace a opravy. 3.2 Orchestrace V mnoho poučkách je orchestrace srovnávána s automatizací. To však není úplně pravda. Orchestraci můžeme definovat jako použití automatizace k poskytování služeb pomocí aplikací, které řídí síť. A pokud například v cloudu máme několik aplikací, komunikačních systémů atd. (Vmware, Cisco, Microsoft) údržba může být časově i finančně velmi náročná a my můžeme právě využít funkcí Cumulus Linuxu. Ten umožňuje pomocí své architektury zákazníkům vytvářet vlastní orchestrační nástroje, popřípadě je integrovat s mnoha open-source možnostmi, jako jsou OpenStack, CloudStack nebo dalšími specifickými možnostmi, které jsou k dispozici. Klíčové vlastnosti požadované v cloud orchestraci softwaru jsou zjednodušení integrace cloudových kapacit, automatizování a optimalizace nasazených služeb. květen 2015 4/9
3.3 Síťová virtualizace Pro datová centra založená na cloud řešeních vyžaduje virtualizace síťových prvků nový přístup k síťové architektuře, jelikož virtualizace mění nedělené prostřední na dynamický model. V cloudových datových centrech vznikají větší nároky na změnu velikosti, škálovatelnost a dynamické vlastnosti. Nároky převyšující možnosti klasických hardwarově založených síťových komponent a tak se otevírají pro ně nové možnosti. Cumulus Linux se může vydávat za hardwarovou L2 bránu pro umožnění vysokého výkonu požadovaného pro pracovní vytížení s výhodami technologie VXLAN. Oddělení hardwaru přepínače a operačního systémového softwaru poskytuje základ pro softwarově definované datové centrum. Tím, že je inteligence oddělena do softwarové části a veškeré řízení změn se vyskytuje v logické vrstvě, je Cumulus Linux schopen řídit obrovská datová centra ekonomicky a s efektivností. Mezi partnery patří například OpenContrails, Nuage Networks, VMware NSX a další. 3.4 Směrování Cumulus Linux umožňuje samozřejmě i routování na přepínačích. Za zmínku ještě stojí, že Cumulus Linux obsahuje BIRD (open-source routovací daemon implementující routovací protokoly BGP, OSPF a RIP) a hlavně Quaggu, tady open-source směrovací softwarovou sadu, poskytující směrovací protokoly pro dynamické routování. Cumulus Linux podporuje nejnovější verzi Quaggy, 0.99.23.1. Quagga je větví projektu GNU Zebra a poskytuje mnoho směrovacích protokolů, z nichž Cumulus Linux podporuje následující: Open Shortest Path First ( v2 a v3 ) Border Gateway Protocol 3.5 Monitorování Jelikož infrastruktura síťových prvků a typické sítě jsou zdrojem spousty informací, můžeme pomocí Cumulus Linuxu tyto informace sbírat, zpracovávat a vyhodnocovat. V důsledku toho pak můžeme danou síť upravovat a nastavit tak samo léčící, proaktivní síť, což je ideální scénář pro každého síťového architekta. Otevřený rámec Cumulus Linuxu vytváří velmi transparentní a snadnou platformu pro spolupracující partnery a potencionální zákazníky k využívání agentů třetích stran. Existují různé mechanismy pro extrakci provozních dat pomocí přímo Cumulus Linuxu, případně NetSNMP, sflow, Ganglia, sysdig atd. Pro Cumulus Linux existuje například funkce, jako je Perscriptive Topology Manager (PTM), která pomáhá snižovat manuální chyby, ověřuje připojení kabeláže a zvyšuje provozní jednoduchost. Funkcionalita Monitorování v Cumulus Linuxu obsahuje: Tradiční monitoring s SNMPv2/v3 a specifické MIB sítě, analýzu pomocí ERSPAN, SPAN, ACL-based counters, optická data DOM, tepelné senzory a využití vyrovnávací paměti zpráv. Řešení problémů s dnsutils, syslog, dosažitelnost nástrojů, hardwaru zásob, log soubory, serverstyle souborový systém. Pokročilé řešení potíží a snadnost použití s Perscriptive Topology Manager květen 2015 5/9
4 Open Network Install Environment (ONIE) Otevřené síťové instalační prostředí (ONIE) je síťová instalace operačního systému do tzv. whitebox (taktéž bare metal) switchů, které neobsahují od základu žádný operační systém. V překladu bare metal znamená něco jako holé železo. Tyto bare metal switche dodává několik výrobců právě pro nahrání vybraného operačního systému. ONIE je malý operační systém založený taktéž na Linuxu, který nabootuje switch, objeví síťový instalační image dostupný v lokální síti, přenese jej na switch a poskytne prostředí pro instalaci, aby z image mohl být nahrán operační systém do přepínače. ONIE v současné době používá několik dodavatelů a získává stále větší oblíbenost. ONIE byl v červnu roku 2014 přijat do iniciativy Open Compute Project. 4.1 Výhody ONIE Velkou výhodou ONIE je volba. Řekněme, že si firma nainstaluje nějaký operační systém do svého bare metal přepínače, užívá ho nějakou dobu a poté se rozhodne, třeba kvůli nějaké změně, že musí operační systém změnit. Jednoduše přeinstalací změní operační systém a switch může začít pracovat. Není tak vázána na daný síťový prvek, nemusí tedy kupovat nový switch splňující požadavky k nasazení nového operačního systému, nebo řešit případné úpravy v dané infrastruktuře. Dalším důležitým aspektem je, že ONIE dovoluje výrobcům soustředění přímo na switche a jejich operační systémy a nestěžovat jim práci tím, že budou muset řešit drobnosti v nahrávání síťových operačních systémů na konkrétní switch platformu. ONIE nám tak umožnuje otevřenost ve světě whitebox přepínačů. 4.2 Seznam výrobců zařízení podporující Cumulus Linux Výrobce Model Minimální verze Minimální verze Výrobce Model Cumulus Linuxu Cumulus Linuxu Dell S6000-ON 2.1.0 Edge-Core AS6701-32X 2.0.1 Dell S4810-ON 2.0.2 PenguinComputing Arctica 3200XLP 2.2.1 Dell S4048-ON 2.5.1 Quantaqct BMST5032-LY6 2.1.0 HP Altoline 6701 2.5.2 Agema System AG-7448CU 1.5.0 HP Altoline 5610 2.5.2 Super Micro X3648S 2.5.2 Kompletní seznam výrobců a jejich zařízení podporující Cumulus Linux je uveden ve zdrojích. 5 Ukázka prvotní instalace Velice jednoduchá instalace Cumulus Linuxu na Dell PowerConnect S4810 Switch s defaultně nastaveným ONIE bude vypadat takto (bereme v potaz, že máme bare metal switch s podporou ONIE) Budeme potřebovat funkční dhcp a http server s kopií image Cumulus Linuxu: # ls /var/www/html CumulusLinux-2.5.0-powerpc.bin onie-installer-powerpc onie-installer-powerpc je symbolický odkaz k souboru s příponou.bin. Podle symbolického odkazu ONIE identifikuje image ke stáhnutí. květen 2015 6/9
Příklad konfigurace dhcp serveru subnet 172.0.24.0 netmask 255.255.255.0 { range 172.0.24.20 172.0.24.200; option default-url = "http://172.0.24.14/onie-installer"; } Po zapnutí a připojení kabelu probíhá instalace následovně: 1. Bare metal switch se nabootuje a zeptá se na adresu (DHCP požadavek) 2. DHCP příjme požadavek a odpoví s DHCP možností 114 a umístěním, kde se nachází instalace image Cumulus Linuxu. 3. ONIE automaticky stáhne binární obraz disku, nainstaluje ho a restartuje se zařízení 4. Pokud vše proběhne úspěšně, Cumulus Linux je nainstalován. Cumulus Linux jde samozřejmě nainstalovat i jinými možnostmi, např. pomocí FTP, lokálního umístění instalačního souboru, případně instalace z USB. Uvedu ještě příklad bez možnosti DHCP: 1. Připojíme se například pomocí notebooku a na bare metal switchi musíme vypnout discovery mode, jinak by ONIE nemuselo pracovat korektně: onie# onie-discovery-stop 2. Přiřadíme pomoci onie statickou ip adresu ONIE:/ #ip addr add 10.0.1.252/24 dev eth0 3. Umístíme instalační image Cumulus Linuxu do složky na webové serveru. 4. Spustíme onie-nos-install příkaz manuálně: ONIE:/ #onie-nos-install http://10.0.1.251/path/to/cumulus-install-powerpc.bin květen 2015 7/9
5.1 Nahrání licence Výstup konzole po zapnutí přepínače Dell S6000 se zapnutým ONIE Po nainstalování při prvotním spuštění není načtená licence, po chvilce nahrávání se objeví příkazový řádek se zobrazenou výzvou o přihlášení K samotnému nahrání licence použijeme příkaz sudo cl-license i a dále se řídíme instrukcemi na obrazovce. Musíme akceptovat podmínky licence a následně restartovat switch pod superuserem příkazem reboot. Po restartu bude licence aplikována. květen 2015 8/9
6 Použité zdroje [1] ONIE - Úvodní stránka [online]. [cit. 2015-05-10]. Dostupné z: http://onie.org/ [2] ONIE Instalace Cumulus Linuxu [online]. [cit. 2015-05-10]. Dostupné z: https://support.cumulusnetworks.com/hc/en-us/articles/203771426-using-onie-to-install-cumulus- Linux [3] ONIE - Popis [online]. [cit. 2015-05-10]. Dostupné z:http://ethancbanks.com/2014/07/17/what-isonie-open-network-install-environment/ [4] Cumulus Linux Hardwarová kompatibilita [online]. [cit. 2015-05-10]. Dostupné z:http://cumulusnetworks.com/support/linux-hardware-compatibility-list/ [5] Cumulus Linux Historie [online]. [cit. 2015-05-10]. Dostupné z: http://en.wikipedia.org/wiki/cumulus_networks [6] Cumulus Linux Cenová nabídka Dellu [online]. [cit. 2015-05-10]. Dostupné z: http://accessories.euro.dell.com/sna/productdetail.aspx?c=cz&l=cs&s=dhs&cs=czdhs1&sku=a7722316 [7] Architektura - Cumulus Linux [online]. [cit. 2015-05-10]. Dostupné z: http://cumulusnetworks.com/support/overview/# [8] Licence Dell S6000 [online]. [cit. 2015-05-10]. Dostupné z: http://humairahmed.com/blog/?p=7820 květen 2015 9/9