Änderungen am NFS-Server in der Datei / etc / exports erfordern einen Neustart des Dienstes?

30

Ich habe NFSv4-Server (auf RHELv6.4) und NFS-Clients (auf CentOSv6.4). Sagen wir in /etc/exports:

/shares/website1      <ip-client-1>(rw,sync,no_subtree_check,no_root_squash)
/shares/website2      <ip-client-2>(rw,sync,no_subtree_check,no_root_squash)

Wann immer ich Änderungen daran vorgenommen habe (sagen wir die Änderungen NUR für client-2), zB:

/shares/website1      <ip-client-1>(rw,sync,no_subtree_check,no_root_squash)
/shares/xxxxxxxx      <ip-client-2>(rw,sync,no_subtree_check,no_root_squash)

Dann bin ich immer service nfs restart. Und dann schließlich .. der Mount-Punkt client-1bekam nicht mehr reagiert (kann nicht seine Dateien öffnen, etc) . (Warum? Wegen RESTART?)

Aber wie beschrieben habe ich nur die Zeile für geändert client-2. Alles für die client-1sind noch unberührt.

Meine Fragen hier sind also:

  • Wann immer ich das ändere /etc/exports, soll ich restartden Service oder was?
  • Wenn ja service nfs restart, warum sind die Mount-Points auf anderen Clients letztendlich betroffen? (Für die Client-Computer, auf denen KEINE Änderungen vorgenommen wurden /etc/exports.)

Das heißt, wann immer ich die Änderungen an /etc/exportsund restartden Service vornehme , muss ich die Verzeichnisse auf JEDEN KUNDEN in der Exportliste neu einhängen , damit die Einhängepunkte wieder funktionieren.

Irgendeine Idee, bitte?

夏 夏 期
quelle
1
/etc/exportsVersuchen Sie nach dem Ändern , einfach als root auszuführen exportfs -ra. Siehe man exportfsfür weitere Einzelheiten.
John1024
Dann würde ich nicht nfs restartmehr brauchen ?
夏 期 劇場

Antworten:

53

Sie müssen NFS nicht jedes Mal neu starten, wenn Sie Änderungen vornehmen /etc/exports. Nach dem Bearbeiten der /etc/exportsDatei müssen Sie lediglich den entsprechenden Befehl eingeben :

$ exportfs -ra

Auszug aus der offiziellen Red Hat-Dokumentation mit dem Titel: 21.7. Die Konfigurationsdatei / etc / exports .

Auszug

Wenn der Befehl / usr / sbin / exportfs manuell ausgegeben wird, kann der Root-Benutzer Verzeichnisse selektiv exportieren oder aus dem Export entfernen, ohne den NFS-Dienst neu zu starten. Wenn die richtigen Optionen angegeben sind, schreibt der Befehl / usr / sbin / exportfs die exportierten Dateisysteme nach / var / lib / nfs / xtab. Da sich rpc.mountd bei der Entscheidung über die Zugriffsrechte auf ein Dateisystem auf die xtab-Datei bezieht, werden Änderungen an der Liste der exportierten Dateisysteme sofort wirksam.

Lesen Sie auch die exportfsManpage für weitere Details, insbesondere den Abschnitt "DESCRIPTION", der all dies und mehr erklärt.

BESCHREIBUNG Ein NFS-Server verwaltet eine Tabelle lokaler physischer Dateisysteme, auf die NFS-Clients zugreifen können. Jedes Dateisystem in dieser Tabelle wird als exportiertes Dateisystem oder kurz als Export bezeichnet.

  The exportfs command maintains the current table of exports for the NFS 
    server.  The master export table is kept in  a  file  named
    /var/lib/nfs/etab.  This file is read by rpc.mountd when a client sends 
    an NFS MOUNT request.

  Normally  the  master  export  table  is  initialized  with the contents 
    of /etc/exports and files under /etc/exports.d by invoking exportfs -a.  
    However, a system administrator can choose to add or delete exports 
    without modifying  /etc/exports  or  files  under /etc/exports.d by 
    using the exportfs command.

Beachten Sie auch die von uns verwendeten Optionen -ra:

   -a     Export or unexport all directories.
   -r     Reexport all directories, synchronizing /var/lib/nfs/etab with 
          /etc/exports and files  under  /etc/exports.d.   This  option
          removes  entries  in  /var/lib/nfs/etab which have been deleted 
          from /etc/exports or files under /etc/exports.d, and removes
          any entries from the kernel export table which are no longer
          valid.
slm
quelle
Gibt es einen Vorteil mit -rastatt nur -r?
Mvorisek
@Mvorisek - es ist explizit.
slm