华为FusionStorage 8.0:哪有什么一夜成名?其实全是百炼成钢
从去年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协议;并且,率先将人工智能技术融入到存储全生命周期管理。
在这一系列靓丽数字的背后,其实是华为北京、上海、深圳、程度、波士顿、硅谷等地的研发团队在较短时间内,设计出一套全新的存储架构,进行了数千万行代码开发与移植,并先后进行了近十个版本的迭代,反复打磨、优化的成果。
NO.1简而不减
“客户经常跟我们的架构师们反馈,存储真的太复杂了。”身为研发的曹长斌会定期与架构师交流,他介绍到,华为存储架构师们每年会花费30%的时间与一线客户进行交流,从而将一线业务需求尽可能地反馈给研发人员,进而精准研发出符合客户需求的产品和解决方案。
存储的复杂性是一直困扰着用户的数据中心,这种复杂性主要体为,经过长期的信息化建设,用户数据中心普遍面临着多种类型的存储,生产、备份、容灾通常采用了不同厂商的不同存储产品,烟囱式的存储环境带来了巨大的管理复杂度,还无法让数据之间很好地流动、共享和价值挖掘。曹长斌表示:“客户希望更加聚焦在核心业务创新上,强烈渴望数据能够流动起来,通过一套存储来支撑数据中心业务,实现数据之间的生产、流动、共享和价值挖掘。”
另一方面,大量行业客户都在加快数字化转型的步伐,对于基于数据的数字化创新和业务敏捷性更加渴求,这也要求承载数据的存储产品,除了需要简化管理复杂度之外,还需要的性能、扩展性、功能、智能化等方面有着质的提升。
曹长斌以电信行业为例:“4K/8K、AR/VR等新业务不断涌现,并且充满着不确定性,传统存储产品很难去满足新业务从小到大的成长,用户们希望不花费更多精力在存储运维上,通过一套存储来支撑业务的变化。”
事实上,FusionStorage 8.0研发之前,华为已经对产品酝酿了很久。最终,华为将FusionStorage 8.0定位为一个战略级的平台产品,在保持分布式存储的灵活性和高扩展性之时,可以长出其他丰富的功能,包括文件系统、数据库、数据分析、数据湖等。用户可以通过FusionStorage 8.0来构建起自身的智能数据基础设施,以满足智能时代下对于数据存储、管理、分析的诉求。
No.2打通性能的任督二脉
分布式存储最大的优势在于灵活性,可以帮助用户摆脱昂贵的高端硬件,通过普通的服务器即可为用户提供灵活、可扩展的存储服务。但分布式存储的性能通常很容易遇到瓶颈,与传统存储采用“专用堆栈”优化性能相比,分布式存储随着节点数量的增加,性能达到一定量级之后,往往会因为硬件、网络等原因,遇到各种意想不到的“瓶颈”。因此,分布式存储单节点稳定、出色的性能是考验分布式存储成色的重要因素。
在曹长斌看来,性能问题是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的稳定性能。
No.3铸就强大的存储生命线
随着FusionStorage 8.0性能不断提升,华为存储研发团队又遇到了一个大挑战:在高性能、大并发的数据读写情况下如何保持数据一致性。
一直以来,确保数据可靠和一致是存储产品的生命线。“在存储产品中,数据一致是核心中的核心。如果写进去的数据和读出来的数据不一样,那将对用户的业务产生巨大影响。”曹长斌表示。与传统存储不同,分布式存储产品由于采用了普通的服务器硬件,必须采用不一样的实现数据可靠和一致的方法;并且随着集群节点的不断扩展,分布式存储系统的复杂性随之提高,对于数据一致性也带来更大的挑战。
在FusionStorage 8.0的性能调优期间,华为存储研发团队就遇到了较多数据不一致的情况。“当时为了提升性能,有些数据不一定马上写到盘中,而是写入内存,之前一些并发机制导致了老数据把新数据覆盖了,出现数据不一致的情况。”经过将近一个月时间的反复研究,华为存储研发团队决定设计和开发出一套新的日志机制与工具来解决数据不一致难题。“通过新的日志机制,在数据访问入口和数据落盘前的出口,进行关键信息的打印,加上CRC校验,来发现和解决数据不一致性的问题。”曹长斌表示,“通过对IO通道从头到尾的追踪,可以具体定位到整个IO通道哪个模块、具体模块中哪个具体函数导致的数据不一致,层层推进来解决问题。”
在解决数据不一致性的过程中,华为存储研发团队面临最大的困难就是:在高性能、大并发的读写数据中去寻找哪个IO导致的数据不一致。“数据不一致之所以是存储业界最难最大的挑战,就是因为存在巨大的不确定性。在海量数据中去追踪和查看IO异常,就像是大海捞针。”曹长斌回忆当时的场景依然历历在目,“整个团队在那段时间经常需要倒班,以跨夜、跨周的方式去跟踪和查看一个IO异常。”
最终,华为存储研发团队完成FusionStorage 8.0在上百个节点、几百个节点、上千个节点等不同场景下的数据不一致情况的检验,解决了将近30个业务IO异常的问题,完美地铸就了FusionStorage 8.0强大的生命线。
最新活动更多
-
12月19日立即报名>> 【线下会议】OFweek 2024(第九届)物联网产业大会
-
即日-2025.8.1立即下载>> 《2024智能制造产业高端化、智能化、绿色化发展蓝皮书》
-
精彩回顾立即查看>> 2024先进激光技术博览展
-
精彩回顾立即查看>> 全数会2024中国深圳智能制造与机器人展览会
-
精彩回顾立即查看>> 2024(第五届)全球数字经济产业大会暨展览会
-
精彩回顾立即查看>> 维科杯·OFweek2024中国工业自动化及数字化行业年度评选
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论