Úvod do Windows Compute Cluster Server

Michal Kvasnička, divize HPC, Sprins Systems a.s.

V tomto článku se podíváme na zoubek dvou populárních operačních systémů pro HPC clustery - Windows Server 2003 Compute Cluster Edition (CCE) a Windows Compute Cluster Server 2003 (WCCS). Ty byly na trh uvedené společností Microsoft v červnu roku 2006 s ambicemi vyhovět potřebám širokého spektra aplikací extrémně náročných na výpočetní výkon (HPC aplikace).

Oba operační systémy jsou založené na jádře Windows Server 2003, které většina uživatelů majících zkušenosti se správou serverů již dobře zná. Windows CEE jsou verzí operačního systému Windows Server 2003, která je licencována pro použití s HPC aplikacemi. Windows CCS jsou identické s CEE, pouze navíc obsahují balíček nástrojů Microsoft Compute Cluster Pack (CCP). Na základě těchto skutečností je zřejmé, že zákazníci mohou zprovoznit, spravovat a provádět údržbu clusteru založeného na některém z těchto systémů použitím stejných nástrojů jako v případě serverů založených na systému Windows Server 2003.

Důležitým faktem je, že jak Windows CEE, tak i Windows CCS jsou pouze 64bitové, takže je nelze provozovat se staršími 32bitovými procesory. To však neznamená, že nejsou zpětně kompatibilní s 32bitovými aplikacemi. Hardwarové požadavky těchto systémů jsou identické s Windows Server 2003 Standard x64 Edition. Kromě podpory hardwaru vysoce výkonných systémů (HPC) obsahují tyto systémy navíc podporu komunikačního rozhraní Remote Direct Memory Access (RDMA), které umožňuje vysokorychlostní připojení některých vzdálených komponent, které jsou často v souvislosti s clustery využívány (např. Gigabit Ethernet, InfiniBand, Myrinet a další produkty).

Compute Cluster Pack

Výpočetní clustery jsou charakteristické tím, že k jejich plnohodnotnému provozu jsou zapotřebí softwarové nástroje, které ve standardním operačním systému pro servery či domácí stanice obsažené nejsou. Tento nedostatek řeší právě softwarový balík zvaný Compute Cluster Pack (CCP). Ten může být buď přímo do instalátoru Windows integrován, jako je tomu v případě WCCS, nebo je možné jej doinstalovat samostatně. Jeho funkční výbava zahrnuje následující komponenty:

  • Integrovaný plánovač úloh;
  • Podpora rozhraní Messaging Passing Interface (MPI), které je součástí průmyslového standardu MPICH2;
  • Správa zdrojů clusteru a uživatelské nástroje.

Balík CCP je jedinou věcí, která odlišuje Windows CEE od Windows CCS. Kdekdo by se mohl divit tomu, proč když prakticky všechny clustery nástroje v něm obsažené potřebují, proč není součástí i Windows CEE. Je to dáno tím, že některé HPC řešení používají své vlastní plánovače úloh či vlastní specifikaci rozhraní MPI (tudíž nepotřebují podporu MPI od Microsoftu), ale existují i výjimky, které se zkrátka obejdou i zcela bez těchto funkcí. Protože je CCP dostupný i ve formě samostatného instalátoru, mohou jej uživatelé v případě potřeby doinstalovat na kteroukoliv 64bitovou verzi systému Windows Server 2003 (CCE, Standard, Standard R2, Enterprise a Enterprise R2).

Správa ala Windows Server

Windows CCS pro zjednodušení správy a provozu clusterů využívají administrativní nástroje známé ze starších serverových verzí Windows, včetně Active Directory a Remote Installation Services (RIS). Nástroj Active Directory umožňuje transparentní správu zabezpečení. Pomocí Active Directory mohou uživatelé zadávat úlohy hlavnímu uzlu clusteru, který jej dále deleguje stovkám serverových uzlů. Bez ohledu, zda úloha vyžaduje účast jednoho či více uzlů, průběh jejího vykonání je rovněž plně v kompetenci uživatele, který jej v rámci zadání úlohy stanoví. Práce s daty a jejich výměna mezi jednotlivými uzly probíhá ve vysoce zabezpečeném režimu. Active Directory je zejména prospěšný tím, že jediné přihlášení uživatele umožní stanovit jeho uživatelská práva k veškeré funkcionalitě v rámci WCCS. Dalším benefitem vyplývajícím z použití Active Directory je fakt, že kterýkoliv server a konfigurační politika může být centrálně řízena prostřednictvím funkce Group Policy. Pokud již v rámci své IT infrastruktury máte službu Active Directory zavedenou, doporučuje se, abyste nový cluster vybudovali na stávající doméně - ušetříte tím spoustu času i úsilí.

