为关键任务应用程序提供可预测的存储性能可能具有挑战性。这样做涉及处理存储系统中的复杂配置以获得所需的性能,例如将多个磁盘或卷组合在一起,或投资昂贵的存储硬件。这些配置都不是灵活的,并且很难在不导致停机的情况下进行更改。
AWS最近宣布全面推出 Amazon EBS io2 Block Express 卷,目前提供R5b 实例,可在单个卷中提供高达 256,000 IO/s 4,000MB/s 的吞吐量和 64TB 的存储容量。io2 Block Express最好的事情之一卷的特点是它们旨在随着您扩展卷的 IO/s 线性地提高吞吐量性能。这意味着您可以享受出色的存储性能,同时显着降低配置复杂性。Amazon EBS io2 Block Express 卷非常适合需要更高性能来运行重要应用程序的系统,例如 SAP HANA、Microsoft SQL Server、Oracle 和 Apache Cassandra 工作负载。对于任务关键型事务处理应用程序,例如航空公司预订系统和银行系统,高度可用的横向扩展存储和计算允许始终如一的高性能和正常运行时间。
Veritas一直与 AWS 合作,以预览Veritas InfoScale如何帮助改进 io2 Block Express 卷。在本博客中,我演示了 InfoScale 如何帮助部署具有新 io2 Block Express 卷的高性能存储集群,我还包括 FIO(灵活 I/O)测试结果。
InfoScale 和 AWS:协同工作
InfoScale 是一种 SDS 和工作负载弹性,从底层基础设施中抽象应用程序,以实现企业级业务连续性解决方案。它通过提供使用原生 AWS API 运行的代理与 Amazon EBS 配合使用,以提供客户在裸机服务器上运行 InfoScale 时获得的相同操作体验。
InfoScale 与 AWS 进行了自定义集成,可提供:
- 企业应用程序的高可用性,包括 Oracle、SAP、TIBCO、Informatica、MySQL 或任何通用服务。InfoScale 可以通过内核级驱动程序即时检测应用程序的状态及其所需资源,从而最大限度地减少业务中断的可能性。
- 软件定义的横向扩展存储——InfoScale 的灵活存储共享 (FSS) 技术支持连接到单个服务器(虚拟或裸机)的存储在集群中共享。
- 地理冗余– InfoScale 的高可用性和复制服务允许您构建地理上分散的架构,跨越本地资源和 AWS。
- SmartIO 智能缓存– 可以使用高速 SSD 存储从更快的卷读取应用程序,同时数据可以持久保存到更便宜的存储层。这种方法以最小的额外成本显着提高了应用程序性能。
虽然有许多提供高可用性和灾难恢复的解决方案,但 InfoScale 增加了紧密的应用程序集成和管理功能,可以确保存储和应用程序具有高可用性并免受灾难影响。
InfoScale 还可以将应用程序从本地环境迁移到 AWS,以利用尖端、高性能、低延迟的存储(例如 io2 Block Express EBS 卷),并将中断降至最低。
图1 :本地迁移到 AWS
InfoScale 集群是一个老问题的优雅解决方案。您如何让多个服务器相互了解,以便它们可以在不破坏数据的情况下协调和安排应用程序的执行?
集群应用程序需要某种方法来确保存在单一数据源。InfoScale 提供了一个集群文件系统,可以在计算资源之间共享,并且对您的应用程序是透明的。
InfoScale(特别是 Veritas Cluster Server)还确保应用程序将在集群内的任何节点上运行,从而最大限度地提高其可用性。如果集群中的一个节点出现故障,应用程序可以继续在任何剩余节点上运行。由于存储在所有节点之间共享,因此保留了数据一致性。InfoScale 还提供了一种机制,可通过 I/O 防护防止出现裂脑情况(可能导致数据损坏)。
下面的图 2是 InfoScale 和 io2 Block Express 解决方案的示例图。
图 2:测试系统
测试
我首先为测试环境配置两个 r5b.24xlarge Amazon EC2实例,配置了 Red Hat Enterprise Linux。
图 3:R5b 实例
除了集群间通信所需的网络接口外,每个 EC2 实例都配备了一个 320-GiB io2 Block Express 卷,连接到它的 IOPS 为 32,000。r5b.24xlarge 实例每个都有 96 个 vCPU 和 768-GiB RAM。
图 4:io2 Block Express EBS 卷
然后我在两个节点上安装了 InfoScale,并通过灵活存储共享 (FSS) 共享每个节点上的存储。然后,我从共享存储创建了一个集群文件系统,并将其配置为跨连接到每个节点的两个 io2 Block Express 卷对数据进行条带化。
结果
然后我进行了 FIO 测试,其中包括四种测试类型。这是结果摘要。
以下是 FIO 测试参数示例:
对于每个测试,使用相同的参数,不同的“rw”类型(写、读、randwrite、randread)。
总结一下:
每个 io2 Block Express 卷支持高达 4,000MB/s 的吞吐量。
在我的每个测试中,无论 I/O 类型如何,我都设法获得了大约 6,900 MB/s 到大约 7,200 MB/s 的两个 R5b 计算节点的总吞吐量。
FIO 在两个节点中的每个节点上并行运行。