nfsd(7) Miscellaneous Information Manual nfsd(7)

nfsd - sistem de fișiere special pentru controlul serverului Linux NFS

mount -t nfsd nfsd /proc/fs/nfsd

Sistemul de fișiere nfsd este un sistem de fișiere special care oferă acces la serverul Linux NFS. Scrierea în fișierele din acest sistem de fișiere poate afecta serverul. Citirea din acestea poate furniza informații despre server.

Pe lângă acest sistem de fișiere, există o colecție de fișiere în sistemul de fișiere procfs (montat în mod normal la /proc) care sunt utilizate pentru a controla serverul NFS. Această pagină de manual descrie toate aceste fișiere.

Programele exportfs și mountd (care fac parte din pachetul nfs-utils) se așteaptă să găsească acest sistem de fișiere montat la /proc/fs/nfsd sau /proc/fs/nfs.

Fișierele din sistemul de fișiere nfsd includ:

Acest fișier conține o listă a sistemelor de fișiere care sunt exportate în prezent și a clienților către care este exportat fiecare sistem de fișiere, împreună cu o listă a opțiunilor de export pentru acea pereche client/sistem de fișiere. Acest fișier este similar cu fișierul /proc/fs/nfs/exports din nucleul 2.4. O diferență constă în faptul că un client nu corespunde neapărat unei singure gazde. Acesta poate răspunde la o colecție mare de gazde care sunt tratate în mod identic.

Fiecare linie a fișierului conține un nume de rută, un nume de client și un număr de opțiuni între paranteze. Orice caracter de spațiu, tabulație, linie nouă sau bară oblică din numele rutei sau din numele clientului va fi înlocuit cu o bară oblică inversă urmată de codul octal ASCII pentru acel caracter.

Acest fișier reprezintă numărul de fire nfsd care rulează în prezent. Citirea acestuia va arăta numărul de fire. Scrierea unui număr zecimal ASCII va face ca numărul de fire să fie modificat (mărit sau micșorat, după caz) pentru a obține numărul respectiv.
Acesta este un fișier oarecum neobișnuit în sensul că ceea ce se citește din el depinde de ceea ce tocmai a fost scris în el. Acesta oferă o interfață tranzacțională prin care un program poate deschide fișierul, scrie o cerere și citește un răspuns. Dacă două programe separate deschid, scriu și citesc în același timp, cererile lor nu vor fi amestecate.

Cererea scrisă în filehandle trebuie să fie un nume de client, un nume de rută și un număr de octeți. Aceste date trebuie să fie urmate de o linie nouă, cu spații albe între câmpuri și cu caractere speciale între ghilimele octale.

La scrierea acestui lucru, programul va putea citi apoi un fișier „filehandle” pentru ruta respectivă, așa cum a fost exportată către clientul dat. Lungimea fișierului „filehandle” va fi cel mult egală cu numărul de octeți dat.

Fișierul „filehandle” va fi reprezentat în format hexazecimal cu un „\x” de început.

Acest director conține un subdirector pentru fiecare client NFSv4. Fiecare fișier din acest subdirector oferă câteva detalii despre client în format YAML. În plus, scrierea „expire\n” în fișierul ctl va forța serverul să revoce imediat toate stările deținute de clientul respectiv.

Directorul /proc/net/rpc din sistemul de fișiere procfs conține un număr de fișiere și directoare. Fișierele conțin statistici care pot fi afișate cu ajutorul programului nfsstat. Directoarele conțin informații despre diverse fișiere-cache pe care serverul NFS le păstrează pentru a ține evidența permisiunilor de acces pe care diferiți clienți le au pentru diferite sisteme de fișiere. Fișierele-cache sunt:

