从去年11月份到今年春节前后,华为储存研发骨干曹长斌几乎每天都夜不能寐,因为他参与的FusionStorage 8.0 研发专案遇到各种棘手难题。那段时间,曹长斌甚至连吃饭、跑步都会想着如何解决研发面临的问题。
FusionStorage 8.0是华为储存近年来最重要的战略级产品。它不仅是华为储存产品线的一次重大升级,也承载着帮助使用者实现One Data Center One Storage(一个数据中心,一套储存)的愿景。
时光荏苒,时钟不经意间已来到5月15日。这一天,华为新一代智慧分散式储存产品FusionStorage 8.0正式对外发布。此刻,曹长斌如释重负,连续奋战多日带来的疲惫并不能掩盖住激动之情:“如果需要打分,我愿意给FusionStorage 8.0打十分,它不仅在整体架构、效能、功能等方面遥遥领先,更是华为储存研发以客户需求为中心,通过全球化协作、率先克服业界众多挑战而打造出来的产品。”

FusionStorage 8.0实现了分散式储存效能全球第一,单节点效能高阶16.8万 IOPS和1毫秒以内时延,在业界标准SPC-1测试中排名第一;首次实现在一套储存中同时支援块、档案、物件、HDFS协议;并且,率先将人工智能技术融入到储存全生命周期管理。
在这一系列靓丽数字的背后,其实是华为北京、上海、深圳、程度、波士顿、硅谷等地的研发团队在较短时间内,设计出一套全新的储存架构,进行了数千万行程式码开发与移植,并先后进行了近十个版本的迭代,反复打磨、优化的成果。
简而不减
“客户经常跟我们的架构师们反馈,储存真的太复杂了。”身为研发的曹长斌会定期与架构师交流,他介绍到,华为储存架构师们每年会花费30%的时间与一线客户进行交流,从而将一线业务需求尽可能地反馈给研发人员,进而精准研发出符合客户需求的产品和解决方案。储存的复杂性是一直困扰著使用者的资料中心,这种复杂性主要体为,经过长期的资讯化建设,使用者资料中心普遍面临着多种型别的储存,生产、备份、容灾通常采用了不同厂商的不同储存产品,烟囱式的储存环境带来了巨大的管理复杂度,还无法让资料之间很好地流动、共享和价值挖掘。曹长斌表示:“客户希望更加聚焦在核心业务创新上,强烈渴望资料能够流动起来,通过一套储存来支撑资料中心业务,实现资料之间的生产、流动、共享和价值挖掘。”