Chcete-li nasadit výpočetní cluster do prostředí, ve kterém Active Directory zatím neexistuje, měli byste vyhradit jeden či dva doménové řadiče (DC), které budou službu Active Directory hostovat pro celý cluster. Není ničím neobvyklým vytvořit doménový řadič Active Directory třeba i z hlavního uzlu, jestliže vedlejší uzly mají k systému taktéž přístup, a to bez ohledu na použitou síťovou topologii. Uložit hlavnímu uzlu roli doménového řadiče se však nedoporučuje pro větší clustery - z důvodu vyšší zátěže kladené na hlavní uzel. Standardní praktiky pro nasazení Active Directory by měly zahrnovat instalaci redundantních doménových řadičů, pravidelné zálohování, kvalitní zabezpečení atd.

Remote Installation Service

Windows CCS obsahují službu vzdálené instalace Microsoft Remote Installation Service (RIS) používanou pro instalaci operačního systému z obrazu (image) prostřednictvím hlavního uzlu na kterékoliv vedlejší uzly - tím umožňuje velmi rychlou instalaci nových uzlů clusteru a administrátorům šetří práci. Není povinností RIS využívat, do WCCS je tato služba integrována pouze jako volitelné příslušenství. Kromě RIS jsou přítomny ještě dva standardní postupy pro instalaci nových uzlů - jedním z nich je služba Windows Server 2003 Automated Deployment Services (ADS), druhým pak je manuální instalace.

Chcete-li využívat RIS, musíte mít před instalací balíku CCP na svém hlavním uzlu definované minimálně dvě logické jednotky pevného disku. RIS totiž pro uložení obrazů operačního systému vyžaduje diskový prostor, který je separovaný od jednotky, na který se nachází již nainstalovaný systém. Disková partition RIS by měla obsahovat dostatek volného prostoru v závislosti na tom, kolik kopií obrazu Windows Server na ní chcete mít uložené.

Modernější serverový hardware, zejména pak síťové a storage komponenty, mohou vyžadovat Plug and Play ovladače, které nemusejí být standardně v obrazu Windows Server 2003 obsaženy. V takovém případě budete muset do obrazu přidat tyto ovladače manuálně. Postup, jak toho docílit, je zdokumentován na adrese support.microsoft.com/kb/254078.

Instalace clusteru

V rámci instalace clusteru začínáme s instalací a konfigurací hlavního uzlu. Jak už bylo jednou řečeno, jako základ nám poslouží jedna z 64bitových verzí operačního systému Windows Server 2003. Během instalace operačního systému volíme z možností, zda připojit server k existující doméně (doporučuje se), nebo instalovat Active Directory na server (nedoporučuje se pro velké clustery).

Po instalaci operačního systému si nezapomeňte stáhnout a nainstalovat veškeré dostupné aktualizace prostřednictvím služby Microsoft Update. Pokud hodláte pro instalaci vedlejších uzlů využít službu RIS, administrativní nástroj Computer Management | Disk Management vám umožní definovat minimálně dvě logické jednotky pevného disku, které jsou nezbytné.

Jakmile jste úspěšně přihlášeni na svůj plně aktualizovaný server, dalším krokem je instalace balíku CCP. Instalátor CCP před samotnou instalací balíku zhodnotí, zda je váš systém pro jeho instalaci připraven.
Samotná instalace totiž vyžaduje, aby v systému byly přítomny jisté softwarové záplaty a aplikace. Pokud přítomny nejsou, instalátor vás automaticky provede jejich stažením a instalací. Patří mezi ně následující:

  • RIS hotfix (viz go.microsoft.com/fwlink/?linkid=55167)
  • Microsoft Management Console (MMC) 3.0 (viz go.microsoft.com/fwlink/?linkid=62400)
  • SQL Server Desktop Edition
  • Microsoft .NET Framework 2.0

Seznam úloh

Po dokončení instalace a nastavení Compute Cluster Packu (CCP) získáte přístup k administrátorské konzoli obsahující seznam úloh. Konzole se skládá z čtyř oken rozdělených podle kategorií (Networking, Remote Installation Service, Node Management a User Management) - ty ve výchozím stavu obsahují několik klíčových úloh nezbytných pro dokončení konfigurace clusteru.

