Alterações do servidor NFS no arquivo / etc / exportações precisam de reiniciar o serviço?

30

Eu tenho o servidor NFSv4 (no RHELv6.4) e os clientes NFS no (CentOSv6.4). Digamos 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 (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 client-1ficou sem resposta (Não é possível abrir seus arquivos, etc) . (Por quê? Por causa de RESTART?)

Mas, como descrito, modifiquei apenas a linha client-2apenas. Tudo para o client-1ainda está intocado.

Então, minhas perguntas aqui são:

  • Sempre que eu modifico o /etc/exports, devo restarto serviço ou o quê?
  • Se i service nfs restart, por que o ponto de montagem em outros clientes é afetado? (Para as máquinas clientes sem alterações feitas /etc/exportspara elas.)

Isso significa que, sempre que eu faça as alterações no /etc/exportse restarto serviço, i terá de ir RE-MOUNT os diretórios em clientes todos na lista de exportação, a fim de ter o monte de pontos de trabalho novamente.

Alguma ideia, por favor?

夏 期 劇場
fonte
11
Após a modificação /etc/exports, tente apenas executar, como root exportfs -ra,. Veja man exportfspara detalhes.
John1024
Então eu não precisaria nfs restartmais?
夏期劇場

Respostas:

53

Você não precisa reiniciar o NFS toda vez que fizer uma alteração /etc/exports. Tudo o que é necessário é emitir o comando apropriado após editar o /etc/exportsarquivo:

$ exportfs -ra

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

excerto

Quando emitido manualmente, o comando / usr / sbin / exportfs permite que o usuário root exporte ou exporte seletivamente os diretórios sem reiniciar o serviço NFS. Quando são fornecidas as opções apropriadas, o comando / usr / sbin / exportfs grava os sistemas de arquivos exportados em / var / lib / nfs / xtab. Como rpc.mountd se refere ao arquivo xtab ao decidir os privilégios de acesso a um sistema de arquivos, as alterações na lista de sistemas de arquivos exportados entram em vigor imediatamente.

Leia também a exportfspágina de manual para obter mais detalhes, especificamente a seção "DESCRIÇÃO", que explica tudo isso e muito mais.

DESCRIÇÃO Um servidor NFS mantém uma tabela de sistemas de arquivos físicos locais acessíveis aos clientes NFS. Cada sistema de arquivos nesta tabela é chamado de sistema de arquivos exportado, ou exportação, 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.

Observe também as 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.
slm
fonte
Existe alguma vantagem em -ravez de apenas -r?
Mvorisek
@Mvorisek - é explícito.
slm