Table of Contents

MetaCentrum & BÚ

Souhrn informací pro instalaci clusteru MetaCentra v Botanickém ústavu AV. Přehled pro všechny zúčastněné. Upravujte dle potřeby.

Hardware a jeho určení

Stručný přehled HW (uzlů) a jeho fotky… Víceméně vše od SuperMicro.

HPC uzly (3x)

"Standardní" výpočetní uzly (6x)

Virtuální stroje

Potřebujeme tři stroje “zvláštního určení” (čelní uzel, správa a databázový server, viz níže). Pro tyhle servery platí stejné požadavky jako pro fyzické stroje, tedy hostname, veřejná IPv4 adresa nastavený boot přes PXE. Adresy jsou v přehledové tabulce.

Podpora hyperthreadingu

Všech 9 výpočetních strojů podporuje hyperthreading, má tedy k dispozici teoreticky 2x více vláken než jader. Na všech strojích má MetaCentrum nastaveno v PBS počet fyzických jader a úlohy si říkají o fyzická jádra. V současnosti nelze v PBS nějak míchat požadavky na fyzická a HT jádra, většina aplikací a uživatelů stejně počítá, že dostane plnotučné jádro.

Aplikace, které dokáží HT efektivně využít, lze si rezervovat celý stroj a použít libovolný počet jader — PBS v takovém případě nehlídá překročení požadavků na CPU.

Obecně zatím PBS neumí automaticky při požadavku na exkluzivní uzel natáhnout parametry úlohy na všechny zdroje uzlu, který plánovač přidělí, uživatel musí pří použití hyperthreadingu apod. sám přizpůsobit výpočet na konkrétní stroj, předem nebo za běhu. Automaticky se předává (např. jako default pro MPI utility integrované s PBS) požadované minimum počtu procesorů podle zadání.

Souborový server (1x)

Diskové pole

Použití diskového subsystému

Hodláme na něj zálohovat naše data, nicméně všichni uživatelé budou zároveň uživateli MetaCentra, s vhodně nastavenými kvótami (mohou tam být domovské adresáře všech uživatelů, v případě potřeby se jednotlivcům zvedne kvóta). Bude to vyřešené standardně přes NFS, úložiště bude zároveň dělat domovské adresáře průhonických strojů a bude přístupné ze všech uzlů MetaCentra. Diskové pole je zálohované na DÚ CESNETu. Budou tam uložena data pro Spark (v domovských adresářích jednotlivých uživatelů) — úložiště musí být přístupné ze Singularity obrazu Sparku.

Přehled strojů

Typ stroje Hostname IP adresa MAC adresy IPMI Management Poznámky
SG350X switch X 192.168.160.52 04:eb:40:e0:15:ad X X
SMP 1 carex1.ibot.cas.cz 147.231.111.21 ac:1f:6b:ad:2b:e8, ac:1f:6b:ad:2b:e9 ac:1f:6b:aa:c1:fb, 192.168.160.21 X
SMP 2 carex2.ibot.cas.cz 147.231.111.22 ac:1f:6b:ad:2b:72, ac:1f:6b:ad:2b:73 ac:1f:6b:aa:c1:bd, 192.168.160.22 X
SMP 3 carex3.ibot.cas.cz 147.231.111.23 ac:1f:6b:ad:2b:78, ac:1f:6b:ad:2b:79 ac:1f:6b:aa:c1:c0, 192.168.160.23 X
SMP 4 carex4.ibot.cas.cz 147.231.111.24 ac:1f:6b:ad:2b:6c, ac:1f:6b:ad:2b:6d ac:1f:6b:aa:c1:bb, 192.168.160.24 X
SMP 5 carex5.ibot.cas.cz 147.231.111.25 ac:1f:6b:ad:2c:84, ac:1f:6b:ad:2c:85 ac:1f:6b:aa:c2:48, 192.168.160.25 X
SMP 6 carex6.ibot.cas.cz 147.231.111.26 ac:1f:6b:ad:2c:8c, ac:1f:6b:ad:2c:8d ac:1f:6b:aa:c2:34, 192.168.160.26 X
HPC 1 draba1.ibot.cas.cz 147.231.111.31 ac:1f:6b:c1:b8:a6, ac:1f:6b:c1:b8:a7, ac:1f:6b:c1:b8:a8, ac:1f:6b:c1:b8:a9 ac:1f:6b:a1:44:9b, 192.168.160.27 X
HPC 2 draba2.ibot.cas.cz 147.231.111.32 ac:1f:6b:c1:b4:26, ac:1f:6b:c1:b4:27, ac:1f:6b:c1:b4:28, ac:1f:6b:c1:b4:29 ac:1f:6b:a1:51:28, 192.168.160.28 X
HPC 3 draba3.ibot.cas.cz 147.231.111.33 ac:1f:6b:c1:b8:82, ac:1f:6b:c1:b8:83, ac:1f:6b:c1:b8:84, ac:1f:6b:c1:b8:85 ac:1f:6b:a1:44:b2, 192.168.160.29 X
Čelní uzel tilia.ibot.cas.cz 147.231.111.10 X X VM
Úložiště tilia-nfs.ibot.cas.cz 147.231.111.20 X ac:1f:6b:aa:c1:c6, 192.168.160.20 X
Diskové pole X 192.168.1.1, 192.168.11.1 ?? 192.168.160.53 X
Databázový server sorbus.ibot.cas.cz 147.231.111.11 X X VM, pod správou BÚ
Managementovací server tilia-mng.ibot.cas.cz 147.231.111.12 X X VM
PDU 1 X X X 00:20:85:e0:5f:8f, 192.168.160.50 PDU
PDU 2 X X X 00:20:85:e0:58:f6, 192.168.160.51 PDU

