作者:光环云 尹晓征
当有需求必须使用共享磁盘服务时,但目前AWS的EFS为在国内落地的情况,只能通过自建诸如NFS或者GFS等服务来完成,整个过程比较繁杂。
S3是互联网的一种存储解决方案,并且借助S3fs可以轻松解决上面遇到的问题。比不过此方案只能作为临时过渡,整体的性能仍无法与主流的文件服务相比。
1.首先在S3上创建一个准备挂载为磁盘的存储桶:
2.从控制台上将一个EC2启动,并通过ssh登陆
3.安装所需的软件包:
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是否安装成功
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=[区域名]
- 随后检查挂载结果,执行df -h,如上图。
光环云数据有限公司(简称“光环云”)是由光环新网科技股份有限公司与管理团队于2018年5月联合发起设立。光环新网获得亚马逊通授权,独立运营AWS中国(北京)区域云服务。
作为光环新网附属企业,光环云专注于AWS云服务在中国的市场推广与销售、完善和提升网络交付与服务能力、丰富AWS云服务应用市场,为中国企业全面实现云转型升级、供给侧改革和双创事业提供下一代IT基础设施。