É possível compartilhar o NFS através de um computador multi-home?

4

Eu tenho uma exportação nfs no computador A que eu preciso montar em um computador B em um rede diferente. Eu tenho um computador multihome C, que pode fornecer a conectividade entre A & B. Todos os computadores são baseados em Redhat. Eu tentei montar e reexportá-lo com sem sucesso. Eu estou supondo que exportfs se recusa a compartilhar sistemas de arquivos montados nfs. Mas antes que eu desistir, Eu pensei em perguntar.

Talvez haja uma solução melhor? encaminhando solicitações nfs / nfslock de C para A talvez?

    
por Pavel 22.04.2014 / 01:50

2 respostas

3

Não, você não pode compartilhar novamente as montagens do NFS.

trecho de: Re: Podemos exportar um compartilhamento NFS novamente através do servidor NFS em execução em outro servidor linux

The short answer: it is not possible.

For at least nine years now, the Linux kernel has contained code to guarantee that directories which are NFS exported are "physically" present on the host providing the NFS service. "physically" present can mean that the disk is present via iSCSI or fibre channel or any number of other network layers, but that's at the block level, not the file system level. The kernel will refuse to export an NFS mounted directory.

About 14 years ago, the user-space NFS server implementation did allow this, but I only used it for a weird one-off situation for a couple days (definitely non-production).

I can imagine a number of use-cases where re-exporting an NFS mounted directory would be appropriate (I have a wild imagination), but it won't be easy to get it to work. Specifically, it appears that in recent kernels, fuse file systems may be NFS exported (http://lwn.net/Articles/281793/), so you may be able to put a fuse layer between the NFS mounted directory and the export. If you succeed, I'd love to hear about it.

    
por 22.04.2014 / 01:55
2

Você não pode compartilhar novamente as montagens do NFS, mas há poucas razões para isso. Você pode usar C para encaminhar solicitações entre A e B.

Para o encaminhamento direto, você precisará encaminhar a porta TCP 111 (portmap), bem como todas as portas UDP e TCP usadas pelo NFS ( nfsd , mountd e lockd ). Isso pode ser difícil.

Provavelmente será mais fácil usar C para configurar uma VPN entre A e B. Dessa forma, você pode estabelecer uma rota entre A e B e resolver os problemas no nível do aplicativo completamente separadamente. os problemas de roteamento de rede.

    
por 22.04.2014 / 02:18

Tags