Tengo un sistema de archivos FUSE autoescrito que monto en mi servidor NFS en mountpoint /export/example/mount
. Luego exporto un directorio principal del FUSE a través de NFS. El /etc/exports
contiene las opciones nohide,crossmnt,subtree_check,ro,no_root_squash
y permite el acceso gratuito a todos:
/export/example *(nohide,crossmnt,subtree_check,ro,no_root_squash)
Puedo montar esta exportación en mi cliente NFS y acceder a ella. Tan pronto como accedo al FUSE dentro del NFS, mi cliente se cuelga hasta que tengo umount
el NFS (y necesito usar la opción -f
para lograrlo).
He intentado montar el FUSE como mi usuario que trabaja y como root. Los resultados son los mismos.
El servidor ejecuta un Ubuntu 12.04, el cliente un SuSE 9.3. El FUSE está escrito en Python y funciona localmente sin ningún problema. Solo falla la exportación a través de NFS. No tengo restricciones de seguridad ya que todo esto está en una red privada con solo usuarios confiables.
¿Alguien tiene una idea de lo que podría causar mi problema o (incluso mejor) cómo resolver el problema?
He pensado en reemplazar el NFS con SSHFS para solucionar el problema, pero eso no funciona ya que el sistema del cliente es demasiado antiguo para admitir SSHFS (ya que se basa en FUSE y FUSE no es compatible).
allow_other
Probaste la opción de montar sshfs?crossmnt
? Y el lado del fusible (s3fs) permite que otros usuarios lo usen (también hay una opción de montaje para esto). No olvide que el fusible es espacio de usuario (destinado a ser utilizado por un solo usuario) mientras que nfs es multiusuario.Respuestas:
La mayoría de las distribuciones de Linux se entregan con un kernel que no permite exportar un sistema de archivos montado en FUSE usando NFSv2 o NFSv3. Sus opciones son: 1. Implemente su sistema de archivos en el espacio del kernel. 2. Exportarlo en NFSv4, lo que requeriría un fsid =
Yo mismo uso 2. En la siguiente ilustración, los comandos comienzan con
#
se ejecutan en el servidor, los comandos comienzan con$
se ejecutan en el cliente.Esta es la configuración de mi servidor, como puede ver, estoy exportando un punto de montaje FUSE:
Esto es lo que hice en mi cliente:
Para verificar que su falla es causada por la exportación del fusible en NFS v2 / v3, exporte ese punto de montaje específicamente sin NFS v4 (fsid), y vea si obtiene un error:
Si en el servidor exporta el punto de montaje desmontado y lo monta con fusible más adelante, debería ver en su registro si intenta usar el cliente nfs:
fuente
de forma predeterminada, la exportación de submontes sobre nfs está desactivada. El curso de acción recomendado es exportar también la submonta y hacer que el cliente la monte también.
fuente