亚马逊云 EC2 的存储
亚马逊云 EC2 提供了很多灵活的存储选项,有本地的 EBS,instance store,还有网格存储的 EFS 和 S3。
EBS
EBS 是长期的持久卷,提供块级别的持久性存储。适合文件系统的保存和数据库的主存储。同样也分为 SSD,HDD 和磁带。
EBS 和 EC2 不在同一个物理设备上,每次对 EC2 的 stop/start 操作都会迁移新的硬件,再启动时候也会挂原来的 EBS,同时也可以对 EBS 进行备份,挂载和卸载,创建快照的时候不必关机,时间点从点击创建快照开始,后边的数据都不会备份,同样也可以对快照进行加密,共享等操作。
通用型 SSD:gp2 和 gp3,能够满足大多数场景,在价格和功能之后实现平衡。
预置 IOPS SSD:io1 和 io2,适合 IO 密集型负载,创建时可以调整 IOPS
吞吐量优化型 HDD: st1,低成本高吞吐量,适合大型顺序冷数据数据处理。
冷 HDD:sc1,适合低频的高吞吐量存储
磁带:上一代卷,磁介质,速度最慢
instance store
与 EBS 不同,instance store 是附加到 EC2 物理机上的磁盘(NVME/SATA/HDD),也就说在 EC2 的 stop/start 操作更换底层硬件的时候,会无法迁移该部分数据,换句话说,当停止实例的时候,instance store 会被清空。十分适合当作临时大吞吐量的场景的缓存。
根据实例存储的类型需要不同的操作:
NVMe :启动的时候会自动挂载
非 NVMe :启动的时候手动指定块设备,然后格式化
EFS
EFS 其实就是 NFSV4 在亚马逊云上的实现,而且在原有的基础上添加了多可以用区备份,IAM 权限控制,而且能和云上的 VPC 网络更好的集成,目前只能在 VPC 内部进行访问,跨 VPC 需要使用 DX/VPC peering 等手段进行打通。
EFS 只有 Linux 系统可用,提供普通模式和最大性能模式,其实普通模式已经可以满足 99.9%的场景了。同时有标准和不经常访问两种存储类别,可以使用生命周期策略在存储类别之间迁移数据。
使用 EFS 需要先安装 amazon-efs-utils,
为了防止每次重启挂载失效,需要更改 fstab 来让其自动挂载。
S3
Mountpoint 可以把 S3 当作数据盘挂载成为数据盘,相比于开源的 s3fs,这次是亚马逊云官方的工具。
这似乎是为了大数据 ETL 处理进行设计的,仅仅支持文件的列出,创建和读取,创建文件夹无法同步,也无法对现有的文件进行修改和删除,最大可以读取 5T 的单个文件。不过对于 Glacier 和 Intelligent,该工具无能为力。
rpm 系安装:
Deb 系安装:
安装好之后,我们新建挂载点(我这里叫做/s3_data)sudo mkdir /s3_data
,,然后把再把存储桶挂载到这个挂载点上,mount-s3 bucketname /s3_data
,这个默认的权限是 755。在 mount 之后,mountpoint 这个程序会在后台进行,如果不再使用,需要使用 sudo umount /data 进行删除。
参考文档:
EBS: https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/AmazonEBS.html
实例存储:https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/InstanceStorage.html
EBS 和实例存储区别:https://repost.aws/zh-Hans/knowledge-center/instance-store-vs-ebs
EFS:https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/AmazonEFS.html
Mountpoint https://aws.amazon.com/cn/about-aws/whats-new/2023/03/mountpoint-amazon-s3/ https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/userguide/mountpoint.html
版权声明: 本文为 InfoQ 作者【孤虹】的原创文章。
原文链接:【http://xie.infoq.cn/article/d1a870bc34254d18f7f27e1dd】。文章转载请联系作者。
评论