1. 首页
  2. 系统运维
  3. Linux

阿里云CentOS 6的主机挂载OSS存储服务步骤

如何在阿里云ecs主机上挂载oss存储,在服务器上通过本地文件系统操作OSS 上的对象?阿里云提供一个ossfs的程序,不用我们再次使用api开发,直接就能使用。步骤比较简单,按照官方文档基本可以完成。

一、准备条件

您需要有一个ecs云主机,创建Access Key和对应的OSS对象。

二、安装依赖

yum install automake gcc-c++ git libcurl-devel libxml2-devel make openssl-devel

官方文档还提供安装fuse-devel包。不过因为博主centos 6系统在安装fuse后版本是2.8.3,而ossfs必须要2.8.4以上,所以fuse需要手动安装。

下载fuse 2.8版本,地址:https://github.com/libfuse/libfuse/tree/fuse_2_8_bugfix ,不要使用最新的fuse 3的版本。

# wget https://codeload.github.com/libfuse/libfuse/zip/fuse_2_8_bugfix -O fuse_2_8_bugfix.zip
# unzip fuse_2_8_bugfix.zip
# cd libfuse-fuse_2_8_bugfix
# ./makeconf.sh
# ./configure --prefix=/usr/local/fuse
# make
# make install

安装后确认是否正确,命令类似如下:

# export PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/local/fuse/lib/pkgconfig
# ldconfig
# modprobe fuse
# pkg-config --modversion fuse

fuse安装成功:

20160726161943

三、安装ossfs

安装和文档差不多,依赖正确后一般不会出现问题。这里我手动安装在/usr/local/ossfs目录,如果需要全局使用ossfs命令在PATH加下目录即可。

# git clone https://github.com/aliyun/ossfs.git
# cd ossfs
# ./autogen.sh
# ./configure --prefix=/usr/local/ossfs
# make
# make install

四、挂载卸载

将my-bucket这个bucket挂载到/tmp/ossfs目录下,AccessKeyId是faint, AccessKeySecret是123,oss endpoint是http://oss-cn-hangzhou.aliyuncs.com。

如果你是阿里云的ecs,endpoint可以使用内网地址,例如http://oss-cn-hangzhou-internal.aliyuncs.com,减少流量费用。

# echo my-bucket:faint:123 > /etc/passwd-ossfs
# chmod 640 /etc/passwd-ossfs
# mkdir /tmp/ossfs
# ossfs my-bucket /tmp/ossfs -ourl=http://oss-cn-hangzhou.aliyuncs.com

卸载

# umount /tmp/ossfs

五、优化

挂载成功后,可以和操作本地文件一样操作OSS对象了。在正式用之前最好做下优化,比如开机自动挂载、取消程序扫描这个目录。

自动挂载、修改/etc/fstab 文件,添加如下代码,保存后mount -a挂载。

/usr/local/ossfs/bin/ossfs#my-bucket /tmp/ossfs fuse _netdev,url=http://oss-cn-hangzhou.aliyuncs.com,allow_other 0 0

使用ECS挂载ossfs,如何避免因后台程序扫描文件而产生费用。修改/etc/updatedb.conf 文件,在PRUNEFS =后面加上fuse.ossfs,在PRUNEPATHS =后面加上挂载的目录。

参考连接:

https://github.com/aliyun/ossfs

联系我们

0574-55011290

QQ:248687950

邮件:admin@nbhao.org

工作时间:周一至周五,9:00-18:00,节假日休息

QR code