在之前,我突然有一个想法,就是能不能把对象存储当成磁盘用?于是,我进行了百度。

发现了ossfs、cosfs等工具,接下来主要讲对接oss,cos教程会在文章末尾放官方教程地址。

ossfs

介绍

简介

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

地址

github项目地址:https://github.com/aliyun/ossfs

阿里云文档地址:https://help.aliyun.com/document_detail/153892.html

运行环境

ossfs提供Ubuntu和CentOS系统的安装包,支持内网(需在同一地域)和外网访问oss

本次安装教程使用centos7.8系统

安装

下载安装包

安装包下载可以去阿里文档看,下面提供一些主流的系统下载命令

centos7+

wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos7.0_x86_64.rpm

Ubuntu 18.04 (x64)

wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_ubuntu18.04_amd64.deb

Ubuntu 16.04 (x64)

wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_ubuntu16.04_amd64.deb

安装ossfs

centos6.5+

# 把your_ossfs_package换成安装包名称
sudo yum localinstall your_ossfs_package

Ubuntu系统的安装命令:

# 把your_ossfs_package换成安装包名称
sudo apt-get update
sudo apt-get install gdebi-core
sudo gdebi your_ossfs_package

配置账号访问信息

将Bucket名称以及具有此Bucket访问权限的AccessKeyId/AccessKeySecret信息存放在/etc/passwd-ossfs文件中。这个文件非常重要,请仔细核对,不然后面挂载时会出错,官方建议文件权限设为640。

# 把my开头的对应值换掉
echo my-bucket:my-access-key-id:my-access-key-secret > /etc/passwd-ossfschmod 640 /etc/passwd-ossfs

挂载

# 把my开头的值换掉
ossfs my-bucket my-mount-point -ourl=my-oss-endpoint

以香港地域为例

把香港地域名称为bucket-test的Bucket挂载到/tmp/ossfs目录下

echo bucket-test:MLVLOG****:MLVLOG**** > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs
mkdir /tmp/ossfs
ossfs bucket-test /tmp/ossfs -ourl=http://oss-cn-hongkong.aliyuncs.com

但这样有个弊端,流量会走外网,而且OSS的速度还和服务器上行带宽密切相关,如果你是阿里云服务器,建议购买和服务器同地域的oss存储包,把ourl值换成内网地址即可

香港地域内网地址:http://oss-cn-hongkong-internal.aliyuncs.com

完成

这样子就挂载好了,输入df -h查看

看到ossfs,说明已经挂载好了,开始使用吧~

cosfs

介绍

其实用途和ossfs差不多,我直接放教程,就不做演示了

教程地址:https://cloud.tencent.com/document/product/436/6883


陌罗