C2115 Praktický úvod do superpočítání -1- C2115 Praktický úvod do superpočítání Petr Kulhánek, Tomáš Bouchal kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta, Masarykova univerzita, Kotlářská 2, CZ-61137 Brno V. lekce C2115 Praktický úvod do superpočítání -2- Obsah  Datové úložiště MetaCentra  Typy diskových polí a jejich použití  Přístupová práva (opakování)  Přístup k datovým úložištím  MetaCentrum  Lokální klastry (WOLF, ...)  Správná praxe  přístupová práva  vizualizace dat  Osobní počítače  Konfigurace, balíčky C2115 Praktický úvod do superpočítání -3Typy a způsob použití Typy úložišť a jejich použití:  lokální datové úložiště (HDD, SSD) – dočasné data úloh  (vzdálená) datové úložiště (diskové pole) – živá data úloh či řešených projektů  hierarchické datové úložiště – ukončené projekty a zálohy Datová propustnost (kvalitativně): SSD >> HDD > disková pole >> hierarchická datové úložiště  Data úlohy, které se čtou sekvenčně, mohou být čtena přímo z diskového pole.  Data úlohy, které se vytvářejí sekvenčně, mohou být ukládána přímo na diskové pole.  Ostatní data (drtivá většina případů) se musí před spuštěním vlastní úlohy překopírovat na lokální datové úložiště. Obzvláště pozor na dočasné soubory, ke kterým programy přistupují s náhodným přístupem. Tyto data musí být opět vytvářeny na lokálních datových úložištích.  Hierarchické datové úložiště nikdy nepoužíváme jako přímý zdroj dat pro úlohy. Data nejdříve překopírujeme na disková datová úložiště. C2115 Praktický úvod do superpočítání -4Přístupová práva C2115 Praktický úvod do superpočítání -5Přístupová práva $ ls –l drwxrwxr-x 3 kulhanek lcc 4096 2008-10-13 09:57 bin/ drwx------ 2 kulhanek lcc 4096 2008-10-13 09:58 Desktop/ -rw-rw-r-- 1 kulhanek lcc 5858 2008-10-17 11:58 distance.cpp jméno souboru či adresáře/vlastník (user) a skupina uživatelů (group) velikost (B) čas poslední změny přístupová práva Přístupová práva určují jaké operace může uživatel provádět se soubory či adresáři v souborovém systému. Přístupová práva: r možnost číst soubor vypsat obsah adresáře w možnost měnit soubor změnit obsah adresáře (vytvořit či smazat soubor či adresář) x možnost spuštění souboru možnost vstoupit do adresáře Každý soubor či adresář má určeného vlastníka a skupinu uživatelů. Přístupová práva se uvádějí zvlášť pro vlastníka souboru (u), skupinu uživatelů (g) a ostatní uživatele (o). u g o typ: soubor (-) nebo adresář (d) C2115 Praktický úvod do superpočítání -6Postup vyhodnocování práv $ ls –l drwxrwxr-x 3 kulhanek lcc 4096 2008-10-13 09:57 bin/ drwx------ 2 kulhanek lcc 4096 2008-10-13 09:58 Desktop/ -rw-rw-r-- 1 kulhanek lcc 5858 2008-10-17 11:58 distance.cpp vlastník (user)přístupová práva u g o Pokud je uživatel přistupující k souboru či adresáři: 1) shodný s vlastníkem souboru, přístup se řídí přístupovými právy vlastníka 2) je členem skupiny, přístup se řídí přístupovými právy pro skupinu 3) patří mezi ostatní uživatele, přístup se řídí přístupovými právy pro ostatní uživatele pořadí vyhodnocování přístupových práv k dané entitě (adresář či soubor) skupina uživatelů (group) /home/user/test.txt pořadí vyhodnocování přístupových práv Pokud uživatel přistupuje k souboru či adresáři určeného cestou, je výše uvedené pravidlo aplikované postupně od nejvýše uvedeného adresáře: C2115 Praktický úvod do superpočítání -7Výchozí nastavení a jeho změna Při vytváření souboru či adresáře je: • vlastníkem uživatel, který soubor či adresář vytváří • přístupová skupina uživatelů je nastavena na primární skupinu, do které patří vlastník souboru v době vytváření souboru či adresáře nebo na přístupovou skupinu nadřazeného adresáře v případě aktivního příznaku Set-Group-ID • výchozí přístupová práva jsou odvezeny od masky nastavené příkazem umask Některé příkazy či aplikace mohou mít jinou výchozí politiku (např. ssh-keygen a přístupová práva pro soukromý klíč). Změnu: • vlastníka souboru může provést pouze superuživatel (příkaz chown) • přístupové skupiny uživatelů může provést vlastník souboru na skupiny, do kterých patří, nebo superuživatel na libovolnou skupinu (příkaz chgrp) • přístupových práv může provést vlastník souboru či superuživatel (příkaz chmod) • změnu masky příkazem umask může provést uživatel, pro trvalý efekt je nutné příkaz vložit do souboru ~/.bashrc C2115 Praktický úvod do superpočítání -8Identita uživatele a skupiny Identitu uživatele a jeho zařazení do skupin lze zjistit příkazem id: [kulhanek@wolf01 ~]$ id uid=18773(kulhanek) gid=2001(lcc) groups=2001(lcc),2027(kulhanek),2030(compchem) přihlašovací jméno uživatele a jeho numerická reprezentace primární skupina uživatelů, do které uživatel patří a její numerická reprezentace skupiny uživatelů, do kterých je uživatel zařazen a jejich numerická reprazentace Zařazení uživatele do primární a ostatních skupin může měnit pouze superuživatel. Uživatele zařazené do skupiny lze vypsat příkazem getent: [kulhanek@wolf ~]$ getent group compchem compchem:*:2030:408530z,409282aa,acechova,aderim12,ailar,akprmf, .... (kráceno) jméno skupiny numerická reprezentace seznam uživatelů (přihlašovacích jmen) ve skupině oddělených čárkou Příkaz getent lze použít i pro jiné dotazy, např. na výpis všech uživatelů systému (getent passwd). C2115 Praktický úvod do superpočítání -9Změna přístupových práv Přístupová práva: r možnost číst soubor vypsat obsah adresáře w možnost měnit soubor změnit obsah adresáře x možnost spuštění souboru možnost vstoupit do adresáře X nastaví právo pro spuštění souboru, který již toto právo má v jiné skupině pravidel a vždy pro adresář (použitelné při rekurzivní změně práv) Skupina práv: u vlastník (user) g skupina uživatelů (group) o ostatní (other) a všichni (all), právo se aplikuje na u,g,o Příklad: $ chmod u+x,g-w soubor drwxrwxr-x u g o Přidá (+) právo pro spuštění vlastníkovi a Odstraní (-) právo zápisu pro skupinu Přístupová práva souborů a adresářů může měnit vlastník souboru nebo superuživatel příkazem chmod. $ chmod permissions file1 [file2 ...] C2115 Praktický úvod do superpočítání -10Změna přístupových práv Přístupová práva v oktalovém (osmičkovém) zápisu: drwxrwxr-x u g o 0xyz nula (prefix oktalového zápisu) Právo Oktalová hodnota r 4 w 2 x 1 součet oktalových hodnot pro jednotlivá práva v dané skupině rwxrwxr-x 0775 r---w---x 0421 rwxr-x--- 0750 Příklady: C2115 Praktický úvod do superpočítání -11Změna skupiny Skupinu uživatelů pro soubory a adresáře může měnit vlastník nebo superuživatel příkazem chgrp. Vlastník může použít pouze skupiny, do kterých patří (lze zjistit příkazem id). [kulhanek@wolf01 ~]$ id uid=18773(kulhanek) gid=2001(lcc) groups=2001(lcc),2027(kulhanek),2030(compchem) [kulhanek@wolf01 ~]$ ls -ld Documents/ drwxr-xr-x 9 kulhanek lcc 4096 Feb 16 2012 Documents/ [kulhanek@wolf01 ~]$ chgrp compchem Documents/ [kulhanek@wolf01 ~]$ ls -ld Documents/ drwxr-xr-x 9 kulhanek compchem 4096 Feb 16 2012 Documents/ změna skupiny $ chgrp group_name file1 [file2 ...] C2115 Praktický úvod do superpočítání -12Nastavení masky Výchozí přístupová práva se nastavují pomocí masky nastavené příkazem umask. Aktuální nastavení masky lze zjistit příkazem umask bez žádného argumentu. (Dokumentace: man bash, SHELL BUILTIN COMMANDS) Výchozí přístupová práva pro: soubor jsou 0666 adresář jsou 0777 Maska udává přístupová práva, která jsou z výchozích práv odstraněna než jsou použita pro nastavení přístupových práv k vytvářenému souboru či adresáři. Např. maska 0027 vede k následujícím přístupovým právům: pro soubor 0640 pro adresář 0750 Změnu masky lze provést příkazem umask vloženým na konec souboru ~/.bashrc nebo nastavením provedeným příkazem ams-config (prostředí Infinity). C2115 Praktický úvod do superpočítání -13Přehled příkazů Souborový systém (přístupová práva): id vypíše zařazení uživatele do skupin, zobrazí primární skupinu getent vypisuje informace o uživatelích, skupinách uživatelů a další informace umask výchozí přístupová práva pro nově vytvářené soubory či adresáře chmod změní přístupová práva k souboru či adresáři chgrp změní přístupovou skupinu uživatelů pro soubory či adresáře chown změní vlastníka souboru či adresáře C2115 Praktický úvod do superpočítání -14Přístup k datovým úložištím C2115 Praktický úvod do superpočítání -15Přístup z MetaCentra Jedná se o svazky připojené NFS protokolem s očekávaným chováním přístupové politiky (standardní POSIXová práva), protože prostředí MetaCentra má uniformní soubor uživatelských účtů na všech uzlech. Přístupový bod: /storage//home/$USER Nové soubory a adresáře jsou vytvářeny s vlastníkem a skupinou odvozené od přihlašovacího jména a primární efektivní skupiny uživatele na daném uzlu. Výchozí přístupová práva jsou pak nastaveny dle masky nastavené příkazem umask na daném uzlu. Pokud je datové úložiště nepřístupné nebo nefunkční a nebyl ohlášen jeho výpadek, kontaktujte uživatelskou podporu MetaCentra na meta@cesnet.cz C2115 Praktický úvod do superpočítání -16Přístup z MetaCentra, pokračování [kulhanek@onyx ~]$ id uid=18773(kulhanek) gid=10056(kulhanek) groups=10000(meta),221(ncbr), 10056(kulhanek),10086(strcmu),20138(storage) [kulhanek@onyx ~]$ pwd /storage/brno2/home/kulhanek [kulhanek@onyx ~]$ ls -l total 31392 drwxr-xr-x 5 kulhanek meta 4096 Jul 10 2012 00.Scripts drwxr-xr-x 16 kulhanek meta 4096 Feb 17 2015 03.projects drwxr-xr-x 3 kulhanek meta 23 Jun 1 2013 04 -rw-r----- 1 kulhanek meta 10191 Oct 14 2014 1UZV_3H2O_cutoff.xyz -rw-r----- 1 kulhanek kulhanek 183 Jun 8 2015 add_users_to_infloc .... [kulhanek@onyx ~]$ mkdir test [kulhanek@onyx ~]$ umask 0027 [kulhanek@onyx ~]$ ls -ld test drwxr-x--- 2 kulhanek kulhanek 6 Jan 31 16:07 test C2115 Praktický úvod do superpočítání -17Lokální klastry (WOLF, ...) Přístup je možný s platným kerberovským lístkem z realmu META. Disková pole jsou připojené NFS protokolem se speciálním mapováním přístupových práv. Práva se ověřují na straně NFS serveru, ze kterého je svazek namontován. Přístupový bod (identický jako v MetaCentru): /storage//home/$USER Nové soubory a adresáře jsou vytvářeny s vlastníkem a skupinou odvozené od přihlašovacího jména a primární skupiny uživatele ze serveru, ze kterého je svazek připojen (odvozeno z kerberovského principálu). Výchozí přístupová práva jsou však nastaveny dle masky nastavené příkazem umask na lokálním stroji. Pokud je připojení datového úložiště na našich lokálních klastrech nefunkční a nebyl ohlášen výpadek MetaCentrem, kontaktujte uživatelskou podporu LCC skupiny na support@lcc.ncbr.muni.cz C2115 Praktický úvod do superpočítání -18Lokální klastry (WOLF, ...), pokr. [kulhanek@wolf01 ~]$ id uid=9703(kulhanek) gid=2027(kulhanek) groups=2001(lcc), 2027(kulhanek),2029(rmarek),2030(compchem) [kulhanek@wolf01 ~]$ pst brno2 [kulhanek@wolf01 kulhanek]$ pwd /storage/brno2/home/kulhanek [kulhanek@wolf01 kulhanek]$ ls -ld test drwxr-x--- 2 kulhanek@META kulhanek@META 6 Jan 31 16:07 test [kulhanek@wolf01 kulhanek]$ chgrp ncbr@META test [kulhanek@wolf01 kulhanek]$ ls -ld test drwxr-x--- 2 kulhanek@META ncbr@META 6 Jan 31 16:07 test mapování na speciální jména uživatelů a skupin, která se vytváří dynamicky, jedná se o jména z prostoru MetaCentra zakončená @META (zajišťuje služba metanfs4d) C2115 Praktický úvod do superpočítání -19Lokální klastry (WOLF, ...), pokr. [kulhanek@wolf01 ~]$ id uid=9703(kulhanek) gid=2027(kulhanek) groups=2001(lcc), 2027(kulhanek),2029(rmarek),2030(compchem) [kulhanek@wolf01 kulhanek]$ umask 0077 [kulhanek@wolf01 kulhanek]$ mkdir test2 [kulhanek@wolf01 kulhanek]$ ls -ld test2 drwx------ 2 kulhanek@META meta@META 6 Jan 31 2016 test2 nastaveno podle NFS serveru nastaveno podle wolf01 C2115 Praktický úvod do superpočítání -20Příkaz pst Příkaz pst pochází z modulu meta-storages prostředí Infinity. Příkaz je dostupný na všech našich lokálních klastrech a v MetaCentru, pokud má uživatel aktivované prostředí Infinity. Příkaz podporuje automatické doplňování pomocí TAB. Pokud máte v MetaCentru jiné přihlašovací jméno, tak vám příkaz pst nebude fungovat. Cestu k úložištím budete muset zadávat ručně. [kulhanek@wolf ~]$ pst Usage: pst Data storages: budejovice1 brno2 brno3-cerit brno6 brno7-cerit brno8 brno9-ceitec plzen1 praha1 HSM storages: brno4-cerit-hsm brno5-archive brno10-ceitec-hsm jihlava2-archive plzen2-archive projects Obsolete storages: brno1 (backuped) jihlava1-cerit (backuped) ostrava1 (->brno8) [kulhanek@wolf ~]$ pst brno3-cerit bash: cd: /storage/brno3-cerit/home/kulhanek: Permission denied [kulhanek@wolf ~]$ kinit Password for kulhanek@META: [kulhanek@wolf ~]$ pst brno3-cerit [kulhanek@wolf kulhanek]$ pwd /storage/brno3-cerit/home/kulhanek C2115 Praktický úvod do superpočítání -21Cvičení 1 1. Kolik je v MetaCentru standardních diskových datových úložišť? 2. Kolik je v MetaCentru hierarchických datových úložišť? 3. Přihlaste se na libovolný čelní uzel metacentra a poté na něm vytvořte soubor pokus.txt, který bude obsahovat tři řádky textu. Na jakém datovém úložišti jste soubor vytvořili? 4. Vytvořte si kerberovský lístek na vaší pracovní stanici a připojte datové úložiště pomocí příkazu pst. 5. Ověřte, že soubor obsahuje text, který jste vytvořili. 6. Uveďte jméno NFS serveru, který obsluhuje datové úložiště (použijte příkaz df). C2115 Praktický úvod do superpočítání -22Správná praxe (přístupová práva) Pokud vyžadujete restriktivní přístup k datům (tj. přístup k datům zajištěný pouze pro vás nebo vaše spolupracovníky), pak se řiďte následujícími pravidly: Uživatel samotář: na všech strojích nastavit: umask 0077 (pouze vlastník může pracovat s daty – číst, vytvářet) primární skupina kdekoliv může být libovolná Uživatel pracující ve skupině: vytvořte novou skupinu uživatelů v MetaCentru (kontaktujte podporu MetaCentra meta@cesnet.cz, uveďte důvod pro zřízení skupiny, návrh jména, a seznam uživatelů, kteří do ní mají patřit, zároveň požádejte o změnu primární skupiny na vytvořenou skupinu, pro všechny její členy) členové skupiny musí mít tuto skupinu aktivovanou jako primární skupinu v MetaCentru primární skupina na ostatních strojích může být libovolná na všech strojích nastavit: umask 0027 (pouze vlastník může pracovat s daty – číst, vytvářet, skupina může pouze číst) C2115 Praktický úvod do superpočítání -23Správná praxe (vizualizace dat) pracovní stanice příprava dat, vizualizace dat čelní uzel MetaCentra příprava a spuštění úlohy výpočetní uzel (vlastní výpočet) úložiště ssh, terminál data dávkový systém data data gnuplot, vmd, pymol, apod. se spouští lokálně (není problém s rychlostí v důsledku exportu displeje) na vzdálených datech C2115 Praktický úvod do superpočítání -24Instalace pomocí balíčků Odzkoušeno pro Ubuntu 14.04 LTS C2115 Praktický úvod do superpočítání -25- Postup 1) Aktivace veřejného repositáře NCBR balíčků. Postup je uveden na https://wolf.ncbr.muni.cz v části "Balíčky pro OS Ubuntu". Aktivuje se pouze jednou. 2) Instalace balíčku pro připojení datových úložišť MetaCentra (zvolte výchozí nastavení): 3) Instalace balíčku remctl-client 4) Vytvoření soukromého lístku krb5.keytab pro Kerbera: $ sudo apt-get install ncbr-metanfs4-noldap $ sudo apt-get install remctl-client $ kinit Password for kulhanek@META: $ remctl -d kdccesnet.ics.muni.cz accounts nfskeytab > krb5.keytab $ ktutil ktutil: read_kt krb5.keytab ktutil: list slot KVNO Principal ---- ---- ---------------------------------------------------------- 1 1 nfs/kulhanek@META ktutil: quit ověření, že je lístek vytvořen C2115 Praktický úvod do superpočítání -26Postup, pokračování 1) Instalace soukromého lístku krb5.keytab pro Kerbera: 2) Restart stroje: $ sudo reboot $ sudo mv krb5.keytab /etc/krb5.keytab $ sudo chmod 0600 /etc/krb5.keytab $ sudo chown root:root /etc/krb5.keytab Podrobnosti jsou uvedeny v dokumentaci MetaCentra: Připojení datových úložišť k vlastní pracovní stanici přes NFSv4 C2115 Praktický úvod do superpočítání -27Cvičení 2 1. Zprovozněte si připojování datových úložišť MetaCentra ve vaší instalaci Ubuntu server. 2. Připojte datové úložiště se souborem pokus.txt. Ověřte obsah souboru.