Výpis HW podle dodavatele

Uzel SMP 6ks

Uzel HPC 3ks

Souborový server

Diskové pole 1ks

Infrastruktura

Změny oproti výpisu výše

  1. Dvě UPS typu “UPE 9SX11KiRT” a “UPE 96X5KiRT 5KV 3U” budou nahrazeny jednou “UPE EAZC122440110000” včetně komunikačných karet.
  2. 4x pdu rozvody typu “UPE EFLX12I” budou nahrazeny 2x řízenými pdu typu “UPE EMIB20”
  3. Server typu “Diskové pole” bude doplněn o SW Qcache “COQ SSD-C” a 2x SSD “PAH WUSTR6440ASS200”
  4. Lan switch “LAC SG220-50-K9-EU” bude nahrazen switchem “LAC SG350X-48-K9-EU”

Kontakty

Zodpovědní za nákup HW a jeho vědecké využití:

Správa IT v BÚ --- přístup do serverovny

Zmáčknout reset, nastavovat něco v BIOSu, občas vytáhnout nějaký kabel.

Apache Spark a Hadoop

Apache Spark, Apache Hadoop — toto se týká hlavně Yanna

Asi nejjednodušší bude spouštět Spark v Singularity. Existují obrazy pro Docker, které by měly být snadno převoditelné na Singularity, případně můžeme připravit obraz pro Singularity. Pak se podle nás bude Spark dát používat v intencích dokumentace MetaCentra. :-) Předpokládáme, že bude jednodušší mít Spark v Singularity, než jej instalovat ručně, ač ani to by neměl být zásadní problém. Root účet každopádně nepotřebujeme.

Singularity Spark kontejner dáme k dispozici ostatním uživatelům. Vystavíme jej v určitém adresáři (na docker/singularity hubu, AFS, NFS, …) a na wiki popíšeme, jak si jej zkopírovat, spustit a případně upravit.

Na uzlech, kde Spark poběží nebude třeba žádná speciální trvale běžící služba, vše se bude spouště standardně přes qsub. Do obrazu Sparku bude připojeno naše úložiště (takže třeba něco jako /storage/pruhonice2-archive/… připojené třeba do /mnt, něco jako singularity -B /storage -B /auto -B /mnt). Úlohy se tedy budou spouštět na vyžádání, stáhnou si data z centrálního úložiště a na konci po sobě uklidí (vyčistí se /scratch). Prostě jako obvykle. :-) Úlohy mohou běžet velmi dlouho (q_2w apod.), nicméně volná kapacita uzlů bude k dispozici pro libovolné jiné úlohy.

Z kontejneru Singularity budou také přístupné databáze na našem databázovém VM (viz výše) standardně přes IP adresu.

Síťové servery v BÚ

Fotky clusteru

Rack s clusterem

Rack s clusterem

Datové úložiště

Datové úložiště

HPC uzly

HPC uzly HPC uzly

Standardní výpočetní uzly

Standardní výpočetní uzly

Virtuální servery

Virtuální servery Virtuální servery

Kabeláž

Kabeláž Kabeláž Kabeláž Kabeláž

