Skip to content

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 登录

image-20241114145913868

2.2 创建

  • Click on “Create file system.”

img

  • Select the VPC

image-20241114150125150

  • select define

img

img

第一次创建只能选择弹性的

  • Select the VPC

如果不想用默认的vpc和安全组,请自行修改

img

image-20241114152004391

  • 检查是否配置的正确

image-20241114152100145

  • 效果

image-20241114152155360

1.配置安全组

  • 编辑安全组,默认 traffic (port 2049)

这里是允许所有的,你也可以配置指定的ec2来控制

img

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/