
Eu monto um bucket de armazenamento em um diretório local. /share
Então tento disponibilizar esse diretório - agora preenchido com o conteúdo do armazenamento de objetos - para outra máquina. O objetivo é que esta outra máquina não precise usar um cliente gcsfuse, mas possa contar com nfs ou algo semelhante.
Tentei expor o diretório gcsfuse /share
com nfs. O compartilhamento nfs funcionou. Mas quando montei o bucket de armazenamento em nuvem no compartilhamento nfs, a máquina remota - o cliente nfs - nunca viu os arquivos do armazenamento de objetos.
Portanto, ambas as partes da cadeia funcionam separadamente:
- Posso montar um armazenamento de objetos em um diretório local.
- Posso exportar um diretório por nfs para uma segunda máquina.
Mas NÃO posso 'passar' o conteúdo do armazenamento de objetos para a segunda máquina.
Tudo isso está acontecendo dentro de um cluster Kubernetes.
Para descartar o nfs da equação, usei o padrão sidecar para expô-lo a /share
um segundo contêiner no mesmo pod. Mesmo resultado: o segundo contêiner nunca vê o conteúdo do armazenamento de objetos.
Eu não sei muito sobre o sistema de arquivos fusível (gcs), mas as pessoas o chamam de sistema de arquivos de 'espaço do usuário'. É por isso que não consigo passar o conteúdo de uma montagem gcsfuse para uma segunda máquina?
Editar: tentei várias opções diferentes ao montar o armazenamento de objetos: aqui estão elas:
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
Responder1
Possíveis soluções para este problema:
Talvez você não tenha a
user_allow_other
opção de configuração habilitada na configuração do fusível. Para fazer isso, certifique-se de que no arquivo/etc/fuse.conf
você tenha a seguinte linha descomentada:user_allow_other
e tente novamente.Se o procedimento acima não funcionar, você pode querer dar uma olhada emesta questão unix, que aborda a exportação de FUSE via NFS. Como um TL;DR, a maioria das distribuições Linux não permite exportar um fs montado no FUSE via NFSv2 ou NFSv3, então você precisará usar o NFSv4.