提问

#楼主# 2019-9-9

跳转到指定楼层
作者:光环云 尹晓征

当有需求必须使用共享磁盘服务时,按目前AWS的EFS为在国内落地的情况,只能通过自建诸如NFS或者GFS等服务来完成,整个过程比较繁杂。
S3是互联网的一种存储解决方案,并且借助S3fs可以轻松解决上面遇到的问题。比不过此方案只能作为临时过渡,整体的性能仍无法与主流的文件服务相比。

1.首先在S3上创建一个准备挂载为磁盘的存储桶:
image1.png
2.从控制台上将一个EC2启动,并通过ssh登陆
image2.png
3.安装所需的软件包:
  1. sudo yum install automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel
复制代码
4.下载,编译并安装s3fs
  1. git clone https://github.com/s3fs-fuse/s3fs-fuse.git
  2. cd s3fs-fuse
  3. ./autogen.sh
  4. ./configure
  5. make
  6. sudo make install
复制代码
5.检查s3fs是否安装成功
image3.png
6.创建IAM用户访问密钥文件
  • IAM用户访问密钥内容可以写入当前用户默认密钥文件比如“/home/ec2-user/.passwd-s3fs/passwd-s3fs”或者用户自己创建的文件。
  • 命令格式:echo [your Access key ID]:[your Secret access key] > [密钥文件名]

7.将密钥文件权限修改成只能被当前用户访问
8.命令格式:chmod 600  [密钥文件名]
9.手动挂载s3fs存储桶
  s3fs的命令格式是:
  • s3fs BUCKET MOUNTPOINT [OPTION]…
  • s3fs [S3存储桶名] [本地目录名] [OPTION]
  • OPTION是可选项,格式是 –o <option_name>=<option_value>,常用的options有:


  
名称
  
描述
缺省值
passwd_file
指定挂载的密钥文件

connect_timeout
设置超时连接等待的时间,单位秒
300
url
设置访问s3的url
http://s3.amazonaws.com
endpoint
设置s3存储桶的endpoint
us-east-1
allow_other
设置allow_other允许所有用户访问挂载点目录,设置这个选项需要在


10.手动挂载AWS S3存储桶并查看挂载结果
  • 命令格式:s3fs [S3存储桶名] [本地目录名] -o passwd_file=[密钥文件名] -o endpoint=[区域名]

image4.png
  • 随后检查挂载结果,执行df -h,如上图。

image5.png





转播转播
回复

使用道具

联系楼主
*
*
客户公司所在区域:
*
产品:
*
简述客户的业务场景和需求
*
*
*

成为第一个回答人

B Color Link Quote Code Smilies
光环云社区 |京ICP备18044167号-13|

京公网安备 11010102003758号