OTOthoTools

NFS-oppføringsbygger

Generer robuste monteringslinjer
Resultatfstab
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 hindrer stillferdig datakorrupsjon ved avbrudd fra serveren.
  • _netdev og systemd-automount hindrer monteringsfeil tidlig i oppstarten.

Innledning

NFS-oppføringsbyggeren produserer en fstab-linje for en NFS-del med alternativer som gjør monteringen robust: hard i stedet for soft, _netdev slik at oppstarten venter på nettverket, nofail slik at en manglende del ikke blokkerer oppstarten, og x-systemd.automount for montering ved behov.

Hard-monteringer gjentar forespørsler til serveren svarer; soft-monteringer kan returnere feil som applikasjoner tolker som ekte I/O-feil, og derfor er hard den anbefalte standarden for de fleste arbeidsmengder.

Mål

  • Generer en korrekt, fullstendig fstab-linje fra server, eksport, monteringspunkt og NFS-versjon.
  • Bruk produksjonsorienterte standarder: hard, _netdev, nofail, automount, timeo og retrans.
  • Advar når NFSv3 velges, siden det krever rpcbind og ekstra brannmurregler.

Inndata

  • Vertsnavn eller IP for NFS-serveren.
  • Eksportbane på serveren (for eksempel /srv/shared).
  • Lokalt monteringspunkt (for eksempel /mnt/shared).
  • NFS-versjon: 4.2, 4.1, 4 eller 3.

Slik fungerer det

Verktøyet setter sammen de seks fstab-feltene: server:export som enhet, monteringspunktet, filsystemtypen nfs, alternativlisten, 0 for dump og 0 for fsck-pass.

Alternativlisten bygges fra inndataene: rw, hard, _netdev, nofail, x-systemd.automount, nfsvers=<versjon>, timeo=600 og retrans=2. timeo og retrans justerer hvor lenge klienten venter og hvor ofte den prøver igjen før den gir opp.

Hvis NFSv3 velges, legges det til en advarsel fordi NFSv3 er avhengig av rpcbind og åpner flere porter på serverbrannmuren; NFSv4 foretrekkes når serveren støtter det.

Testbart eksempel

Prøv det — analysen kjører lokalt i nettleseren din.

Eksempel

Server: 10.20.0.15
Eksport: /srv/shared
Montering: /mnt/shared
Versjon: 4.2

Forventet utdata

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
Resultat: ingen kritiske problemer funnet.

Les utdataene

  • Den genererte linjen kan legges til i /etc/fstab som den er, og deretter monteres med sudo mount -a.
  • De gode funnene bekrefter at hard og _netdev er til stede — disse to alternativene forhindrer de to vanligste NFS-feilmodusene.
  • Hvis en advarsel om NFSv3 vises, må du sjekke om serveren støtter NFSv4 før du aksepterer den.

Risikoer

  • Hard-monteringer gir aldri opp: hvis serveren forsvinner permanent, kan prosesser henge til serveren kommer tilbake eller monteringen demonteres.
  • Automount utsetter monteringen til første tilgang, noe som endrer atferden for tjenester som forventer banen ved oppstart.
  • Å lime inn en generert linje i /etc/fstab uten testing kan bryte oppstarten på en produksjonsserver.

Begrensninger

  • Verktøyet tester ikke tilkobling, eksporter eller autentisering (for eksempel NFSv4-Kerberos).
  • Alternativene er en fornuftig grunnlinje, ikke en universell beste praksis — arbeidsmengder med høy latens kan trenge andre timeo/retrans-verdier.
  • Det genererer ikke /etc/exports-linjer for serversiden.

Offisielle referanser

FAQ

Hvorfor hard i stedet for soft?

En soft-montering kan returnere en feil etter en tidsavbrudd selv når serveren bare er treg, og applikasjoner behandler ofte den feilen som en ekte I/O-feil. Hard-monteringer fortsetter å prøve, noe som er tryggere for dataintegriteten i de fleste tilfeller.

Hva gjør nofail?

nofail forteller systemet at det skal fortsette å starte opp selv om denne monteringen feiler, i stedet for å falle i nødmodus. Det er avgjørende for valgfrie deler.

Hva er x-systemd.automount?

Det får systemd til å montere delen ved første tilgang i stedet for ved oppstart, slik at en treg eller utilgjengelig server ikke forsinker oppstarten. Monteringspunktet finnes umiddelbart; den faktiske monteringen skjer lat.