本篇文章4820字,读完约12分钟

在模拟了上一篇文章“4个节点的近160万IOPS:SDS/Hyper-convergend测试不能只是看数字”中SQL Server的OLTP存储负载之后,我们将看一下微软的另一个经典应用程序exchange server Mail Server的性能验证。最后,我们将基于s2d超融合集群构建一个数据库的tpc-e测试结果。

与之前一样,测试环境是位于上海戴尔客户解决方案中心(csc)的微软s2d(直接存储空间)超融合集群,该集群部署在4台戴尔poweredge r630服务器上,每个节点有7个1.6tb sata ssd和100gb/s roce网络互连。

一台虚拟机能支持150,000个邮箱吗?

Exchange解决方案审查计划(esrp)存储是由Microsoft为exchange server设计的计划,用于帮助第三方存储测试和发布exchange server解决方案。使用名为jetstress的测试软件。

各制造商产品测试报告的公布地址:technet.microsoft/en-us/office/dn756396.aspx

本文中的esrp-jetstress测试仍由上海威赛特网络系统有限公司副总工程师肖恩先生完成..

查看测试结果更简单。我们使用jetstress在windows server 2016 s2d超融合集群上模拟了一个虚拟机中的四个数据库实例,并测量了18,218.779的总读写IOPS(请注意,这是半结构化数据,平均读写大小超过32kb)。延迟只有大约1毫秒,并且esrp的标准在20毫秒内合格,这对于使用ssd的存储来说太容易了。

但是,根据iops测试结果转换系统支持的邮箱大小有不同的标准。

以上文字摘自自测报告“戴尔EMC DSS 7000 _ DSS 7500 100,000邮箱恢复能力微软Exchange 2016存储解决方案”,该报告基于每天每个邮箱发送和接收150封电子邮件的标准,相当于每个用户对数据库的平均压力为0.121 iops,包括20%的利润率。

将18218.779除以0.121,得到150,561。根据这150,000个邮箱的性能结果(暂时不考虑容量),它可以在上面列出的微软网站测试版本中排名第二高?然而,exchange server的存储规划和esrp测试报告中的奥秘远不止于此,本文的讨论才刚刚开始。

一些朋友可能已经考虑过exchange单个邮箱的容量可以支持多大。性价比如何?如何设计dag(数据库可用性组)是一个需要考虑的问题。此外,我们只在一个节点上用单个虚拟机测试了jetstress。如果在更多节点和虚拟机上部署exchange,性能会更高吗?我认为读过上一篇评论的朋友应该有一个肯定的答案。

横向比较:来自esrp测试的思考

为了找出一些问题,我从esrp网站上下载了几份有代表性的报告作为参考,并努力整理出以下表格。

在驱动器数量一栏中,大容量7200 rpm硬盘没有后缀,这与10k高速硬盘和固态硬盘不同。

首先,我选择了支持邮箱数量最多的报告,从100,000到200,000不等。然后我选择了全闪存阵列(纯存储)和超融合系统(nutanix),并列出了我们一起测试的微软s2d。

1.4阵列、2台超融合服务器和1台存储服务器

在上表中,戴尔dss 7000/7500是唯一的传统存储服务器。两年前,我在《DEF 2015:双节点至强e5服务器与4U90位置的分析》中介绍了它。它可以用作每个机箱的两个45位服务器节点。

Dss 7000/7500也是上表中唯一一款仅使用exchange dag群集机制来保护磁盘数据的产品,并且设计为4份拷贝(1份主动,3份被动)。每个节点的42个大容量硬盘配置为14个raid 0组,从而减少了故障域。一旦磁盘损坏,应用程序需要重建3个磁盘的数据。

需要注意的是,虽然每个人都设计了dag架构,但是在esrp的实际测试中,只使用了一个相当于exchange数据库的副本。因此,我们可以看到hus vm、xiv gen 3.2和纯存储实际上只测试了一组阵列,6节点fas8060相当于使用三组双控制器的一半,nutanix还需要添加第二组集群来实现dag。因此,对于软件定义存储的微软s2d超级融合,如果部署dag,应该推荐两个集群。

22,000个邮箱不是最快的,但最高iops只有40,000个邮箱?

然后看看这些系统支持的邮箱大小。fas8060群集模型的最高值为200,000,但测得的15,011 IOPs IOPS值并不突出,因为每个报告的预设iops/邮箱值并不一致。该系统设计的单邮箱iops仅为0.06

也就是说,在esrp测试中,几乎只有iops才是真正的功夫。与fas8060相比,纯存储闪存阵列//m20的最高IOPs为44,945,但名义上只有40,000个邮箱。我认为这是因为我们必须考虑容量因素,20个1024gb ssd的裸容量小于20tib。如果没有纯粹的存储和数据缩减技术,系统支持每个邮箱300mb就好了。

纯存储的设计方案是在两个数据中心的每一个中放置一个阵列,并且两个数据中心中的数据库是相互保留的。尽管本报告中没有太多描述,但esrp的实际测试应该只使用一个阵列和一个数据库副本。

因此,作为一个昂贵的全闪存阵列,只需将每个邮箱的预设iops提高到1,而不管用户是否这么快就需要它,如果他们需要更多闪存,价格就会上涨。我们测试的s2d全闪存配置也会遇到类似的问题,具体的解决方案将在后面提出。

在上表中,s2d的每个邮箱的预设iops为0.12,我看到测试结果稍高的hus vm(含480个hdd)报告仅写入120,000个邮箱,因此保守估计s2d在此测试中支持的邮箱数量不会更高。

另一件让我吃惊的事情是nutanix的每个邮箱的默认iops低至0.03+20%,但是实际测试比这个级别高得多。

3.读写比与数据保护级别的关系

由于拷贝(镜像)/raid保护的写入损失和固态硬盘的工作原理,几乎每个存储的读取性能都比写入快得多,因此测试的i/o比率也会影响结果。

具体来说,在esrp网站上发布的报告中,exchange数据库的写入i/o比率基本上在30%左右,在28-33%之间,而默认设置测量的写入比率高达43.3%。此时,建议3中带有副本配置的分布式存储尤其受到影响。如果我们也降低写i/o比率,我相信性能数据会更好。另外,拷贝的数量也可以减少吗?

我写得不像空,因为nutanix的报告中提到,由于在dag级别已经有两个数据库副本,当nutanix自己的复制因子设置为2时,结果相当于总共有四个数据副本。

事实上,由于dag数据保护机制的存在,可以说存储双副本的可能风险大大降低了。因此,我认为s2d也可以考虑这种方法。

如果您认为2个副本+dag的空之间的利用率不够高,您也可以考虑Microsoft s2d支持的奇偶校验和擦除代码保护方法,尽管这将对性能产生影响。

如上表所示,微软s2d在4-6个节点上支持2+2里德-所罗门纠删码保护机制;Ssd+hdd混合配置在7-11个节点上支持4+2个擦除代码;所有固态硬盘支持9-15个节点下的rs 6+2保护;进一步的是lrc(局部可修复代码)。

Lrc属于一种高级擦除码,除了在某些情况下可以从3个磁盘故障中恢复之外,lrc编码主要应该减少计算和重构的开销。

此表引自高义的文章《对微软s2d软件定义存储技术的深入理解》,供您参考。

固态硬盘+硬盘混合配置的交换价值

虽然擦除代码检查方法可以提高容量利用率,但我认为大多数用户仍然认为所有固态硬盘对交换都很重要

对于储存来说太奢侈了。因此,我在本文中最后推荐的是ssd+hdd混合部署,即s2d固态缓存方案。

首先,为了证明ssd缓存/分层存储在exchange应用程序中的先例,我参考了另一份戴尔文档《2016年Exchange Server的SC系列数据进步和数据缩减》。我们知道数据前进是compellent著名的自动分层存储技术。

