大型云提供商的云端闪存存储
随着闪存存储价格下降且设备容量提升,闪存存储逐渐成为企业的首选存储选项。
公共云平台上的存储同样是如此,这些平台具有基于固态的存储产品,可为需要存储功能的应用程序提高性能和吞吐量。
本文中,让我们来看看哪些闪存作为云存储提供以及如何访问和使用。
闪存存储即服务
在当前可用的主要存储协议中,云端对象存储通常没有围绕吞吐量和延迟设置规范,也没有信息介绍关于该技术的部署过程。
而基于文件的解决方案提供一些性能选择(通常是两个,如下文所述),尽管这些可能是闪存加速而不是全SSD解决方案。
在块存储领域中,我们会看到解决方案中基于硬件的差异化,基于固态磁盘或者硬盘驱动器。供应商通常会强调将固态硬盘(SSD)作为单独服务层的高性能优势。
云端闪存:部署细节
块存储仅可用于连接到虚拟实例或虚拟机(VM)。这可作为引导卷或辅助磁盘来保存应用程序文件。这种类型的存储针对需要低延迟、高性能和块级读/写的应用程序,例如在线事务处理(OLTP)数据库。
在主要三个供应商中,块存储的特性并不一致。亚马逊云计算服务(AWS)和谷歌Cloud Platform(GCP)允许用户设置卷大小,而微软Azure具有固定的增量。配置最大值大致相似,每个实例具有60000到80000 IOPS(每秒输入/输出操作)和1500到2000MB吞吐量。
然而,各个供应商具有不同级别的可扩展性和性能,其中有些(Azure、AWS)根据容量扩展性能,而GCP根据连接实例的vCPU数量来扩展性能。这些因素会影响CIO的决策,因为这可能导致一个或者另一个领域的过度配置。
这些供应商都不提供特定的延迟指标,仅声称一位数的毫秒数。即便如此,并没有100%的性能保证。例如,AWS的通用SSD(gp2)闪存卷仅保证在99%的时间内提供性能。
为了实现保证的低延迟性,用户必须选择具有直连闪存的虚拟实例。AWS和Google提供此类解决方案。
云闪存用例
如前所述,典型的用例将是那些需要低延迟基于块的I/O的应用情况。与传统应用程序相同,这可能包括分析、数据仓库和机器学习(ML)或人工智能(AI)解决方案。
存储供应商利用存储优化实例和本地闪存存储提供的性能将其解决方案移植到云端。
通过本地SSD,WekaIO Matrix可在AWS使用。Elastifile Cloud File System可在谷歌Cloud Platform运行。NetApp提供的Cloud Volumes Ontap可通过利用弹性块存储(EBS)SSD存储在使用弹性计算云(EC2)实例运行。所有这三种解决方案都采用块存储,并提供弹性文件解决方案。
构建块
在云端使用块存储作为其他解决方案构建块的概念可能会进一步扩展。目前尚不清楚的是,云提供商本身是否想要展开竞争而提供更复杂的服务,还是让存储软件供应商提供此功能。
供应商概览
亚马逊云计算服务(AWS)
AWS提供块(EBS)、文件(EFS)和对象存储(S3)。在这些产品中,只有EBS(弹性块存储)具有明确使用闪存存储的功能。EFS(弹性文件系统)具有性能通用模式,但这些模式似乎不适用闪存,因为性能模式实际会增加延迟。
EBS有两个基于SSD(预配置IOPS SSD io1和通用SSD gp2)以及两个基于HDD存储选项,所有这些选项都只能连接到EC2虚拟实例,并且无法从AWS外访问。SSD性能的全部优势需要使用EBS优化的EC2实例,其中应用程序和存储网络流量为物理隔离,而不是使用共享接口。
预配置IOPS SSD(io1)是高性能选项。卷可从4GB到扩展到16TB,每卷最高可达32000 IOPS,吞吐量可高达500 MBps。单个EC2实例最多可支持80000 IOPS和1750MBps吞吐量。
通用SSD(gp2)可满足通用SSD要求。卷可从1GB扩展到16TB,每卷高达10000 IOPS,160MBps吞吐量,每个EC2实例支持最多80000 IOPS和1750MBps吞吐量。
io1和gp2之间的差异在于I / O密度。 io1的目标是每千兆字节50 IOPS,而gp2每千兆字节3 IOPS。io1提供功能可保证IOPS具有“预配置IOPS”,其中附加性能为收费选项。相比之下,gp2提供有限的突发功能来满足吞吐量峰值–通过称为卷信用的功能。
AWS没有引用特定的延迟指标,只是声称两种产品都提供“单位数”毫秒级响应。
AWS还提供本地连接闪存,被称为SSD Instance Store Volums。这些直接连接到运行某些存储优化EC2实例的主机,可以是标准SCSI或NVMe设备。在这里,性能取决于实例大小,随机读取性能范围从100000到330万IOPS。
微软Azure
微软Azure提供文件、块、对象和可扩展存储选项(数据湖和归档)。基于SSD的存储作为基于块的“Disk”存储提供,只能在连接到Azure虚拟机时使用。
磁盘存储是从Blob存储提供,本质上是一个大型存储池,作为对象、文件和块的后备存储。令人困惑的是,微软选择使用术语“块Blob”来描述文件存储,而典型的块I/O卷通过页面Blob来部署。页面本质上是512字节的块。
Premium SSD Managed Disks有8种固定型号,容量从32GB增加到4TB。I/O吞吐量可从每磁盘120 IOPS扩展到每磁盘7500 IOPS,吞吐量可从25MBps扩展到250MBps。单个虚拟机可访问多个磁盘,最大容量为256TB,IOPS为80000,吞吐量为2000MBps。
最近微软还推出一种新的更便宜的SSD存储层,目前仅提供预览版。标准SSD托管磁盘有六种容量,从128GB到4TB,每种型号容量增加一倍。每磁盘的IOPS固定为500,吞吐量也固定为60MBps。这作为更便宜的选项,可用于测试和开发环境或入门级生产应用程序。
谷歌云平台(GCP)
GCP提供三种主要存储选项:云存储(对象)、永久磁盘(块)和云文件存储(文件)。文件存储有两种性能级别-标准版和高级版,但谷歌没有透露该服务背后的内部技术。
永久磁盘有两种选项,均为64TB,Zonal和Regional SSD永久磁盘提供每GB容量高达30此读取或写入IOPS,支持每个虚拟实例15000到60000个读取IOPS和15000到30000个写入IOPS。IOPS性能取决于磁盘连接的实例中定义的vCPU数。吞吐量为每千兆字节存储容量0.48MBps,每个虚拟实例从240MBps到1200MBps。
GCP还提供本地SSD,直接连接到运行虚拟实例的主机服务器。它们可作为SCSI或NVMe设备使用,这可极大地提高性能容量。SCSI设备每千兆字节可以支持266个读取IOPS或187个写入IOPS,每个实例具有400000个读取/280000个写入IOPS。每个实例的吞吐量为1560MBps(读取)和1090MBps(写入)。
本地NVMe SSD提供更高的性能,每GB具有453 (读取)IOPS,以及 240写入 IOPS,每个实例具有高达680000个读取IOPS和360,000个写入IOPS。吞吐量高达2560MBps(读取)和1400MBps(写入)。不过,使用本地SSD可能会带领一些弹性挑战,因为这些磁盘不会像永久磁盘那样被复制。本地SSD的部署固定大小为375GB。
etsme是采用云计算原生技术打造的个人私有云/小型私有云产品,即刻入手etsme,探索更多贴心功能,掌控自己的数字世界。