У меня есть самописная файловая система FUSE, которую я монтирую на сервере NFS в точке монтирования /export/example/mount
. Затем я экспортирую родительский каталог FUSE через NFS. /etc/exports
Содержит параметры nohide,crossmnt,subtree_check,ro,no_root_squash
и обеспечивает свободный доступ к каждому:
/export/example *(nohide,crossmnt,subtree_check,ro,no_root_squash)
Я могу смонтировать этот экспорт на моем клиенте NFS и получить к нему доступ. Как только я получаю доступ к FUSE в NFS, мой клиент зависает, пока я не umount
NFS (и мне нужно использовать опцию -f
для этого).
Я попытался смонтировать FUSE как мой рабочий пользователь и как root. Результаты одинаковы.
Сервер работает под управлением Ubuntu 12.04, клиент - SuSE 9.3. FUSE написан на Python и работает локально без каких-либо проблем. Сбой экспорта только через NFS. У меня нет никаких ограничений безопасности, поскольку все это в частной сети только с доверенными пользователями.
У кого-нибудь есть идея, что может стать причиной моей проблемы или (еще лучше), как решить проблему?
Я думал о замене NFS на SSHFS, чтобы обойти эту проблему, но это не работает, поскольку клиентская система слишком старая для поддержки SSHFS (так как она основана на FUSE, а FUSE не поддерживается).
crossmnt
? И позволяет ли сторона предохранителя (s3fs) использоваться другими пользователями (для этого тоже есть опция монтирования). Не забывайте, что fuse является пользовательским пространством (предназначенным для использования одним пользователем), в то время как nfs является многопользовательским.
allow_other
опцию sshfs mount?