戴尔供应链具有丰富的分层机制。我们可以看到,在上图中,不仅驱动器层次结构,而且raid级别和磁盘内环和外环(fast/std)也是不同的。经过一段时间的优化,更多的冷数据被转移到大容量、廉价的存储介质中。微软s2d混合存储配置的目标是相同的,那么除了基本的ssd读/写缓存之外,后者的定义和策略是什么?

我之前在“azure stack中的超融合存储-s2d Advanced章节”中提到了存储总线缓存和refs实时分层的概念,但当时我并没有完全理解它们,所以我认为下图更容易理解。

这里的Hdd应该被理解为数据位置,而不是特定的物理磁盘

其中,右侧的绿色容量多弹性虚拟磁盘在s2d中使用了可选的refs实时分层功能,它可以在两层驱动器上支持三层。那么目的和价值在哪里呢?

在这种3层配置中,最终的数据写入路径仍然是先到达左边的ssd缓存(紫色部分),然后在迁移到容量层时,为了减少擦除代码对hdd写入性能的影响,数据以镜像保护的形式写入(红色部分提高速度),然后转换为校验码(蓝色部分增加可用容量)。如下所示,它有点像戴尔sc吗?

也就是说,容量层次中的热数据(镜像)可以在固态硬盘缓存写缓存层中发挥补充作用。

我个人的建议是,一旦为s2d混合配置的容量分层选择了擦除代码保护hdd,建议在exchange应用中启用镜像这一部分的写加速空。毕竟,固态硬盘缓存还应该考虑读缓存。除非混合配置中的硬盘是多副本的,或者是为所有固态硬盘擦除代码保护而设计的。

当数据访问超过缓存容量时,性能会下降多少?

如果热数据集基本上可以包含在高性能ssd层次结构中,那么它自然是最理想的,但实际上,缓存总是有命中率的。由于本次测试的时间和环境有限,我们尚未在s2d中详细测试ssd cache+hdd的混合配置,但在英特尔网站上的文章“nvme+HDD配置与windows server 2016和存储空间的IOPs性能”中有一些很好的验证。

注:以上两张图片不用于交换测试,仅供参考。

上述测试是4k随机读取。当测试数据集的大小超过4tb的缓存范围时,性能将逐渐下降。当然,这只是对完全随机访问的验证,不像在实际应用中有热数据和冷数据的事实。

8k 70/30混合读写的情况与上述类似。

无论是固态硬盘+硬盘混合存储还是擦除代码,在其他类似条件下,其性能都不如全闪存+拷贝模式下的s2d。此时,一些朋友可能会问:如果您改变环境,您的测试分数(18218 iops或120,000个邮箱)会打折扣吗?

答案是肯定的。但是,我还提到在测试中只使用了一个虚拟机。根据我们眼中的最佳实践,我们仍然可以从上次模拟sql server i/o可伸缩性测试中充分发挥集群资源的方式中学习(见下图)。

鉴于s2d性能的本地读取优先级,如果我设计exchange服务器,为了最大化性能,将有与底部节点一样多的exchange服务器,然后将不同的邮箱数据库放置在不同的服务器上,并在它们上启用dag保护。

高翔,上海韦斯特网络系统有限公司副总工程师

注意:我们在esrp测试中没有尝试限制邮箱数量的原因是这个s2d测试环境的ssd容量已经出现了瓶颈。

在这里,我将编写一个在4节点s2d集群上运行sql server数据库tpc-e的测试结果。有关更多详细信息,请参考在戴尔EMC PowerEdge R730XD上直接使用微软存储空间实施SQL Server 2016,该版本链接到:敌意。戴尔/技术中心/企业-解决方案/管理/数据库_画廊/2044653。

再次感谢上海戴尔客户解决方案中心的托尼·王对此次测试的支持!

标题:《12万邮箱ESRP测试:Exchange超融合存储设计漫谈》

地址:http://www.nxxlxh.com/nczx/12858.html