Alterações no servidor NFS no arquivo / etc / exports precisam de Reinicialização de Serviço?

20

Eu tenho o NFSv4 Server (no RHELv6.4) e os clientes NFS no (CentOSv6.4). Digamos que em /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)

Então, sempre que eu fiz algumas alterações nisso (digamos que as alterações SOMENTE para client-2 ), por exemplo:

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

Então eu sempre service nfs restart . E então, eventualmente .. o ponto de montagem em client-1 ficou sem resposta (Não é possível abrir seus arquivos, etc) . (Por quê? Por causa do RESTART?)

Mas, conforme descrito, eu apenas modifiquei a linha para client-2 apenas. Tudo para o client-1 ainda está intacto.

Então, minhas perguntas aqui são:

  • Sempre que eu modificar o /etc/exports , devo restart o serviço ou o quê?
  • Se eu service nfs restart , por que o ponto de montagem de outros clientes acaba sendo afetado? (para os computadores cliente sem alterações feitas em /etc/exports para eles).

Isso significa que, sempre que eu fizer as alterações em /etc/exports e restart do serviço, precisarei ir RE-MOUNT aos diretórios em TODOS OS CLIENTES em a lista de exportação, para que os pontos de montagem funcionem novamente.

Alguma ideia, por favor?

    
por 夏期劇場 26.02.2014 / 03:45

1 resposta

37

Você não deve precisar reiniciar o NFS toda vez que fizer uma alteração em /etc/exports . Tudo o que é necessário é emitir o comando apropriado depois de editar o arquivo /etc/exports :

$ exportfs -ra

Trecho da documentação oficial da Red Hat intitulada: 21.7. O arquivo de configuração / etc / exports .

trecho

When issued manually, the /usr/sbin/exportfs command allows the root user to selectively export or unexport directories without restarting the NFS service. When given the proper options, the /usr/sbin/exportfs command writes the exported file systems to /var/lib/nfs/xtab. Since rpc.mountd refers to the xtab file when deciding access privileges to a file system, changes to the list of exported file systems take effect immediately.

Leia também a página exportfs man para mais detalhes, especificamente a seção "DESCRIPTION" que explica tudo isso e muito mais.

DESCRIPTION An NFS server maintains a table of local physical file systems that are accessible to NFS clients. Each file system in this table is referred to as an exported file system, or export, for short.

  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.

Também tome nota das opções 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.
    
por 26.02.2014 / 04:55