Montagens NFS mostrando arquivos de outras montagens

2

Eu tenho um servidor que armazena instantâneos do ZFS que eu exporto via NFS para os servidores dos quais eles estão fazendo backup, para que você possa restaurar por meio de um aplicativo personalizado escrito internamente. A questão é a seguinte:

OBSERVAÇÃO: Não estou usando o NFS interno do ZFS por algum motivo, então, por favor, não me diga para usar isso!

Isso é tudo NFS v4
O host está executando o CentOS 6.2 O cliente está executando o CentOS 5.7

Eu tenho 8 servidores nfs iniciados por padrão no host.

No servidor de backup que contém os compartilhamentos NFS, posso percorrer a estrutura de diretório tão profundamente quanto necessário e ver todos os arquivos esperados.

No cliente, posso percorrer o sistema de arquivos, mas às vezes, e realmente parece aleatório, quando eu vou em 2 ou mais diretórios, acabo vendo os arquivos de outro servidor.

Aqui está um exemplo:

[NFSSERVER /nfs/share]#  ls -l
total 60
drwx--x--x 30 root root 4096 Feb 25 00:15 20120225
drwx--x--x 30 root root 4096 Feb 26 00:05 20120226
drwx--x--x 30 root root 4096 Feb 27 00:06 20120227
.....

assim por diante

[NFSCLIENT /app/backups]# ls -l
total 60
drwx--x--x 30 nobody nobody 4096 Mar  2 00:25 20120225/
drwx--x--x 30 nobody nobody 4096 Mar  2 00:25 20120226/
drwx--x--x 30 nobody nobody 4096 Mar  2 00:25 20120227/
......

assim por diante

Você pode ver que eles são idênticos, como deveriam ser.

Aqui é onde o problema começa. Se eu entrar em:

[NFSCLIENT /app/backups/20120225/home] #  ls -l

Quando executo este ls -l no cliente algumas vezes vejo os arquivos corretos, as vezes vejo o diretório home de outro servidor.

Se eu chegar em [NFSSERVER /nfs/share/20120225/home]# ls -l

Quando eu executo este ls -l eu vejo os arquivos apropriados. Se eu excluir uma pasta em / nfs / share /, posso ver o resultado no cliente imediatamente. É só quando eu vou mais fundo que vejo esses sistemas de arquivos "cross-mounted".

Aqui está uma parte do meu / etc / exports (nomes de host alterados)

/nfs *.domain.com(fsid=0,ro,nohide,no_root_squash)
/nfs/server1/20120308 *.domain.com(ro,nohide,no_root_squash)
/nfs/server1/20120309 *.domain.com(ro,nohide,no_root_squash)
/nfs/server1/20120310 *.domain.com(ro,nohide,no_root_squash)
/nfs/server1/20120311 *.domain.com(ro,nohide,no_root_squash)
/nfs/server2/20120308 *.domain.com(ro,nohide,no_root_squash)
/nfs/server2/20120309 *.domain.com(ro,nohide,no_root_squash)
/nfs/server2/20120310 *.domain.com(ro,nohide,no_root_squash)
/nfs/server2/20120311 *.domain.com(ro,nohide,no_root_squash)
/nfs/server3/20120204 *.domain.com(ro,nohide,no_root_squash)
/nfs/server3/20120205 *.domain.com(ro,nohide,no_root_squash)
/nfs/server3/20120206 *.domain.com(ro,nohide,no_root_squash)
/nfs/server3/20120207 *.domaincom(ro,nohide,no_root_squash)

SE eu remover todas as linhas das exportações etc. EXCETO aquela que é de montagem cruzada, em seguida, recarregar o arquivo de exportação (isto é, deixando apenas uma entrada em / etc / exports), ele mostrará todos os diretórios apropriados na máquina cliente .

Então, identificadores NFS obsoletos? Mais servidores NFS em execução por padrão? Algo mais? Alguma ideia? Eu tenho batido minha cabeça por algumas semanas agora nessa.

UPDATE

Esta é a linha de código que meu script executa que está configurando os diretórios que estão sendo exportados:

mount -t ext4 -o noload,ro /dev/zvol/backups/$HOST@$DATE"-00" /nfs/$HOST/$DATE

As pastas / nfs / $ HOST / $ DATE são as que estão sendo exportadas (como você pode ver no arquivo de exportação acima)

    
por jemmille 14.03.2012 / 23:39

1 resposta

1

então parece que foram as exportações de curingas, que, se você ler a man page, não são recomendadas. Eu li isso antes, mas por algum motivo não consertei. Eu ainda acho que isso é um "bug" e deve trabalhar em teoria, mas na prática, isso não acontece.

Espero que isso ajude os outros.

Exemplo do meu novo arquivo de exportação:

/nfs server1.a2hosting.com(fsid=0,ro,nohide,no_root_squash)
/nfs/server1/20120320 server1.a2hosting.com(ro,nohide,no_root_squash)
    
por 22.03.2012 / 21:53

Tags