0 反对 收藏
我无法挂载 Google 存储桶内的特定文件夹
在 OS X 上,此程序允许您使用 mount 命令挂载存储桶。(在 Linux 上,只有 root 可以执行此操作。)
mount -t gcsfuse -o rw,用户 my-bucket /path/to/mount/point
在 OS X 和 Linux 上,您还可以向 /etc/fstab 文件添加条目,如下所示:
我的存储桶/挂载/点 gcsfuse rw,noauto,用户
有人能帮助我吗?
我的存储桶:文件夹名称/mount/point gcsfuse rw,noauto,用户
这对我不起作用
感谢您的回复。我们首先使用上述文档安装了存储桶
然后创建了一个指向已安装文件夹的符号链接,使其正常工作
ln -s /mnt/s3/subfolderinsidebucket /your path
并在 /etc/fstab 中
my-bucket /mount/point gcsfuse rw,noauto,user
当服务器重启时,我们再次遇到一个问题,它无法自动挂载
因此我们在 crontab @reboot mount.sh 中添加了一个条目,并在 sh 文件中添加了 mount 命令
答案1
按照此文档https://github.com/GoogleCloudPlatform/gcsfuse/blob/master/docs/mounting.md
您必须添加此内容/etc/fstab
:
my-bucket /mount/point gcsfuse rw,noauto,user
之后您可以mount /mount/point
以非root用户身份运行。
obs:noauto
上述选项指定文件系统不应在启动时挂载。
我不知道您是否可以在存储桶中挂载特定文件夹,但您可以尝试my-bucket/foldername /mount/point gcsfuse rw,noauto,user
(将“:”更改为“/”)
答案2
@George 的答案很接近,但对于在存储桶中安装特定文件夹来说并不正确。
要挂载存储桶中的特定文件夹,请使用以下语法:
my-bucket /mount/point gcsfuse rw,user,key_file=/path/to/key.json,only_dir=my_subdirectory
only_dir=my_subdirectory
是其中重要的部分。
key_file=
如果您正在 Google 计算实例上安装,则不需要。
答案3
非常非常晚了但是...因此,要在挂载点中挂载存储桶的特定子目录:
--> 命令
gcsfuse -o 选项1,选项2 --only-dir sub_dirirectory/ -key-file=/path/to/key.json bucket_name /path/to/mount/point
--> fstab
bucket_name /path/to/mount/point gcsfuse rw,用户,key_file=/path/to/key.json,only_dir=sub_directory
答案4
gcfuse
--implicit-dirs
允许您使用标志和在存储桶中挂载特定子文件夹(包含内容)--only-dir
。
正确的语法是
gcsfuse --implicit-dirs --only-dir <subdir-relative-to-bucket> <bucket> <mount_point>
例如,在云端我有一个包含根目录my_bucket
和子目录的存储桶my_bucket/sub_dir/sub_sub_dir
,我想将其挂载到本地目录中mount_dir
,然后我这样做
gcsfuse --implicit-dirs --only-dir sub_dir/sub_sub_dir my_bucket mount_dir