Aktuality:Problémy s AFS

Z HelpDesk

V poslední době registrujeme potíže s souborovým systémem AFS. Zatím se nepodařilo zjistit přesný důvod, provoz AFS podrobně monitorujeme, na odstranění závady se pracuje. Omlouváme se uživatelům za způsobené potíže.

uvnitř článku stav a popis problému

Projevy u klientů

  • prodlužuje se odezva od souborového systému
  • nelze číst nebo ukládat do části AFS stromu
  • systém hlásí, že požadovaná část AFS je nedostupná (Input/Output Error)

Projevy na serveru

  • zůstanou pouze 2 volná vlákna pro příchozí požadavky (pravděpodobně servisní vlákna)
  • po využití všech vláken narůstá počet procesů čekajících na vlákno (tzv. wprocs)
  • při dosažení limitu (v konfiguraci -L serveru je limit wproc=300) se odešle VBUSY klientům, a wproc se vyčistí, avšak se neuvolní žádné vlákno pro zpracování dalších příchozích požadavků a cyklus se opakuje
  • tento stav se nazývá meltdown

Postihované servery

  • uživatelské (elektra1, elektra2, elektra3)
  • projektové (eurynome1, eurynome2)
  • repliky (harpia)

Hledání řešení (chronologicky)

Řešení
Problém vyčerpání AFS FileServeru, který poskytuje klientům data je způsoben nekorektně nastavenými klienty. Příčina spočívá v tom, že klient, který nemá po instalaci nastaveno nové SID, k serveru přistupuje pod stejnou identitou jako ostatní, podle níž byl klient nainstalován. Tento problém se týká hlavně učeben, které nejsou ve správě CIV a jejich instalace spočívá v rozkopírování jednoho nakonfigurovaného stroje na ostatní.

Jak postupovat po okopírování jedné stanice na druhou:

  1. počítače musí mít unikátní SID - změnit nástrojem ghostwalk nebo newsid
  2. po změně SID je potřeba znova stanice zařadit do domény
  3. staré SID je uložené v souboru AFSCache (obvykle umístněném v C:\), který by bylo třeba smazat. Znamená to zastavit AFS klienta, smazat AFSCache a klienta opět spustit. Cache se vytvoří znovu.
  4. jsou-li na počítačích firewally, je vhodné zkontrolovat, že je povolena příchozí komunikace v UDP na porty 7001, 7002 a 7003.

Zjistit, jaké UUID má daný klient lze provést vzdáleně příkazem:

cmdebug HOSTNAME -addrs