A
Diretório de exportação de servidor /srv
via NFS com opção nohide
. Um subdiretório dentro /srv
, /srv/foo
é um ponto de montagem para outro local no servidor NFS usando --bind
opção, como
server# mount --bind /bar/foo/ /srv/foo/
O cliente B
importa A:/srv
e monta /mnt/srv
usando o NFS. Conteúdo de /mnt/srv
são os conteúdos de A:/srv
.
O problema é que /mnt/srv/foo
está vazio, enquanto espero ver o conteúdo de A:/bar/foo/
lá.
Como exportar e importar corretamente os compartilhamentos NFS que possuem subdiretórios como pontos de montagem também?
/srv/foo --> /bar/foo
?/bar/foo
máquina clienteB
, não o servidorA
.Respostas:
crossmnt
é seu amigo.fonte
Eu me deparei com esse problema enquanto seguia o guia Diskless Arch , e isso realmente me atrasou. Vou compartilhar minhas descobertas aqui, pois estou curioso para saber se isso funcionará para mais alguém.
De acordo com o guia Diskless, eu tenho o sistema de arquivos raiz do cliente sem disco (os dados reais que preciso exportar) em uma imagem de loopback, que foi montada em
/srv/des1
:Criei um ponto de montagem
/nfs/des1
, execute o mount e confirmo que posso ver tudo:Referindo-me ao guia NFS do Arch , coloco o seguinte no
/etc/exports
servidor:Em seguida, executei um
exportfs -rav
no servidor para aplicar essas alterações.No entanto, montei o compartilhamento no cliente de teste com:
mount server:/des1 /mnt/tmp
apenas para encontrar um diretório vazio, quando esperava que o sistema de arquivos raiz sem disco estivesse lá.Nesta fase, tentei quase tudo até que algo me levasse a essa opção na
exports
página do manual:Então, tendo tentado tudo o resto, troquei isso para
/etc/exports
ficar assim:Depois de ler a entrada da página de manual, você pensaria que isso teria o mesmo efeito que o código anterior, mas quando eu corri
exportfs -rav
novamente para registrar as alterações, tentei remontar do cliente e funcionou!fonte
Parece que todos os subpontos de montagem devem ser exportados pelo servidor NFS para ficarem visíveis para os clientes. Na situação acima, o
/etc/exports
arquivo deve se parecer com o seguinte:Em seguida, a importação
/srv
no cliente com a opção-t nfs
disponibilizará ambos/srv
e/srv/foo
adequadamente.editar por OP
está linha
trabalhou no meu caso em vez de
fonte
Eu realmente queria fazer isso também, mas parece que há problemas com essa idéia porque os clientes NFS esperam que o número de inode dos arquivos seja único dentro do cliente. visão de uma única montagem.
Os problemas estão detalhados nesta postagem do blog (não por mim): http://utcc.utoronto.ca/~cks/space/blog/unix/MultiFilesystemNFSIssue
Decidi montar os sistemas de arquivos separadamente e vinculá-los juntos, o que deve funcionar para todos os clientes NFS.
fonte
NOTA: apenas um usuário habilitado
O que ele adiciona é um conjunto de edições no lado do servidor e no cliente. No lado do servidor
/etc/exports
e/etc/fstab
no lado do cliente.Lado do servidor
Asus eeepc
Lado do cliente
Kernel Linux 4.15.0-38-generic x86_64
fonte