另一方面,大量行业客户都在加快数字化转型的步伐,对于基于资料的数字化创新和业务敏捷性更加渴求,这也要求承载资料的储存产品,除了需要简化管理复杂度之外,还需要的效能、扩充套件性、功能、智慧化等方面有着质的提升。
曹长斌以电信行业为例:“4K/8K、AR/VR等新业务不断涌现,并且充满着不确定性,传统储存产品很难去满足新业务从小到大的成长,使用者们希望不花费更多精力在储存运维上,通过一套储存来支撑业务的变化。”
事实上,FusionStorage 8.0研发之前,华为已经对产品酝酿了很久。最终,华为将FusionStorage 8.0定位为一个战略级的平台产品,在保持分散式储存的灵活性和高扩充套件性之时,可以长出其他丰富的功能,包括档案系统、数据库、资料分析、资料湖等。使用者可以通过FusionStorage 8.0来构建起自身的智慧资料基础设施,以满足智慧时代下对于资料储存、管理、分析的诉求。
打通效能的任督二脉
分散式储存最大的优势在于灵活性,可以帮助使用者摆脱昂贵的高阶硬件,通过普通的服务器即可为使用者提供灵活、可扩充套件的储存服务。但分散式储存的效能通常很容易遇到瓶颈,与传统储存采用“专用堆叠”优化效能相比,分散式储存随着节点数量的增加,效能达到一定量级之后,往往会因为硬件、网络等原因,遇到各种意想不到的“瓶颈”。因此,分散式储存单节点稳定、出色的效能是考验分散式储存成色的重要因素。在曹长斌看来,效能问题是FusionStorage 8.0研发过程中遇到的最大挑战之一。“从立项设计时,我们就希望FusionStorage 8.0能够达到企业级全闪存阵列的效能,单节点效能能够达到14万IOPS,并且时延控制在1毫秒之内,可以承载企业级关键应用。研发团队为此做了很多预研究的工作。但是在实际研发过程中,的确是遇到了巨大的挑战。”曹长斌所言的挑战即是效能波动问题,分散式储存节点的效能波动浮动范围大且不稳定,从而给整个分散式储存效能提升带来瓶颈。
FusionStorage 8.0在开发之初,单节点效能达到10万IOPS之后,效能始终上不去。令研发团队更加头疼的是,产生效能波动的“隐形瓶颈”很多,需要研发人员去逐个发现和解决。曹长斌表示:“整个效能波动问题的解决前前后后花了4个月时间,几乎每天都讨论和研究到凌晨2、3点。”
图:华为储存研发团队探讨研发中遇到的挑战
为此,在这段时间里,华为储存研发团队联络了华为全球研发体系中的操作系统排程专家、网络专家等,从不同的角度去探索效能波动的问题所在。“我们首先发现中断分配不均的问题,有些服务器中断过度,使得服务器效能发挥不出来。因此,经过多个方案探索之后,实现了中断均摊化,将单节点效能提升了20%。解决这个优化点之后,研发团队再从业务干扰、软件堆叠、分散式锁等方面进行优化,最终达到了最初设计的效能目标。”
经过华为研发团队优化、落地、再优化的螺旋上升式的改进,FusionStorage 8.0打通了效能的任督二脉,对于服务器硬件、网络等方面的控制越来越精准,实现了非ARM节点14万IOPS、ARM节点16.8万IOPS的稳定效能。
铸就强大的储存生命线
随着FusionStorage 8.0效能不断提升,华为储存研发团队又遇到了一个大挑战:在高效能、大并发的资料读写情况下如何保持资料一致性。一直以来,确保资料可靠和一致是储存产品的生命线。“在储存产品中,资料一致是核心中的核心。如果写进去的资料和读出来的资料不一样,那将对使用者的业务产生巨大影响。”曹长斌表示。与传统储存不同,分散式储存产品由于采用了普通的服务器硬件,必须采用不一样的实现资料可靠和一致的方法;并且随着丛集节点的不断扩充套件,分散式储存系统的复杂性随之提高,对于资料一致性也带来更大的挑战。
在FusionStorage 8.0的效能调优期间,华为储存研发团队就遇到了较多资料不一致的情况。“当时为了提升效能,有些资料不一定马上写到盘中,而是写入内存,之前一些并发机制导致了老资料把新资料覆盖了,出现数据不一致的情况。”经过将近一个月时间的反复研究,华为储存研发团队决定设计和开发出一套新的日志机制与工具来解决资料不一致难题。“通过新的日志机制,在资料访问入口和资料落盘前的出口,进行关键资讯的打印,加上CRC校验,来发现和解决资料不一致性的问题。”曹长斌表示,“通过对IO通道从头到尾的追踪,可以具体定位到整个IO通道哪个模组、具体模组中哪个具体函式导致的资料不一致,层层推进来解决问题。”

