现在的位置:首页>空间域名>正文

阿里云CentOS 6的主机挂载OSS存储服务操作教程

2016年10月22日 ⁄ 共 2007字 暂无评论

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

简单价绍一下,ossfs 能让您在Linux/Mac OS X 系统中把Aliyun OSS bucket 挂载到本地文件 系统中,您能够便捷的通过本地文件系统操作OSS 上的对象,实现数据的共享。

这里部落再补充一下,github上的相关介绍,由此直达

另外,部落之前介绍过一篇CentOS下利用OSSFS把阿里云OSS挂载到ECS进行加速,您也可以参考一下。

一、准备条件

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

二、安装依赖

  1. 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的版本。

  1. # wget https://codeload.github.com/libfuse/libfuse/zip/fuse_2_8_bugfix -O fuse_2_8_bugfix.zip   
  2. # unzip fuse_2_8_bugfix.zip   
  3. # cd libfuse-fuse_2_8_bugfix   
  4. # ./makeconf.sh   
  5. # ./configure --prefix=/usr/local/fuse   
  6. # make   
  7. # make install  

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

  1. # export PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/local/fuse/lib/pkgconfig   
  2. # ldconfig   
  3. # modprobe fuse   
  4. # pkg-config --modversion fuse  

fuse安装成功如下图:

阿里云CentOS 6的主机挂载OSS存储服务操作教程

三、安装ossfs

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

  1. # git clone https://github.com/aliyun/ossfs.git   
  2. # cd ossfs   
  3. # ./autogen.sh   
  4. # ./configure --prefix=/usr/local/ossfs   
  5. # make   
  6. # 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,减少流量费用。

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

如果需要卸载的话,可以使用下面的命令:

  1. # umount /tmp/ossfs  

五、优化

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

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

  1. /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 =后面加上挂载的目录。

小结

文章内容来源自网络,由免费部落整理发布。

这个技巧部落也是收藏一下,以免后面用得着的时候要到处找。当然,也相信后面会用得上这玩意。

给我留言