Tenho dois sistemas rodando no Ubuntu 22.04. Quero montar um dos discos do servidor (PC1 - auerbach) no cliente (PC2 - hubel) usando NFS.
O /etc/exports
arquivo no PC1 se parece com o seguinte:
/media/auerbach-data 139.124.148.0/25(rw,no_subtree_check,sync,fsid=001)
Eu rodei sudo exportfs -av
no PC1 que funciona. O /etc/fstab
arquivo no PC2 parece com o seguinte:
auerbach:/media/auerbach-data /mnt/auerbach-data nfs defaults,auto,rw 0 0
Entretanto, quando executo sudo mount /mnt/auerbach-data -v
no PC2, recebo a mensagem de erro:
mount.nfs: timeout set for Thu Nov 28 10:44:02 2024
mount.nfs: trying text-based options 'vers=4.2,addr=139.124.148.27,clientaddr=139.124.148.5'
mount.nfs: mount(2): Connection timed out
mount.nfs: Connection timed out
O que é realmente estranho é que quando executo showmount -e
no PC1, obtenho:
Export list for PC1:
/media/auerbach-data 139.124.148.0/25
Então parece que a exportação em si funciona. E quando eu executo showmount
, eu obtenho:
Hosts on PC1:
PC2’s ip
O que parece indicar que PC1 vê PC2. Além disso, quando eu executo showmount -e auerbach
em PC2, eu obtenho:
Export list for auerbach:
/media/auerbach-data 139.124.148.0/25
Depois de um pouco de pesquisa para corrigir o problema, usei tcpdump -i eno145 host auerbach
e descobri que ao executar o comando mount no PC2, o PC1 não recebeu nenhuma informação pela rede. Este não é o caso quando eu ping PC1 ou uso showmount
. Alguns dos logs estão listados abaixo:
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eno145, link-type EN10MB (Ethernet), snapshot length 262144 bytes
10:52:29.203855 IP hubel.836 > auerbach.nfs: Flags [S], seq 3035191773, win 64240, options [mss 1460,sackOK,TS val 3
448551700 ecr 0,nop,wscale 7], length 0
10:52:30.244579 IP hubel.836 > auerbach.nfs: Flags [S], seq 3035191773, win 64240, options [mss 1460,sackOK,TS val 3
448552741 ecr 0,nop,wscale 7], length 0
Alguém sabe como eu poderia resolver esse problema? Agradeço antecipadamente!
Informações adicionais:
Não há Firewall ativado auerbach
e a porta 2049 está aberta (verificado com telnet
).
Quando eu uso sudo mount -t nfs auerbach:/media/auerbach-data /mnt/auerbach-data -v
, eu obtenho:
mount.nfs: timeout set for Thu Nov 28 16:53:57 2024
mount.nfs: trying text-based options 'vers=4.2,addr=139.124.148.27,clientaddr=139.124.148.79'
Resolvi o problema. Depois de pesquisar um pouco, encontrei esta postagem: https://www.suse.com/fr-fr/support/kb/doc/?id=000019722 . A causa raiz parece ser um switch inteligente que detecta e bloqueia a reutilização de conexões TCP. Como o NFS depende da reutilização de conexões, isso estava bloqueando qualquer tentativa de montagem. Remover o switch resolveu tudo.
Alguém sabe como configurar um switch para que ele não filtre a reutilização de conexão?