
Я монтирую контейнер хранилища в локальный каталог. /share
Затем я пытаюсь сделать этот каталог — теперь заполненный содержимым хранилища объектов — доступным для другой машины. Цель в том, чтобы эта другая машина не не использовала gcsfuse-client сама, а могла полагаться на nfs или что-то подобное.
Я попытался открыть каталог gcsfuse /share
с помощью nfs. Nfs-share сработал. Но когда я смонтировал контейнер облачного хранилища в общий ресурс nfs, удаленная машина — nfs-client — так и не увидела файлы из хранилища объектов.
Таким образом, обе части цепи работают отдельно друг от друга:
- Я могу смонтировать хранилище объектов в локальный каталог.
- Я могу экспортировать каталог через nfs на вторую машину.
Но я НЕ МОГУ «передать» содержимое хранилища объектов на вторую машину.
Все это происходит внутри кластера Kubernetes.
Чтобы исключить nfs из уравнения, я использовал sidecar-pattern, чтобы выставить его /share
второму контейнеру в том же pod. Тот же результат: второй контейнер никогда не видит содержимое хранилища объектов.
Я не знаю много о (gcs)fuse-filesystem, но люди называют ее файловой системой 'user-space'. Это ли причина, по которой я не могу передать содержимое монтирования gcsfuse на вторую машину?
Редактировать: Я пробовал несколько разных вариантов при монтировании хранилища объектов: вот они:
gcsfuse -o nonempty -o allow_other --implicit-dirs --gid 0 --uid 0 --file-mode 777 --dir-mode 777 video-storage-dev /share
gcsfuse -o nonempty -o allow_other video-storage-dev /share
решение1
Возможные решения этой проблемы:
Возможно, у вас не
user_allow_other
включена опция конфигурации в конфигурации fuse. Чтобы сделать это, убедитесь, что в файле/etc/fuse.conf
у вас раскомментирована следующая строка:user_allow_other
, затем попробуйте еще раз.Если вышеизложенное не сработало, возможно, вам стоит взглянуть наэтот вопрос unix, который решает проблему экспорта FUSE через NFS. Если коротко, большинство дистрибутивов Linux не позволяют экспортировать смонтированную FUSE fs через NFSv2 или NFSv3, поэтому вам нужно будет использовать NFSv4.