Hlavní navigace

Debian Lenny a stavba výpočetního clusteru

Jiří Pech

Tento článek popisuje cestu, která vedla k vytvoření fungujícího clusteru za pomoci operačního systému Debian Lenny na Ústavu molekulární biologie rostlin Biologického centra Akademie věd ČR. Je zde zdůvodněn výběr tohoto řešení a každý, kdo by se chtěl o linuxový cluster sám pokusit, zde nalezne cenné rady.

Proč cluster?

Velmi pěknou definici clusteru podává Wikipedie. Bohužel zde není uveden autor nebo původní zdroj tohoto textu. Zde bych měl asi podotknout, že v našem případě se jednalo o cluster výpočetní. Hned na začátku musím vysvětlit, proč jsme se pouštěli do stavby clusteru. Dnes častý argument proti clusterům je, že je levnější (a hlavně jednodušší) nakoupit jeden výkonný počítač, než se pouštět do stavby clusteru z několika slabších počítačů. To bohužel nebylo v našem případě možné, protože jsme státní organizace a nebylo možné koupit počítač přes 40 000 Kč (aby to nebyl základní prostředek). Naopak jsme mohli nakoupit několik počítačů v ceně pod 40 000 Kč. Za tuto cenu jsme pořídili 4 počítače se čtyř-jádrovými procesory Intel Xeon a 16 GB RAM a dále jsme již měli k dispozici jeden počítač o něco slabší a jeden o něco silnější (ten se stal Masterem). Tedy ideální situace pro sestrojení clusteru.

Důležité pojmy a topologie clusteru

Nyní se seznámíme s některými dále použitými pojmy z topologie clusterů:

Master
Řídící počítač clusteru. Na něm běží různé služby, jako např. NFS, LDAP, DHCP, DNS a dále serverové části programů pro paralelizaci výpočtů. Obvykle se neúčastní samotných výpočtů, pouze úlohu rozděluje pro jednotlivé uzly.
Nod
Jednotlivé výpočetní uzly clusteru.

Než začnete s realizací clusteru, měli byste se rozhodnout pro jednu z dvou topologií (Obrázky 1 a 2).

Výhodou první topologie je vyšší propustnost a tím i rychlejší výpočty. Nevýhodou je obtížný (anebo nemožný) přístup zvenčí přímo k jednotlivým nodům. U druhé topologie je tomu naopak.

Ještě bych zde měl uvést, že dvě základní metody paralelizace výpočtů jsou PVM a MPI.

Topologie

Naše první pokusy

Na počátku jsme řešili výběr vhodné technologie pro sestrojení clusteru. Zjistili jsme, že existují dva otevřené projekty, a to openMosix a Beowulf, a jedno komplexní řešení Rocks Clusters, založené na distribuci CentOS. Popis sestavení clusteru Beowulf mi přišel poměrně složitý (pravděpodobně se mnou nebudou někteří souhlasit), a proto jsme se rozhodli pro řešení openMosix na Gentoo. Bohužel když jsme chtěli k realizaci přistoupit, objevila se na jeho www stránkách zpráva o ukončení tohoto projektu.

Proto jsme nakonec přistoupili k realizaci clusteru pomocí distribuce Rocks Clusters ve verzi 4.3. Tento cluster jsme také úspěšně sestavili, přičemž jsem použili topologii z obrázku 1. Bohužel tento cluster nesplňoval všechny naše požadavky (například nefungovala technologie PVM a byly problémy i s mpi). Rovněž jsme zjistili, že dokumentace ze serveru Rocks Clusters je hodně nepřesná a zavádějící (obsahuje zřetelně i takové informace a nastavení z původních verzí, které již neplatí). Proto jsme po zveřejnění verze 5.0 přistoupili k přeinstalování clusteru. Bohužel u Rocks Clusteru není možný upgrade a při přechodu na novější verzi je nutné cluster přeinstalovat. Verze 5.0 však pro nás byla zklamáním. Nejen, že nebyly opraveny chyby, ale navíc po nějaké době přestal být z jednotlivých uzlů „vidět internet“, což byl problém např. při doinstalovávání modulů do Perlu. Dali jsme této distribuci ještě jednu šanci a hned po vydání verze 5.1 jsme přistoupili k její instalaci. Tuto verzi však považuji za naprostý propadák. Obsahuje fatální chyby v instalačních skriptech a není možné ji nainstalovat bez úpravy těchto instalačních skriptů. Obsahuje také všechny již popsané chyby, včetně zmatečné dokumentace. Při hledání v diskuzních skupinách jsme navíc narazili na skutečnost, že stejné problémy popisují i jiní uživatelé.

Za této situace jsme se již rozhodovali o ukončení pokusů o linuxový cluster, když jsme objevili informaci, že na Filipínách byl sestrojen cluster pro předpověď počasí s operačním systémem Debian Linux. Po krátkém hledání jsme objevili stránky Debian Clusters a rozhodli se pro sestrojení obdobného clusteru. Sestavení tohoto clusteru popíši v dalším textu.

Projekt Debian Clusters a jeho instalace

