Cluster
Pavel Martinec 4.A
Cluster
Pavel Martinec 4.A
Zadání projektu Zadání: Analýza problémů clusterování, podle zjištěných údajů student otestuje jednotlivá řešení na reálném clusteru.
Účel projektu: Vytvoření pracovního prostředí pro případné pokračování v projektu budoucím studentem. Vytvoření učební pomůcky pro následující ročníky.
Výstup (výstupy) projektu: 1) Zařízení samo o sobě, funkční v rozmezí kladně zanalyzovaných a sestavených moţností 2) Technická dokumentace 3) Návod krok za krokem jak vytvořit vlastní cluster 4) Prezentace pro obhajobu
Obsah: (rozepsané úkoly) 1) 2) 3) 4) 5) 6) 7)
Proveďte analýzu problému a navrhněte postupy pro splnění zadání Sestavte harmonogram prací a hodnotící list s bodovanými úkoly Proveďte vlastní řešení projektu dle schváleného harmonogramu Proveďte závěrečné zhodnocení projektu Odevzdejte závěrečnou zprávu ve formě dokumentu v programu Word Odevzdejte prezentaci projektu v programu PowerPoint Proveďte veřejnou prezentaci svého projektu
Maturitní projekt bude mít teoretickou a praktickou část. V teoretické části odevzdáte vytištěnou závěrečnou zprávu a případné další výstupy, plynoucí z vašeho projektu. Závěrečná zpráva, podklady pro prezentaci a případné další výstupy budou rovněţ na připojeném nosiči CD. Součástí projektu je závěrečná veřejná prezentace projektu před třídou a dalšími návštěvníky prezentace. V praktické části budete svůj projekt obhajovat před maturitní komisí.
V Praze dne ………………………
………..…………………………………… Podpis garanta projektu
Cluster
Pavel Martinec 4.A
Hodnocení maturitní práce Poloţka:
Termín: šk.týden
Datum:
Úvod do PRO, pravidla PRO
3./37.
12. 9.
Zadání projektu
4./38.
19. 9.
Kontrola zadání projektu
5./39.
26. 9.
Příprava analýzy
6./40
3. 10.
Analýza
7./41.
10. 10.
Příprava harmonogramu
8./42.
17. 10.
Harmonogram
9./43.
24. 10.
Zjišťování zdrojů pro nákup
10./44.
31. 10.
Zjišťování zdrojů pro nákup
11./45.
7. 11.
Hledání / porovnávání nabídek
12./46.
14. 11.
Hledání / porovnávání nabídek
13./47.
21. 11.
Hledání / porovnávání nabídek
14./48.
28. 11.
Hledání / porovnávání nabídek
15./49.
5. 12.
Hledání / porovnávání nabídek – Výsledná zpráva, zvolení prodejce
16./50.
16. 12.
5 bodů
Koupě serveru
17./51.
22. 12.
10 bodů
Vánoční prázdniny
18./52.
26. 12.
Uvedení serverů do provozu a případný Servisní zásah
19./1.
2. 1.
Pololetní klasifikace
20./2.
9. 1.
Pololetní klasifikace
21./3.
16. 1.
Osazení systémem Windows a Zapojení do clusteru
22./4.
27. 1.
Výběr distribuce Linux
23./5.
30. 1.
Jarní prázdniny
24./6.
8. 2.
Osazení systémem Linux a zapojení do clusteru
25./7.
13. 2.
10 bodů
Manuál k vytvoření clusteru
26./8.
20. 2.
15 bodů
Kompilace testovacího Programu
27./9.
27. 2.
10 bodů
Vytvoření plakátu
28./10.
5. 3.
5 bodů
Testování výkonu clusteru, zpráva o testování
29./11.
12. 3.
10 bodů
Odevzdání projektu a závěrečné zprávy
30./12.
19. 3.
5 bodů
Třičtvrtěletní klasifikace
31./13.
26. 3.
Třičtvrtěletní klasifikace
32./14.
2. 4.
Prezentace projektu
33./15.
9. 4.
Prezentace projektu
34./16.
16. 4.
Příprava obhajoby projektu
35./17.
23. 4.
Příprava obhajoby projektu
36./18.
30. 4.
Celkem bodů za průběţnou práci
Maximální zisk bodů:
Hodnocení (Počet bodů):
poznámka
praxe
5 bodů
5 bodů
podzimní prázdniny
10 bodů
Velikonoční pondělí 10 bodů
100
Celkové hodnocení:
94 - 100 bodů ------- výborný 85 - 93 bodů ------- chvalitebný 71 - 84 bodů ------- dobrý 51 - 70 bodů ------- dostatečný 0 - 50 bodů ------- nedostatečný Pokud ţák neřeší libovolný bod, je práce hodnocena jako nedostatečná.
Hodnocení 2/IV ……………………………………
Hodnocení 3/IV …………………………………
Hodnocení 4/IV …………………………………
podpis garanta:………………………………….
Cluster
Pavel Martinec 4.A
Čestné prohlášení Prohlašuji, ţe jsem maturitní práci vypracoval samostatně pod vedením garanta ………………………………….. a konzultanta ………………………… V práci jsem pouţil informační zdroje uvedené v seznamu pouţité literatury a internetových stránek.
V Praze dne ………………………
………..…………………………………… Podpis studenta
Cluster
Pavel Martinec 4.A
Anotace Cluster Ve třetím ročníku jsou studenti seznamování s různými operačními systémy, serverech a o moţnostech operačních systémů právě na nich. Jedna z poznámek u výčtu funkcí serverového systému bylo „clusterování“, coţ znamená propojení více výpočetních jednotek pomocí lokální sítě (LAN) do jednoho vysoce výkonného celku, nebo do celku s vysokou dostupností. A protoţe se zajímám o vysoce výkonné počítače, toto téma se mi velmi líbilo. Mým úkolem bylo zjistit moţnosti clusterování, sesbírat potřebná data a prověřit různá moţnosti na reálném clusteru. Testované operační systémy byly (v naší oblasti nejrozšířenější) MS Windows a Linux. Testování jednotlivých řešení se se skládalo z instalace vybraného operačního systému, potřebných programů pro běh clusteru a konečného propojení počítačů. Nakonec jsem se pokusil o testování výkonu clusteru, a to nejen mezi clusterem a samostatnou jednotkou, ale i mezi jednotlivými operačními systémy. Další částí jsou dokumenty o získaných datech, postupu uţitém při testování a návody v případě úspěšně zrealizovaných moţnostech. Pokud jednotlivá řešení budou úspěšná, můţe projekt slouţit k propagaci školy na dnech otevřených dveří, či na jiných akcích.
Cluster
Pavel Martinec 4.A
Anotation Server Cluster In the third year students are taught about operating systems and servers. One of the notes in the feature list was „support clustering“. That means to connect more computers together (through the local area network), which will work as a very high performance or high available unit. As I like fast computers, this topic interests me very much. The task of the project is to analyze the possibilities in server clustering, gather data needed and try the solutions in real. Tested operating systems will be the most used in our area – Windows and Linux. Cluster is consisted of of installing the chosen system, required programs, and the attempt to connect servers together. Finally I tried to test the performance of my cluster and compared the performance testing results between both operating systems and between the cluster and a single unit. The second part is be the documentation about the gathered data , procedure of completion and testing, and the instruction list of successful solution. If the solution is successful, my project can be used as our school promotion.
Cluster
Pavel Martinec 4.A
Obsah OBSAH .......................................................................................................... 0 ANALÝZA ...................................................................................................... 2 Popis úkolu: .......................................................................................................................................... 2 Stávající stav ......................................................................................................................................... 2 Popis výběru prostředků vhodných pro řešení projektu .................................................................. 2 Server: ............................................................................................................................................... 2 Síť: ..................................................................................................................................................... 2 Software serverů: ............................................................................................................................... 2 Software pro měření: ......................................................................................................................... 3 Software pro zhotovení plakátu ......................................................................................................... 3 Popis výběru varianty řešení a výstupu ............................................................................................. 3 Návrh moţných variant – koupě serveru: .......................................................................................... 3 Volba pomocí tabulky – Nákup serveru (body: 10 nejlepší) ............................................................ 3 Zdůvodnění volby: ............................................................................................................................ 4 Návrh moţných variant – programy k tvorbě plakátu: ...................................................................... 4 Volba pomocí tabulky – Tvorba plakátu (body: 10 nejlepší) ........................................................... 4 Zdůvodnění volby: ............................................................................................................................ 5 Volba distribuce systému Linux ........................................................................................................ 5 Stanovení dílčích úkolů ........................................................................................................................ 5 Chronologický přehled úkolů ............................................................................................................ 5 Stručný popis dílčích úkolů ............................................................................................................... 5 Finanční rozvaha .................................................................................................................................. 6
VLASTNÍ ŘEŠENÍ PROJEKTU ..................................................................... 7 Výběr serverů a nákup serverů ........................................................................................................... 7 Parametry serverů .............................................................................................................................. 7 Zapojení do clusteru - Windows ......................................................................................................... 8 Shrnutí testování ................................................................................................................................ 9 Zapojení do clusteru – Linux .............................................................................................................10 Shrnutí testování ...............................................................................................................................11 Cluster – návod a správa ....................................................................................................................12 Cluster – kompilace testovacího programu ......................................................................................12 Shrnutí testování ...............................................................................................................................12 Cluster – Testování výkonu ................................................................................................................13
ZÁVĚR ..........................................................................................................14
0
Cluster
Pavel Martinec 4.A
SEZNAM ZDROJŮ .......................................................................................15 SEZNAM PŘÍLOH ........................................................................................16
1
Cluster
Pavel Martinec 4.A
Analýza Popis úkolu: Úkolem je zjistit moţnosti clusterování dát dohromady jednotlivá řešení a ty pak otestovat na reálném zařízení, které se nazývá „CLUSTER“. Jedná se o seskupení dvou či více výpočetních jednotek, propojených ve své vlastní síti. Tyto počítače se poté pro své okolí jeví jako jeden celek s vysokým výkonem. Mým úkolem tedy bude všechna potřebná zařízení sehnat, případně upravit po hardwarové stránce, zařídit cluster po softwarové stránce a vše propojit. Jako poslední budou následovat testy clusteru jako důkaz funkčnosti. Výsledek mé práce je určen studentům jako učební pomůcka do hodin IT, a jako pracovní prostředí pro případného následníka mé práce, který můţe projekt dále rozvinout.
Stávající stav Ve škole nikdo ještě nikdo podobný projekt nedělal, vše bude dělané od základu. O základních krocích mám povědomí, veškeré detaily řešení však budu shánět během průběhu projektu. Na internetu jsou články věnující se dané problematice, z tohoto hlediska by problém být neměl, dále také znám pár lidí, co se věnují obecně serverům trochu více, tedy i ti by mohli eventuelně poradit.
Popis výběru prostředků vhodných pro řešení projektu Server: Zde je důleţitý poměr cena/výkon. Důleţitá je kvalita, ale zároveň je zde značný problém ze strany rozpočtu, proto je potřebný nějaký rozumný kompromis ze strany výkonu výpočetních jednotek.
Síť: K sestavení clusteru by měl postačit obyčejný switch, výběr switche bude proveden aţ podle zbylých finančních prostředků po nákupu serveru
Software serverů: Linux – freewarové řešení, ovšem o dost těţší na realizaci. Ještě nejsem rozhodnut, kterou distribuci zvolím, rozhodovat se budu podle dostupných článků s tímto tématem. Windows server – Placené řešení, mám ovšem slíbeny licence, takţe pokud nebude problém s dalším softwarem, servery budou schopny pracovat v obou prostředích Software pro propojení serverů do clusteru – závisí na zvoleném OS
2
Cluster
Pavel Martinec 4.A
Software pro měření: Závisí na tom, co konkrétně bude dostupné pro daný operační systém, v případě Linuxu se bude řešit kompatibilita s distribucí. Software pro zátěţ serveru nejspíše bude nutno napsat.
Software pro zhotovení plakátu -
Existuje mnoho grafických programů jako je Photoshop, Gimp, Corel a další
Popis výběru varianty řešení a výstupu Moţnost volby mám ve třech případech. Zaprvé je to nákup serverů, respektive zdroje, odkud bych mohl dané servery koupit. Druhá volba poté spočívá ve výběru nejlepšího programu pro vypracování plakátu a třetí moţností je volba konkrétní distribuce systému Linux.
Návrh možných variant – koupě serveru: 1) eBay (US) – eBay je celosvětový systém aukce. Lze nakupovat standardní metodou přihazování, existuje také moţnost“Kup teď“ za stanovenou cenu. V tomto případě by se jednalo o koupi serverů z Ameriky, přesněji z USA a Kanady. 2) eBay (GE) – jedna z mnoha lokalizací systému eBay, tentokrát pro Německo. Princip aukce je naprosto stejný. 3) Aukro – český aukční systém. Principielně se neliší od systému eBay, nicméně pod něj nespadá. 4) Obchody – tímto je myšleno nákup serverů z různých bazarů a podobně. 5) Soukromá inzerce – místa, kde si sami lidi podávají inzeráty o prodeji, jako jsou noviny, veřejná místa (např. samoobsluhy) nebo přímo webové portály zabývající se inzercí.
Volba pomocí tabulky – Nákup serveru (body: 10 nejlepší) eBay (US)
eBay (GE)
Aukro
Obchody
s. inzerce
Cena serveru
10
7
3
5
5
Poštovné
1
5
10
10
5
Ostatní výdaje
10
10
10
8
5
Stvrzenka
5
5
5
10
1
Kvalita
8
8
7
5
3
Jazyk
7
3
10
10
10
Výsledek
5.
4.
2.
1.
3.
3
Cluster
Pavel Martinec 4.A
Zdůvodnění volby: Vůbec prvním kritériem tohoto projektu je celková cena, tedy se na skládající se z ceny zařízení, ceny poštovného a balného a ceny ostatních výdajů, jako je případná cena cesty, pokud pro vybavení někam pocestuji. Z tohoto hlediska jsem posunul na poslední dvě příčky obě verze eBaye, kdy sice poměr cena/kvalita je bezkonkurenčně nejlepší, ale poštovné dosahuje velmi vysokých částek (obzvláště pak u eBaye pro Ameriku), a výsledná cena pak značně převyšuje částku, kterou budu mít k dispozici. Druhou příčinou je jazyk, preferuji české prostředí. Alternativa je právě německý eBay, tedy pokud by nakonec selhaly všechny zdroje zde v ČR, obrátil bych se právě sem. Jistá jazyková limita zde sice budou, ale s podporou překladačů nebo lidí němčinu ovládajících, bych byl schopen servery sehnat. Následujícím kritériem je moţnost stvrzenky, která je potřeba pro proplacení finanční podpory od SSPŠ. Jedinou téměř stoprocentní zárukou jsou v tomto případě obchody, bazary apod., v ostatních variantách by záleţelo na konkrétním prodávajícím. A na konec, ne však v poslední řadě, zde bude hrát roli kvalita, respektive poměr cena/výkon. Bylo by nejlepší sehnat samozřejmě co nejvýkonnější servery, nicméně zde opravdu záleţí na aktuální nabídce trhu. Je zde však jedno kritérium, které není v tabulce, protoţe nemá (nebo podle informací by neměl) mít vliv na funkčnost zařízení, nicméně by to bylo plus. Tímto kritériem je moţnost nákupu více stejných strojů (stejná značka, stejný HW, stejné parametry). Z těchto všech důvodů také není tabulkové pořadí definitivní. Pokud naleznu případ, kdy nejlepší podmínky poskytne nějaký jeden soukromý inzerent, poté není důvod nedat přednost koupi z tohoto zdroje, i kdyţ samotná varianta dopadla nejhůře ze všech českých moţností.
Návrh možných variant – programy k tvorbě plakátu: 1) Adobe Photoshop (trial) – jeden z nejvýkonnějších prostředků pro tvorbu grafiky. Nabízí velmi mnoho moţností, nicméně je placený, a není nikterak levný. 2) Gimp – freeware obdoba Photoshopu, nenabízí tolik moţností, nicméně ze všech programů se mu blíţí asi nejvíce. 3) Corel - vektorový editor, bohuţel placený, plakát bych musel tvořit ve škole. 4) Malování – program dodávaný s Windows, velice omezené moţnosti. Na samotné kreslení plakátu naprosto nevhodný. 5) Paint.NET - freeware nástroj pro kreslení a úpravu fotografií, obsahuje některé pokročilé funkce. 6) Inkscape – vektorový editor, freeware obdoba Corel Draw.
Volba pomocí tabulky – Tvorba plakátu (body: 10 nejlepší) Adobe (trial)
Photoshop
Gimp
Corel
Malování
Paint.NET
Inkscape
Dostupnost
10
10
5
10
10
10
Zkušenosti
3
2
6
10
0
1
Kvalita výsledku
10
8
4
1
5
4
Výsledek
1.
2
6.
5.
3.
4.
4
Cluster
Pavel Martinec 4.A
Zdůvodnění volby: Výsledná známka této tabulky je pouze symbolická. Vzhledem k tomu, ţe mi grafika nejde, a moje výsledky se zatím vţdy zakládaly na úpravě něčeho, co jiţ někdo vytvořil, bude plakát zhotovován kombinací všech, nebo většiny programů uvedených výše. Také předpokládám, ţe vyuţiji i pár pomocných volně dostupných programů, jako je Phantasmagoria 1.00 nebo Word Artist 1.2. Vzhledem k tomu, ţe celkovou podobu a konkrétní vyuţití prostředků právě v závislosti na podobě plakátu budu řešit aţ v průběhu vytváření plakátu, celkový seznam pouţitých aplikací bude sepsán aţ v závěrečné zprávě.
Volba distribuce systému Linux Bohuţel systém Linux není jednotný, existuje mnoho distribucí od různých společností, a to takové mnoţství, ţe nemá smysl uvádět tabulku. Navíc kaţdá distribuce má své vlastní programy, tudíţ volbu distribuce budu provádět aţ na základě internetových článků a po konzultaci s panem profesorem Bayerem.
Stanovení dílčích úkolů Chronologický přehled úkolů 1) 2) 3) 4) 5) 6) 7)
Koupě serverů Úprava, oprava k docílení plné funkčnosti Osazení operačním systémem Windows Osazení systémem Linux Zapojení serverů do clusteru pod systémem Windows Zapojení do clusteru pod systémem Linux Testování funkčnosti na obou systémech, porovnání výkonu mezi nimi
Stručný popis dílčích úkolů 1) Nákup serverů ze zdrojů podle výše uvedené tabulky 2) Pokud seţenu kvalitní server, ale třeba bez nějakých důleţitých komponentů, nebo
3) 4) 5) 6) 7)
s poškozenými komponenty, bude potřeba tyto komponenty opravit, nebo sehnat nové Instalace Windows Server na všechny servery, licence by měli být k dispozici Instalace vybrané distribuce Linuxu na všechny servery Nastavení programů pro clusterování a zapojení serverů do jednoho celku Instalace programů pro clusterování, jejich nastavení, případně potřebné dodatečné nastavení systému Linux a zapojení do jednoho celku Testování funkčnosti pomocí příslušných nástrojů, testování výkonu pomocí dostupných aplikací nebo popřípadě vlastní aplikace, za předpokladu nenalezení jiţ hotových aplikací
5
Cluster
Pavel Martinec 4.A
Finanční rozvaha Vzhledem k omezeným finančním prostředkům a poměrně vyššího mnoţství zařízení bude nutné sníţit nároky na kvalitu. Kvalitou se v tomto případě myslí hlavně výkon jednotlivých serverů, nikoliv kvalita ve smyslu funkčnosti. Celkový domluvený rozpočet by neměl přesáhnout 9000,-Kč. Ideální by bylo sehnat alespoň 3 servery, tedy jeden server by neměl přesáhnout cenu cca 2800,- Kč, aby zbylo i na případné další výdaje, jako je switch (pokud by nebyl k dispozici k zapůjčení), potřebné kabely nebo komponenty, které bude nutné dokoupit, pokud by server nebyl kompletní. Ostatní výdaje nepředpokládám, zařízení jako je klávesnice, myš, monitor atd. mám zaslíbeno od pana profesora Roţumberského.
6
Cluster
Pavel Martinec 4.A
Vlastní řešení projektu Výběr serverů a nákup serverů Základem projektu bylo sehnat správné vybavení. Protoţe výpočetní technika je poměrně drahá, zjišťoval jsem, zdali by nebylo moţné projekt zaloţit na vyřazených školních počítačích. Bohuţel, počítače, které by byly k dispozici, nesplňovaly výkonnostní parametry pro operační systémy, které na konečný cluster byly nahrány (slabé procesory, nedostatečná kapacita paměti RAM). Další sekundární myšlenkou bylo zařazení projektu do školní sbírky „exponátů“ vystavených při dnech otevřených dveří, coţ vyţaduje také nějakou úroveň vzhledu (aby to nebyly jen nějaké 3 obyčejné počítače kdesi v koutě) Z těchto důvodů jsem začal shánět přímo serverové typy počítačů. To znamená počítač s dostatečným výkonem a zároveň počítač uzpůsobený pro montáţ do „rackové skříně“ Tento krok byl poměrně náročný vzhledem k omezeným finančním prostředkům. Není problém koupit servery v hodnotě několika desítek tisíc korun. Můj původní předpokládaný rozpočet činil 8000-9000,- Kč. Bylo dohodnuto dělené financování se školou, 5000,- Kč činila dotace školy, zbylou částku jsem doplácel ze svých zdrojů. Dalším faktorem znesnadňujícím splnění tohoto bodu je fakt, ţe většina serverů, které by připadaly v úvahu, neměla pevné disky. Servery totiţ vyuţívají disky s rozhraním SCSI, které jsou na trhu více ceněny, takţe je prodejci vyndavají a prodávají servery bez nich. Nakonec jsem sehnal trojici bazarových serverů IBM x 345. Tyto servery nabízejí vynikající poměr cena/výkon, byly kompletní a téměř nepoškozené (pouze bylo potřeba upevnit plastová čela, původní plastové úchyty byly ulámány.
Parametry serverů Procesor: RAM: LAN: HDD: Provedení:
Intel Xeox Processor 2,9GHz (2 fyzické procesory) 1GB PC2100 DDR 2x onboard 1Gbit, 1x na kartě PCI-e 1Gbit 2x SCSI 18GB; 10000ot/min 2U
7
Cluster
Pavel Martinec 4.A
Zapojení do clusteru - Windows Jako první v pořadí jsem k instalaci zvolil operační systém MS Windows (první proto, abych se pak vyhnul problémům se zavaděči systému, které se nechovají vţdy tak, jak bychom potřebovali.) Původně jsem měl v plánu zapojit do clusteru 3 počítače. S instalací MS Windows jsem ale zjistil, ţe to nebude moţné. MS Windows jsou totiţ navrţeny tak, ţe počítače, které jsou zapojeny v clusteru musí být přihlášeny na doména účty (nikoliv na účty lokální, vytvořené při instalaci počítače). Musel jsem tedy obětovat výkon jednoho serveru pro instalaci sluţeb DHCP, DNS a Active Directory. Sluţba DHCP nám zajišťuje přidělování IP adres v rámci sítě, sluţba DNS nám překládá IP adresy na doménové názvy (například místo adresy 77.75.76.3 můţeme napsat „seznam.cz“) a Active directory je nástroj pro správu domény vedení a správu doménových účtů. Pro názornost přiloţím grafické náčrty: Takto jsem předpokládal, ţe bude moţno cluster zapojit: Slovníček pojmů: Router: zařízení, které na základě IP adres směruje data v síti. Obvykle na něm běţí protokol DHCP přidělující IP adresy zařízením, která jsou na něj připojena
Takto je potřeba cluster zapojit pro jeho funkčnost:
Switch: zařízení, které na základě MAC adres směruje data v síti. Slouţí nám pro propojení více počítačů v rámci lokální sítě. Síťový řadič: V našem případě nazveme síťovým řadičem počítač, který provozuje sluţby DHCP, DNS a Active directory Uzel: Uzly (nebo z anglického jazyka „nody“) se nazývají všechny počíače, které se podílejí na vytvoření clusteru
8
Cluster
Pavel Martinec 4.A
Celkovou strukturu instalace a konfigurace systému MS Windows můţeme zapsat takto: 1) 2) 3) 4) 5) 6) 7)
Zapojení do správné síťové struktury Instalace operačního systému Instalace sluţeb síťového řadiče Zabezpečení sítě, instalace antivirového programu atd. Konfigurace uzlů Instalace dodatečného softwaru Testování funkčnosti
Kompletní dokument popisující průběh instalace a konfigurace MS Windows naleznete v příloze „Cluster-windows.pdf“. Zde se ještě ale musím vyjádřit k poslednímu bodu, a tím je testování funkčnosti. Jedná se o test selhání, který lze udělat přímo v okně správy clusteru. Jak dokument popisuje, cluster je funkčně propojen a v případě výpadku sluţby je schopen sluţby restartovat.
Shrnutí testování 1) Nároky na síťové zapojení nutí uţivatele vlastnit jeden počítač navíc, který bude v roli doménového řadiče – vyšší náklady, nutnost znalosti základů počítačových sítí a základní práce s nástroji ke konfiguraci DNS, DHCP a Active Directory) 2) Instalace operačního systému je naprosto bezproblémová 3) Konfigurace doménového řadiče je bez větších problémů, doporučuji po instalaci a zapojení do domény ověřit administrátorský přístup z účtu vytvořeného na doménovém řadiči ke všem připojeným počítačům, abychom se vyhnuli problémům při konfiguraci clusteru 4) Průvodce konfigurací clusteru v MS windows má nejasně vysvětlené chyby, tudíţ například nebylo moţné vytvořit sdílený disk pro práci, při konfiguraci disku jsem musel zvolit alternativní nastavení 5) Cluster byl úspěšně sestaven a prošel všemi testy na selhání systému (pokud jedna část selţe, správce clusteru se jí pokusí obnovit) 6) Celkově jednodušší řešení, s potřebnou dokumentací je i počítačově méně zdatný člověk schopen cluster sestavit.
9
Cluster
Pavel Martinec 4.A
Zapojení do clusteru – Linux Tento bod byl daleko obtíţnější, neţli instalace MS Windows. Linux totiţ není jednotný operační systém, a i kdyţ základ operačního systému je stejný, existuje mnoho desítek, ne-li stovek distribucí, ať jiţ uţivatelských, serverových či specializovaných pro daný účel. S distribucemi také přicházejí jiné repozitáře (online databáze softwaru) a odlišný samotný software, protoţe Linux obecně je zaloţený na softwarové politice freeware a open source. To znamená, ţe se na Linuxu podílejí celé řady programátorů, ať jiţ profesionální, či jednotliví uţivatelé (ovšem distribuce jako celek pochází vţdy od nějaké větší skupiny spolupracujících programátorů – firmy, o tvůrcích jednotlivcích mluvíme spíše v případě menších programů, ne u celých distribucí) V závislosti na zvolené distribuci musíme zvolit kompatibilní program pro clusterování, a nakonec musíme najít program, který by nám správnou funkčnost otestoval. Jako první byla nainstalována distribuce ClusterKnoppix, coţ je specializovaná distribuce, která v sobě jiţ přímo integruje jeden z programů pro clusterování – OpenMosix. Výhodou tohoto řešení je jeho jednoduchost zapojení do sítě, automatická detekce všech přístupných uzlů a jednoduché rozhraní pro ovládání včetně vyrovnávání zátěţe mezi uzly. Jeho zásadní nevýhodou je však stáří této distribuce. Repozitáře pro instalaci sofwaru jiţ neexistují, a instalace z ručně staţených balíčků často není úspěšná kvůli závislostem na ostatních balíčcích a knihovnách. Díky technickým problémům s nastavením sítě jsem byl nucen tento operační systém jednou přeinstalovat, bohuţel s novou konfigurací selhává funkčnost programu OpenMosix, a proto není jiţ nadále moţné pod tímto operačním systémem cluster vytvořit. Ihned jsem začal s hledáním jiného linuxového systému, zatím však bez úspěchu. Vyzkoušel jsem další různé distribuce, bohuţel ţádná z nich nefungovala. Zde je seznam:
kerrighed 2.6 (pod Xubuntu 11.10 ani pod Debianem nelze zkompilovat) Xubuntu Clusteradmin (podivný software nejednoznačného určení) PelicanHPC v2.2 a v2.7 (distribuce vyuţívající bootování ze sítě (PXE), bohuţel zamrzne uprostřed nahrávání systému z hostitele na uzly) Mandriva (údajně mají existovat balíčky pro clusterování. Ţádné jsem v repozitářích nenašel) Rocks 5.4.3 (distribuce určená pro serverová vyuţití, mimo jiné i pro clusterování. Bohuţel vyţaduje minimálně 30GB volého prostoru na disku (servery jsou osazeny 18GB disky) Rockc jiné (další verze Rocks, která měla jiné obrazy instalačních disků. Opět ale vyţaduje 30GB prostoru na HDD) KestrelHPC (nástavba pro systémy odvozené od Debianu. Potřebné repozitáře jsou ale nedostupné) ABClinux (zkoušeno pouze na visrtuálním PC, zdá se plně funkční, automatické stejně jako v případě ClusterKnoppix, bohuţel opět velmu zasaralé) Cyrosync/Pacemaker (nadstavba pro Debian, nepovedlo se mi systém správně nakonfigurovat, stejně tak jako druhou variantu tohoto bodu, která vyuţívá místo programu Cyrosync program Heartbeat
10
Cluster
Pavel Martinec 4.A
Nakonec jsem ještě zpětně zkoušel přenastavit rozhraní pro ClusterKnoppix. OpenMosix servery opět našel a vše se zdálo být opět funkční, bohuţel jen do doby, neţ jsem se pokusil na clusteru spustit libovolnou aplikaci. I přes to, ţe se jednalo jiţ předkonfigurovanou distribuci, nefunguje samotná komunikace mezi uzly. Vţdy selţe poslání příkazu na ostatní uzly. Odstranit tento problém se jiţ ale nepodařilo.
Shrnutí testování 1) Problematické řešení, vyţaduje velmi vysoký stupeň znalosti operačního systému Linux (obecně – adresářová struktura, příkazy atd.), ideálně pak konkrétní znalost konfigurace jednotlivých distribucí nebo příslušného softwaru pro clusterování 2) Pro clusterování se nepouţívá jednotný software, obvykle celé speciálně upravené distribuce. Bohuţel, distribuce můţe díky open source politice Linuxu pocházet z nedůvěryhodných zdrojů (např. skupinka amatérských programátorů), coţ často vede k nefunkčnosti. Druhým činitelem nefunkčnosti je často stáří distribuce a ukončení jejího vývoje 3) Na důvod z bodu 2 se ještě váţe dostupnost dokumentace, která je často zastaralá, příliš obecná, nebo nekompletní. Toto značně ztěţuje výběr systému a jeho následnou instalaci a konfiguraci 4) Díky nefunkčnosti jednotlivých distribucí nebo programů se nepovedlo sestavit funkční prostředí clusteru pod systémem Linux. 5) Osobně doporučuji řešení vyuţívající Linux spíše větším firmám, které si mohou najmout potřebné odborníky
11
Cluster
Pavel Martinec 4.A
Cluster – návod a správa V tomto bodě jsem se zaměřil na kompletaci jednoznačného návodu na sestavení clusteru pod mnou zvolenými operačními systémy. Výstupem bodu je textový dokument popisující všechny přípravné kroky (potřeby pro vytvoření clusteru) a instalaci a konfiguraci krok za krokem se všemi problémy, se kterými jsem se za celou dobu projektu setkal. Tento dokument s názvem „Cluster – návod a správa.pdf“ tvoří přílohu závěrečné zprávy a obsahuje kompletní sloţení clusteru pod MS Windows a řešení pro ClusterKnoppix (bez problému s posíláním příkazů ostatním uzlům)
Cluster – kompilace testovacího programu Mým původním záměrem bylo vytvořit nějaký jednoduchý program, který by cluster vytíţil na jeho výpočetní maximum, tento program měl být schopen pracovat na obou operačních systémech, a z toho bychom zjistili, který OS je výkonnější. Prvním problémem byl jazyk, ve kterém by měl být program vytvořen. I přes to, ţe zde vyučovaný C# není běţně v linuxu pouţíván, existuje kompilátor „mono“, tím pádem je moţné program zkompilovat pro obě dvě platformy Za podpory profesorů na zdejší škole jsem se pokoušel dát program dohromady. Nejdříve bylo zapotřebí najít vzorec, který by na dostatečně dlouhou dobu vytíţil procesor, coţ byl ten nejmenší problém. Okamţitě jsem narazil na problematiku vytíţení více výpočetních vláken. I přes nalezenou literaturu a snahu profesorů, které jsem poţádal o pomoc, nebyl program ani z poloviny funkční, jak bych potřeboval. V tomto stádiu jsem také objevil problematiku s přenosem dat po síti, a to ţe aplikace sama musí podporovat protokol TCP/IP, jinak vytíţí pouze procesory na jednom PC. V tuto chvíli jiţ nemělo smysl pokračovat dále kvůli nedostatečné znalosti jazyka.
Shrnutí testování 1) Sloţitost naprogramování testovacího programu je mnohem vyšší, neţ se na první pohled můţe zdát, Je nutné mít vysoké zkušenosti s jazykem, ve kterém se program pokusíme napsat 2) Řešíme problematiku dvou klíčových věcí – vyuţití více procesorových vláken a celkově více procesorů (pokud, jako v mém případě, píšeme program pro serverovou architekturu) a zároveň schopnost programu komunikovat po síti. Vedle toho samozřejmě musíme vyřešit samotnou úlohu programu. 3) Nejedná se tedy o jednoduché aplikace (jak se původně předpokládalo) ale o velmi sloţité programy (jako příklad uvedu software pro síťové renderování grafiky v Cinema 4D – Net render). 4) Díky těmto skutečnostem je nutno říci, ţe nelze v daném rozsahu projektu vyhotovit takovýto nástroj pro zjišťování výkonu, spíše by se mohlo jednat o celkový samostatný projekt
12
Cluster
Pavel Martinec 4.A
Cluster – Testování výkonu Testování výkonu mělo probíhat dvojí, pomocí mé aplikace a poté pomocí softwaru třetích stran. Vzhledem k nezdařené kompilaci mé aplikace jsem ihned přešel na další programy. Následuje seznam programů pro testování:
IntelBurn Test - Nespustí se, chybová hláška o konfiguraci SiSoftware Sandra Lite - Spustí se, ale není schopen „připojit“ se na počítač StressMyPC - správný výkon na jednotlivých PC, nefunguje po síti Systém Stability Tester - Nespustí se, chybová hláška o konfiguraci Bench 1.0 - vytíţí jen 1 ze 2 CPU, nefunguje po síti Push-to-test - javová aplikace, nenainstalovatelná Geekbench -multiplatformová aplikace, neumí zapojit více CPU, nefunguje na síti SuperPI - Neadekvátní výkonnostní výsledky mezi počítačem s Hyper-theadingem a počítačem bez HT; nefunguje po síti
Ve většině případů byl problém s architekturou serveru. Standardní domácí PC mají pouze jeden procesor (nehledě na jádra či vlákna), tudíţ s vytíţením takové platformy obvykle problém nebývá. Moje servery mají však fyzické procesory 2, na coţ programy nejsou uzpůsobené. Přešel jsem tedy k dalším testům, tentokrát ale jiţ nejde přímo o testování clusteru na systémové úrovni, ale spíše o test propojení a komunikace v rámci nějaké aplikace. Jako první jsem chtěl pouţít program CINEMA 4D a její součást NET Render (grafika je referována skrz tuto nadstavbu na více počítačích). Bohuţel NET Render není součástí školní licence, a trial verzi se mi nepodařilo sehnat. Následoval pokuss programem Adobe AfterEffects, který jsem dříve zkoušel na mém osobním PC. Bohuţel se mi přes instalátor nepovedlo stáhnout verzi kompatibilní se systémem (potřebuji 32 bitovou, stáhla se pouze 64 bitová)
Testování v Linuxu je podstatně obtíţnější záleţitost, pokud nějaký benchmark existuje, obvykle je součástí nějaké konkrétní distribuce. Jediný multiplatformový program byl Geekbench, který ale neuměl komunikovat po síti a vytěţoval jen jeden ze dvou procesorů. Na ClusterKnoppixu se navíc nepodařilo spustit ţádnou úlohu, takţe byl test na této distribuci zcela nemoţný.
13
Cluster
Pavel Martinec 4.A
Závěr Při projektu nastal určitý počet komplikací, se kterými nebylo vţdy jednoduché se vypořádat. I přes veškeré problémy, kdy jsem mnohokrát musel přijímat alternativní řešení, hodnotím projekt jako úspěšný. Ve svém projektu jsem se seznámil s hardwarem serverů, získal jsem mnoho zkušeností se serverovou verzí MS Windows (v oblasti clusteru a konfigurace síťového řadiče), prohloubil jsem si některé znalosti operačního systému Linux, a v neposlední řadě jsem se zdokonalil v obsluze podpůrných programů jako je MS Office a Adobe Photoshop. Doufám, ţe bude můj projekt prospěšný (např. bude vyuţit při dnech otevřených dveří, bude zapojen do školní sítě a škola ho vyuţije ke zvýšení výkonu školní sítě atd). Také bych byl rád, kdyby se našel někdo, kdo by v projektu pokračoval, a třeba by vytvořil nějakou aplikaci či by našel způsob, jak cluster zapojit do běţného provozu a naplno ho vyuţít.
14
Cluster
Pavel Martinec 4.A
Seznam zdroj Dokument confclus.doc (konfigurace MS Windows) http://distrowatch.com/table.php?distribution=clusterknoppix http://kerrighed.org/wiki/index.php/Main_Page http://pareto.uab.es/mcreel/PelicanHPC/ http://www.rocksclusters.org/wordpress/ http://kestrelhpc.sourceforge.net/ http://www.clusterlabs.org/ http://www.wikipedia.org http://www.sisoftware.net/ http://www.softwareok.com/?seite=Microsoft/StressMyPC http://systester.sourceforge.net/ http://www.softpedia.com/get/Tweak/CPU-Tweak/Bench.shtml http://www.pushtotest.com/ http://www.primatelabs.ca/geekbench/ http://files.extremeoverclocking.com/file.php?f=36 http://www.adobe.com více stránek s obsahem štětců pro Adobe Photoshop
15
Cluster Seznam příloh Analýza Anotace Hodnotící list Plakát Obsah CD: Analýza - final 4.pdf hodnoticilist_Martinec_20112012.doc Vyber serveru.pdf Koupě serverů.docx Cluster - windows.pdf Cluster-linux.pdf Cluster - návod a správa.pdf benchmark.pdf Cluster-plakat 2.png Testování výkonu.pdf Prezentace projektu
16
Pavel Martinec 4.A