Seznam úloh vám umožňuje jednoduše implementovat architekturu vašeho clusteru, včetně zvolení a konfigurace síťové topologie, procesu instalace uzlů a user management modelu. Úlohy pro každou kategorii jsou zobrazeny vždy v pravé části příslušného okna, levá část obsahuje obecné informace pro uživatele. Pokud na některou z úloh kliknete, spustí se průvodce, který vás provede jejím vyhotovením.

Dokončením všech výchozích úloh ve správném pořadí získáte plně nakonfigurovaný hlavní uzel, který je připraven použitím RIS obrazů instalovat rozpoznané vedlejší výpočetní uzly. Současně je definována skupina uživatelů majících práva k přístupu do systému a jeho administraci.

Nyní pár detailů k jednotlivým sekcím:

  • Networking - Windows CCS podporují pět nejběžnějších síťových topologií používaných v prostředí HPC (high performance computing). Veškeré výpočetní uzly, včetně hlavního uzlu, musejí sdílet počítačovou síť založenou na jedné z těchto topologií. Jednotlivé topologie se odlišují specifickými benefity i náklady na provoz, všechny ale podporují velmi mnoho typů propojení mezi jednotlivými uzly. Volba nejvhodnější síťové topologie je závislá na požadavcích kladených na výkon, zabezpečení a provoz vašeho clusteru. Pro příklad, vaše aplikace mohou vyžadovat vysokorychlostní rozhraní MPI (message passing interface), kterým nemusí být každá každá síť vybavena. Možná ale chcete využít integrovaných funkcí automatického zavádění založených na technologii RIS. Nebo třeba vámi zvolený hardware může obsloužit pouze jednu síťovou kartu (NIC), případně chcete na hlavním uzlu provozovat službu Internet Connection Sharing (ICS), která poskytuje přehled nad síťovými aktivitami jednotlivých, jmenovitě rozlišených uzlů a zároveň mezi tyto uzly sdílí připojení k internetu (čímž vlastně slouží jako náhrada za hardwarový směrovač - router). Všechny uvedené aspekty sehrávají klíčovou roli při rozhodování o síťové topologii. Průvodce konfigurací síťové topologie clusteru, který je volán prostřednictvím seznamu úloh, vám jednotlivé typy topologií detailně představí a pomůže vám s konfigurací vaší síťové infrastruktury, včetně konfigurace integrovaného firewallu (Windows Firewall) na hlavním i vedlejších uzlech.
  • Remote Installation Service (viz první díl článku) je služba, která umožňuje automatizované zavádění (instalaci) vedlejších výpočetních uzlů clusteru.
  • Node Management obsahuje nástroje sloužící ke správě uzlů v rámci clusteru. Umožňuje například specifikovat jména jednotlivých serverů (uzlů), což usnadňuje jejich rozlišení v administrativní konzoli.
  • User Management umožňuje specifikovat práva uživatelských účtů či uživatelských skupin v rámci Active Directory. Zde definujete, kdo je systémovým administrátorem a kdo uživatelem clusteru.

Instalace uzlu

Nasazení výpočetního uzlu může být provedeno automaticky pomocí utility pro vzdálenou instalaci (RIS) nebo použitím jiných podporovaných metod. CPP, který se jako první instaluje na hlavní uzel, musí být nainstalován také na každý vedlejší uzel. Konfigurace CPP pro vedlejší uzly je podstatně jednodušší než pro hlavní, zahrnuje pouze následující části:

  • Nastavení, zda server má být výpočetním uzlem (a nikoliv hlavním uzlem);
  • Nastavení jména hlavního uzlu clusteru, do kterého se má příslušný server zapojit;
  • Nastavení, zda se mají (ne)instalovat administrativní a uživatelské nástroje na daný výpočetní uzel (zpravidla jsou již dostupné na hlavním uzlu).

Administrativní konzole

Jakmile všechny výpočetní uzly komunikují s hlavním uzlem clusteru, většina řídících a administrativních úloh pro všechny systémy může být uskutečněna prostřednictvím administrativní konzole. Ta poskytuje centrální přehled nad celým clusterem, obsahuje například seznam všech asociovaných uzlů, poskytuje přístup ke klíčovým administrativním operacím a mnoho detailních informací o clusteru. Levé podokno slouží k navigaci administrativní konzole, zároveň se zde nachází položka "Cluster Administrator", která, je-li zvýrazněna, poskytuje shrnutí detailních informací ohledně stavu clusteru, stejně jako statistiky týkající se dokončených či prováděných úloh. Ze stejného místa můžete realizovat přístup ke vzdáleným desktopům nebo shlédnout sekci pro monitorování činnosti clusteru (System Monitor), nejvíce času však pravděpodobně strávíte samotným administrováním clusteru prostřednictvím sekce "Node Management".