První, co asi upoutá návštěvníka stránek projektu Debian Clusters for Education and Research: The Missing Manual, je stáří stránek. Poslední změna zde proběhla před více než rokem. Předpokládám, že je to dáno tím, že autoři těchto webových stránek je vytvářeli tak, jak jejich projekt vznikal a po jeho dokončení je přestali vyvíjet. Předpokládám, že se k nim vrátí při tvorbě dalšího clusteru, neboť některé věci jsou již zastaralé. Přesto není třeba se obávat, cluster lze dle tohoto postupu jednoduše vytvořit, avšak je nutné počítat s možností, že bude nutné vyhledat nějaký problém v diskuzních skupinách, zejména pokud použijete novější verze programů. Já sám jsem se k tomuto kroku musel několikrát uchýlit, ale myslím, že na vině mohla být i moje neznalost některých základních postupů a řešení.

Problémem tohoto řešení je nutnost kompilace některých programů a úprava linuxového jádra. Z toho vyplývá i pozdější obtížná aktualizace systému. Pokud totiž zaktualizujete některé knihovny, na kterých jsou závislé přeložené programy, můžete způsobit nefunkčnost těchto programů.

Ve všech případech, kdy bylo nutné nějaký program přeložit, jsem se snažil stáhnout z domovských stránek tohoto programu co nejnovější verzi a tu pak použít. Pouze jádro, na které je nutné aplikovat patch perfctr, jsem musel použít 2.6.26, novější mi nešlo přeložit. Testoval jsem to na jádrech 2.6.27 a 2.6.30-rc (přesné verze si již nepamatuji).

Ostatní postupy fungovaly velmi dobře, pouze LDAP jsem instaloval podle jiného návodu, neboť zde uvedený postup zřetelně popisuje nějakou starší verzi. DHCP a DNS jsem nepotřeboval, tudíž tuto část návodu nemohu posoudit. Klonování nodů podle zveřejněného návodu mi také nefungovalo, zřejmě jsem dělal nějakou chybu, proto jsem použil kopírování pomocí image disku.

Současná topologie našeho clusteru je zobrazena na následujícím obrázku. Master má dvě síťové karty, na jedné je připojen do sítě a na druhé je připojeno diskové pole.

Finální řešení

Závěr

Přes uvedené výtky a zkušenosti mohu tvorbu clusteru pomocí tohoto postupu doporučit. Připravte se na to, že pokud budete chtít použít novější verze použitých programů, budete si možná muset najít řešení některých problémů na Internetu, ale neměl by to být problém. Máte-li možnost opatřit si větší množství slabších počítačů, tak toto je cesta, jak z nich vytvořit výkonnou výpočetní jednotku.

V příští části si povíme něco o zkušenostech z nasazení a programech, které využíváme.

Našli jste v článku chybu?

7. 9. 2009 9:36

Z článku je zřejmé, že o instalaci se pokoušel člověk, který je především koncovým uživatelem aplikací. Problémy, které při tom zažíval, jsou do značné míry identické s problémy, které zažívá obyčejný uživatel, pokud se snaží nainstalovat Linux a trochu se v něm zabydlet podle svého.

Pro hraní s clusterem je podle mého optimální, když správce, který cluster instaluje a provozuje, Linuxu trochu více rozumí „pod kapotou“. V ideálním případě by měl umět trochu Cčko a neměl by mít zábrany zkompilov…

7. 9. 2009 15:51

Pokud to bude na IPv6 tak klidně :-) Na IPv4 mi tohle přijde jako klasický případ technologické vnitřní sítě, u které by bylo veřejné číslování vysloveně plýtváním. Plýtváním, které voní dávnými zlatými časy.

Jinak jsem měl pocit, že výpočetní cluster je v podstatě takový back-end, na který není potřeba lézt přímo zvenčí. Čekal bych, že práce se zadává masteru. Potažmo běžný uživatel bude mít potřebu bavit se přímo hlavně (možná výhradně) s masterem. Když jednotlivé diskless pracanty schováte z…

DigiZone.cz: R2B2 a Hybrid uzavřely partnerství

R2B2 a Hybrid uzavřely partnerství

Root.cz: Nová třída SD karet A1 s vysokým výkonem

Nová třída SD karet A1 s vysokým výkonem

DigiZone.cz: V Plzni odstartovalo Radio 1

V Plzni odstartovalo Radio 1

Měšec.cz: Exekuční poradna: ptejte se online

Exekuční poradna: ptejte se online

DigiZone.cz: SES zajistí HD pro M7 Group

SES zajistí HD pro M7 Group

120na80.cz: Horní cesty dýchací. Zkuste fytofarmaka

Horní cesty dýchací. Zkuste fytofarmaka

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Podnikatel.cz: E-Ježíšek si zařádí: nákupy od 2 do 5 tisíc

E-Ježíšek si zařádí: nákupy od 2 do 5 tisíc

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

DigiZone.cz: Sat novinky: slovenská TV8 HD i ruský NTV Mir

Sat novinky: slovenská TV8 HD i ruský NTV Mir

Podnikatel.cz: Vládu obejde, kvůli EET rovnou do sněmovny

Vládu obejde, kvůli EET rovnou do sněmovny

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Měšec.cz: Za palivo zaplatíte mobilem (TEST)

Za palivo zaplatíte mobilem (TEST)

Podnikatel.cz: Chtějte údaje k dani z nemovitostí do mailu

Chtějte údaje k dani z nemovitostí do mailu

Vitalia.cz: Proč vás každý zubař posílá na dentální hygienu

Proč vás každý zubař posílá na dentální hygienu

Lupa.cz: Obchod budoucnosti je bez front, košíků i pokladen

Obchod budoucnosti je bez front, košíků i pokladen

120na80.cz: 5 nejčastějších mýtů o kondomech

5 nejčastějších mýtů o kondomech