听说OSS可以挂载到ECS当盘使,原来是真的。
优点如下:
1.挂完了是不是看着很爽:

2.可以挂载到非阿里云主机
缺点如下:
1.随机或者追加写文件会导致整个文件的重写(官方说法)
2.性能差点儿,因为是远程的
3.文件夹非原子操作:如咱们一般的电脑,mv一个有很多子项的文件夹,相当于操作一个文件;但是在OSS里这个mv操作,对每个子项都要单独搞一下。
以CentOS8为例,实际挂载步骤如下:
Step1 下载ossfs最新源代码至ECS,Github就有; 在ECS解压缩该zip文件至【目录A】
Step2 用SSH连接ECS,cd至【目录A/ossfs-master】, 并运行如下指令
sudo yum install automake gcc-c++ git libcurl-devel libxml2-devel \
fuse-devel make openssl-devel
./autogen.sh
./configure
make
sudo make install
Step3进入阿里云访问控制,建立RAM用户,建立并记录AccessKeyId和AccessKeySecret;给该RAM用户添加OSS访问权限(控制台的那种就行,不用编程访问的)
Step4 进入阿里云OSS,记录你的bucket的名字; 记录endpoint;
endpoint如果你的内网能连接ecs,就可以用内网;不行就外网的。
Step5 建立如下文件(若不存在),并添加可执行权限
touch /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs
Step6 编辑/etc/passwd-ossfs,按行添加,每行都像下面这么写,可以添加多个oss
你的AccessKeyId:你的AccessKeySecret > /etc/passwd-ossfs
Step7 挂载指令如下
mkdir 你的本地路径
ossfs bucket的名字 你的本地路径 -ourl=你的endpoint
示例如下
mkdir /mnt/oss
# 像下面这行可以添加至/etc/rc.d/rc.local(须为本文件添加可执行权限),以开机自动挂载
ossfs my-bucket-name /mnt/oss -ourl=http://oss-cn-hangzhou.aliyuncs.com
值得一提的是,我记得挂载后,/mnt/oss的权限将被修改为700;这样就和一些软件不兼容了。
若要让挂载文件夹的权限是777,可使用如下指令挂载:
ossfs bucket的名字 你的本地路径 -ourl=你的endpoint -o allow_other
然后就可以在ECS用/mnt/oss访问你的OSS啦
参考文献: