在 VMware vSAN 上运行用于开发环境的 DataStax Enterprise
DataStax 和 VMware 作为商业伙伴共同合作的个解决方案已经开花结果: 在 vSAN 上运行用于开发环境的 DataStax Enterprise(DSE)。
在这个解决方案中,VMware 和 DataStax 合作进行了深入的技术验证,以将 VMware vSAN™ 作为用于测试和开发环境的全球分布式云应用程序的存储平台。 我们共同合作 vSAN 在 share-nothing 架构上的性能改进,其设计侧重于云应用程序,要求数据连续性,实时性,分布式和可扩展性。
概述
这个联合解决方案是使用 VMware vSAN 作为超级融合基础架构(HCI)在 vSphere 环境中部署 DSE 的展示:
✎ 我们展示了快速及精简部署的架构。
✎ 我们评估了在 vSAN 上运行 DSE 的性能。
✎ 我们验证了各种故障的弹性和可用性。
方案架构
我们创建了一个 16 节点 DSE 集群运行在一个 8 节点 vSAN 集群,以验证典型用户工作负载下 DSE 的部署。 解决方案架构如下图所示。
为了在计划内或计划外的宕机时间内确保 DSE 的持续数据保护和可用性,建议配置至少四个节点的 vSAN 集群,并且要求全闪存配置以实现性能一致性和可预测的延迟。
在我们的解决方案验证中,我们使用 NVMe 作为缓存层并为每个节点配置了两个磁盘组。 每个磁盘组都有一个缓存 NVMe 和四个容量的 SSD。 vSAN 存储策略容错(FTT)值设置为 1,并且禁用软件校验和。 同时可以为不同的 DSE 应用程序定制存储策略,以满足性能、资源保证、容错、校验和保护和服务质量要求。
我们在 cassandra.yaml 文件中以批处理模式配置了 commitlog_sync。 DSE 在提交日志被 fsynced 到磁盘后才确认写入。
vSAN 和 DSE 测试环境由 8 个 DELL R630 服务器组成,用于 16 节点 DSE 集群。 DSE OpsCenter 和 8 个客户端节点都放在 4 节点的混合 vSAN 集群上。我们还在混合集群上配置了单独的存储集群,以避免对测试的 DSE 集群的性能影响。
硬件组件
表一列举了此解决方案中使用的硬件组件。
表1.硬件组件
软件组件
表二列举了此解决方案中使用的操作系统和软件组件。
表2.软件组件
DSE 虚拟机
表三列出了 DSE 虚拟机的详细配置信息。
佳实践:将虚拟 SCSI 控制器的类型设置为半虚拟,并使每个虚拟磁盘使用单独的控制器。
表3.虚拟机配置
工作负载
Cassandra-stress 是一个用于工作负载测试的内置 DSE 基准测试工具,八个客户端节点都运行 Cassandra-stress。
✎ 加载基础数据集
在每个客户端虚拟机上对集群数据并行运行 Cassandra 压力测试。之后,通过检查 nodetool 状态来查看每个节点的数据量。在每个压力客户端上重复上述运行过程,直到每个 DSE 节点生成至少 500GB 数据。
性能结果示例
在性能测试中,Cassandra-stress 随机插入和读取,运行 90% 的写入和 10% 读取工作负载,以衡量我们如何对集群进行压力测试并且在没有维护任务发生时大化峰值性能,然后我们建议客户在正常负载下运行 Cassandra,从而将每个客户端的线程数减少 30%,即 140 线程。
1 小时和 24 小时性能测试(90%写入和 10%读取)的吞吐量和延迟是一致的,证明了 vSAN 在可预测的延迟情况下的性能一致性。
在 90%写入和 10%读取性能测试中, 读取延迟中位数值小于 2ms,而写入延迟中位数值小于 8ms。 如下图所示,第 95 百分位延迟数值和第 99 百分位延迟数值都在在正常范围内。
弹性和可用性测试
vSAN 的存储层弹性功能与 DSE 的对等设计相结合,使该解决方案能够满足高要求应用的数据可用性要求。 我们通过创建一组故障场景来验证数据可用性。
在我们的故障测试中,我们再次对预加载的数据集运行 Cassandra-stress。vSAN 存储策略FTT设置为 1,DSE 关键值空间的复制因子参数设置为 3。
佳实践:
✎ 使用 EXT4 进行初始测试,并启用所需的日志记录。
✎ 用户必须使用 DSE 的机架感知功能来确保多个数据副本没有存储在同一个 ESXi 主机上。
在此解决方案中,我们进行了三种故障场景的验证:
✎ vSAN 数据存储中的物理磁盘故障,会导致在此磁盘上的 vSAN 对象进入降级状态。设置 FTT = 1,对象仍然活跃并提供 I / O。 存储层弹性处理此故障,因此从 DSE VM 的角度来看,服务不会中断。
✎ DSE 群集中的 DSE VM 故障,导致 DSE 节点丢失,但应用程序弹性确保服务不会中断,只是由于集群规模变小了导致性能受到一定程度的影响。
✎ 物理主机故障将关闭所有运行在主机上的虚拟机。在我们的验证中,DSE 集群丢失了两个节点,但服务不会中断。 如果在主机出现故障时启用 VMware vSphere® High Availability, vSphere HA 将在其他主机上重新启动这两个受影响的虚机。
表4.故障测试结果
总结
总而言之,在 VMware vSAN 上部署,运行和管理 DSE 应用程序提供了可预测的性能和高可用性。所有的存储管理都会进入单一的软件堆栈,从而更高效地利用 vSAN 的安全性, 可扩展性,操作简易性和成本效益。
通过 VMware 和 DataStax 的共同努力,客户可以轻松自信地在测试和开发环境中为其现代云应用程序部署 DSE 集群,从而在不导致宕机的情况下实现 scale-up 和 scale-out。
相关文章