Při bedlivém prozkoumání administrativní konzole zjistíte, že nabízí veškeré možnosti přístupu, klíčové nástroje a funkce nezbytné pro centrální správu Windows a výpočetních uzlů. Jediné kliknutí na jméno kteréhokoliv výpočetního uzlu viditelné v horní části středního panelu otevře několik oken, kde můžete prozkoumávat funkce specifické pro daný uzel.

Funkce dostupné z menu, které vyvoláte pravým kliknutím myší na kterýkoliv výpočetní uzel v sekci Node Management, umožňují jednoduchou centralizovanou správu veškerých uzlů. Prostřednictvím Node Management můžete též pozastavit a následně obnovit činnost kteréhokoliv uzlu, schválit přidání či odebrání uzlu z clusteru, ovládat vzdálené desktopy, monitorovat celý systém včetně historie událostí anebo třeba vysunout optickou mechaniku na specifikovaném uzlu - tu byste jinak v prostředí rozsáhlého clusteru identifikovali velmi obtížně.

ClusRun

Velmi užitečnou funkcí dostupnou z administrativní konzole je příkazový řádek - umožňuje vzdáleně na cílovém stroji spustit jakýkoliv příkaz a tím ovládat i rozsáhlý cluster z jediného místa. Windows CCS obsahují známý nástroj "Spustit" v podobě příkazového řádku pod názvem ClusRun.exe, přičemž pojem "ClusRun" se užívá jak v souvislosti s jeho grafickou verzí, tak i pro příkazový řádek.

Možnosti utility ClusRun jsou zvláště u velkých clusterů nedocenitelné. Uspoří spoustu času při běhu opakujících se úloh a často eliminují nutnost psát složitější administrativní skripty.

Použití ClasRun je jednoduché - v seznamu výpočetních uzlů stačí jen označit stroj, na kterém chcete spustit příkaz, kliknete na jeho název pravým tlačítkem myši a v kontextovém menu vyberete možnost Run Command. Poté napíšete příslušný příkaz, kliknete na Run a čekáte na výsledek, který bude zobrazen ve výsledkovém okně (Result window). Při prvním spuštění tohoto nástroje budete požádáni o zadání některých bezpečnostních údajů ověřujících vaše přístupová práva a můžete se rozhodnout, zda je systém uloží do cache paměti (a nebude se na ně již opakovaně ptát), nebo je neuloží a vy je pak budete opětovně zadávat při každém dalším použití.

Běžný způsob, jak "opatchovat" veškeré výpočetní uzly najednou či instalovat programy se schopností automatické konfigurace, je umístit je na sdílené úložiště a poté použitím ClusRun vyvolat na všech uzlech tentýž příkaz. Restart všech výpočetních uzlů, tedy celého clusteru, může být jednoduše proveden pomocí příkazu: CLUSRUN SHUTDOWN –R –F –T 0

Tool Pack

V květnu roku 2007 vydal Microsoft doplněk k Windows CCS, resp. k balíku CCP, pod názvem Compute Cluster Pack Tool Pack (získat jej můžete na adrese windowshpc.net/resources/Pages/default.aspx). Tento balík nástrojů zahrnuje například podporu pro Windows PowerShell, nástroj MPIPingPong pak dobře poslouží pro diagnózu "zdraví" síťové konektivity zobrazenou ve velmi přehledném grafickém rozhraní.

Nástroj CCP Simple Cluster monitor vám na jediné obrazovce přehledně zobrazí všechny výpočetní uzly clusteru, kolik výpočetních jader který má, vytížení každého procesoru (zeleně), využití systémové paměti (žlutě), vytížení pevných disků v čase (červeně) a také využití síťové propustnosti (oranžově). Pro administrátory je to vynikající nástroj, jak na první pohled zjistit nejzákladnější fakta o vytížení/využití clusteru.

CCP Simple Cluster Monitor obsahuje také "vzdálenou" funkcionalitu. Pokud nástroj nainstalujete na libovolnou pracovní stanici připojenou k síti, jednoduše si za pomocí vzdáleného připojení zobrazíte na hlavním uzlu stejné statistiky i pro ni.

Toť vše k nezbytnému informačnímu základu pro operační systém Windows Server 2003 Compute Cluster Server. Podrobnější informace získáte na adrese: https://www.microsoft.com/technet/ccs/overview.mspx