Criando dois compartilhamentos nfs do mesmo servidor, mas quando montado, ambos apontam para o mesmo diretório

3

Eu tenho um grupo de servidores que precisam de dois compartilhamentos nfs, alguns servidores precisam acessar um dos compartilhamentos e todos os servidores precisam acessar o outro. O servidor NFS é o Ubuntu 12.04 e os outros são 13.04 Aqui estão minhas exportações no servidor nfs

    /u0/logshare/ 172.1.1.0/24(rw,fsid=0,insecure,no_subtree_check,async)
    /vmail1/ 172.1.1.64/27(rw,fsid=0,no_subtree_check,async,anonuid=2000,anongid=2000) 172.1.1.36(rw,fsid=0,no_subtree_check,async,anonuid=2000,anongid=2000)

Ambos estão em partições separadas, o compartilhamento de logs é ext4 e o vmail é xfs, não sei se isso pode ser relevante.

Aqui está o que está no fstab no servidor do cliente

    172.1.1.15:/vmail1           /vmail1         nfs     hard,intr,auto 0 0 
    172.1.1.15:/u0/logshare      /logshare     nfs     hard,intr,auto 0 0 

mas aqui está o que eu recebo após reiniciar

172.1.1.15:/u0/logshare  4.1G  158M  3.8G   4% /logshare
172.1.1.15:/vmail1       4.1G  158M  3.8G   4% /vmail1

acabou de montar o compartilhamento de logs duas vezes. Se eu inverter a ordem das exportações, ele monta o vmail duas vezes. O que está acontecendo? Eu estive através dos logs, mas não vejo nenhum erro relacionado ao nfs

Showmount -e mostra isso
/ vmail1 172.1.1.35,172.1.1.64 / 27 / u0 / logshare 172.1.1.0/24

e o conteúdo de ambos os suportes são idênticos

    
por vmos 31.08.2013 / 10:43

1 resposta

2

Você deveria ter começado dizendo que este é um servidor NFSv4.

O problema está no seu arquivo /etc/exports . Você está declarando ambos os recursos com o sinalizador fsid=0 . Isso está errado.

Leia os exports(5) para os detalhes, mas basicamente:

For NFSv4, there is a distinguished filesystem which is the root of all exported filesystem. 
This is specified with fsid=root or fsid=0 both of which mean exactly the same thing. 

Ou seja. você só pode declarar um root.

A prática comum (embora outras possam ter outras) é criar LVs dedicados (formatados conforme necessário, ext4 , xfs , ...) para os recursos que você planeja exportar e mount sob uma estrutura de diretórios controlada. Por exemplo:

/var/exports/foo
/var/exports/bar
/var/exports/baz

Em seguida, mount liga esses recursos em /srv/nfsv4/ , resultando em algo nas linhas de:

# tree /srv/nfsv4/
/srv/nfsv4/
├── bar
├── baz
└── foo

Dessa forma, você declara /srv/nfsv4 your fsid=0 e exporta o restante dos recursos conforme achar melhor.

Observe que as restrições de acesso (por IP, ou sec modo escolhido) no fsid=0 se aplicam, portanto, os clientes que não atenderem aos requisitos do fsid=0 não conseguirão montar os recursos, mesmo que os requisitos para um específico recurso são cumpridos.

    
por 01.09.2013 / 12:55