Souborový systém AFS

Z HelpDesk

AFS je distribuovaný souborový systém, založený na principu klient-server. Umožňuje ukládat data na souborových serverech, které jsou připojeny do lokální nebo i rozlehlé sítě. Soubory jsou uživateli zpřístupněny připojením do standardní UNIXové struktury adresářů, která je nezávislá na pracovní stanici, ze které uživatel do sítě přistupuje.

Organizace systému AFS

AFS umožňuje uložení stejných dat na různých souborových serverech. V případě takovéto duplikace je použita nejdosažitelnější funkční kopie. Tímto způsobem se zvyšuje rychlost a spolehlivost systému.

Z hlediska uživatele je vnitřní struktura systému skryta - uživatel přistupuje k datům, jako kdyby byla uložena na lokálním disku.

Kořenem souborového stromu je adresář /afs. Základní jednotkou AFS je buňka (cell). Je to zpravidla několik administrativně sloučených serverů, které v rámci AFS vystupují jako jednotný souborový systém. Tyto buňky mohou být lokální (na stejné síti; zde je připojen i váš počítač) nebo vzdálené. Typickým příkladem AFS buňky je sada serverů, které používají stejné Internetové doménové jméno. V našem případě budeme mluvit o AFS buňce zcu.cz.

V rámci buňky jsou určeny limity datového prostoru pro jednotlivé uživatele. Buňky se dělí na svazky (volumes). Každý svazek obsahuje vzájemně související soubory a adresáře. Jeden svazek například zpravidla tvoří domovský adresář. Každý svazek má limit velikosti (quota). Limity jsou tvořeny pro každý svazek a mohou se lišit.

Identifikace v systému AFS

Identifikace v systému AFS je řešena jako dvoufázový proces. Nejdříve se musíte přihlásit do systému a prokázat mu tak svou identitu. Potom se autentizujete systému AFS a získáte token, který používá Cache Manager při využívání služeb systému.

Na počítačích v systému Orion (t.j. všechny uživatelské servery a stanice v učebnách) získáte AFS token automaticky po přihlášení.

Trvanlivost tokenů

Každý token má určitou dobu platnosti. Ta může být pro různé uživatele různá, zpravidla je 10 hodin. Po uplynutí doby platnosti je token neplatný a je třeba získat nový. Token je také možné obnovit dříve, než vyprší jeho platnost.

Získání tokenů

Na strojích v systému Orion získáte token příkazem kinit. Tento příkaz autentizuje uživatele službou Kerberos a vyžádá si pro něj AFS token.

Na strojích mimo systém Orion se standardními klienty Kerberos a AFS je potřeba postupovat opět dvoufázově:

  1. kinit (ověření uživatele službou Kerberos5 a získání lísktu - ticket)
  2. aklog (získání AFS tokenu na základě platného Kerberos lístku)

AFS - přístupová práva

V AFS je ke každému adresáři přiřazen ACL (Access Control List, seznam přístupových práv). Jedná se o seznam maximálně 20 položek. Každá položka obsahuje jméno uživatele nebo skupiny a odpovídající práva, která se k položce vztahují. Práva v ACL jsou nadřazena standardním UNIXovým právům (aby mohl uživatel do souboru zapisovat, potřebuje UNIXové právo w (write) i právo write v ACL). UNIXová přístupová práva pro skupinu a ostatní nejsou v AFS využívána! Seznam přístupových práv je v AFS rozšířen. Oproti UNIXu může uživatel vytvářet své vlastní skupiny.

Seznam práv

LOOKUP (l)

Umožňuje vlastníkovi
  • Zobrazení souborů a podadresářů (například příkazem ls). Pro zobrazení obsahu podadresáře je v něm třeba také toto právo.
  • Použití příkazu UNIXu ls -ld.
  • Prohlížení ACL adresáře.
  • Přístup k podadresářům, podadresáře jsou chráněny vlastními ACL.

INSERT (i)

Umožňuje vlastníkovi
  • Přidávat do adresáře nové soubory (vytvořením i kopírováním).
  • Vytvářet nové podadresáře.

DELETE (d)

Umožňuje vlastníkovi
  • Odstraňovat soubory nebo je přesouvat do jiného adresáře. V případě kopírování je nutné mít v cílovém adresáři právo INSERT.
  • Odstraňovat soubory. Je třeba mít současně právo INSERT.

ADMINISTER (a)

Umožňuje vlastníkovi změnu ACL. Uživatel má toto právo pro svůj adresář a jeho podadresáře.

