福建台式电脑批发交流组

李刚的烦恼(1):支撑关键业务应用的存储怎么选?

楼主:企事录 时间:2018-09-29 09:12:52

李刚望着前方百年难得一动的车队,心里一阵压抑,仿佛有团郁结的气体在胸中,无法畅快呼吸,手指在方向盘上急促敲击,似乎以此能缓解心中的烦闷,但无助于事,打算听听最喜爱的“海阔天空”得以排遣,前方的车辆开始缓缓挪动,李刚脚底离合轻轻一松,这台已有五年历史的大众也缓缓随前车挪动。

北京四环,一到早晚上下班高峰期,总是车流滚滚,稍有事故,就会造成拥堵

李刚三年前从一家互联网公司跳槽到现在的保险公司,希望将互联网与传统行业的经验结合起来,当然这不太容易。尽管是T2的保险公司,但保监会(中国保险监督管理委员会)的要求都一视同仁,关键业务数据库有严格的停机时间规定,而让李刚苦恼的问题恰恰是承载整个保险公司全国业务数据库的存储系统。

这是一台使用磁盘的戴尔Compellent存储系统,李刚加入公司的时候就已经平稳的运行了两年,性能和功能都很好地满足了当时的业务所需。但这几年来,公司锐意进取,保险业务推陈出新让市场份额节节上升,新开拓的诸如互联网金融之类的业务也增势迅猛……直接导致这台存储的性能严重跟不上形势发展,迫切需要升级。

数据中心的这台基于磁盘的存储系统性能不足,DBA总是要不停地对数据库进行优化,想方设法降低对存储性能的需求

采购何种新存储?由于技术路线问题,高层一直悬而未决,李刚建议采用全闪存阵列(All Flash Array,AFA),取代基于磁盘的传统SAN存储,升级性能而不改变整体架构。CIO也知道,与磁盘相比,闪存的性能优势非常明显(插入SC4020的测试文章链接),但还是对闪存长期使用后的寿命有所疑虑——毕竟涉及到核心数据库,数据安全尤为重要。另外,现有基于磁盘的Compellent存储只是性能跟不上全闪存的节奏,希望能尽量的利旧,也需要考虑数据迁移及与新存储配合使用。

而让李刚焦虑症爆发的“导火索”则是,最近又有一个重要的新业务上线,销售部门由于担心性能问题,再一次投诉李刚所在的运维部门,竟然闹到连CEO都发邮件责令整改……

新的采购需求发出,方案倒是收到不少,但仅凭这些天花乱坠的方案,李刚仍很难做出选择……

初识SC7020存储系统


一次聚会,李刚说起自己的烦恼,一位跳槽的前同事建议李刚考虑戴尔新推出的SC7020存储系统,销量和反馈都很好,很多客户都将其用来支撑企业内部的关键业务数据库。关键是SC7020针对SSD进行了大量优化,不但性能很好,功能也都很实用。他们公司初步评估的感觉不错,李刚要是有兴趣,可以介绍戴尔的销售给他。

李刚不想打无准备之仗,客套了几句,并不急于和戴尔建立联系。回家之后,李刚登录戴尔公司官网,希望先对SC7020有个基本的了解。

戴尔Storage SC7020正面照,隔着挡板,依稀可见5×6的2.5英寸SSD/硬盘布局

Dell Storage SC7020使用3U机箱尺寸设计,前面板有30个2.5英寸托架,支持全闪、混合(Hybrid)以及磁盘等多种存储介质,可以同时兼顾性能型和容量型的应用需求。SC7020采用典型的双主动控制器(Active-Active)设计,保障高可用和负载均衡。每控制器配置两颗8核2.5 GHz的英特尔处理器及128GB内存,即使在全SSD配置下,也能提供所需的计算能力。

如此硬件配置可以提供不错的性能,但仅凭这一点还不够,李刚还需要确定这台存储是否真的能满足核心数据库业务的需求,包括可靠性、可用性和数据安全,如果能跟现有Compellent搭配使用就更好了。

