Zmiany serwera NFS w pliku / etc / export wymagają ponownego uruchomienia usługi?

30

Mam serwer NFSv4 (na RHELv6.4) i klientów NFS na (CentOSv6.4). Powiedzmy za /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)

Potem za każdym razem, gdy wprowadzałem jakieś zmiany (powiedzmy, że zmiany TYLKO dla client-2), np .:

/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)

Więc zawsze service nfs restart. A potem w końcu ... punkt montowania na client-1nie zareagował (nie można otworzyć plików itp . ) . (Dlaczego? Z powodu RESTART?)

Ale jak opisano, zmodyfikowałem tylko linię client-2tylko. Wszystko dla tych client-1jest nadal nietknięte.

Oto moje pytania:

  • Ilekroć zmieniam /etc/exports, czy powinienem skorzystać restartz usługi czy co?
  • Jeśli ja service nfs restart, dlaczego ostatecznie ma to wpływ na punkt montowania na innych klientach? (Dla tych komputerów klienckich, w których NIE wprowadzono żadnych zmian /etc/exports.)

Oznacza to, że gdy robię zmiany /etc/exportsi restartusługi, będę musiał przejść ponowne zamontowanie katalogi na KLIENTÓW Każdego na liście eksportowej, aby mieć mocowanie punktów działa ponownie.

Masz jakiś pomysł?

夏 期 劇場
źródło
1
Po modyfikacji /etc/exportsspróbuj uruchomić jako root exportfs -ra. Zobacz man exportfsszczegóły.
John1024
Więc nie potrzebowałbym nfs restartwięcej?
夏 期 劇場

Odpowiedzi:

53

Nie powinieneś ponownie uruchamiać NFS za każdym razem, gdy wprowadzasz zmiany w /etc/exports. Wszystko, co jest wymagane, to wydanie odpowiedniego polecenia po edycji /etc/exportspliku:

$ exportfs -ra

Fragment oficjalnej dokumentacji Red Hat zatytułowanej: 21.7. Plik konfiguracyjny / etc / export .

fragment

Wydane ręcznie, polecenie / usr / sbin / exportfs pozwala użytkownikowi root na selektywne eksportowanie lub nieeksportowanie katalogów bez ponownego uruchamiania usługi NFS. Po podaniu odpowiednich opcji komenda / usr / sbin / exportfs zapisuje wyeksportowane systemy plików do / var / lib / nfs / xtab. Ponieważ rpc.mountd odnosi się do pliku xtab przy podejmowaniu decyzji o uprawnieniach dostępu do systemu plików, zmiany na liście eksportowanych systemów plików zaczynają obowiązywać natychmiast.

Przeczytaj także exportfsstronę podręcznika, aby uzyskać więcej informacji, w szczególności sekcję „OPIS”, która wyjaśnia to wszystko i wiele więcej.

OPIS Serwer NFS utrzymuje tabelę lokalnych fizycznych systemów plików, które są dostępne dla klientów NFS. Każdy system plików w tej tabeli jest określany jako eksportowany system plików lub w skrócie eksport.

  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.

Zwróć również uwagę na opcje, z których korzystamy -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
źródło
Czy jest jakaś korzyść z -razamiast tylko -r?
Mvorisek
@Mvorisek - to jest jawne.
slm