OTOthoTools

NFS Entry Builder

Genereer veerkrachtige mountregels
Resultaatfstab
10.20.0.15:/srv/shared  /mnt/shared  nfs  rw,hard,_netdev,nofail,x-systemd.automount,nfsvers=4.2,timeo=600,retrans=2  0  0
  • hard voorkomt stille gegevensbeschadiging bij onderbrekingen van de server.
  • _netdev en systemd-automount voorkomen mountfouten vroeg bij het opstarten.

Inleiding

De NFS Entry Builder produceert een fstab-regel voor een NFS-share met opties die de mount veerkrachtig maken: hard in plaats van soft, _netdev zodat het opstarten op het netwerk wacht, nofail zodat een ontbrekende share het opstarten niet blokkeert, en x-systemd.automount voor mounten op aanvraag.

Hard mounts blijven verzoeken herhalen totdat de server antwoordt; soft mounts kunnen fouten teruggeven die applicaties als echte I/O-fouten interpreteren. Daarom is hard de aanbevolen standaard voor de meeste workloads.

Doel

  • Genereer een correcte, volledige fstab-regel op basis van server, export, mountpunt en NFS-versie.
  • Pas productiegerichte standaarden toe: hard, _netdev, nofail, automount, timeo en retrans.
  • Waarschuw wanneer NFSv3 wordt gekozen, omdat dat rpcbind en extra firewallregels vereist.

Invoerwaarden

  • Hostnaam of IP van de NFS-server.
  • Exportpad op de server (bijvoorbeeld /srv/shared).
  • Lokaal mountpunt (bijvoorbeeld /mnt/shared).
  • NFS-versie: 4.2, 4.1, 4 of 3.

Hoe het werkt

Het hulpmiddel stelt de zes fstab-velden samen: server:export als apparaat, het mountpunt, het bestandssysteemtype nfs, de optielijst, 0 voor dump en 0 voor fsck-pass.

De optielijst wordt opgebouwd uit de invoer: rw, hard, _netdev, nofail, x-systemd.automount, nfsvers=<versie>, timeo=600 en retrans=2. timeo en retrans bepalen hoe lang de client wacht en hoe vaak hij opnieuw probeert voordat hij opgeeft.

Als NFSv3 is geselecteerd, wordt een waarschuwing toegevoegd omdat NFSv3 afhankelijk is van rpcbind en extra poorten opent op de serverfirewall; NFSv4 heeft de voorkeur als de server dit ondersteunt.

Testbaar voorbeeld

Probeer het — de analyse draait lokaal in uw browser.

Voorbeeld

Server: 10.20.0.15
Export: /srv/shared
Mount:  /mnt/shared
Versie: 4.2

Verwachte uitvoer

10.20.0.15:/srv/shared  /mnt/shared  nfs  rw,hard,_netdev,nofail,x-systemd.automount,nfsvers=4.2,timeo=600,retrans=2  0  0
Resultaat: geen kritiek probleem gevonden.

De uitvoer lezen

  • De gegenereerde regel kan rechtstreeks aan /etc/fstab worden toegevoegd en daarna met sudo mount -a worden gemount.
  • De goede bevindingen bevestigen dat hard en _netdev aanwezig zijn — die twee opties voorkomen de twee meest voorkomende NFS-foutmodi.
  • Als er een waarschuwing over NFSv3 verschijnt, controleer dan of de server NFSv4 ondersteunt voordat u deze accepteert.

Risico's

  • Hard mounts geven nooit op: als de server permanent verdwijnt, kunnen processen blijven hangen totdat de server terugkeert of de mount wordt ontkoppeld.
  • Automount stelt de mount uit tot het eerste gebruik, wat het gedrag wijzigt van services die het pad bij het opstarten verwachten.
  • Het plakken van een gegenereerde regel in /etc/fstab zonder testen kan het opstarten van een productieserver breken.

Beperkingen

  • Het hulpmiddel test geen connectiviteit, exports of authenticatie (bijvoorbeeld NFSv4-Kerberos).
  • De opties zijn een verstandige basislijn, geen universele best practice — workloads met hoge latentie kunnen andere timeo/retrans-waarden nodig hebben.
  • Het genereert geen /etc/exports-regels voor de serverkant.

Officiële referenties

FAQ

Waarom hard in plaats van soft?

Een soft mount kan na een time-out een fout teruggeven zelfs als de server alleen traag is, en applicaties behandelen die fout vaak als een echte I/O-storing. Hard mounts blijven opnieuw proberen, wat voor de gegevensintegriteit in de meeste gevallen veiliger is.

Wat doet nofail?

nofail zegt tegen het systeem dat het door moet gaan met opstarten, zelfs als deze mount faalt, in plaats van in de noodmodus te vallen. Het is essentieel voor optionele shares.

Wat is x-systemd.automount?

Het zorgt dat systemd de share bij het eerste gebruik mount in plaats van bij het opstarten, zodat een trage of onbeschikbare server het opstarten niet vertraagt. Het mountpunt bestaat direct; de echte mount gebeurt lui.