Dneska je to trošku pro ajťáky. Rybák zvládá naši infrastrukturu udržovat, opravovat v dobách krize (viz loňský odešlý router během startu) a také rozvíjet. A o tom je jeho dnešní článek, který dokazuje, že o tom umí i zajímavě napsat, což si nemyslí. Prý mu to psaní trvalo 2x tak dlouho, co konfigurace toho HA clusteru. Ale moc mu to nevěřím. :)
… kobylek přibývalo a po 2. ročníku nám bylo jasné, že bez podpory výpočetní techniky neobejdeme. Ruku k dílu tedy přiložil Jaromír a vznikla Kobylkoaplikace, která nám pomáhá držet pohromadě a organizovat všechny informace o závodnících. Umí toho dnes už opravdu hodně, tady je lehký výčet toho hlavního: registrace týmů, jejich editace – dnes už přímo účastníkem, automatické párování plateb, registraci náhradníků a jejich informování o uvolněných místech, prezenci týmů na místě, průběžné zobrazování výsledků, výpočet konečných výsledků nebo zobrazení výsledků předchozích ročníků. Pokud by byl zájem, umíme tu aplikaci nabídnout i jiným závodům.
Jak se naše využití výpočetní techniky zvyšovalo, vznikla potřeba vybudovat v místě závodu infrastrukturu která by zajistila přístup do Kobylkoaplikace z několika počítačů organizátorů současně a prostřednictvím Wi-Fi umožnila učastníkům závodu on-line přístup ke startovce a výsledkům. Píšu vzletně infrastruktura, nicméně to, co používáme se zase tak moc neliší od domácí sítě, kterou má doma téměř každý. V jedné věci je ale jedinečná a to je jméno – říkáme jí Kobylkosíť. Na logické úrovni se jedná o dvě IP sitě – jedna určena pro připojení notebooků a zařízení organizátorů a druhá určená pro Wi-Fi připojení zařízení závodníků či ostatních sledujících. Kde jsou dvě spojené sítě, musí být router a Kobylkosíť není výjimkou. Uprostřed ale netrůní jen tak nějaký obyčejný router. Je to Kobylkorouter.
První Kobylkorouter připomínal spíš výrobek osoby, která na tom není po mentální stránce nejlépe. Použil jsem základní desku RouterBoard RB493 do které jsem přidal tři 2.4GHz WiFi adaptéry – aby bylo možné připojit co nejvíce bezdrátových zařízení. Bohužel se to kvůli dotyčným adaptérům nevešlo do žádné dostupné krabice a museli jsme ho provozovat otevřený. Z desky jsem s pocitem určitého zadostiučinění smazal software se kterým byla dodána a kterému jsem nikdy nepřišel na chuť a místo něj nainstaloval OpenWRT – distribuci Linuxu určenou právě pro tyto malé zařízení. To mi dalo svobodu zkonfigurovat vše přesně podle našich potřeb.
Po pár letech začal první Kobylkorouter nějak haprovat, tak přišel čas na výměnu – shodou okolností jsem zrovna tou dobou získal možnost půjčovat si vysoce výkonné Wi-Fi access pointy Ruckus Wireless R600 a tudíž jsem rád z routeru oddělil WiFi funkcionalitu a pro vlastní Kobylkorouter jsem použil menší desku RB450G. Software opět OpenWRT, jen o pár releasů novější.
Tento Kobylkorouter jsme používali ke všeobecné spokojenosti do minulého ročníku Kobylek, kdy v situaci, kdy cca 2/3 účastníků bylo již na trati a zbytek čekal na startu, až na ně přijde řada, prostě chcípl. Nechci se tu rozepisovat o tom, jak jsem to vyřešil, protože by to vypadalo jako samochvála a tak radši skočme do současnosti, kdy jsme od našeho váženého sponzora CZ.NIC výhodně pořídili dva exempláře velmi zajímavého modulárního routeru Turris MOX. V předchozí větě je kromě sousloví “výhodně pořídili” ještě velmi důležitá ta číslovka “dva” – napadlo mě, že když máme k dispozici dvě identická zařízení, můžu z nich udělat takzvaný HA cluster. To HA je zkrácené High-Availibility čiliže “vysoce dostupný” což v našem případě znamená, že jedno zařízení normálně pracuje a dělá vše, co router má dělat, zatímco druhé zařízení monitoruje co dělá první a v případě, že první zařízení přestane fungovat, druhé převezme jeho funkci a celá síť normálně funguje dál jakožebynic.
Vzhledem k tomu, že MOX je dodáván již s nainstalovaným OpenWRT, zbývalo už jen jít s chutí do toho. No, chuť jít do toho se bohužel dost přeceňuje, půl rozhodně hotovo nebylo…stálo mě to trochu vztekání, ale nakonec jsem to prostřelil, takže třetí Kobylkorouter nás určitě ve štychu nenechá. Nechci nudit zacházením do podrobností, takže pro ty, koho to zaujalo, pouze pár směrovek:
– pro řízení clusteru jsem použil software keepalived
– o synchronizaci stavových tabulek IP filtru se stará conntrackd
– jako DHCP server jsem použil ISC dhcpd, který je zkonfigurovaný tak, aby si instance vyměňovaly informace o přidělených IP adresách – předejde se tak duplicitě adres v případě failoveru.
Tak co myslíte, proběhne letos start, výpočet výsledků a vyhlášení hladce? Já tomu teda věřím! :)
Ahoj Rybáku, no konečně pořádné a zajímavé téma ! To jsou stále jen nějaká (nová) kola, (prý již nemoderní) rohy, taštičky zakrývající logo, lampiónky, polévání jakýchsi map slivovicí (škoda jí, je moc dobrá !) … a pro ajťáky nic :)
Pěkná práce i řešení, klobouk dolů. Až budeš potřebovat připojit nějaké diskové pole, dej vědět :-D
Ať to šlape !
(Kačo)Myšák*