惠普3PAR:性能无损的全功能闪存技术
IT邵年 发表于:14年07月31日 18:41 [原创] 存储在线
7月31日,由DOIT传媒、存储在线主办的“2014中国闪存峰会”在北京亮马河饭店隆重举行,来自第三方调研机构、专家学者、行业用户、厂商代表和意见领袖等多方人士齐聚一堂,以“闪耀IT 存取未来”为主题,从不同角度深刻探讨闪存技术如何促进政企组织的业务创新。
本届峰会邀请到了乐视网高级总监薛伟、中国石油东方地球物理公司研究院数据处理中心总工程师赖能和、铁道出版社信息中心主任刘波和搜狐公司研究院基础架构部技术经理彭毅等典型用户代表;Gartner公司大中华区首席存储分析师张瑾、计世资讯计算机系统研究部总监丁震和“高端存储知识”自媒体西瓜哥;以及来自IBM、Dell、HP、华为、EMC和Oracle等领导存储厂商的16位专家和意见领袖,在本届峰会上发表16场极具前瞻性的主题演讲,涉及服务器闪存、全闪存阵列和混合阵列、闪存与云、闪存与数据库应用等热门话题。
中国惠普有限公司存储解决方案架构师张楠
下午,中国惠普有限公司存储解决方案架构师张楠系统介绍了闪存的发展和惠普的3PAR产品的特点。
首先张楠认为无论是在主机上的闪存加速卡还是叫闪存阵列,如果站在惠普产品的角度上剖析一下在产品上哪些技术帮助到了闪存。他认为可以从以下几个方面来阐述:
第一是闪存市场与需求。大家都有自己对闪存的理解,我们每人心中都有自己对闪存的定位,这个东西好不好,哪些地方有用或者是没有用。SSD确实能给用户带来很大的好处,它的性能是成倍增长。SSD是机械硬盘的十几倍甚至几十倍。是不是所有用户都能用到呢,如果是压力测试可以测试到2万甚至4万I/O,但是真实的状况不是这样。跟你的应用、服务器、网络都息息相关。我们抓出来的数据跟大家说一下,通常抓出来的信息80%的客户无论你是用全闪存阵列还是分层存储,基本上你的I/O都在500到1000个板块上,80%。有一些用户会超过1000,会更高一些,这些用户数量来说比较少。原因在哪?我们看到实际的业务当中,你在每单位,每GB上产生的数据量不会非常非常大。以前我们老说机械硬盘,机械硬盘确实他的能力是很有限的。到后来大家都觉得SSD,我们I/O要支持多少,除了I/O以外还有一个非常关键就是延迟,延迟很重要。我们以前讲说存储能够做到多少I/O,很多厂商发布几十万、上百万多少,这些I/O对真正的用户来说意义不是非常大。因为延迟对用户来说是很关键的一个内容。我们通常会讲说闪存能够降低延迟,提高I/O,怎么去做,哪些应用适合去做?一般来说我们从惠普角度来说看到三点,第一点是数据库/BI加速。商业智能分析,你需要对数据进行一些挖掘,你需要在月末做月结的时候,需要读取大量数据,这些数据对闪存非常适合。第二点我们会看到越来越多用户把关键业务和核心业务放在虚拟机上,现在看到很多大型保险行业包括券商他们都会把核心业务放到虚拟机上。第三点就是虚拟桌面,用户在三个层面上考虑采购闪存的时候,无论是全闪存还是混合阵列,第一就是成本。买一块SSD成本是一块机械硬盘的几倍甚至十几倍的概念。
我们在一个发布会上讲到了其实很多人因为过多关注硬件的成本却忽略了一个隐性成本,这是软件成本。为什么这么讲?这里举一个例子,很多数据库用户是Oracle,无论是像Oracle还是数据备份软件等等,他们的收费模式都是按照硬件,你服务器上的CPU数量来收费。你CPU数量越多,你CPU耗越多,你付出的代价越高。以前大家都用传统的机械硬盘做磁盘阵列,那时候你的I/O的响应能力非常有限的。当你有大量的I/O进入到后端存储的时候,这时候你的延迟很高,传统的机械硬盘延迟3毫秒以上,一般4到5到10,拟主机的CPU到这个I/O,导致你CPU应用很差。说依旧要加内存,加CPU,解决这个问题。用户加CPU,你的硬件成本并没有减少太多。
什么样的阵列比较适合闪存或者说闪存阵列应该具备哪些功能?首先你要更小化的避免重复性的切入。以前听说有些厂商为了做重复数据删除要损失大量的性能,可以看到第三方的一些舒畅公司,他们做重复数据删除的时候,存储压力过大,把重删功能关闭,然后闲时再打开。重删是有很大的压力,SSD很贵,Flash很贵,我们把重删提升到1:3,1:4,你的投资回报率就回来了。还有一些空间回收这些技术,都可以降低你的前期的投资。另外就是你要最大化的利用你的存储空间,现在惠普有一个硬盘,单盘1.92T的盘。为什么会有这样的盘?这样的盘好处在哪?真正把他用起来,后面会讲到。另外尽量最大化的去降低这个硬盘的磨损,这里有很多的技术可以帮助闪存,你在控制器上帮助闪存完善这块,来提升硬盘的寿命。
下面我重点讲讲具体一些细节,讲这些细节之前先看产品,所有技术点都是基于这个产品。给大家说一下,我们的7450,90万I/O,不是非常的高,在配48块盘的时候就可以跑到90万I/O。但在这个配置下,可以达到0.7毫秒的优势。这是我们实测,任何用户拿到我们产品都可以测到这个性能。如果你的I/O在80万。另外是99.9999%,我们现在在我们的7450一个闪存阵列里面,我们也是99.9999%。重删一会放在重点给大家讲讲,我们惠普的重删技术怎么做,我们自己有很多的重删技术,不知道大家有没有了解到惠普有一个备份数据的重删,那个重删技术不太适用于这套系统。大家都知道备份的重删对在线数据性能要求完全没有,他不会担心说我做了重删会改变备份的性能。备份的性能相对来说没有核心业务系统在线那么高,我们是用另外一种方式来做。另外就是SSD里面的保修,我们全部都是5年的原厂服务。
我们看一下具体能够拿到这么高的I/O,这么低的延迟,我们是怎么做到的?首先看一我们在闪存做的优化,第一是读操作的优化。读优化这个跟阵列和主机之间的读写访问是有很大的关系。主机上你可能用的是数据库或者是文件或者是很小的商标图片等等。不同的数据I/O过来的时候,他的块是不一样的。有可能这个图是4K,这个图是16K,但是对于传统的存储来说一般他里面的缓存页面不固定,通常是16K或者是32K或者是64K,要看你具体的产品是怎么设计的。如果是传统的阵列,你读一个4K数据,需要到内存里面抓至少16K数据上来。这样对你的读的带看的占用就是一个浪费,你其实只需要4K的数据,为什么读出16K来。在闪存上,我们有一个很好的设计,我们只到后端的硬盘里抓4K,最小就是4K的大小抓你后端的数据,减少你读带宽的占用。同样读这个数据,1000I/O读4K就系4兆带宽,16K就是16兆带宽。
第二就是写,SSD的写,相对来说比传统的要复杂一些,他先要把数据读出来,可能要擦掉,再复写等等。同样这个问题,因为你写I/O大小也不一样,有可能是4K、8K,16K。当你只有4K的时候,我们在4PAR存储上还有这个优化,真正写到后端的配置页面里面,我只写4K。不会把16K删掉,把整个16K再重写一遍进去,这样减少你写的带宽的占用,第二减少你的写的放大。这样操作好处就是提升你磁盘的持久性,增加了SSD硬盘的寿命。
第三就是缓存优化的算法,大家知道存储,无论是闪存阵列还是机械硬盘的阵列还是混合阵列,缓存对写还是很有意义。缓存和后端硬盘的配合非常重要。怎么去配合?当你数据I/O不是很大的时候,你写到缓存里,缓存只用10%、20%,没问题,我们的阵列会定期比如64个I/O或者是200和300毫秒之后,我会把数据放到硬盘上去,这是常规的做法。但是如果你的阵列的I/O压力非常大的时候,这个时候我们闪存阵列很智能,我会把我这个频度加大,一开始是400毫秒、300毫秒,降到200毫秒,更低的时间点刷新我的闪存,来做你闪存的后端读写的加速。
另外是对于大块数据的优化,大块数据因为很多用户很难区分出哪些数据应该放在闪存上,闪盘上,哪些应该放在机械硬盘上。所以经常有用户他的数据会有大块,比如128K、256K这些大数据会放到SSD上去。我们先讲写,对于写的话,128K这种写如果是很连续或者是256K进来的话,很影响你SSD的使用性能。我们会把你大块分成很小的32K这样的顺序的I/O变成随机I/O进行读写操作。这个就是我们在右边这个例子,我们是这样去做的。还有一种场景下用到就是你坏盘之后,这个盘坏了之后,一个新盘重新做的时候,你这些数据块其实在恢复过程当中也是一个顺序写的操作。这种顺序写我们也会把他尽量变成随机的小I/O,这样来提升你整个闪存存储的使用效率,这些都是优化了。
第二如何让闪存真正的加速。
我们一直在讲闪存很快,怎么样能够把它充分利用起来。现在看到很多用户利用闪存的时候,惠普卖闪存存储很久了,都会有闪盘,这些闪盘上的I/O到底是多少个,我们从实际用户抓出来很多信息。很简单的例子,我们全球95%的高端和中端的存储系统都会远程连到我们惠普,会抓取用户信息,会看到在你的I/O是多少。在机械硬盘上你的I/O是多少,这些信息都可以抓出来。中国有一些特例,政府原因包括一些涉秘原因,很多用户不愿意把存储接到公网。任何厂家从后面抓取信息不是你的数据信息,而是你的磁盘管理信息,你磁盘阵列的状态,你磁盘的性能等等。
我们谈到1.92T硬盘,别人为什么没有。这是想到一个很好的思路,讲这之前先说一下I/O知道,不知道大家有没有用过惠普有一个老的EVA(音译)的阵列,惠普老EVA是第一家真正做存储内部虚拟化,可以跨越100块、200块硬盘,这是EVA先研制出来。惠普研发了这样的技术,这个技术带来的好处是什么?传统的阵列厂商,用户买8块,你至少要多买两块,要买10块,你用的时候要用8块,其他两块是热备盘,这个等于是资源的浪费。这个技术的好处就是如果你是在4PAR上,你的硬盘,这十块上会固定起来,你在你的每块盘,最下边的位置有一个空间给他做热备,十块盘的I/O会利用起来,资源充分使用起来。我们研发人员又想到一个事情,既然这个热被空间,这个灰色区域,这是我们的热备空间,其实在没有坏盘的时候,这个空间就是没用的。为什么我们不能想办法把这些空间再利用起来?怎么利用起来?大家知道SSD有一个区域就是OP区域。这个区域做什么?是一个隐藏的区域,买企业级的硬盘,买100G硬盘,后端储藏27%,这跟盘的类型、种类、厂家有关系。你藏的空间是一个交换区域,来做数据库的交换,来提升你的硬盘的性能,提升你存储的硬盘的寿命,OP是干这个。理论上这个OP区域最大的话,你的SSD寿命理论上应该越久,性能应该越好。但是这个东西OP区固定的话,不一定适用每个。如果你只有500个I/O跑在一个SSD上的话,你的OP区域设的很大没有意义。我们跟我们合作这些SSD厂家谈了一个合作,他们会把接口给我们,我们会跟硬盘这些直接对接。他的OP区开放给我,然后怎么办?我们会把我们的Spares空间给你的OP。如果你的业务是非常重要的业务,一个I/O数据量很大,就证明你的热备Spares空间区域很高,你的数据很重要,需要很大的热备空间。当你把Spares空间会给到OP那边。为什么会有1.92T的硬盘,可以在这点上做的比任何其他厂家都要好。直接的经济效应就是对任何用户来说你的采购成本是非常低的。机械硬盘现在小盘2.5寸盘300G现在市场价格很透明。300G要6到7块才是1.92T的容量,我们现在的价格是6到7块的硬盘的价格差距不大。你的性能却是这6到7块硬盘的十倍以上,你占用机房空间是他的1/6,你的能耗是他的1/10。这时候用户为什么选择机械硬盘而不选择这个大容量的SSD,承诺5年保修硬盘。很多用户愿意选择后者,这也是我们在市场上非常有力度一个产品,可以帮助用户在SSD上面将门槛降低很多,可以直接进入到SSD上面。
另外我刚才讲到了很多的SSD的产品,大家可以去看其他的厂商,相对来说闪存阵列都是很独立的一个品牌。这个独立的产品意味着你的操作系统、管理界面、功能不相容。导致结果如果你买了一个SSD的存储,你要做容灾,你还要再买一个SSD存储,这个成本非常高。对我们有一个好处我们在3PAR上对闪存进行了独立的优化,可以买一个SSD纯闪存阵列,你买一个很廉价的在那边,机械硬盘做容灾,其他厂商做不到。这对于用户来说你的投资回报率提高了,这是题外话了。
我这里讲的是因为3PAR具有很多的功能,我们在QoS做的非常好,可以针对你的每一个业务、每一个卷来设定一个。今年卖了很多闪存阵列和混合阵列给用户,他们不会把一个业务放到阵列上,他们可能有十几个业务在这上面跑。他确保核心业务系统不会被其他业务所侵占,通过这个功能很好的实现。传统的阵列,一般的功能会做到这一点,我设三个级,高中低,优先级是12345。优先级最高1比2和3优先级高一些,获得I/O高一些,这是粗放的配置方法。我们可以配置到每一I/O,非常精细的I/O或者是非常精细的带宽。
第三就是重删上做的细节,3PAR做重复数据删除非常容易,因为3PAR现在很少有厂家在存储里面有这个ASIC芯片,这个研发成本很高。现在是融合时代,我们惠普也在谈融合,我们为了提升你的存储的效率、性能,降低存储管理,我们在存储上加了这个ASIC芯片。这个ASIC芯片本身就有一些功能,天然就有这样的能力。我们在研发的时候可以很轻松把这些功能放到闪存里面去,比如我们在做重复数据删除的时候,我们哈西算法,本身就是CRC的算法。理论上你这边进来的数据16K的数据进来到ASIC上面,会产生一个独立的哈西,只有32个Bt,很小的哈西码。我会跟之前写的数据进行对比,对比之后发现这次进来的数据和之前某一个16K产生的哈西是一样的,他就很有可能这两个数据都是一样的内容。但是哈西算法在算法上哈西冲突是存在的。因为有再小的几率,不同的数据进来,也有可能会产生同样的哈西,这种情况是存在的,但是很小。任何用户不希望他的数据被错误的删掉。所以为了确保我们的哈西准确率,我们会把SSD上的数据读出来,16K的数据读出来,和你进来16K的数据进行一个对比,这个对比不会耗费你的资源。你的16K和那个16K完全一样,你是重复的数据就会扔掉。通过这样的方式可以百分之百的算出哪些数据是重复,哪些数据不是重复。他不会占用你主CPU资源,不会因为做重复数据删除,使你整个数据存储大幅上升。为了对比一下数据,把硬盘将数据读出来,会有损耗,很小。第二我们做重删,不是你的I/O进到一定要写到硬盘上做完重删之后返回给主机,我的重删是写到Cache里面,通过ASIC芯片算这个。所以这个重删对于你的生产系统并没有直接的影响。这也是为什么我们叫HP 3PAR上的数据重删是无损的数据重删。这也是我们百分之百做的在线存储,这是我们非常好的一个地方。这里还有很细的功能,不介绍了,这里还有一些哈西的表,会加速,去查询等等这些内容,不多说了。
3PAR有很多闪存的优化,有很多模块,我们会对闪存进行特殊的管理,性能通过硬件和软件提升,通过有效的管理来降低他的磨损,另外我们会对故障进行非常好的处理。在3PAR有单独的硬件和软件对他的进行设定,这里我们走的非常好。
第四是对于闪存系统有帮助的一些功能。这些功能往往都是传统厂商提供的,大家知道传统的磁盘阵列厂商都有很多软件和硬件的功能,闪存上这些功能能不能用上,哪些功能能够帮到闪存。我们预计明年的时候会把忆阻器memories的技术放到市场上去,一两年之后这个就可以量产,这真正划时代意义的一种存储的介质。这种介质其实就像我们电脑里的这些memories一样,你PC关机数据就会小时。我们会记录你01到10变化,永久记在这些忆阻器的设备上。这样做的好处是,这里面忆阻器的延迟比现在的SSD的延迟低几十倍,他的能耗也是非常低,这点对用户来说非常有帮助的。我看到网上有很好的例子,这种技术实现就好象你再一个水龙头上加一个皮管子,你打开水龙头之后一开始皮管子很细,后来变粗,这个变粗的管子就是从0变到1,通过电流改变他的阻值的变化。从1变成0,把水放掉,这是忆阻器形象的说法。这个技术,这是惠普的专利,我们在大概05年的时候变成了惠普的专利。我们惠普实验室一直在持续的研发这个技术,预计在不久的将来会有这样的产品进行面世。对于整个我们讲磁盘介质的功能改变会有非常大的帮助。