在解决资料不一致性的过程中,华为储存研发团队面临最大的困难就是:在高效能、大并发的读写资料中去寻找哪个IO导致的资料不一致。“资料不一致之所以是储存业界最难最大的挑战,就是因为存在巨大的不确定性。在海量资料中去追踪和检视IO异常,就像是大海捞针。”曹长斌回忆当时的场景依然历历在目,“整个团队在那段时间经常需要倒班,以跨夜、跨周的方式去跟踪和检视一个IO异常。”
最终,华为储存研发团队完成FusionStorage 8.0在上百个节点、几百个节点、上千个节点等不同场景下的资料不一致情况的检验,解决了将近30个业务IO异常的问题,完美地铸就了FusionStorage 8.0强大的生命线。
功能与效能的完美平衡
当解决好FusionStorage 8.0效能、资料一致性等挑战的同时,华为储存研发团队又聚焦到如何解决效能与功能的平衡难题上。如果用一个比喻来形容效能与功能之间的关系,那么鱼和熊掌不可兼得就是最真实的写照。比如,重复资料删除和压缩功能已经诞生多时,但是业界依然没有在分散式储存上对重删压缩功能与储存效能之间做好平衡。“重删压缩功能其实是IO通道上的一个动作,对于储存效能影响很大。像线上重删,对于分散式储存的效能要求很高,而离线重删则对储存产品中的储存介质寿命有着影响。”曹长斌表示。
为此,华为储存研发团队在FusionStorage 8.0中研发出一项线上和离线自适应的重删压缩功能,根据储存系统的CPU、内存、储存介质等资源状况,通过加权算法来实现重删功能的自适应调整。“团队在开发这套加权算法时前后花费了将近两个月时间,通过反复的理论推导和调整,让FusionStorage 8.0的重删压缩功能可以与效能之间完美平衡。”据悉,在高负载情况下,业界的重删压缩功能开启对效能影响可达到30%-50%;而FusionStorage 8.0重删压缩功能的自适应机制则可以将对主机效能的影响降到15%以内,一旦达到15%就自动切换到后端重删。

在海量资料成为常态的情况下,分散式储存的资料可用性也变得至关重要。分散式储存中的冗余功能可以提升资料可靠性和储存系统的可用性。通常,业界采用资料复制或者纠删码功能(Erasure Code,简称EC)来实现资料冗余。相比于资料复制对储存空间的巨大消耗,纠删码技术可以在更小的储存空间实现更优的容错和安全性,但是对于储存系统的效能也有着较大影响。因此,分散式储存中的纠删码功能如何做到储存空间利用率与效能二者兼得就成为业界的难题。
“EC功能有两大难题,一个是开启功能之后对主机效能的影响,有些储存产品在该项功能开启之后对主机效能影响可以达到30%左右;另外一个就是,如何做到大比例的EC。”曹长斌表示。为此,华为储存研发团队设计出多套模型和备选方案来降低EC功能对主机效能的影响,经过多次验证之后,华为智慧增强EC功能实现了效能和容量的完美平衡。
“在高并发和高负载的情况下,智慧增强EC功能通过IO聚合,并利用储存盘的特质,将随机读写改成顺序读写,来解决效能问题。另外,对于大比例EC,我们采用了追加写的方式,这意味着修改某个资料时,不需要读老资料和校验,从而大幅降低对效能的影响。”
让储存智慧起来
储存多年以来一直被人所诟病的就是复杂性,容量怎么规划和分配、QoS优先级如何划分、资源利用情况如何、何时进行扩容、故障如何发现和处理等等,这一系列问题会牵扯到使用者大量的精力和时间。如何让储存智慧起来,这是储存未来的发展趋势,也是FusionStorage 8.0正在全力前进的方向。储存智慧化是智慧时代下使用者的必然诉求。为此,华为率先在FusionStorage 8.0中将人工智能技术融入到储存全生命周期管理,从资源规划、业务发放、系统调优、风险预测、故障定位等方面实现智慧运维管理。
根据华为介绍,FusionStorage 8.0在储存资源规划方面可以对效能容量趋势进行60天预判;还拥有超过1000个应用模板,实现一键式的资源发放;并且可以进行个性化调优,100%满足SLA诉求;超过2000个故障模式库,93%的问题发现即可给出方案。

事实上,储存是一个利用人工智能技术非常理想的环境,拥有丰富的状态资料和资讯,以及固定的业务场景,很容易形成收集状态资料、机器学习和训练、预测预报、智慧决策的闭环,通过不断的学习和训练,让储存的运维和管理愈发智慧。
FusionStorage 8.0在智慧化方面的突破还在于采用云上训练+本地训练的方式,云上拥有超过2PB的特征资料和1000个场景,通过云上和云下结合和协同,可以实现本地的增强训练和提升个性化体验。
让资料永存
“我们在新产品中需要尽一切可能防治资料丢失,进一步提升资料可靠性。”2018年一系列具有深远意义的资料丢失事件,促使华为储存高层对于资料安全性和可靠性提出的极高要求。事实上,在数字化时代下,资料已经成为事实上的一种生产资料,资料正在成为企业与组织机构赖以生存的基础资源。并且,相比于资讯化时代,使用者在数字化时代下需要面临的资料型别更加丰富、应用场景更加复杂化。比如,物联网应用场景开始逐渐丰富,业务与云之间的联络日渐频繁,这也导致资料丢失的潜在因素正在变多。
为此,华为的思路在于针对各种资料丢失时间的原因和背景进行深入分析,并且提炼和总结出相应的场景可靠性方案,从根源上提供资料防丢失的保障。但是,新问题又出现了:如何在储存可靠性校验的有限空间中容纳这些场景的可靠性方案。