通过一番研究分析,李刚紧皱的眉头终于有一丝舒展,SC7020存储系统的自动分层存储、精简快照、数据压缩与去重(Dedupe)、应用程序保护以及Live Migrate等功能让李刚印象深刻,能够很好地打消CIO的疑虑。

难以抑制兴奋的心情,李刚不顾夜色已深,拨通了老同事的电话。曾是一同搞机人,相帮何必等天明?老同事不仅耐心回答了李刚关注的问题,还通过微信传过来几张原理图和试用过程中的截图,帮助李刚更好的理解上述功能。

自动分层存储是Compellent家族的看家法宝之一,在磁盘时代连李刚都小有耳闻。不过,李刚认为,在磁盘之间的分层,性能收益实在没法与磁盘和SSD之间相比。从全闪存的角度考虑,SC7020最吸引李刚的是SSD之间的自动分层:数据能够在同一存储系统中分为三层进行存储(以Tier 1、Tier 2、Tier 3来划分),Tier1和Tier 2可以都是SSD,但使用不同属性的SSD,比如Tier 1用耐写的SSD(如MLC NAND)以应对写密集型应用,Tier 2则可使用相对低成本而大容量的SSD(如3D NAND或者TLC),满足读密集型应用需求。这样就可以根据应用的负载类型来使用相应的SSD,既解决了因为SSD寿命带来的数据安全问题,还有利于降低成本支出。

通过Dell Storage Manager管理工具,可以看到SC7020存储系统中的两种SSD:读密集型SSD(447GB)和写密集型SSD(745GB)。这个管理工具可以管理多个存储阵列,上图最左侧有两个“Storage Center”,其一为SC7020,另一台为SC8000

如果仅仅是这样,还不足以让李刚兴奋,SC7020基于这种独特的分层,还进一步在性能与寿命,以及存储容量上进行了优化。比如SC7020中的Tier 1采用对I/O性能影响不明显的RAID10,称之为高性能层,因为数据读写都不会有太大的性能影响,性能需求型应用可以将数据存储在Tier 1层;而Tier 2既可以配置为RAID 10,也可以是对数据读取性能影响不明显,但节省空间的的RAID 5,对读取速度要求较高,但写入不频繁的应用可将数据存储在Tier 2层。当然,分别存储在Tier 1和Tier 2层的数据,是可以根据其冷热度进行自动迁移的,无需用户干预,也是SC7020存储系统中自动分层存储的精髓。

SC7020中的自动分层存储功能示意图,存储在三个层的数据可以通过存储策略进行自由移动。既能满足符合应用的性能需求,又能提高存储空间的使用效率

SC7020的自动分层存储功能之所以能够实现存储空间节省,其奥秘就在于数据从Tier 1层迁移到Tier 2层的过程。Tier 1作为高性能层,其采用RAID 10,相当于1份数据要写两份,占用双倍的存储空间;而Tier 2可以使用RAID 5,当数据从Tier 1迁移到Tier 2,数据的冗余方式也发生改变,即从RAID 10转换成RAID 5,原来写两份的数据分层之后就只写一份,当然校验数据会占少量空间。举例来说,Tier 2层的RAID 5采用企业常用的8(数据盘)+1(热备盘)方式的话,其校验块只占用1/9的空间。从Tier 1的双倍存储空间到Tier 2的1份数据空间+1/9的校验空间,存储空间率相当于从(RAID 10)50%提升到(RAID5)89%。

SC7020存储系统中默认RAID 5使用8+1(9宽度)的方式,这使得其存储空间利用率进一步提升,有效利用率能达到89%

当然,自动分层存储功能可以通过预制的策略去调整,例如在Storage Manager管理工具中,管理员可以设置灵活的策略去满足不用应用的需求:

使用Storage Manager工具对SC7020存储创建存储策略,可以选择使用何种RAID方式(RAID 10/5/6),以及数据存储在哪层上(Tier 1/2/3),比如对性能要求苛刻的应用,则可选择使用RAID 10的方式,只存储在Tier 1层;容量需求型则可选择RAID 5/6方式,数据存储在Tier 3层

