Sdílení dat ve skupině

Z MetaCentrum
Skočit na navigaci Skočit na vyhledávání

(English version)



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í:

  1. Zavedení skupiny do infrastruktury MetaCentra a správa jejích členů
  2. Adresář(e), v rámci kterého/kterých budou data sdílena
  3. 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říkazu qsub) následující:
#!/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.gif 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ář