我有一个使用 fstab 挂载到 3 个虚拟机的 Google Cloud Storage Bucket。
当我使用 gsutil 命令将文件从另一台计算机上传到 google 存储桶时,只能从 2 个虚拟机(Set A(访问上传的文件。另一个 VM(B 组(不显示新上传的文件。
用于挂载的fstab条目如下。
bucket_name mounted_path gcsfuse rw,uid=1002,gid=1003,user,allow_other,key_file=key_file_path
集合 A中的/etc/mtab文件的内容如下。
bucket_name mounted_path fuse rw,nosuid,nodev,relatime,user_id=1002,group_id=1003,default_permissions 0 0
集合 B中的/etc/mtab文件的内容如下。
bucket_name mounted_path fuse fuse rw,nosuid,nodev,noexec,relatime,user_id=0,group_id=0,default_permissions,allow_other 0 0
以下是我在虚拟机上挂载存储桶的方法:
- 创建 VM 实例并为其提供存储"完全"访问权限范围。 已有 VM,请使用此范围编辑该 VM。请注意,您需要 以停止 VM 以编辑其访问范围。
- 在您的实例上安装 GCSfuse(如果尚未安装(
- 创建要挂载存储桶的目录
mkdir /path/to/bucket
- 转到云存储并通过添加计算引擎默认服务帐户作为存储管理员来编辑您的存储桶权限,您可以在IAM&admin 中找到此服务帐户 -->服务帐户,它具有此结构1213242443-compute@developer.gserviceaccount.com
- 使用
gcsfuse bucket_name /path/to/bucket
挂载存储桶。 此处,GCSFuse 将使用默认服务帐户来验证访问权限并建立连接。 这是最简单的方法,因为它总结了几个步骤 - 现在,您上传到存储桶的任何文件都将显示在虚拟机存储桶挂载文件夹中
/path/to/bucket
在此处阅读有关此过程的更多信息