SC7020中的自动分层存储功能对其他高级存储功能影响深远,比如精简快照、数据压缩与去重等都与自动分层存储技术高度结合,不仅提高了存储空间利用率,还做到对存储性能影响最小。尤其是数据压缩和去重功能,设置为数据从Tier 1层向Tier 2/3层迁移时进行,这样就实现了既不影响性能,同时又达到空间节省的目的。

引起李刚兴趣的还有SC7020中的应用程序数据保护功能,尤其是针对Oracle环境的应用程序数据保护。因为李刚所在公司使用的就是Oracle数据库,如果SC7020能够对Oracle数据库应用有加成的话,那肯定在CIO那儿能加分不少。

SC7020中的应用程序数据保护功能可以使用多种方式或组合来实现,比如一致性快照组、LiveVolume以及复制等功能。举例来说,在Oracle 12c数据库中,其undo表空间默认的保存时间为900秒,即15分钟。SC7020的快照可以预设策略,比如每15分钟做一次快照,数据备份后当天快照失效(当然这个需要跟复制或者备份功能结合),这样就能为Oracle数据库提供一整天的数据保护。

创建新的快照规则,既可以选择在特定时间进行快照,也可以选择按时间间隔进行快照。可根据数据安全的需求程度以及应用特点,进行灵活配置

快照几乎是每台存储系统的必备存储功能之一,但大多数的存储系统都对卷(Volume)的快照数量有限制,因为快照数量太多,会对整个系统的性能带来不利影响。但李刚看到,SC7020宣称支持无(数量)限制的快照,并且在此基础上,还能保证95%以上的性能。这让李刚非常惊讶,如果能实地测试测试就好了。

说起应用程序数据保护功能还得说说Live Volume功能,这个功能可以使SC7020与其他存储联合。简单来说,就是当SC7020上创建一个卷之后,可以将这个卷投射到另一个存储系统之上,建立一个同样属性的卷,这两个位于不同存储系统中的卷都映射给同一台服务器或者集群,理论上是两个卷,但因为Live Volume的作用,服务器实际上只会看到一个卷,但这个卷的路径会增加

图左为未使用Live Volume之前,应用服务器上显示的存储系统供给的每一个卷的I/O路径,SC7020通过8个FC端口与两台服务器相连,显示为16条I/O路径;图右为配置Live Volume之后,同一个卷除了SC7020原有的16条I/O路径之外,还有额外多了8条来自于SC8000的I/O路径,之所以是8条,是因为只使用4个FC端口(SC8000最多可配置8个)

Live Volume的作用就在于,比如说,当SC7020需要停机时,其会自动将数据IO切换到另一台存储系统之上,而应用程序并不会受到影响,仍会正常运行。这就保证了业务的稳定运行,这一点对于支撑关键业务应用的核心数据库而言,其意义不言而喻。

老同事甚至从微信上传来一段Live Volume的试用视频:


仔细看完SC7020存储系统的功能解析之后,李刚心中的疑虑已经消去大半。不过为了说服CIO,李刚还是希望能亲自测试一些这台SC7020的性能。老同事承诺帮助联系戴尔的客户经理,尽快安排测试

SC7020全闪存系统性能如何


第二天一早,老同事就打来电话,说戴尔北京的客户访问中心(Executive Briefing Center,EBC)正好有一台SC7020空闲,能够预约测试。李刚立刻带上DBA陈锦直奔东二环,实地了解SC7020存储系统并进行相关的测试。

戴尔SC7020全闪存阵列,3U高,最高可配置30块SSD,双控制器共提供8个16Gb/s FC主机端口,能够满足关键业务所需的性能或者带宽。这台SC7020共配置了20块SSD,由于读写分离技术将SSD分为读写两个资源池,实际18个SSD可用(另两块作为热备盘)

在就SC7020的一些技术细节进行沟通之后,李刚与陈锦讨论了业务的特点,确定了公司的业务和IT架构的方案:

李刚确定的测试架构。传统IT解决方案架构,一则可以在尽可能短的时间内完成现有存储系统替换,二则不用改变现有业务系统架构;这两点对于升级关键业务系统非常重要