“这的确是一个非常具有挑战性的难题。华为在FusionStorage 8.0中已经包含了能够支撑30多种资料丢失场景的可靠性方案,但是可靠性校验的空间只有64个字节。要充分利用64个字节去容纳30多个场景的预防方案,极具难度。”曹长斌如是说。整个过程就犹如一场精确无比的手术,研发人员将每一个预防方案“植入”到极为可靠-易空间中,精确到每个位元位。
更加难得的是,资料丢失场景并不是一次性收集完,它是一个持续增加的过程,研发团队在可靠性校验空间中每增加一个预防方案都需要在确保方案可行的前提下,尽可能地节省空间。曹长斌直言:“这是一个无比精细化的处理过程。前前后后调整四、五次之后,整个资料防丢失的预防方案实现了完美储存到可靠性校验空间中。”
从跟随到差异化
“我们希望在FusionStorage 8.0中做出业界竞争对手没有的东西,形成自己的差异化优势。”作为华为储存研发的一名老兵,曹长斌见证和参与了FusionStorage从1.0到8.0的全过程。众所周知,储存是一个技术门槛较高、相对封闭的领域,国外储存巨头常年处于领先的位置,中国本土储存品牌多年以来一直处于跟随者的角色。曹长斌对此深有感触:“在过去,竞争对手做什么,我们就跟着做什么,采用的是‘Me too,But cheaper’的策略;之后随着自身不断成长,在技术层面迎头赶上,则变成了‘Me too,But Better’。现在则是去寻求开发出别人没有的功能和技术,确定自身的差异化优势。”
事实上,在FusionStorage 8.0中已经拥有众多差异化的优势。比如,新一代储存介质SCM(Storage Class Memory,储存级内存),被认为是填补内存和闪存之间的效能差异的理想介质,它不仅比闪存拥有更加出色的效能和更低的时延,还拥有比内存更大的容量。而业界当前鲜有储存厂商能够充分将SCM融入到储存产品解决方案之中,大部分还是浅尝而止的起步阶段。
“FusionStorage 8.0在SCM的使用上是走在最前沿的。尤其是针对新介质带来的新的读写方式变化,华为储存充分理解了SCM介质自身的理念、架构和特点,采用了字节级写的设计,减少了不需要的外读写操作,最大化发挥SCM的优点。”
除此之外,华为在容灾、备份一体化方案方面进行了创新,并且利用自身在通讯网络领域的深厚积累,构建储存+智慧AI网络的一体化解决方案,大幅提升自身的竞争力。
“FusionStorage 8.0的成功研发,背后是整个公司倾注的大量心血,不仅仅是公司的成就,也是对包括我在内的广发研发团队成员个人能力的提升。为此,我感到无比骄傲。”曹长斌最后表示道。
写在最后
华为FusionStorage诞生于2012年,源自于“用普通服务器硬件去构建出企业级储存系统”这个想法。一路走来,FusionStorage从1.0成长到8.0,是华为储存人坚持不懈和精益求精的精神,也是华为储存人解决一个个业界难题、逐步实现当初想法的过程,更是中国分散式储存的从无到有、从弱到强的真实写照。未来,随着5G、物联网、人工智能等应用的兴起,一个更加丰富、更加智慧的新资料时代也将到来。华为FusionStorage 8.0不仅让One Data Center One Storage(一个数据中心,一套储存)愿景在新资料时代走向落地,也将开启华为智慧资料战略崭新的一页。





























