Cloud Storage FUSE 实现云端数据本地化

作者:MeshCloud 脉时云公有云架构师 许多杰

引言

Cloud Storage FUSE 是一种开放源代码 FUSE 适配器,可让您将 Cloud Storage 存储分区作为文件系统装载到 Linux 或 macOS 系统上。

整体架构

Cloud Storage FUSE 实现云端数据本地化

准备工作

  1. 在GCS 中创建需要进行本地化挂载的 Bucket;
  2. 准备挂载的目标机器,可以是GCP Compute Engine,也可以是其他Linux 或 macOS 系统的机器;

实施步骤

  • 安装Cloud Storage FUSE

export GCSFUSE_REPO=gcsfuse-lsb_release -c -s

echo “deb http://packages.cloud.google.com/apt $GCSFUSE_REPO main” | sudo tee /etc/apt/sources.list.d/gcsfuse.list

curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add –

sudo apt-get update

sudo apt-get install gcsfuse

Cloud Storage FUSE 实现云端数据本地化

sudo usermod -a -G {fuse} $USER

#{fuse} 字段替换成linux机器当前用户

Cloud Storage FUSE 实现云端数据本地化
  • 设置验证的json文件.(GCS.json文件)

在GCP Portal生成 service key,授予权限,保存到本地机器上

Cloud Storage FUSE 实现云端数据本地化
  • 创建本地挂载目录

mkdir -p /path/to/mount

Cloud Storage FUSE 实现云端数据本地化
  • 创建一个bucket

在GCS Portal创建需要挂载的Bucket,如果有可以跳过。

Cloud Storage FUSE 实现云端数据本地化
  • 挂载 bucket

格式:gcsfuse –key-file=”{keyfile path}” {bucket name} /{mount path}

本示例:

gcsfuse –key-file=”/home/xuduojie/spoton-project-fe0bab13df7d.json” wml-test /path/to/mount

Cloud Storage FUSE 实现云端数据本地化
  • 挂载结果查看

GCS中的数据成功同步到本地文件系统

Cloud Storage FUSE 实现云端数据本地化
  • 取消挂载

fusermount -u /path/to/mount

  • 将文件系统的文件mv到本地磁盘测试

mv后Bucket中的文件就不存在了,文件在本地磁盘中。

Cloud Storage FUSE 实现云端数据本地化

参考文档

https://github.com/GoogleCloudPlatform/gcsfuse/blob/master/docs/installing.md

发表评论

您的电子邮箱地址不会被公开。