
我將儲存桶掛載到本地目錄。/share
然後我嘗試使該目錄(現在填充有物件儲存的內容)可供另一台電腦使用。目標是,另一台機器不必使用 gcsfuse-client 本身,但可以依賴 nfs 或類似的東西。
/share
我嘗試使用 nfs公開 gcsfuse 目錄。 nfs 共享有效。但是,當我將雲端儲存桶安裝到 nfs 共用中時,遠端電腦(nfs 用戶端)從未看到物件儲存中的檔案。
因此,鏈條的兩個部分彼此獨立工作:
- 我可以將物件儲存安裝到本機目錄。
- 我可以將每個 nfs 的目錄匯出到第二台機器。
但我無法將物件儲存的內容「傳遞」到第二台機器。
所有這一切都發生在 kubernetes 叢集內。
為了從等式中排除 nfs,我使用了 sidecar 模式,將其暴露/share
給同一 Pod 中的第二個容器。結果相同:第二個容器永遠看不到物件儲存的內容。
我對 (gcs)fuse 檔案系統了解不多,但人們稱之為「使用者空間」檔案系統。這就是我無法將 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
在熔斷器配置中啟用配置選項。為此,請確保在文件中/etc/fuse.conf
取消註釋以下行:user_allow_other
,然後重試。如果以上方法不起作用,您可能想看看這個 Unix 問題,它解決了透過 NFS 導出 FUSE 的問題。總而言之,大多數 Linux 發行版不允許透過 NFSv2 或 NFSv3 匯出 FUSE 安裝的檔案系統,因此您需要使用 NFSv4。