Em suma, o fsid é a maneira como o cliente e o servidor identificam uma exportação depois de montada.
Como afirma a página man, o fsid será derivado do sistema de arquivos subjacente, se não for especificado.
As quatro exportações têm o mesmo fsid, então é possível que quando o client1 estiver perguntando sobre os arquivos de sua montagem, o servidor pense que está tentando acessar a exportação do client4 (supondo que esteja mantendo a ocorrência mais recente do mesmo fsid). / p>
Eu acho que existem algumas maneiras de validar essa hipótese, por exemplo, verificando se um (e apenas um) dos 4 clientes funcionará. Também mantendo apenas a exportação client1, sem os outros 3, e confirmando o client1 irá funcionar.
Veja também esta resposta para uma maneira de consultar o fsid de um cliente, usando o comando mountpoint -d
, que você poderia usar dos 4 clientes para confirmar que as 4 montagens têm o mesmo fsid.
Por que isso é uma solução?
Como com o fsid distinto, as exportações parecerão distintas do servidor NFS, portanto, ele corresponderá adequadamente aos acessos do cliente às suas montagens correspondentes.
Devemos usar fsid em todas as exportações?
Sim, acho que é uma boa prática, pois garante que você manterá o controle e as alterações nos dispositivos de armazenamento subjacentes e as exportações não afetarão seus clientes.
(No meu caso, lembro-me de tê-lo adotado, pois alguns dos meus servidores NFS com discos em uma SAN às vezes examinavam discos em uma ordem diferente, portanto, após uma reinicialização / dev / sdh, de repente se tornava / dev / sdj. Os rótulos asseguravam que ele seria montado no local correto, mas o fsid mudaria e os clientes se perderiam. Isso é antes da onipresença dos UUIDs, que aparentemente agora são suportados e são, obviamente, uma solução muito melhor para isso, que não quebrar quando os discos são digitalizados em uma ordem diferente.Mas, ainda, especificando o fsid explicitamente não é uma má idéia, permite que você mantenha o controle total.