您当前位置:主页 > 工程案例 > > 正文

当Windows超融合遇上Oracle RAC:S2D测试之四

  在上一篇评测发表之后,有朋友提到如果只用4个节点(超融合)VDI是无法支撑1万2千个虚拟桌面的。没错,所以我们写“SDS”就是设计的计算存储节点分离式架构。

  同时我也承认,像VMware VSAN、微软S2D这种操作系统/HyperVisor内置的SDS/Server SAN,当前大多数用户采用超融合部署方式,并且节点数普遍不是太多。

  能否支持Oracle RAC集群,如今对几家主流大厂的超融合方案已经不是难题了。在开始介绍本文的验证测试之前,我们再次查阅了Oracle网站上的支持信息。

  截取的这个表格,只包含OS和虚拟化技术的认证,应该还不包括S2D存储功能。

  与前面三篇评测相同,我们是在Windows Server 2016 DataCenter系统上搭建的微软S2D(Storage Spaces Direct)存储和Hyper-V集群。至本文截稿之日,WS 2016虚拟机+Oracle 12c R2(12.2)已经出现在甲骨文的支持列表中,早些时候还只有WS 2012的信息。因此我们也先后尝试过在2种虚拟机OS版本上安装RAC,总体上都还比较顺利。

  需要注意的是,在S2D的CSV(集群共享卷)上创建Oracle ASM使用的磁盘镜像时,应该选择VHD Set而不是VHDX,因为这些磁盘需要同时挂载多个虚拟机到共享访问。

  为不同节点上2个RAC虚拟机分配的Oracle ASM数据磁盘,分别来自Owner在多个节点上的CSV。在网络不是瓶颈的情况下(测试环境为100Gb RDMA以太网),这样做有利于性能。

  上面是单个数据库虚拟机的配置信息。由于我们使用的Dell PowerEdge R630服务器上是2颗10核(20线GB内存,这次就为虚拟机分配了40个虚拟处理器和64GB内存。关于磁盘(SSD)的配置情况我还会陆续交待。

  为了帮助大家更好地理解,我们画了上面的示意图,其中简略了微软S2D的一些层次结构。

  (1)每个CSV上的VHD Set磁盘文件,其数据块打散分布在4台服务器上的28个SSD。

  (2)虚拟机访问数据时会经过CSV当前的Onwer节点,如果它们正好在同一节点,会享受到超融合的本地读优化。在最常用的2节点RAC方案中,为了使S2D的CSV存储开销平均分布到4个节点,我们配置了“完全互连”的磁盘组,也就是2个VM对应3-4个CSV。

  (3)在Oracle RAC安装、SwingBench与可用性(破坏)测试部分,我们使用了来自3个节点CSV的ASM磁盘;后面的Orion测试则用上了全部4个节点Onwer的CSV。

  如上图,由于S2D本身已经是3副本保护,所以在创建ASM磁盘组时选择“外部冗余”就可以了。

  由于本文主要目的在于可用性验证,装好Oracle RAC集群后我们几乎没有做任何调优,在SwingBench中选择了一个简单的事物开始压测。双节点的TPS(每秒交易数)有时能达到16000,TPM(每分钟交易数)超过93万。

  除了TPS/TPM我们还要关注S2D集群上的存储负载。在上述测试中两个Oracle虚拟机的IOPS请求加在一起也没有超过2万,此时的压测显然是CPU成为了瓶颈。

  2台R630服务器上的CPU都跑满了,并且Xeon E5-2640 v4还Turboboost到2.57GHz的频率。根据我们以前对S2D的了解,每节点的CPU至少能支撑40万以上4KB读IOPS,所以当前的压力绝大部分来自于RAC数据库。

  倒不是说Oracle就不能把压力加到存储上。我们换了一个压力模型,2个节点总IOPS达到了23万(如下图)。不过此时TPS看上去并不养眼,应该是因为复杂长事物中的I/O操作较多吧。

  Oracle OLTP应用的典型I/O大小就是8KB。对于超融合用户来说,可以评估下这个IOPS是否能满足自己应用的需求。

  在Oracle RAC集群正常运行的情况下,我们首先对其中一个虚拟机手动“Live Migration”到另一个节点。

  Windows超融合集群上的Oracle RAC虚拟机节点,在18-19秒完成迁移。如果不是CPU满载,或者分配的内存容量较小还会更快。

  我们看到TPS最低点在8000左右,此时恰好是1个Oracle数据库节点的性能。

  如上图,在虚拟机迁移的瞬间TPS有个下降后很快恢复;而TPM数值统计的是过去一分钟,因而没有明显的波动。

  模拟破坏性测试,我们是通过Dell服务器iDRAC带外远程管理界面来操作的。

  接下来就要做Windows+S2D集群的节点冷重启(Power Cycle)测试了。这里面还要分为两种情况:

  (1)被重启/关机的服务器上没有Oracle RAC虚拟机,只提供S2D的存储资源,也就是其中一个CSV的Onwer。

  由于分布式存储的冗余配置,无论多副本还是纠删码保护都应该能通过这个测试。

  如上图,当组成ASM磁盘组的一个VHD Set对应CSV Onwer节点离线时,Oracle IO会hang住10多秒然后恢复,就像传统存储阵列的多路径故障切换Timeout那样,数据库连接会线D集群应该也有一个默认的超时设置,因为如果我们手动切换/切回(Fail over/Fail back)CSV Onwer基本上是即刻完成的。

  等46节点重启恢复之后,我们想把CSV Onwer切回来也只是点两下鼠标的事,在这个实验中只涉及到少量数据的Rebuild,还没有触发Rebalance重平衡。

  这部分的操作,会触发一个12c RAC虚拟机节点在Hyper-V故障转移集群中的另一台服务器上自动启动(HA接管)。我们记录了一下时间,Window Server 2012 R2虚拟机OS启动只用时31秒,至故障发生后3分23秒Oracle ASM实例启动完成,5分25秒整个数据库恢复正常。

  就此我咨询了一下数据库专家朋友,Oracle启动时间受版本影响比较大,我们测试的是12c(12.2),如果换成10g或者11g应该会快很多。

  下面使用Oracle Orion I/O压力工具来测试下OLAP(数据仓库/分析型负载)存储性能。

  由于带宽测试使用1MB大数据块,从S2D存储底层到虚拟机上层都不会有多大CPU的开销,这一点与IOPS测试不同。

  最后我们又简单测试了一下带宽,发现只要1个虚拟机就能基本达到11GB/s顺序读的峰值。每个VHD Set磁盘建立在不同节点Onwer的CSV上,相当于用Orion模拟了ASM条带化的效果。

  具体来说,就是11,007 MB/s中有大约3/4来自跨节点访问,而本次测试环境的网络比较牛(见下图),这些都不是问题。

  在实际生产环境,推荐使用性价比较高的25Gb网络,同时网卡支持RDMA,双端口NIC Teaming能提供50Gb带宽,可满足高负载业务需求。

  在顺序写测试中,我们同样遇到了SSD性能随时间下滑的正常情况。也就是说S2D集群配置的盘“还不够快”,福建体彩网否则在第一篇测试中也不会顺序写只达到2626MB/s。如果只是看峰值写入带宽,超过3700MB/s的情况我也见到过。

关于我们 产品中心 新闻动态 工程案例 联系我们

联系人: 张经理

传真: 400-0162217

E-MALL: 4557197@qq.com

网址: http://www.maxfordwines.com

地址: 濮阳市 西村镇永安路南段22号

联系我们 →

400-0162217

扫一扫关注我们