利用s3fs 将 s3 bucket 挂载到Linux目录

  1. 云栖社区>
  2. 博客>
  3. 正文

利用s3fs 将 s3 bucket 挂载到Linux目录

余二五 2017-11-23 17:38:00 浏览2759
展开阅读全文

S3fs是基于FUSE的文件系统,允许Linux和Mac Os X挂载S3的存储桶在本地文件系统,S3fs能够保持对象原来的格式。关于s3fs-fuse的功能、使用方法、下载可参考:https://github.com/s3fs-fuse/s3fs-fuse

1、本文主要介绍将s3的bucket挂载到Linux的目录上,当做本地磁盘使用。所以首先要创建s3的bucket,例:
wKioL1h-_oCDJXN3AAA2GYI3WgA338.png


2、将s3 bucket挂载到 本地目录时需要有访问 s3 bucket的权限,所以接下来需要准备IAM用户的访问密钥ID和访问密钥。注意:在点击“创建访问密钥”按钮后系统会创建“密钥ID”及“密钥”(私钥),但该“密钥”只会在创建时显示一次,以后再也无法复现,所以这也是下载或保存密钥唯一的一次机会。如下图所示:
wKiom1h-_qThV4GSAAF-RQB3BGA932.png


3、将密钥ID及密钥保存成一个密钥文件,文件格式必须是 :  

IAM用户访问密钥ID: IAM用户访问密钥

而且该文件权限必须为600

如下图所示:
wKioL1h-_jniOgM-AABqGrlcAQo653.png


4、按下来安装 s3fs-fuse:

1) 下载 、编译、安装

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

git clone https://github.com/s3fs-fuse/s3fs-fuse.git

cd s3fs-fuse

./autogen.sh

./configure

make

make install

如下图所示:

wKioL1h-__PyHZKUAAT3QUhfKAI871.png

2)验证是否安装成功

wKioL1h_AG2xAL0XAADznsaKBIw796.png


5、最后实现手工挂载s3 bucket

S3fs BUCKET MOUNTPOINT [OPTION]

s3fs yeecall-s3fs-mount-bucket /new/ -o passwd_file=./test -o endpoint=ap-northeast-1

如下图所示:

wKioL1h_ARLAzeGgAAI7T9gdY4Q387.png


6、最后可将相关参数放入fstab中,实现自动挂载

1
2
3
s3fs#mybucket /path/to/mountpoint fuse _netdev,allow_other 0 0
or
mybucket /path/to/mountpoint fuse.s3fs _netdev,allow_other 0 0

也可以将密钥ID和密钥存放入全局默认的密钥文件中:

1
2
echo MYIDENTITY:MYCREDENTIAL > /etc/passwd-s3fs
chmod 600 /etc/passwd-s3fs


7、可将s3fs 的相关进程kill掉,以达到卸载目的










本文转自 meteor_hy 51CTO博客,原文链接:http://blog.51cto.com/caiyuanji/1892856,如需转载请自行联系原作者

网友评论

登录后评论
0/500
评论
余二五
+ 关注