1. EFS (Elastic File System)
1.1 介绍
AWS提供的三种主要的存储:AWS Elastic Block Store (EBS),Simple Storage Service (Amazon S3) 和 Elastic File System (EFS)
AWS S3对于静态页面的托管、多媒体分发、版本管理、大数据分析、数据存档来说都非常有用。S3可以和AWS CloudFront结合使用而达到更快的上传和下载速度。
AWS EBS是可以用来做数据库或托管应用程序的持续性文件系统,EBS具有很高的IO读写速度并且即插即用。
相比前面两种存储,AWS EFS是比较新的一项服务。它提供了可以在多个EC2实例之间共享的网络文件系统,功能类似于NAS设备。可以用EFS来处理大数据分析、多媒体处理和内容管理
1.2 特点
- 支持Network File System vesion 4 (NFSv4) 协议
- 只为使用的EFS份额付费
- 容量可以扩展到PB级别
- 可以同时间支持成千上万的NFS连接
- EFS的数据会保存在一个区域内的多个可用区
- 读写一致性(Read After Write Consistency)
- 高性能单区域iops/7000
2. EFS操作
2.1 登录
2.2 创建
- Click on “Create file system.”
- Select the VPC
- select define
第一次创建只能选择弹性的
- Select the VPC
如果不想用默认的vpc和安全组,请自行修改
- 检查是否配置的正确
- 效果
1.配置安全组
- 编辑安全组,默认 traffic (port 2049)
这里是允许所有的,你也可以配置指定的ec2来控制
2.3 efs挂载
1.ip
ip需要选定区域
点击attach可以选择方式
bash
yum install -y nfs-utils
mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <ip>:/ efs
yum install -y nfs-utils
mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <ip>:/ efs
2.dns
有两种协议进行挂载,efs,nfs
bash
#efs
sudo mount -t efs -o tls efs_id_name:/ /path/dir
#nfs
mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <dns>:/ /path/dir
#efs
sudo mount -t efs -o tls efs_id_name:/ /path/dir
#nfs
mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <dns>:/ /path/dir
- 测试磁盘吞吐量
time dd if=/dev/zero of=/mnt/efs/20G-dd-$(date +%Y%m%d%H%M%S.%3N) bs=1M count=20480 conv=fsync
time dd if=/dev/zero of=/mnt/efs/20G-dd-$(date +%Y%m%d%H%M%S.%3N) bs=1M count=20480 conv=fsync
官方文档:
https://docs.aws.amazon.com/zh_cn/efs/latest/ug/efs-backup-solutions.html
https://aws.amazon.com/cn/blogs/china/quickly-build-nfs-file-system-with-efs/