Sdílení dat ve skupině
Metacentrum wiki is deprecated after March 2023
Dear users, due to integration of Metacentrum into https://www.e-infra.cz/en (e-INFRA CZ service), the documentation for users will change format and site. The current wiki pages won't be updated after end of March 2023. They will, however, be kept for a few months for backwards reference. The new documentation resides at https://docs.metacentrum.cz. |
Pro sdílení dat v rámci skupiny je zapotřebí:
- Zavedení skupiny do infrastruktury MetaCentra a správa jejích členů
- Adresář(e), v rámci kterého/kterých budou data sdílena
- Správná identita skupiny v rámci uživatelského prostředí (úloh)
1. Zavedení skupiny do infrastruktury MetaCentra a správa jejich členů
- zvolte si název Vaší skupiny a napište nám žádost o její vytvoření na
meta@cesnet.cz
, do zprávy přiložte také krátký popis skupiny či povahy sdílených dat (jedna až několik vět)- můžete nám poslat i iniciální seznam členů nové skupiny
- po vytvoření skupiny Vám bude poskytnuto grafické rozhraní pro správu jejích členů v rámci systému Perun
- další úpravy seznamu členů si již budete moci provádět ve vlastní režii
2. Adresář(e), v rámci kterého/kterých budou data sdílena
Data můžete sdílet buď v rámci počítajících úloh (adresáři SCRATCHDIR
) nebo v rámci dedikovaného adresáře na svazku /storage/MESTO/home/USER
nebo v rámci dedikovaného projektového adresáře na svazku /storage/projects/PROJEKT
:
A sdílení dat v úlohách
- pro sdílení dat v rámci počítajících úloh nejsou zapotřebí žádné explicitní kroky
- plánovač daný adresář připraví dle požadavků specifikovaných dle následující sekce
B sdílení dat v home
- pro sdílení dat v rámci dedikovaného adresáře na svazku
/storage/MESTO/home/USER
postupujte následovně:- vytvořte si požadovaný adresář
mkdir /storage/MESTO/home/USER/sdileny
- přiřaďte jej Vaší skupině (pojmenované "MOJESKUPINA")
chgrp -R MOJESKUPINA /storage/MESTO/home/USER/sdileny
- nastavte adresáři příznak, aby všechny soubory/adresáře v něm vytvořené automaticky patřily jeho skupině
chmod g+s /storage/MESTO/home/USER/sdileny
- správnost nastavení si ověřte
ls -ld /storage/MESTO/home/USER/sdileny
- mějte prosím na paměti, že právo zápisu přímo do kořenových adresářů /storage/MESTO/home/USER považujeme za bezpečnostní riziko (možnost manipulace s citlivými soubory typu .k5login, .bashrc, .ssh, ... třetí osobou) a taková práva budou automaticky odebírána
C sdílení dat v projektovém adresáři
- pro sdílení dat v rámci dedikovaného projektového adresáře na svazku
/storage/projects/PROJEKT
postupujte následovně:- zašlete nám email s požadavkem na vytvoření projektového adresáře
- po jeho vytvoření postupujte obdobně jako v případě adresáře na svazku
/storage/MESTO/home/USER
(viz výše)
3. Správná identita skupiny v rámci uživatelského prostředí (úloh)
Při vytváření souborů je zapotřebí, aby systém věděl, pod jakou skupinou má Vaše soubory vytvářet (pokud tyto nejsou převzaty ze skupiny daného nadřazeného adresáře, viz výše). Zde je zapotřebí rozlišit práci na čelních uzlech a práci v rámci interaktivních/dávkových úloh.
- pro vytváření souborů při práci na čelních uzlech je potřeba:
- změnit svou primární skupinu na požadovanou
newgrp MOJESKUPINA # všechny vytvořené soubory budou patřit skupině MOJESKUPINA
- Je důležité si uvědomit, že
newgrp
spoští nový sub-shell a je-li umístněn v inicializačním souboru, měl by být na konci.
- v případě potřeby nastavit, pod jakými právy mají být soubory vytvářeny
umask 002 # nastaví souborům práva rwxrwxr-x
- výše uvedené řádky si lze umístit do inicializačních souborů
/storage/*/home/USER/.bashrc
nebo/storage/*/home/USER/.profile
pro automatizované nastavení- alternativně nás požádejte o změnu Vaší primární skupiny v rámci celé infrastruktury MetaCentra
- pro vytváření souborů při práci v rámci interaktivních/dávkových úloh je potřeba:
- mít ve skriptu zadaném příkazem
qsub
(nebo jako parametry příkazuqsub
) následující:
- mít ve skriptu zadaném příkazem
#!/bin/bash
#PBS -W umask=002
#PBS -W group_list=MOJESKUPINA
- přepínač -W umask=002 zajistí správná přístupová práva všem vytvářeným souborům (rwxrwxr-x)
- přepínač -W group_list=MOJESKUPINA zajistí, že všechny procesy dané úlohy poběží pod skupinou MOJESKUPINA
- toto nastavení zajistí i přístupnost adresáře $SCRATCHDIR pro členy dané skupiny, který pak patří zadané skupině a má pro ni nastavena práva
rwx
(r - čtení,w - psaní, x - procházení):
$ qsub -I -W group_list=einfra -W umask=002
qsub: waiting for job 4025666.meta-pbs.metacentrum.cz to start
qsub: job 4025666.meta-pbs.metacentrum.cz ready
konos6$ ls -ld $SCRATCHDIR
drwxrwxr-x 2 makub einfra 6 Feb 13 10:50 /scratch/makub/job_4025666.meta-pbs.metacentrum.cz
konos6$ id
uid=13153(makub) gid=10002(einfra) groups=10000(meta),10002(einfra),10100(storage)
WARNING: Z důvodu chyby v námi používaném síťovém souborovém systému NFS je po zápisu dat do sdíleného adresáře zapotřebí vytvořené soubory požadované skupině explicitně převlastnit (např. na konci relace na čelním uzlu nebo na konci skriptu dávkové úlohy) s využitím příkazu
chgrp -R MOJESKUPINA ADRESAR
(Jinak budou data uložena pod Vaší primární skupinou.) Alternativně nás požádejte o změnu své primární skupiny v rámci celé infrastruktury MetaCentrum.
4. Zajištění identity skupiny pomocí sync_with_group
Některým uživatelům nevyhovuje používání umask. Pro tyto případy je existuje následující alternativní postup.
1. Data, se kterými chcete pracovat, si z projektového adresáře zkopírujte jinam.
2. Zde s daty pracujte.
3. Nakonec soubory zkopírujte zpátky do projektového adresáře pomocí příkazu
sync_with_group group_name source_dir target_dir
kde
group_name
= název skupiny které projektový adresář patřísource_dir
= pracovní adresářtarget_dir
= sdílený (projektový) adresář