Open Network Linux
Směrované a přepínané sítě
Jiří Macek (MAC0378)
[email protected]
Obsah 1.
Úvod ................................................................................................................................... 2
2.
Open Network Linux .......................................................................................................... 3
2.1.
„bare metal“ switche ....................................................................................................... 5
2.2.
Licence ............................................................................................................................ 7
3.
Instalace .............................................................................................................................. 7
4.
Bootování ........................................................................................................................... 8
5.
Závěr ................................................................................................................................... 9
6.
Rejstřík obrázků ............................................................................................................... 10
7.
Zdroje: .............................................................................................................................. 11
1
1. Úvod Moderní svět je dnes uspěchaný. Tak i oblast informačních technologií se rozvíjí velmi rychle a nabírá vysokých obrátek. Svět informačních technologií se rozvíjí velmi rychle, tak že každý administrátor, či uživatel se musí učit téměř denně nové věci. Nemusí jít vždy o oblast hardwaru. Softwarová část je pro většinu uživatelů daleko důležitější a to se nemusí jednat o základní programové vybavení, do kterého spadají operační systémy. Počítače nás obklopují denně, nalezneme je v automobilech, televizích, pračkách apod. Tak aby jej člověk mohl obsluhovat je zapotřebí operačního systému. Operační systémy pro síťové prvky dnes nejsou novinkou. Nejvýznamnější na trhu je mezinárodní korporace Cisco, která do svých zařízení instaluje svůj operační systém IOS. Podobně tomu je tak i u firmy HP, která do svých inteligentních zařízení převzala rovněž IOS. Nezůstává pozadu taktéž MikroTik se svým systémem RouterOS. Do některých zařízení firmy AirLive existoval alternativní firmware s názvem APpro. Jednalo se o malou linuxovou distribuci, která obsluhovala příslušný hardware. Alternativní operační systémy jsou občas rychlejší na chod celého zařízení a mnohdy nabízí i větší množství funkcí než některé operační systémy dodávané s příslušným zařízením. Bohužel aktivní síťové prvky pro, které je vlastní, či alternativní software bývají většinou určeny pro korporátní sektor a běžný uživatel si jej nemůže kvůli vysoké ceně dovolit.
2
2. Open Network Linux Vraťme se, ale zpět k úkolu. Mým úkolem bylo zjistit co nejvíce o operačním systému Open Network Linux. Open Network Linux je síťový operační systém, který je založen na Debianu. Avšak nejedná se o klasický operační systém pro servery, ale pro aktivní síťové komponenty, přesněji řečeno pro switche. Open Network Linux však není určen pro veškeré switche, nýbrž pouze pro tzv „bare metal“ switche. Open Network Linux není klasickou linuxovou distribucí. Do distribuce jsou zakomponovány specifické funkce pro „bare metal“ switche, které nejsou součástí klasických linuxových distribucí. Bare metal switche mají rozšířenou infrastrukturu díky jejich hardwaru včetně I2C sběrnic, GPIO's, SFP's, LEDky. Nezůstávají ani pozadu s teplotními čidly a aktivními chladicími prvky. Open Network Linux podporuje tyto platformy: • • •
x86 PowerPC x86 VM. Kromě podpory komerčních produktů, Open Network Linux byl původně vytvořen jako
základní referenční platforma pro kutily fandy a výzkumníky. Open Network Linux v současné době podporuje 12 různých open switch hardwarových platforem, základní L3 směrování, a také má agenta OpenFlow založenou na OF-DPA a projektu Indigo v průběhu.
Obrázek 1 – Popis funkčnost [Zdroj: http://opennetlinux.org]i
3
Obrázek 2 - Struktura OS [Zdroj: http://opennetlinux.org]
4
2.1.
„bare metal“ switche
Co to jsou vlastně „bare metal“ switche? Jedná se o speciální switche, kde si koncový zákazník kupuje hardware a software zvlášť. Jako koncový zákazník, mohu ovlivnit, jaký operační systém mohu pro své zařízení použít. Tak, abych jako administrátor mohl do svého zařízení nainstalovat libovolný operační systém, musím mít přístup do paměti flash, kde je operační systém uložen. Jelikož je tento systém otevřený umožňují tak uživatelům vytvářet nové systémy, které jsou více flexibilní, více škálovatelné, a účinnější.
Obrázek 3 - BMS switch [zdroj: https://bm-switch.com/]
Jak již bylo zmíněno Open Network Linux je určen pouze pro specifické zařízení. V níže uvedené tabulce je seznam podporovaného hardwaru, včetně jeho podpory a testování.
5
Quanta Device
Ports
CPU
Support Status
Forwarding
QuantaMesh T1048-LB9
48x1G + 4x10G P2020
Broadcom BCM56534 (Firebolt3)
Supported and Tested
QuantaMesh T1048-LB9A
48x1G + 4x10G P2020
Broadcom BCM56534 (Firebolt3)
Supported, no ONIE, not regularly tested
QuantaMesh T3048-LY2
48x10G + 4x40G
Broadcom BCM56846 (Trident+)
Supported and Tested
P2020
Accton/Edge-Core Device
Ports
CPU
Support Status
Forwarding
Accton AS4600-54T
48x1G + 4x10G P2020
Broadcom BCM56540 (Apollo2)
Supported and Tested
Accton AS5600-52X
48x10G + 4x40G
P2020
Broadcom BCM56846 (Trident+)
Supported and Tested
Accton AS5610-52X
48x10G + 4x40G
P2020
Broadcom BCM56846 (Trident+)
Supported and Tested
Accton AS5710-54X
48x10G + 6x40G
P2041
Broadcom BCM56854 (Trident2)
Supported and Tested
Accton AS6700-32X
32x40G
P2041
Broadcom BCM56850 (Trident2)
Supported and Tested
DNI/Agema Device AG-7448CU
Ports
CPU
48x10G + 4x40G
P2020
Support Status
Forwarding Broadcom BCM56845 (Trident)
Supported and Tested
Tabulka 1 – Podporovaný hardware pro Open Network Linux [zdroj: http://opennetlinux.org/hcl]
6
2.2.
Licence
Jak již název napovídá, jedná se dle „selského“ rozumu o linuxovou distribuci. Z pohledu licence je Open Network Linux veden jako klasický linux a včetně jádra podléhá licenci GNU/GPL.
3.
Instalace
Instalace Open Network Linuxu probíhá pomocí ONIE (Open Network Install Environment). ONIE je open source, který slouží rozšířený zavaděč s využitím zařízení v prostředí Linuxu. Jedná se o malý vlastní operační systém Linux, který umožňuje instalaci síťového operačního systému a zároveň slouží jako zavaděč.
• • •
Hlavní výhody ONIE: Kombinuje zavaděč a moderní jádro Linuxu Poskytuje prostředí pro instalaci síťového operačního systému Pomáhá spravovat switche tak jako bychom spravovali Linuxový server
Po stažení instalačního balíčku s Open Network Linuxem a jeho extrahování zjistíme, že archiv obsahuje soubor s příponou *.SWI (Switch Image). Ten obsahuje RootFS, kernel a Initrd. Druhým souborem je ISO obraz s loaderem, ten je obdobou zavaděče GRUB. Instalace obsahuje jádro verze 3.9.6. Instalaci lze provést taktéž pomocí protokolů: http, ftp, tftp, nfs, ssh/scp. Po instalaci balíčků máme nainstalován nový OS v našem aktivním prvku. Veškeré předpřipravené balíčky jsou taktéž dostupné na oficiálním webu.
7
4. Bootování 1. uBoot is the first level boot loader: http://www.denx.de/wiki/U-Boot 2. uBoot reads the 'nos_bootcmd' environmental variable from flash and runs the contents ('nos' is Network Operating System) 3. If $nos_boot_cmd returns, uBoot loads and runs ONIE (see below) to download the ONL installer and install the ONL loader a) The factory default $nos_boot_cmd is to a trival command that returned immediately, e.g., 'echo' 4. In normal operation, i.e., after ONIE has been run, $nos_boot_cmd is set to load and run the ONL Loader 5. The ONL loader boots its own Linux kernel (later, the "boot kernel") 6. The ONL loader decides which SWI to run based on the URL in the file /etc/SWI URL=cat /etc/SWI 7. The ONL loader runs /bin/boot $URL 8. The ONL loader retrieves the SWI file a) if the URL is remote (e.g., http://, ftp://, etc.), verify that there is a locally cached copy of the SWI in /mnt/flash2 or if not, download it b) if the URL is local, verify that the device is accessible c) if the URL is a Zero Touch Networking (ZTN) URL, the execute the ZTN protocol to get the SWI (see below) 9. The ONL loader reads the 'rootfs' file out of the SWI and mounts it using overlayfs1 10. The ONL loader called kexec() to switch to the kernel in the SWI and boots the main ONL kernel 11. The final ONL kernel is passed the ONIE platform identifier as a kernel parameter so that platform specific bindings can be loaded [1]
Obrázek 4 – Bootování [Zdroj: http://opennetlinux.org]
8
5. Závěr Open Network Linux je zajímavou variantou, kterou, lze použít pro „bare switche“. Tato varianta není na trhu však jediná. Open Network Linux je dva roky starý a stále se vyvíjí. Avšak webová prezentace firmy ve mně nevzbuzuje moc důvěry, neboť stránky i po dvou letech jsou stále v rekonstrukci. Dalším důvodem proč si tento operační systém nezvolit, je velmi malá rozšiřitelnost v sítích a nedostatečné informace na internetu. Na druhou stránkou proč si tento systém vybrat je svižnější chod celého zařízení, a správa zařízení v podobě linuxového serveru. Významné plus shledává i díky licenci cena, která je zdarma.
9
6. Rejstřík obrázků Obrázek 1 – Popis funkčnost [Zdroj: http://opennetlinux.org]i ................................................. 3 Obrázek 2 - Struktura OS [Zdroj: http://opennetlinux.org]........................................................ 4 Obrázek 3 - BMS switch [zdroj: https://bm-switch.com/] ......................................................... 5 Obrázek 4 – Bootování [Zdroj: http://opennetlinux.org] ........................................................... 8
10
7. Zdroje: [1o]
Open Network Linux [online]. 2014 [cit. 2015-05-01]. Dostupné z:
http://opennetlinux.org/docs/bootprocess [2o]
OCP_2014_eng_workshop.pdf [online]. 22.1. 2015. 2015 [cit. 2015-05-02].
Dostupné z: http://opennetlinux.org/OCP_2014_eng_workshop.pdf [3o]
Open Compute Project (OCP) Formally Accepts Open Network Linux (ONL) |
Big Switch Networks, Inc. [online]. [cit. 2015-05-05]. Dostupné z: http://www.bigswitch.com/press-releases/2015/03/10/open-compute-project-ocpformally-accepts-open-network-linux-onl
11