Eu já tinha sido capaz de configurar um servidor NFS em um computador executando o CentOS 6.6 e de montar o sistema de arquivos em uma máquina virtual com o mesmo sistema operacional e usando autofs
.
Na semana passada eu fiz uma nova instalação de todos os sistemas operacionais que eu tinha, e agora, por algum motivo, não consigo fazer funcionar. O computador servidor ainda roda o CentOS 6.6, e a máquina virtual agora está rodando o CentOS 7 (eu também tentei com outra máquina virtual rodando Debian Wheezy, mas ainda não funcionou).
O servidor ( centosserv
) está sendo executado em 192.168.1.89 e o cliente ( centoscli
, o CentOS 7) em 192.168.1.100.
O sistema de arquivos que eu quero compartilhar é /NFSSHARE
e /NFSSHARE/mydir
e, como tal, o arquivo /etc/exports
no servidor contém o seguinte:
/NFSSHARE 192.168.1.100(fsid=0,rw,sync,no_subtree_check,root_squash,anonuid=1000,anongid=1000)
/NFSSHARE/mydir 192.168.1.100(ro,sync,no_subtree_check)
Se eu executar showmount -e
, obtenho isto:
[root@centosserv ~]# showmount -e
Export list for centosserv:
/NFSSHARE/mydir 192.168.1.100
/NFSSHARE 192.168.1.100
Então, tudo parece bem até agora.
No lado do cliente, editei o /etc/auto.master
para incluir a seguinte linha:
/mnt/nfs /etc/auto.nfs-share --timeout=90
E, em seguida, criou o arquivo /etc/auto.nfs-share
com o seguinte conteúdo:
[root@centoscli ~]# cat /etc/auto.nfs-share
writeable_share -rw 192.168.1.89:/
non_writeable_share -ro 192.168.1.89:/mydir
Isso também parece estar funcionando, dada a saída abaixo:
[root@centoscli ~]# mount | grep nfs-share
/etc/auto.nfs-share on /mnt/nfs type autofs (rw,relatime,fd=18,pgrp=2401,timeout=90,minproto=5,maxproto=5,indirect)
Neste ponto, /mnt/nfs/writeable_share
e /mnt/nfs/non_writeable_share
não estão montados, a menos que eu tente acessá-los diretamente, conforme este tutorial (que é o mesmo que eu havia seguido na última vez que configurei o servidor NFS *). Então, só depois que eu tentei ls -l /mnt/nfs/writeable_share
deve ser montado. Mas a saída que recebo é:
[root@centoscli ~]# ls -l /mnt/nfs/writeable_share
ls: cannot access /mnt/nfs/writeable_share: No such file or directory
Eu ping
o servidor do cliente e vice-versa, apenas para verificar se eles poderiam chegar um ao outro, e eles parecem fazer.
Eu fiz tudo exatamente da mesma maneira que fiz na primeira vez, mas por alguma razão não consigo fazer funcionar dessa vez. Eu tentei fazer isso editando o arquivo /etc/fstab
no lado do cliente e manualmente em vez de usar autofs
, mas também não parece funcionar dessa maneira. Desativar iptables
no lado do servidor faz com que ele funcione com fstab
e manualmente, mas não com autofs
ainda.
O que mais posso verificar ou onde estou errado?
* Com exceção das três primeiras etapas, desde que eu não tenho nem um serviço chamado nfs-common
nem um arquivo /etc/default/nfs-common
.
EDITAR
Eu estava conferindo este tutorial em um grupo do CentOS em FB que, depois que o lado do servidor é supostamente resolvido e estamos prontos para começar a configurar o lado do cliente, diz isto:
Test if you can see NFS server:
showmount -e
Então, estou supondo que usando showmount -e
no cliente eu deveria ser capaz de obter algumas informações no servidor, ou pelo menos alguma confirmação de que posso montar sistemas de arquivos a partir desse servidor neste cliente. No entanto, tentei usar showmount -e 192.168.1.89
no lado do cliente, e a única mensagem que recebi foi esta:
clnt_create: RPC: Port mapper failure - Unable to receive: errno113 (No route to host)
Suponho que este poderia ser o problema, mas não tenho certeza do que isso significa.
EDIT 2
Depois de ter desabilitado iptables
no lado do servidor, agora posso ver os sistemas de arquivos exportados quando uso showmount -e 192.168.1.89
no lado do cliente. O que torna minha primeira edição acima discutível, eu acho. No entanto, ainda não consigo montar os sistemas de arquivos usando autofs
.
EDIT 3
Ok, além de ter o iptables
desabilitado, eu edito os dois /etc/exports
no servidor e /etc/auto.nfs-share
no cliente para ficar assim:
[root@centosserv ~]# cat /etc/exports
/NFSSHARE 192.168.1.100(fsid=0,rw,sync,no_subtree_check,root_squash,anonuid=1000,anongid=1000)
/NFSSHARE/mydir 192.168.1.100(rw,sync,no_subtree_check,root_squash,anonuid=1000,anongid=1000)
/NFSSHARE/mydir/ro 192.168.1.100(ro,sync,no_subtree_check)
[root@centoscli ~]# cat /etc/auto.nfs-share
writeable_share -fstype=nfs4,rw 192.168.1.89:/mydir
non_writeable_share -fstype=nfs4,ro 192.168.1.89:/mydir/ro
E com isso eu pareço ser capaz de montar os sistemas de arquivos, mas não escrever do cliente :
[root@centoscli ~]# touch /mnt/nfs/writeable_share/test_from_client.file
touch: cannot touch ‘/mnt/nfs/writeable_share/test_from_client.file’: Permission denied