Eu tenho um sistema de arquivos FUSE auto-escrito que monto no meu servidor NFS no ponto de montagem /export/example/mount
. Em seguida, exporto um diretório pai do FUSE via NFS. O /etc/exports
contém as opções nohide,crossmnt,subtree_check,ro,no_root_squash
e permite acesso gratuito a todos:
/export/example *(nohide,crossmnt,subtree_check,ro,no_root_squash)
Eu posso montar essa exportação no meu cliente NFS e acessá-lo. Assim que eu acesso o FUSE no NFS, meu cliente trava até umount
o NFS (e eu preciso usar a opção -f
para fazer isso).
Eu tentei montar o FUSE como meu usuário ativo e como root. Os resultados são os mesmos.
O servidor está executando um Ubuntu 12.04, o cliente um SuSE 9.3. O FUSE é escrito em Python e funciona localmente sem nenhum problema. Somente a exportação via NFS falha. Não tenho restrições de segurança, pois tudo isso está em uma rede privada apenas com usuários confiáveis.
Alguém tem uma idéia do que poderia causar meu problema ou (ainda melhor) como resolver o problema?
Pensei em substituir o NFS pelo SSHFS para solucionar o problema, mas isso não funciona porque o sistema do cliente é muito antigo para oferecer suporte ao SSHFS (pois é baseado no FUSE e o FUSE não é suportado).
allow_other
opção sshfs mount?crossmnt
? E o lado do fusível (o s3fs) permite o uso por outros usuários (há uma opção de montagem para isso também). Não esqueça que o fusível é o espaço do usuário (destinado a ser usado por um único usuário) enquanto o nfs é multiusuário.Respostas:
A maioria das distribuições Linux é fornecida com um kernel que não permite exportar um sistema de arquivos montado no FUSE usando o NFSv2 ou o NFSv3. Suas opções são: 1. Implemente seu sistema de arquivos no espaço do kernel. 2. Exporte-o no NFSv4, o que exigiria um fsid =
Eu mesmo uso 2. Na ilustração abaixo, os comandos iniciados com
#
são executados no servidor, os comandos iniciados com$
são executados no cliente.Esta é a minha configuração de servidor, como você pode ver, estou exportando um ponto de montagem do FUSE:
Aqui está o que eu fiz no meu cliente:
Para verificar se sua falha foi causada pela exportação do fusível no NFS v2 / v3, exporte esse ponto de montagem especificamente sem o NFS v4 (fsid) e verifique se você recebe um erro:
Se no servidor você exportar o ponto de montagem desmontado e montá-lo com o fusível posteriormente, você deverá ver em seu log se tentar usar o cliente nfs:
fonte
por padrão, a exportação de submounts por nfs está desativada. O curso de ação recomendado é também exportar o submount e fazer com que o cliente o monte também.
fonte