Los cambios del servidor NFS en el archivo / etc / exports necesitan reiniciar el servicio?

30

Tengo el servidor NFSv4 (en RHELv6.4) y los clientes NFS en (CentOSv6.4). Digamos en /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)

Luego, cada vez que hice algunos cambios en eso (digamos los cambios SOLO para client-2), por ejemplo:

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

Entonces yo siempre service nfs restart. Y luego con el tiempo .. el punto de montaje en client-1conseguido que no responde (no se puede abrir sus archivos, etc.) . (¿Por qué? ¿Por RESTART?)

Pero como se describe, solo modifiqué la línea client-2solo. Todo para el client-1todavía están intactos.

Entonces mis preguntas aquí son:

  • Cada vez que modifico /etc/exports, ¿debería restartel servicio o qué?
  • Si yo service nfs restart, ¿por qué el punto de montaje en otros clientes finalmente se ve afectado? (Para aquellas máquinas cliente sin cambios /etc/exportspara ellas).

Eso significa que, cada vez que realice los cambios /etc/exportsy restartel servicio, tendré que volver a MONTAR los directorios en CADA CLIENTES en la lista de exportación, para que los puntos de montaje vuelvan a funcionar.

¿Alguna idea, por favor?

夏 期 劇場
fuente
1
Después de modificar /etc/exports, tratar sólo correr, como root, exportfs -ra. Ver man exportfspara más detalles.
John1024
Entonces no necesitaría nfs restartmás?
夏 期 劇場

Respuestas:

53

No debería necesitar reiniciar NFS cada vez que realice un cambio /etc/exports. Todo lo que se requiere es emitir el comando apropiado después de editar el /etc/exportsarchivo:

$ exportfs -ra

Extracto de la documentación oficial de Red Hat titulada: 21.7. El / etc / exporta el archivo de configuración .

extracto

Cuando se emite manualmente, el comando / usr / sbin / exportfs permite al usuario root exportar o exportar selectivamente directorios sin reiniciar el servicio NFS. Cuando se le dan las opciones adecuadas, el comando / usr / sbin / exportfs escribe los sistemas de archivos exportados en / var / lib / nfs / xtab. Dado que rpc.mountd se refiere al archivo xtab al decidir los privilegios de acceso a un sistema de archivos, los cambios en la lista de sistemas de archivos exportados entran en vigencia de inmediato.

Lea también la exportfspágina del manual para obtener más detalles, específicamente la sección "DESCRIPCIÓN" que explica todo esto y más.

DESCRIPCIÓN Un servidor NFS mantiene una tabla de sistemas de archivos físicos locales a los que pueden acceder los clientes NFS. Cada sistema de archivos en esta tabla se conoce como un sistema de archivos exportado, o exportación, para abreviar.

  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.

También tome nota de las opciones que estamos usando -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
fuente
¿Hay alguna ventaja en -ralugar de solo -r?
Mvorisek
@Mvorisek: es explícito.
slm