Provided by: manpages-ro_4.27.0-1_all 

NUME
rpc.statd - demonul serviciului NSM
SINOPSIS
rpc.statd [-dh?FLNvV] [-H program] [-n numele-meu] [-o portul-de-ieșire]
[-p portul-de-ascultare] [-P ruta]
[--nlm-port port] [--nlm-udp-port port]
DESCRIERE
Blocajele de fișiere nu fac parte din starea persistentă a sistemului de fișiere. Astfel, starea de
blocare se pierde atunci când o gazdă repornește.
Sistemele de fișiere de rețea trebuie să detecteze, de asemenea, când starea de blocare este pierdută
deoarece o gazdă la distanță a fost repornită. După ce un client NFS repornește, un server NFS trebuie să
elibereze toate blocările de fișiere deținute de aplicațiile care rulau pe clientul respectiv. După ce un
server repornește, un client trebuie să reamintească serverului de blocările de fișiere deținute de
aplicațiile care rulează pe clientul respectiv.
Pentru NFS versiunea 2 [RFC1094] și NFS versiunea 3 [RFC1813], protocolul Network Status Monitor
(monitorul stării rețelei) (sau NSM pe scurt) este utilizat pentru a notifica omologii NFS despre
reporniri. În Linux, serviciul NSM este alcătuit din două componente separate în spațiul utilizatorului:
rpc.statd
Un demon care ascultă notificările de repornire de la alte gazde și gestionează lista de gazde
care urmează să fie notificate atunci când sistemul local repornește.
sm-notify
Un program de ajutor care notifică omologii NFS după repornirea sistemului local
Managerul de blocare NFS local avertizează rpc.statd local cu privire la fiecare omolog de la distanță
care trebuie monitorizat. Atunci când sistemul local repornește, comanda sm-notify notifică serviciul NSM
de pe omologii monitorizați cu privire la repornire. Atunci când un omolog de la distanță repornește,
acel omolog notifică serviciul rpc.statd local, care la rândul său transmite notificarea de repornire
înapoi la managerul local de blocare NFS.
FUNCȚIONAREA NSM ÎN DETALIU
Prima interacțiune de blocare a fișierelor între un client și un server NFS determină managerii de
blocare NFS de pe ambii omologi să contacteze serviciul NSM local pentru a stoca informații despre
omologul opus. În Linux, managerul local de blocare contactează rpc.statd.
rpc.statd înregistrează informații despre fiecare unitate NFS monitorizată în memoria persistentă. Aceste
informații descriu cum se contactează unitatea de la distanță în cazul în care sistemul local se
repornește, cum se recunoaște care unitate monitorizată raportează o repornire și cum se notifică
managerul local de blocare atunci când o unitate monitorizată indică faptul că a fost repornită.
Un client NFS trimite un nume de gazdă, cunoscut sub numele de nume-apelant al clientului, la fiecare
cerere de blocare a unui fișier. Un server NFS poate utiliza acest nume de gazdă pentru a trimite apeluri
asincrone GRANT către un client sau pentru a notifica clientul că a repornit.
Serverul Linux NFS poate furniza numele-apelantului clientului sau adresa de rețea a clientului către
rpc.statd. În sensul protocolului NSM, acest nume sau adresă este cunoscut sub numele de nume-monitor al
omologului monitorizat. În plus, gestionarul local de blocare îi spune lui rpc.statd care crede că este
propriul nume de gazdă. În sensul protocolului NSM, acest nume de gazdă este cunoscut sub numele de
numele-meu.
Nu există o interacțiune echivalentă între un server NFS și un client pentru a informa clientul cu
privire la numele-apelantului al serverului. Prin urmare, clienții NFS nu știu de fapt ce nume-monitor ar
putea folosi un server NFS într-o cerere SM_NOTIFY. Clientul Linux NFS utilizează numele de gazdă al
serverului din comanda mount pentru a identifica serverele NFS care se repornesc.
Notificare de repornire
La repornirea sistemului local, comanda sm-notify citește lista de omologi monitorizați din memoria
persistentă și trimite o cerere SM_NOTIFY către serviciul NSM al fiecărui omolog la distanță din listă.
Aceasta utilizează șirul nume-monitor ca destinație. Pentru a identifica ce gazdă a fost repornită,
comanda sm-notify trimite în mod normal șirul numele-meu înregistrat atunci când gazda de la distanță a
fost monitorizată. Comanda la distanță rpc.statd potrivește cererile SM_NOTIFY primite folosind acest
șir, sau adresa de rețea a apelantului, la unul sau mai mulți omologi din propria listă de monitorizare.
Dacă rpc.statd nu găsește un omolog în lista sa de monitorizare care să corespundă unei cereri SM_NOTIFY
primite, notificarea nu este transmisă managerului local de blocare. În plus, fiecare omolog are propriul
număr număr de stare NSM, un număr întreg de 32 de biți care este actualizat după fiecare repornire de
către comanda sm-notify. rpc.statd utilizează acest număr pentru a face distincția între repornirile
reale și notificările reluate.
O parte a recuperării blocajului NFS constă în redescoperirea omologilor care trebuie să fie monitorizați
din nou. Comanda sm-notify șterge lista de monitorizare din memoria persistentă după fiecare repornire.
OPȚIUNI
-d, --no-syslog
Determină rpc.statd să scrie mesajele de jurnal la ieșirea de eroare standard în loc să le scrie
în jurnalul sistemului, dacă a fost specificată și opțiunea -F.
-F, --foreground
Menține rpc.statd atașat la terminalul de control, astfel încât funcționarea NSM să poată fi
monitorizată direct sau rulată sub un depanator. Dacă această opțiune nu este specificată,
rpc.statd se pune în fundal imediat după ce pornește.
-h, -?, --help
Determină rpc.statd să afișeze informațiile de utilizare la ieșirea de eroare standard și apoi să
iasă.
-H, --ha-callout program
Specifică un program de apelare de înaltă disponibilitate. Dacă această opțiune nu este
specificată, nu se efectuează niciun apel. Pentru detalii, consultați secțiunea Apeluri de înaltă
disponibilitate de mai jos.
-L, --no-notify
Împiedică rpc.statd să execute comanda sm-notify atunci când pornește, păstrând numărul de stare
NSM și lista de monitoare existente.
Notă: comanda sm-notify conține o verificare pentru a se asigura că se execută o singură dată după
fiecare repornire a sistemului. Acest lucru previne notificarea falsă de repornire dacă rpc.statd
se repornește fără opțiunea -L.
-n, --name adresa-ip | nume-gazdă
Acest șir este utilizat numai de către comanda sm-notify ca adresă sursă de la care se trimit
cererile de notificare a repornirii.
Forma adresa-ip poate fi exprimată fie ca o adresă de prezentare IPv4, fie ca o adresă de
prezentare IPv6. Dacă această opțiune nu este specificată, rpc.statd utilizează o adresă wildcard
ca adresă de conexiune de transport. A se vedea sm-notify(8) pentru detalii.
-N Determină rpc.statd să execute comanda sm-notify și apoi să iasă. Deoarece comanda sm-notify poate
fi, de asemenea, executată direct, această opțiune este depășită.
-o, --outgoing-port port
Specifică numărul portului sursă pe care comanda sm-notify ar trebui să îl utilizeze atunci când
trimite notificări de repornire. Consultați sm-notify(8) pentru detalii.
-p, --port port
Specifică numărul portului utilizat pentru soclurile de ascultare RPC. Dacă această opțiune nu
este specificată, rpc.statd va încerca să consulte /etc/services, dacă obține portul cu succes,
stabilește același port pentru toate soclurile de ascultare, în caz contrar alege un port efemer
aleatoriu pentru fiecare soclu de ascultare.
Această opțiune poate fi utilizată pentru a fixa valoarea portului ascultătorilor săi atunci când
cererile SM_NOTIFY trebuie să traverseze un paravan de protecție între clienți și servere.
-T, --nlm-port port
Specifică numărul portului pe care lockd trebuie să asculte cererile NLM. Aceasta stabilește atât
portul TCP, cât și portul UDP, cu excepția cazului în care portul UDP este stabilit separat.
-U, --nlm-udp-port port
Specifică numărul portului UDP pe care lockd trebuie să asculte solicitările NLM.
-P, --state-directory-path nume-rută
Specifică numele de rută al directorului părinte în care se află informațiile privind starea NSM.
Dacă această opțiune nu este specificată, rpc.statd utilizează în mod implicit /var/lib/nfs.
După pornire, rpc.statd încearcă să își stabilească UID și GID efective la proprietarul și grupul
subdirectorului sm al acestui director. După modificarea id-urilor efective, rpc.statd trebuie să
acceseze doar fișierele din sm și sm.bak din cadrul rutei directorului de stare
„state-directory-path”.
-v, -V, --version
Determină rpc.statd să afișeze informații despre versiune la ieșirea de eroare standard și apoi să
iasă.
FIȘIER DE CONFIGURARE
Multe dintre opțiunile care pot fi definite în linia de comandă pot fi, de asemenea, controlate prin
intermediul valorilor stabilite în secțiunile [statd] sau, în unele cazuri, [lockd] din fișierul de
configurare /etc/nfs.conf. Valorile recunoscute în secțiunea [statd] includ port, outgoing-port
(port-de-ieșire), name, stat-directory-path (ruta-directorului-de-stare) și ha-callout
(apelare-de-înaltă-disponibilitate), care au fiecare același efect ca și opțiunea cu același nume.
Valorile recunoscute în secțiunea [lockd] includ port și udp-port care au același efect ca și opțiunile
--nlm-port și, respectiv, --nlm-udp-port.
SECURITATE
Demonul rpc.statd trebuie pornit ca root pentru a obține privilegiile necesare pentru a crea socluri cu
porturi sursă privilegiate și pentru a accesa baza de date cu informații de stare. Cu toate acestea,
deoarece rpc.statd menține un serviciu de rețea care funcționează de mult timp, el renunță la
privilegiile de root imediat ce pornește pentru a reduce riscul unui atac de escaladare a privilegiilor.
În timpul funcționării normale, ID-ul efectiv al utilizatorului pe care îl alege este proprietarul
directorului de stare. Acest lucru îi permite să continue să acceseze fișierele din acest director după
ce a renunțat la privilegiile de root. Pentru a controla ID-ul de utilizator pe care îl alege rpc.statd,
este suficient să utilizați chown(1) pentru a stabili proprietarul directorului de stare.
De asemenea, vă puteți proteja ascultătorii rpc.statd folosind biblioteca tcp_wrapper sau iptables(8).
Pentru a utiliza biblioteca tcp_wrapper, adăugați în /etc/hosts.allow numele de gazdă ale omologilor
cărora ar trebui să li se permită accesul. Utilizați numele demonului statd chiar dacă binarul rpc.statd
are un nume de fișier diferit.
Pentru informații suplimentare, consultați paginile de manual tcpd(8) și hosts_access(5).
NOTE ADIȚIONALE
Recuperarea blocării după o repornire este esențială pentru menținerea integrității datelor și pentru
prevenirea blocării inutile a aplicațiilor. Pentru a ajuta rpc.statd să potrivească cererile SM_NOTIFY cu
cererile NLM, trebuie respectate o serie de bune practici, printre care:
Numele de nod UTS al sistemelor dvs. trebuie să corespundă cu numele DNS pe care omologii NFS le
folosesc pentru a le contacta.
Numele de nod UTS ale sistemelor dvs. trebuie să fie întotdeauna nume de domenii complet
calificate.
Corespondența DNS directă și inversă a numelor de noduri UTS ar trebui să fie consecventă.
Numele de gazdă pe care clientul îl folosește pentru a monta serverul trebuie să corespundă cu
nume-monitor al serverului în cererile SM_NOTIFY pe care le trimite.
Demontarea unui sistem de fișiere NFS nu oprește neapărat clientul sau serverul NFS să se monitorizeze
reciproc. Ambele pot continua să se monitorizeze reciproc pentru o perioadă de timp, în cazul în care
traficul NFS ulterior între cele două duce la noi montări și la blocarea de fișiere suplimentare.
În Linux, dacă modulul de nucleu lockd este descărcat în timpul funcționării normale, toți omologii NFS
de la distanță nu sunt monitorizați. Acest lucru se poate întâmpla pe un client NFS, de exemplu, dacă un
sistem de auto-montare elimină toate punctele de montare NFS din cauza inactivității.
Apeluri de înaltă disponibilitate
rpc.statd poate executa un program special de apelare în timpul procesării cererilor SM_MON, SM_UNMON și
SM_UNMON_ALL cu succes sau atunci când primește SM_NOTIFY. Un astfel de program poate fi utilizat în
mediile NFS de înaltă disponibilitate (HA-NFS) pentru a urmări starea de blocare care ar putea fi necesar
să fie migrată după o repornire a sistemului.
Numele programului de apelare este specificat cu ajutorul opțiunii -H. Programul se execută cu 3
argumente: Primul este fie add-client, del-client, fie sm-notify, în funcție de motivul apelului. Al
doilea este nume-monitor al omologului monitorizat. Al treilea este numele-apelantului al gestionarului
de blocare solicitant pentru add-client sau del-client , în caz contrar este adresa-IP a apelantului care
trimite SM_NOTIFY. Al patrulea este valoarea-stării din cererea SM_NOTIFY.
Suport pentru protocoalele IPv6 și TI-RPC
TI-RPC este o condiție prealabilă pentru a susține NFS pe IPv6. Dacă suportul TI-RPC este integrat în
rpc.statd, acesta încearcă să pornească ascultători pe transporturile de rețea marcate „visible” în
/etc/netconfig. Atâta timp cât cel puțin un ascultător de transport în rețea pornește cu succes,
rpc.statd va funcționa.
MEDIU
RPC_STATD_NO_NOTIFY=
Dacă este stabilită la un număr întreg pozitiv, are același efect ca și --no-notify.
FIȘIERE
/var/lib/nfs/sm directorul care conține lista de monitoare
/var/lib/nfs/sm.bak directorul care conține lista de notificări
/var/lib/nfs/state Numărul de stare al NSM pentru această gazdă
/run/run.statd.pid fișierul pid
/etc/netconfig baza de date privind capacitatea de transport în rețea
CONSULTAȚI ȘI
sm-notify(8), nfs(5), rpc.nfsd(8), rpcbind(8), tcpd(8), hosts_access(5), iptables(8), netconfig(5)
RFC 1094 - „NFS: Network File System Protocol Specification”
RFC 1813 - „NFS Version 3 Protocol Specification”
OpenGroup Protocols for Interworking: XNFS, versiunea 3W - Capitolul 11
AUTORI
Jeff Uphoff <juphoff@users.sourceforge.net>
Olaf Kirch <okir@monad.swb.de>
H.J. Lu <hjl@gnu.org>
Lon Hohberger <hohberger@missioncriticallinux.com>
Paul Clements <paul.clements@steeleye.com>
Chuck Lever <chuck.lever@oracle.com>
TRADUCERE
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.
1 noiembrie 2009 RPC.STATD(8)