OSSFS的功能
ossfs 能让您在Linux/Mac OS X 系统中把Aliyun OSS bucket 挂载到本地文件系统中,您能够便捷的通过本地文件系统操作OSS 上的对象,实现数据的共享,这个挂载盘显示是256T,所以也可以当无限硬盘使用,本人曾搭建一个直链网盘,就是使用ossfs挂载用来存储文件,结合oss和ecs之间是走内网流量,可省去大笔开销。
OSSFS的安装
SSH连接到服务器,分别执行下面的命令:
wget https://github.com/aliyun/ossfs/releases/download/v1.79.9/ossfs_1.79.9_centos7.0_x86_64.rpm
sudo yum localinstall ossfs_1.79.9_centos6.5_x86_64.rpm
按照自己服务器选择适合自己的版本
1.设置bucket name, access key/id信息,将其存放在/etc/passwd-ossfs 文件中, 注意这个文件的权限必须正确设置,建议设为640.
echo my-bucket:my-access-key-id:my-access-key-secret > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs
2.将oss bucket mount到指定目录
ossfs my-bucket my-mount-point -ourl=my-oss-endpoint
内网网址不用加你的bucket名,后面添加-o allow_other可允许非Root帐号使用此目录。
取消挂载
umount /data/ossfs
自动挂载ossfs,
在 /etc/fstab 中加入下面的命令:
ossfs#your_bucket_name your_mount_point fuse _netdev,url=your_url,allow_other 0 0
其中上述命令中的 your_xxx 信息需要根据您的 bucket name 等信息填入,保存 /etc/fstab 文件。
执行
mount -a
没有报错,则说明设置正常。
还需要执行下面的命令:
chkconfig netfs on
使用ECS挂载ossfs,如何避免因后台程序扫描文件而产生费用?
程序扫描ossfs挂载的目录,会转换成向OSS的请求,如果请求次数很多,会产生费用(1分钱/1万次)。如果是updatedb,可以通过修改/etc/updatedb.conf让它跳过。具体做法是:
在PRUNEFS =后面加上fuse.ossfs 在PRUNEPATHS =后面加上挂载的目录