Prioritní přístup BÚ k průhonickému clusteru

Správa skupiny ibot

Sdílené adresáře na úložišti

Vhodné pro:

  1. Zálohování dat nějaké laborky, přístroje, apod., aby to nebylo vázáno na konkrétního uživatele, ale aby tam mohlo zapisovat víc lidí a/nebo aby existoval nějaký servisní účet.
  2. Sdílení dat mezi více lidmi pracujícími na jednom projektu.

Podle potřeby se budou přidávat skupiny zajišťující oddělený přístup do sdílených adresářů. Možností je i vytvoření servisního uživatele v nějaké skupině, do které zároveň zařadíme uživatele, kteří mají mít možnost čtení a/nebo zápisu v daném sdíleném adresáři.

Dotazy na MetaCentrum

  1. Odpovídají vybraná doménová jména uzlů tradicím a stylu MetaCentra? :-)
  2. Instalují se virtuální servery jinak, než fyzické? Vyžadují nějaké zvláštní nastavení?
  3. Součástí diskového pole bude SSD cache. Bude to vyžadovat nějakou speciální instalaci?
    • Možná se ukáže, že to jako cache moc efektivně nefunguje a použijeme to nějak jinak…
  4. Bude databázový server pod naší správou vyžadovat nějaké speciální nastavení, anebo to prostě bude běžný linuxový server?
  5. Jakým způsobem dáme “náš” Singularity Spark kontejner k dispozici ostatním uživatelům. Vystavíme jej v určitém adresáři a na wiki popíšeme, jak si jej zkopírovat, spustit a případně upravit?
  6. Z kontejneru Spark Singularity musí být možný přístup k databázím na našem databázovém VM. Nepředpokládáme, že by toto byl problém. Vyžaduje to nějaké speciální nastavení?
  7. Z kontejneru Spark Singularity musí být přístupné úložiště /storage/pruhonice2-archive/….
  8. Jak bude vypadat ta instalace? Budete se chtít domluvit na nějakém přesném čase? Anebo to jen nabootuje přes PXE a Vy se toho automaticky ujmete? Anebo budete nejdříve chtít přístup k IPMI, abyste si to mohli restartovat podle potřeby?
  9. Předpokládám, že Vám budu posílat nějaké přístupové údaje. Jak to uděláme bezpečně? Nemáte třeba k pracovní adrese GPG?
  10. Ohledně sdílení s ostatními uživateli MetaCentra je naše představa taková, že naši uživatelé budou mít vysokou prioritu a jejich úlohy se na našem clusteru budou spouštět rychleji, než by se spouštěly na nějakém náhodném uzlu. Spíš bychom to zkusili bez toho, aniž bychom si nějaké uzly rezervovali výhradně pro sebe. Možná bychom mohli (zpočátku) omezit délky úloh/maximální zdroje, které na našem clusteru ostatním dovolíme spustit. Je-li tato představa správná, jak se upravují ty limity? Tak, že Vám napíšeme mail? :-) Jak se poznají “naši” uživatelé? Tak, že jsou členy nějaké VO, jejichž členy si v Perunu spravujeme my sami? A při spouštění úlohy pak ke qsub přidáme parametr cluster/host/vnode?
  11. Jak budeme nastavovat, kdo bude mít jakou kvótu na našem diskovém poli? Pomocí nějaké VO spravované v Perunu? Bylo by ideální, abychom Vás s každou změnou nemuseli obtěžovat, protože těchto změn může být docela dost…
  12. Jaká je adresa na formulář na žádost o připojení do skupiny ibot?
  13. Jak se přistupuje na datové úložiště? Jaké adresy a jaké protokoly?
  14. Zapnout hyperthreading? lscpu ukazuje na draba3 160 jader, ale plánovač jen 80.
  15. Jaké zvolit nastavení limitů pro nečleny skupiny ibot?
  16. Jak budou spravována hesla managementovacích adres?
  17. Jak je to s PDU? Funguje správně?
  18. Bude druhý souborový server vyžadovat nějakou jinou/speciální síťovou konfiguraci? Jaké bude mít hostname?

FIXME DELETEME

Kam potřebují mít správci MetaCentra přístup

Správa vrituálních serverů MetaCentrem

Příprava na straně BÚ a následná správa MetaCentrem…

