挂载腾讯云COS到本地当远程磁盘

COSFS 工具支持将 COS 存储桶挂载到本地,像使用本地文件系统一样直接操作腾讯云对象存储中的对象

——腾讯云COSFS概述

写在前面

本文没有任何技术含量,仅仅就是记录一下操作步骤以便其他文章引用。

操作步骤

1、安装依赖

sudo apt-get install automake autotools-dev g++ git libcurl4-gnutls-dev libfuse-dev libssl-dev libxml2-dev make pkg-config fuse

2、获取 COSFS,保存在 /usr/cosfs

git clone https://github.com/tencentyun/cosfs /usr/cosfs

3、编译和安装(如果出现错误,可以到官方文档去找解决方案)

cd /usr/cosfs
./autogen.sh
./configure
make
sudo make install

4、创建配置文件 /etc/passwd-cosfs,此处需要去腾讯云 API密钥管理里面获取<SecretId> 和 <SecretKey>

echo <BucketName-APPID>:<SecretId>:<SecretKey> > /etc/passwd-cosfs

5、给予 /etc/passwd-cosfs 正确的权限

chmod 640 /etc/passwd-cosfs

6、进行挂载(<CosDomainName> 为存储桶对应的访问域名,形式为http://cos.<Region>.myqcloud.com)

cosfs <BucketName-APPID> <MountPoint> -ourl=<CosDomainName> -odbglevel=info

同样的,本文挂载到/files文件夹,至此,就挂载成功了。

cosfs mateor-cn-1256170000 /files -ourl=http://cos.ap-guangzhou.myqcloud.com -odbglevel=info

注意事项

1、编辑已上传文件会导致文件被重新上传

2、需要远程访问COS服务器,所以性能较差

3、重命名文件/文件夹可能会出错(若操作失败,可能会导致数据不一致)

4、不适合高并发读/写的场景

5、数据一致性由您自行维护(所以需要避免出现多个客户端写同一个文件的情况)

参考资料

1、腾讯云COSFS概述

挂载阿里云OSS到本地当远程磁盘

ossfs能让您在Linux系统中,将对象存储OSS的存储空间(Bucket)挂载到本地文件系统中,您能够像操作本地文件一样操作OSS的对象(Object),实现数据的共享。

——阿里云OSSFS概述

写在前面

本文没有任何技术含量,仅仅就是记录一下操作步骤以便其他文章引用。

操作步骤

1、阿里云OSS控制台创建一个Bucket,此处本文命名为mateor-cn-bucket,读者自行修改

2、本页面选择对应版本的软件下载地址,我是Ubuntu Server 18.04,因此我的下载地址是:

http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_ubuntu18.04_amd64.deb?spm=a2c4g.11186623.2.15.2ddc7358PWdRCh&file=ossfs_1.80.6_ubuntu18.04_amd64.deb

3、下载软件

wget 'http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_ubuntu18.04_amd64.deb?spm=a2c4g.11186623.2.15.2ddc7358PWdRCh&file=ossfs_1.80.6_ubuntu18.04_amd64.deb'

4、安装OSSFS(依次执行)

sudo apt-get update
sudo apt-get install gdebi-core
sudo gdebi ossfs*.deb

5、创建/etc/passwd-ossfs文件,格式参照下述命令

echo my-bucket:my-access-key-id:my-access-key-secret > /etc/passwd-ossfs

此处我执行的就是:

echo mateor-cn-bucket:我的AccessKeyId:我的AccessKeySecret > /etc/passwd-ossfs

*注意:其中my-access-key-idmy-access-key-secret需要到阿里云用户信息管理去生成。

6、修改/etc/passwd-ossfs文件的权限

chmod 640 /etc/passwd-ossfs

7、挂载Bucket到指定目录

ossfs my-bucket my-mount-point -ourl=my-oss-endpoint

比如我将mateor-cn-bucket挂载到本地的/files,且我的OSS对象存储EndPoint地址为:oss-cn-shenzhen.aliyuncs.com,那么我执行的就是:

ossfs mateor-cn-bucket /files -ourl=http://oss-cn-shenzhen.aliyuncs.com

*注意:这里如果出现错误提示,如:

ossfs: unable to access MOUNTPOINT /files: No such file or directory

是因为要挂载的文件夹不存在,需要先创建再挂载

mkdir /files

至此,OSS就已经成功挂载到本地了,下图中256T的就是挂载的OSS。

如果不再需要挂载,那么可以执行进行卸载:

fusermount -u /files

注意事项

1、编辑已上传文件会导致文件被重新上传

2、需要远程访问OSS服务器,所以性能较差

3、重命名文件/文件夹可能会出错(若操作失败,可能会导致数据不一致)

4、不适合高并发读/写的场景

5、数据一致性由您自行维护(所以需要避免出现多个客户端写同一个文件的情况)

参考资料

1、阿里云OSSFS概述