在最近的AWS存储日活动中,亚马逊宣布 Amazon S3 的 Mountpoint 的正式发布。这个新的开源文件客户端通过文件接口提供Amazon S3的弹性存储和吞吐量,可以支持每个EC2实例和对象存储之间高达100GB /秒的数据传输。
在今年早些时候发布的预览版中,Amazon S3的Mountpoint是为像数据湖应用程序这样的工作负载而设计的,这些工作负载执行顺序写入、顺序和随机读取,并且不需要完整的POSIX语义。AWS副总裁Jeff Barr解释道:
许多AWS客户使用S3 API和AWS SDK构建应用程序,这些应用程序可以列出、访问和处理S3存储桶的内容。然而,许多客户已经有了现有的应用程序、命令、工具和工作流,这些工作流通过UNIX方式访问文件:读取目录、打开和读取现有文件以及创建和写入新文件。这些客户要求我们提供一个正式的企业级客户端,支持对S3的大规模高性能访问。
新的开源客户端的其他常见用途包括机器学习训练、图像渲染、自动驾驶模拟和ETL。Mountpoint支持每个EC2实例和S3存储桶之间的数据传输速度高达每秒100Gb,它将本地文件系统API调用转换为S3对象API调用,相比于托管的网络文件系统(NFS),能够降低成本。Barr补充说:
在内部,Linux虚拟文件系统(VFS)将这些操作转换为对Mountpoint的调用,而Mountpoint则将其转换为对S3的调用:列表、获取、上传等等。Mountpoint致力于充分利用网络带宽,提高吞吐量,让您能在更短的时间内完成更多的工作,从而减少计算成本。
AWS高级解决方案架构师Jukka Forsgren强调了AWS客户端的一个目标:
我在之前的公司,我负责全天候值守大量客户的 AWS 环境。经常会收到关于EC2 Linux实例上挂载S3的故障告警,我们经常不得不在半夜修复。鉴于这一点,很高兴看到我们刚刚发布了我们自己的名为Amazon S3 Mountpoint的客户端,其中稳定性是其主要设计目标之一。
Mountpoint不是一个通用的网络文件系统,并且在文件操作上有一些限制。该客户端是基于AWS通用运行时(CRT)库构建的,它使用Rust语言开发,可以读取大小达到5TB的文件,但不能修改现有文件或删除目录,也不支持符号链接或文件锁定。
目前尚不支持所有的S3存储类别,Mountpoint不能与归档类别Glacier Flexible Retrieval、Glacier Deep Archive、Intelligent-Tiering Archive Access Tier和Intelligent-Tiering Deep Archive Access Tier一起使用。
对于使用Mountpoint没有具体的费用,开发人员需要为底层的S3操作付费。Mountpoint以RPM格式提供,并在GitHub上提供了路线图。