在测试之前,尽管戴尔方面提供了相关的性能信息,李刚还是坚持做了一遍与公司业务相关的基准测试,因为主要面向Oracle数据库,所以使用8KB大小的数据库对SC7020进行随机读取访问测试,其结果大致如下:

在创建卷(Volume)的时候,开启了“高速缓存”功能,导致其性能结果出现比较“奇怪”的散布

通过多次反复测试,李刚认为SC7020在配置20块SSD,并读写分离情况下,其8KB随机读取性能应该为37万IOPS左右,平均响应时间在0.43ms,虽然随着队列深度的进一步增加,其IOPS有所提升,但平均响应时间成倍增加,综合考量,在16队列深度时为最佳状态。得到这一结果后,李刚与陈锦结合公司现状评估,认为其能够满足公司业务未来一到两年的性能需求,后续也可以通过添加更多的SSD(SC7020在不带扩展柜的情况下最大支持30块SSD)来增加性能和容量。

同样是在16队列深度下,测试所用配置下SC7020的8KB数据随机读取带宽能够接近3.0GB/s

在评定了SC7020的基本性能之后,陈锦开始按照既定方案构建最小两节点的Oracle RAC数据库环境,而李刚则饶有兴趣地研究其SC7020的一些新技术——比如读写分离、精简快照、数据压缩与重复数据消除,其中最引李刚兴趣的是Live Migrate/Live Volume这项技术,其可以将SC7020与其他存储系统联合起来,实现存储系统的“双活”,即使在SC7020的出现意外状况,需要停机的时候,与之构成Live Volume方案的另一台存储可以立马顶替,实现业务连续性,应用透明。

在两个小时之后,陈锦搭建好了Oracle RAC数据库环境,写入测试后,进行测试,尽管所使用的两台数据库服务器为上两代的R720(Xeon E5 v2处理器,64GB内存),计算性能有限,但结果仍让李刚吃惊不小:

在Oracle RAC环境下,SC7020的平均TPM(每分钟事务处理数)接近100万,峰值TPM性能超过了105万。毫无疑问,如果使用SC7020全闪存阵列,能够解决李刚饱受困扰的性能问题

不管是每分钟/秒的事务处理数,还是应用级的平均响应时间(11ms),都很符合李刚的理想状态,从上图可以看出,CPU占用率已经达到90%,从经验来看,这应该是计算性能不够,导致存储性能未达最佳状态,同时也会导致平均响应时间偏大。

同时,陈锦提到另外一个问题,一般存储系统都会有快照功能,但快照数量一旦上去之后,不但影响容量,更重要的是不利于性能。这让李刚想试试SC7020的快照功能。

对Oracle数据库使用的卷(共10个),在压力客户端模拟事务处理,下发压力的过程中,每间隔一段时间进行自动快照,以测试连续快照下的存储性能表现

10个卷总共960个快照,Oracle数据库的性能表现,相对于未快照之前,性能影响不足5%

不到5%的性能影响,李刚认为这完全可以接受,况且SC7020的性能还有很大提升的空间。在经历反复不间断的测试之后,李刚对SC7020的性能非常满意,内心深处基本已经选择了这台全闪存存储系统。

既得陇,复望蜀,李刚开始琢磨SC7020另一个很亮眼的特点——无损性能的重复数据消减(去重)功能。去重功能与数据类型关系密切,在生产数据库中可能意义不大,但李刚的公司还有另一个让人头痛的项目——VDI,不仅存储性能存在瓶颈,还消耗大量的存储空间,李刚的扩容报告已经被财务部门打回来好几次了。

李刚看了看时间,已经下午4点,不如今天先回去准备下VDI的测试计划,并把今天的测试结果和资料整理一下,准备给CIO打采购意向报告了。当然,避开晚高峰也是考虑之一,SSD毕竟还解决不了北京市的交通拥堵问题……

未完待续

朋友 图片 表情 草稿箱
请遵守社区公约言论规则,不得违反国家法律法规