Acest fișier cache conține o corespondență de la adresa IP la numele domeniului de autentificare din care trebuie să facă parte adresa IP.
Acest fișier-cache conține o corespondență între director și domeniu și opțiunile de export.
Acest fișier-cache conține o corespondență de la un domeniu și un identificator de sistem de fișiere la un director. Identificatorul sistemului de fișiere este stocat în fișierul „filehandle” și constă dintr-un număr care indică tipul de identificator și un număr de octeți hexazecimali care indică conținutul identificatorului.

Fiecare director care reprezintă un spațiu-cache poate conține între 1 și 3 fișiere. Acestea sunt:

Atunci când în acest fișier este scris un număr de secunde de la data epocii (1 ianuarie 1970), toate intrările din cache care au fost actualizate ultima dată înainte de acest fișier devin nevalide și vor fi șterse. Dacă se scrie un timp în viitor (în secunde de la data epocii), se va șterge totul. Acesta este singurul fișier care va fi întotdeauna prezent.
Acest fișier, dacă este prezent, conține o reprezentare textuală a fiecărei intrări din cache, una pe linie. În cazul în care o intrare se află încă în cache (pentru că este utilizată în mod activ), dar a expirat sau este nevalidă în alt mod, aceasta va fi prezentată ca un comentariu (cu un caracter hash în față).
Acest fișier, dacă este prezent, acționează ca un canal pentru ca solicitările de la serverul nfs bazat pe nucleu să fie transmise unui program din spațiul utilizatorului pentru a fi gestionate.

Atunci când nucleul are nevoie de anumite informații care nu se află în memoria cache, acesta face să apară o linie în fișierul channel, care oferă cheia pentru informațiile respective. Un program din spațiul utilizatorului ar trebui să citească acest lucru, să găsească răspunsul și să scrie o linie care să conțină cheia, un timp de expirare și conținutul. De exemplu, nucleul ar putea face următoarele nfsd 127.0.0.1
apar în fișierul auth.unix.ip/content. Programul din spațiul utilizatorului ar putea scrie apoi nfsd 127.0.0.1 1057206953 localhost
pentru a indica faptul că 127.0.0.1 ar trebui să corespundă cu localhost, cel puțin pentru moment.

Dacă programul folosește select(2) sau poll(2) pentru a afla dacă poate citi de pe canalul canal, atunci nu va vedea niciodată un sfârșit de fișier, dar atunci când toate cererile au primit răspuns, se va bloca până când apare o altă cerere.

În sistemul de fișiere /proc există 4 fișiere care pot fi utilizate pentru a activa monitorizarea suplimentară a nfsd și a codului aferent. Acestea sunt:
/proc/sys/sunrpc/nfs_debug
/proc/sys/sunrpc/nfsd_debug
/proc/sys/sunrpc/nlm_debug
/proc/sys/sunrpc/rpc_debug

Acestea controlează monitorizarea pentru clientul NFS, serverul NFS, Network Lock Manager (lockd) și, respectiv, stratul RPC de bază. Numerele zecimale pot fi citite din sau scrise în aceste fișiere. Fiecare număr reprezintă un model de biți în care biții care sunt definiți determină activarea anumitor clase de monitorizare. Consultați fișierele de antet ale nucleului pentru a afla ce număr corespunde la ce monitorizare.

Acest sistem de fișiere este disponibil numai în Linux 2.6 și în serii de nuclee ulterioare (și în ultimele părți ale seriei de dezvoltare 2.5 care au condus la 2.6). Această pagină de manual nu se aplică la versiunea 2.4 și la cele anterioare.

Anterior, apelul de sistem nfsctl() era utilizat pentru comunicarea dintre «nfsd» și utilitățile utilizatorului. Acest apel de sistem a fost eliminat în versiunea 3.1 a nucleului. Versiunile mai vechi ale „nfs-utils” puteau să recurgă la nfsctl() dacă era necesar; acest lucru a fost eliminat din „nfs-utils 1.3.5”.

nfsd(8), rpc.nfsd(8), exports(5), nfsstat(8), mountd(8) exportfs(8).

NeilBrown

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

3 iulie 2003