Souhrn informací pro instalaci clusteru MetaCentra v Botanickém ústavu AV. Přehled pro všechny zúčastněné. Upravujte dle potřeby.
Stručný přehled HW (uzlů) a jeho fotky… Víceméně vše od SuperMicro.
/
, na 2. swap
, na zbytku přes oba disky /scratch
/
, na 2. swap
, na zbytku přes oba disky /scratch
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.
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í.
storage-pruhonice1-ibot.metacentrum.cz
.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.
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 |
Zodpovědní za nákup HW a jeho vědecké využití:
Zmáčknout reset, nastavovat něco v BIOSu, občas vytáhnout nějaký kabel.
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.
192.168.1.1
(nebo 192.168.160.1
na samostatné vlan pro výpočetní cluster)192.168.3.93
a 192.168.3.94
smtp.ibot.cas.cz
(192.168.3.214
)q_1d
včetně. Podle zkušeností to lze upravit.ibot
, kterou spravuje VZ a která zajišťuje přístup do speciální fronty zajišťující prioritní spuštění úloh na průhonickém clusteru (qsub -q ibot …
) — není nutné specifikovat konkrétní stroj/cluster (nicméně to lze kombinovat). Skupina ibot
zároveň zajišťuje kvótu 2 TB na průhonickém datovém úložišti (lze ji navýšit).ibot
bude expirovat nějak jinak, než v Meta
.ibot
.Vhodné pro:
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.
/storage/pruhonice2-archive/…
.qsub
přidáme parametr cluster
/host
/vnode
?ibot
?lscpu
ukazuje na draba3
160 jader, ale plánovač jen 80.ibot
?
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.
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.
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.
Co se samotne instalace tyce, nejjednodussi zpusob je nechat nas cluster nainstalovat pres PXE hromadnou automatickou instalaci. K tomu staci, kdyz bud:
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";
dhcp-relay
na sitovem prvku na 195.113.214.4
a poslete nam seznam MAC adres, IP adres a hostnamu jednotlivych strojuNasledne 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.