Puncte:0

Clientul de fundal NFS4 nu va porni la repornire și la expirarea timpului de conectare

drapel in

Versiunea de sortare

O montură NFS4 fstab în mod normal, pornește un serviciu de fundal pentru a continua să reîncerce atunci când gazda de montare nu este disponibilă. Cu toate acestea, numai în timpul repornirii și la expirarea timpului de conexiune serviciul de fundal nu reușește să pornească. Dacă conexiunea este refuzată la o repornire sau orice condiție după o repornire, pornește serviciul de fundal.

Versiunea lungă

Acesta este pe Oracle8, care este o aromă RHEL8 / CentOS8. În /etc/fstab eu am

[xx:xx:xx:xx:xx:xx:xx:xx]:/exemplu /mnt/exemplu nfs4 implicite 0 0

si in /etc/nfsmount.conf eu am

[ NFSMount_Global_Options ]
defaultvers=4
nfsvers=4
fundal=adevărat
rw=adevărat
greu = adevărat
sincronizare = adevărat
dimensiune=32k
wsize=32k
nordirplus=true
actimeo=3
_netdev=adevărat

am confirmat in /proc/monturi că setările globale sunt aplicate monturii atunci când funcționează. Când serviciul de fundal pornește conform așteptărilor, îl puteți vedea rulând.

[root@01b1 /]# ps aufx | grep nfs
rădăcină 1077 0,0 0,0 0 0 ? I< 18:31 0:00 \_ [nfsiod]
root 1506 0.0 0.1 221928 1036 pts/0 S+ 19:16 0:00 \_ grep --color=auto nfs
rădăcină 1466 0,0 0,0 47812 588 ? Ss 18:36 0:00 /sbin/mount.nfs4 [xx:xx:xx:xx:xx:xx:xx:xx]:/exemplu /mnt/exemplu -o rw

Și pentru a fi clar, atunci când serverul gazdă este disponibil, montarea funcționează de fiecare dată. Următoarele sunt atunci când gazda nu este disponibilă, cum ar fi repornirea acesteia, portul este blocat, nfs-server este oprit etc.

Când serviciul de fundal pornește la repornire, acesta arată acest lucru în /var/log/messages

8 iunie 17:42:29 01b1 systemd[1]: mnt-example.mount: Directorul /mnt/example de montat nu este gol, se montează oricum.
8 iunie 17:42:29 01b1 systemd[1]: Montarea /mnt/exemplu...
8 iunie 17:42:31 01b1 mount[1027]: montarea pe serverul NFS „xx:xx:xx:xx:xx:xx:xx:xx” a eșuat: conexiune refuzată, reîncercare
8 iunie 17:42:31 01b1 mount[1018]: mount.nfs4: fundal „[xx:xx:xx:xx:xx:xx:xx:xx]:/exemplu”
8 iunie 17:42:31 01b1 mount[1018]: mount.nfs4: opțiuni de montare: „rw,vers=4,bg,rw,hard,sync,rsize=32768,wsize=32768,nordirplus,actimeo=3,_netdev "
8 iunie 17:42:31 01b1 systemd[1]: mnt-example.mount: Procesul de montare s-a încheiat, dar nu există nicio montare.
8 iunie 17:42:31 01b1 systemd[1]: mnt-example.mount: Eșuat cu rezultatul „protocol”.
8 iunie 17:42:31 01b1 systemd[1]: Montarea /mnt/example a eșuat.
8 iunie 17:42:32 01b1 mount[1128]: montarea pe serverul NFS „xx:xx:xx:xx:xx:xx:xx:xx” a eșuat: conexiune refuzată, reîncercare
8 iunie 17:42:34 01b1 mount[1128]: montarea pe serverul NFS „xx:xx:xx:xx:xx:xx:xx:xx” a eșuat: conexiune refuzată, reîncercare

Dar când nu reușește să pornească serviciul de fundal la repornire, arată acest lucru

8 iunie 17:49:05 01b1 systemd[1]: mnt-example.mount: Directorul /mnt/example de montat nu este gol, se montează oricum.
8 iunie 17:49:05 01b1 systemd[1]: Montarea /mnt/exemplu...
8 iunie 17:50:35 01b1 systemd[1]: mnt-example.mount: Montarea a expirat. Încheiere.
8 iunie 17:50:35 01b1 systemd[1]: mnt-example.mount: Procesul de montare a ieșit, code=killed status=15
8 iunie 17:50:35 01b1 systemd[1]: mnt-example.mount: Eșuat cu rezultatul „timeout”.
8 iunie 17:50:35 01b1 systemd[1]: Nu s-a montat /mnt/example.

La repornire când portul gazdă este deschis, dar nfs-server nu rulează, conexiunea este refuzată și serviciul de fundal este pornit.

La reporniri când gazda este oprită sau portul este blocat, conexiunea expiră și serviciul de fundal nu este pornit.

Dacă gazda nu este disponibilă, clientul nu repornește și eu manual monte -a, serviciul de fundal va porni întotdeauna chiar dacă conexiunea este refuzată sau expiră.

Aveți idee de ce serviciul de fundal nu reușește să pornească doar la repornire și o conexiune expirată? Vreo modalitate de a o remedia, astfel încât fundalul să înceapă întotdeauna când gazda nu este disponibilă?

--- ACTUALIZAȚI ---

Am încercat setări aleatorii pentru a vedea dacă ar ajuta ceva. Am descoperit că ajustarea setărilor de timeout/retry a permis serviciului de fundal să pornească la repornire atât la timeout, cât și la refuzul conexiunilor.

/etc/nfsmount.conf

# Timp implicito=600
# Retransmitere implicită=2
timeo=20
retrans=4

Cu toate acestea, simt că acesta este un leucoaniu și nu o soluție. Acest lucru nu are sens pentru mine decât dacă este o eroare RHEL. Bănuiesc că se întâmplă un fel de problemă de cursă în timpul expirării mai lungi.Nu am încredere în asta pentru că dacă acele condiții de cursă se schimbă și se rupe din nou.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.