Pouziti parametru noac u nfs

Dan Ohnesorg Dan na feld.cvut.cz
Středa Leden 18 12:17:39 CET 2006


Dne Sat, Jan 14, 2006 at 12:38:47PM +0100, Pavel Kankovsky napsal:
> On Fri, 13 Jan 2006, Dan Ohnesorg wrote:
> 
> > Řešíme tu výkon NFS a jsme ve fázi, kdy při mountování s parametrem noac
> > dosahujeme na gigovém ethernetu pouze 10 MB/s.
> 
> Ne nadarmo se NFS obcas vyklada jako Network Failure System. :)

;-)

Nakonec jsme jako kompromis mezi vykonem a bezpecnosti zvolili parametr
actimeo. Jestli se nam data zbori znova je ted tezke rict, zatim jsou OK.

> > Známe totiž jeden starší případ z praxe, kdy docházelo na NFS k docela
> > podivným věcem - konkrétně k smíchání obsahu dvou souborů, případně
> > k jejich zkracování na nulovou délku.
> 
> Jestli "noac" vyresilo *tenhle* problem, tak je to dost zvlastni. Mozna 
> jedine, kdyby se s temi porouchanymi soubory pracovalo tak, ze by ruzni 
> klient pridavali najednou data na konec (a obcas si mysleli, ze je konec 
> jinde, nez ve skutecnosti je).

S primerenou mirou jistoty si myslime, ze dva klienti nikdy nezapisovali do
stejneho souboru. Me to spise prislo jako kdyby system zapsal data pri
pridavani do nejakeho inode+1, ktery uz ale danemu souboru nepatril, protoze
jej mezitim dostal nekdo jiny.

V podstate postup byl takovy, ze se v jednom adresari zalozil soubor jako
append, do nej se lila data nejaky cas, radove necelou hodinu, potom
zapisujici proces udelal normalne close a mv a soupnul soubor pod novym
jmenem do druheho adresare, ktery by scanovan z jinych stroju a kdyz se v
nem objevil soubor, byl dale zpracovan. Puvodni proces zalozil novy soubor
pres nejake to datum + uuid a pokracoval v nalevani dat. Problem nastal v
tom novem adresari, kdyz zpracovavaci procesy zjistily, ze soubor obsahuje
nejaky binarni hnuj nebo po otevereni z nej nepadaji data, protoze je jaksi
kratky.

noac samozrejme mohlo diky srazeni vykonu o rad opravit problem zcela
mimochodem, protoze nenastava tolik operaci za vterinu.

> K tomu jako dochazelo lokalne bez NFS? A hledali jste chybu v tom
> vlastnim programu?

Hledali nenasli, lokalne to overit nebylo snadne, protoze chyba nastavala
treba jednou za tyden az 10 dni a tolik dat se na lokalni disk neveslo. Mimo
produkcni system se ji samozrejme nepodarilo nasimulovat vubec nikdy.

zdravim
dan


Další informace o konferenci Linux