Você está usando o mapa direto. Para mapa direto, você precisa reiniciar o automount. Eu sugiro que você use o mapa indireto para o que você quer fazer.
Qual é a melhor maneira de tornar o autofs ciente de qualquer alteração em seus arquivos de mapa (por exemplo, alterações em auto.home
abaixo) sem a necessidade de interromper o serviço no RHEL 6.7?
De acordo com a autofs página masculina
If a map is modified then the change will become effective immediately. If the auto.master map is modified then the autofs script must be rerun to activate the changes.
No entanto, se eu alterar meu auto.home
, as alterações não serão vistas automaticamente pelo autofs. Além disso, se eu executar service autofs reload
, as alterações ainda não serão vistas. As alterações se tornam efetivas somente depois que eu executo service autofs restart
. No entanto, isso exigiria que todos os usuários parassem de trabalhar em qualquer pasta compartilhada do NFS até que a reinicialização do serviço fosse concluída.
As alterações não devem ter efeito automaticamente ou pelo menos depois que eu executar service autofs reload
? O que estou fazendo errado aqui?
Veja abaixo a configuração que eu uso:
Eu tenho a seguinte configuração simples em duas máquinas RedHat Linux 6.7, uma está atuando como o servidor NFS e a segunda como o cliente.
Servidor NFS:
$ cat /etc/exports
/home/user1/NFS-test *(rw,sync)
/home/user2/NFS-test *(rw,sync)
Cliente NFS:
$ cat /etc/auto.master
/misc /etc/auto.misc
/net -hosts
/- /etc/auto.home --temeout=300
+auto.master
$ cat /etc/auto.home
/home/user1/NFS-test -ro,soft,intr server:/home/user1/NFS-test
/home/user2/NFS-test -ro,soft,intr server:/home/user2/NFS-test
Isso funciona bem e os usuários ( user1
e user2
) conseguem ver seu próprio diretório NFS-test
em sua pasta pessoal na máquina cliente.
Agora, a segunda linha é removida de auto.home
, de modo que
$ cat /etc/auto.home
/home/user1/NFS-test -ro,soft,intr server:/home/user1/NFS-test
Em seguida, corro service autofs reload
para atualizar os compartilhamentos. No entanto, a alteração em auto.home
não é vista e /home/user2/NFS-test
continua acessível na máquina cliente.
Se, por outro lado, eu executar service autofs restart
, o mapeamento será atualizado corretamente /home/user2/NFS-test
não ficará visível no cliente.
Eu gostaria de poder atualizar os compartilhamentos NFS em resposta a alterações em auto.home
sem precisar parar o autofs primeiro para evitar pedir a todos os usuários que façam logout primeiro. Isso é possível com reload
? Existe outra maneira de fazer isso?
UPDATE
Como minha configuração é relativamente pequena (1 servidor e 3 clientes) e com apenas duas pastas sendo exportadas (uma somente leitura e uma leitura-gravação), decidi descartar o uso de autofs
e usar diretamente o NFS editando /etc/fstab
em cada cliente. Para uma configuração tão pequena, espero que não haja nenhuma diferença perceptível no desempenho em comparação com autofs
. Se alguém pensa o contrário, por favor me avise.
Caso alguém esteja interessado, aqui está a configuração que eu escolhi:
O servidor exporta as seguintes pastas:
/export
: onde todo o software estará localizado (somente leitura) /home/shared_homes
: aqui cada usuário tem uma pasta que é exportada para todos os clientes e que é automaticamente vinculada ao seu diretório home. Por exemplo, o usuário bob101
terá uma pasta /home/shared_homes/bob101
, que será vinculada a /home/bob101/mySharedWorkspace
Você está usando o mapa direto. Para mapa direto, você precisa reiniciar o automount. Eu sugiro que você use o mapa indireto para o que você quer fazer.