READ (r)

Povoluje číst obsah souborů v adresáři.

WRITE (w)

Umožňuje měnit obsah souborů a měnit jejich UNIXové bity přístupových práv pomocí příkazu chmod.

LOCK (k)

Umožňuje aplikacím zamykat soubory. Některé programy nemusí být v adresáři bez práva LOCK funkční.

Zkratky pro obvyklé kombinace práv

write - všechna práva mimo ADMINISTER (rlidwk)
read - READ a LOOKUP (rl)
all - všechna práva (rlidwka)
none - žádná práva, odstraní položku z ACL

Přehled základních příkazů AFS

Použití seznamů ACL k ochraně souborů a adresářů

Použití seznamů ACL k ochraně souborů a adresářů
fs listacl <adresář/soubor cesta> Vypíše seznam ACL daného adresáře.
fs setacl <adresář> <položka ACL>+ Vytvoří položku ACL pro daný adresář.
fs setacl -dir <adresář>+ -acl <položka ACL>+ Vytvoří položku ACL pro několik adresářů.
fs copyacl <zdrojový adresář> <cílový adresář>+ Zkopíruje seznam ACL zdrojového adresáře do dalších adresářů.

Každá <položka ACL> se skládá ze dvou částí: ze jména uživatele nebo skupiny a práv, která mají být přidělena. Jméno a práva musí být oddělena mezerou (například novak rlidw). Pište kombinaci sedmi písmen, která představují práva, nebo jednu ze čtyř z uvedených "zkratek".

Výpis informací o souborovém serveru

Výpis informací o souborovém serveru
fs whereis <adresář/soubor cesta> Vypíše souborový server, kde je uložen soubor nebo adresář.
fs checkservers [-all] [<jméno buňky>] Zjistí stav souborového serveru.

Výpis limitu (quota) na svazku

Výpis limitu (quota) na svazku
fs listquota Vypíše informaci o limitu na svazku.
fs quota Vypíše využití limitu v procentech.

Vytváření a změna skupiny

Vytváření a změna skupiny
pts creategroup <uživatel:skupina> Vytvoří skupinu s vlastníkem uživatel.
pts adduser <uživatel> <skupina> Přidá uživatele do skupiny.
pts removeuser <uživatel> <skupina> Odstraní uživatele ze skupiny.
pts delete <skupina> Zruší skupinu.
pts rename <staré jméno><nové jméno> Změní jméno skupiny.

Výpis informací o skupinách

Výpis informací o skupinách
pts membership <skupina> Vypíše všechny členy skupiny.
pts membership <uživatel> Vypíše všechny skupiny, jichž je uživatel členem.
pts listowned <skupina> NEBO <uživatel> Vypíše skupiny, které uživatel nebo skupina vlastní.
pts examine <skupina> Vypíše informace o skupině.

Získání, znehodnocení a kontrola tokenů

Získání, znehodnocení a kontrola tokenů
kinit Získání nového Kerberos lístku a AFS tokenu na počítačích v systému Orion.
kinit a následně aklog Získání AFS tokenu po předchozí autentiazci příkazem kinit na počítačích mimo Orion.
unlog [<jméno buňky>] Znehodnocení tokenu.
tokens Kontrola tokenů.

Výhody při používání AFS

Cache Manager

Pro zvýšení výkonu při práci se soubory je AFS vybaven takzvaným Cache Managerem. Tento program vytváří na lokálním disku kopii souborů, které používáte. Cache Manager provádí aktualizaci jen těch souborů, které se změnily. Na souborový server se data ukládají pouze v případě, že na nich byla provedena nějaká změna a to až v okamžiku uzavření souboru nebo při vyvolání funkce sync. Při souběhu více požadavků na zápis do jednoho souboru je upřednostněn ten požadavek, který získal dříve časové razítko pro tuto operaci. V případě havárie souborového serveru, na kterém pracujete, můžete dále používat soubory, které Cache Manager uložil na lokální disk. Tyto soubory pouze nebudete moci do obnovení činnosti serveru uložit.

Díky tomuto mechanismu je sníženo zatížení sítě i zatížení souborových serverů. Vaše práce může být potenciálním krátkodobým výpadkem počítačové sítě nebo jejím chvilkovým přetížením prakticky neovlivněna. Případné odstávky jednotlivých serverů je možné provádět za provozu, aniž by vaše práce se systémem byla jakkoliv narušena.