Pokud bude nějaký stroj instalován ze strany BÚ, stačí na něj dát SSH klíč ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA+u1/VyPP3GlOQd+ud+15KmcHG9lla69g/2y4qinJkg dexter a do nějakého textového souboru uložit hesla. :-)

Instalace

Jeste tam, kde je “vy nainstalujete” je mozna i varianta, ze nam date pristup na konzoli s pripojenym debian netinst iso a ja si to nainstaluji sam. Ohledne verzi zjednodusene receno - tam kde maji uzivatele moznosti spoustet vypocetni SW bude prozatim Debian9 pricemz upgrade celeho MetaCentra na Debian10 probehne behem pristiho roku. Na ostatnich uzlech bude Debian10.

Správcovská rozhraní

Požadavky MetaCentra na síť

Zaklad je sitovy pristup, domluvte si, ze budete mit pripravene napojeni vaseho switchne na ten centralni, pripraveny na prelomu roku, ze budete mit pripravene IP adresy apod. Pro instalaci si kolegove s vami domluvi vse potrebne (instalujeme to s DHCP+TFTP), zbytek uz by mela byt vice mene automatika.

Potrebujeme pro kazdy uzel jednu verejnou IPv4 adresu, ktera nebude za firewallem. Vhodne je mit ty stroje v jednom souvislem bloku adres. Co se nazvu tyce, bud udelame 2 ruzne nazvy (HPC/SMP), nebo jeden nazev s cisly. Konkretni nazev necham na vas, napr. na MU se inspiruji J. R. R. Tolkienem (Doom, Arien, Skirit), v Olomouci pivem (Radegast, Gambrinus), na ZCU je to recka mytologie (Nympha, Minos). Kazdy uzel musi mit v DNS A a PTR zaznam.

V pripade, ze mame v jedne lokalite a v jedne dodavce nekolik HW konfiguraci, osvedcilo se nam pojmenovavat tak, aby bylo jedno spolecne jmeno pro cluster ale bylo zde rozliseni cisly, ve vasem pripade to konkretne bude (v pripade, ze se cluster bude jmenovat treba kytka):

# SMP:
kytka1-1.ibot.cas.cz
kytka1-2.ibot.cas.cz
..
kytka1-6.ibot.cas.cz
 
# HPC:
kytka2-1.ibot.cas.cz
kytka2-2.ibot.cas.cz
kytka2-3.ibot.cas.cz

Samozrejme pokud by se vam vic libilo mit 2 ruzna jmena, tak je to taky mozne, pak jen trochu nebude sedet nazev frontendu a diskoveho pole, protoze se bude jeden z clusteru jmenovat jinak (coz taky samozrejme nicemu nevadi, jen kosmetika).

Kazdy uzel musi mit primo jednu verejnou IPv4 adresu bez jakychkoliv NATu a firewallu. V opacnem pripade bude problem jednak provest vzdalenou instalaci a jednak uzel provozovat. Totez bych prosil i pro -mng, frontend, frontend diskoveho pole, zkratka vseho, co chcete integrovat do MetaCentra.

Instalace --- instrukce z MetaCentra

Co se samotne instalace tyce, nejjednodussi zpusob je nechat nas cluster nainstalovat pres PXE hromadnou automatickou instalaci. K tomu staci, kdyz bud:

nastavení DHCP serveru
use-host-decl-names on
next-server 147.251.9.127
if option architecture-type = 00:09 {
filename "/grub/x86_64-efi/core.efi";
} elsif option architecture-type = 00:07 {
filename "/grub/x86_64-efi/core.efi";
} else {
filename "/grub/i386-pc/core.0";
}
# a u jednotlivych stroju jeste pro jistotu
option host-name "clusterXY.domena.cz";

Nasledne se necha jeden stroj za kazdou konfiguraci nabootovat z PXE, my si ho osahame, navrhneme rozlozeni disku a nainstalujeme cely cluster.

Pokud by vam tento zpusob nevyhovoval nebo by stroje mely problem s bootovani pres PXE, umime vytvorit MetaCentrum instalaci i z ciste nainstalovaneho Debian 9 Stretch. Neni to preferovany zpusob, ale pokud by vam to sedelo vice, je to mozne.

Dale bychom potrebovali znat adresy DNS serveru a mail serveru, ktere je mozne na clusteru pouzivat. Pres ten mail server budeme posilat postu jak pro administratory tak pro uzivatele. Pripadne umime oboje outsourcovat na servery CESNETu, ale lepsi je to mit co nejbliz clusteru.