ssd|对话星辰天合王豪迈:对存储系统的优化永无止境( 二 )


如何用一套存储覆盖所有场景?“让用户用一套存储覆盖所有的场景。”这是星辰天合这家公司在Day.1就决定要做的事情,这也是业界对于存储未来发展所达成的共识。
在产品层面,星辰天合打通了各个产品的壁垒,让用户可以轻松购买业务所需要的存储产品(块存储、文件存储、对象存储),只需要简单的license控制跟配置控制就能实现全链转化。
但对于所有行业客户而言,高可用性、高稳定性、高一致性是亘古不变的话题。这也正是需要星辰天合等存储产商真正需要解决的问题。
“我们XSKY一直在提升SDS的得盘率、性能、扩展性、通用性,以便SDS适合更多场景。”
在王豪迈看来,想要在相同可靠性的情况下,得到比三副本更高的得盘率,需要使用Erase Code(纠删码,简称EC)。三副本的得盘率是33.3%,EC 4+2的得盘率是66.6%,EC 8+2 的得盘率是 80% 。
但需要注意的是,EC的优势是高可靠性、高得盘率、大块顺序读写性能高,但缺点是小块随机读写性能较差。
在了解之后,星辰天合从2016年开始瞄向了EC。
“在2016年,我们XSKY SDS产品的存储池就开始支持EC,先让我们的用户享受到EC的实惠。”
但受限于EC的特性,对于块和文件存储,星辰天合只是建议在监控和备份场景中使用EC存储池。
针对于对象存储的特点,星辰天合则开发了对象存储小文件归并功能,使之成为EC的绝配,两者组合不仅带来高可靠性、高得盘率,也带来了高性能的小文件读写能力。
而为了让块和文件存储也能使用EC,随后在2019年,星辰天合推出了Boost存储池功能。
王豪迈介绍,Boost存储池采用全局分层缓存架构,其中数据层可以使用EC,同时Cache层使用三副本提供高性能的读写能力,这使得Boost存储池可以用于块和文件存储的大部分场景。
而这也达成了星辰天合的预期目标,但王豪迈对雷锋网表示,对于存储系统的优化是没有止境的。
星辰天合至此也将目标瞄向了,高负载场景下的Cache层。
王豪迈解释到:当Boost存储池的Cache层被业务写爆时,需要把Cache层中的脏数据全速回刷到数据层中,回刷速度就决定了此时存储系统的整体性能。
假如脏数据都是随机小块IO,那么在回刷的时候,数据层的HDD承受的压力也是小块随机写IO。HDD的小块随机写性能不高,只有100+的IOPS,所以整体回刷速度不快,瓶颈反向传导,这就导致此时前端业务也只能以相同的速度写新数据到Cache层中。此时:前端业务写性能 == 回刷速度 。
如何才能快速的回刷脏数据,不断腾出Cache空间,减小对前端业务性能的影响?则成为了星辰天合接下来的目标。
他们发现,在回刷脏数据时,使用大块顺序往数据层的HDD写,回刷速度一定非常高,因为HDD的大块顺序写带宽能够达到80MB/s以上,能够至少包含20,480个4KB小块数据,回刷速度比之前提高了20+倍。
基于这个发现,星辰天合又对Boost架构进行扩展,并在这个月中旬进行了发布,就是XSKY XSpeed架构和功能。
王豪迈介绍,XSKY XSpeed的核心是LogAppend模块,可以把随机小块写IO聚合成大块顺序写,然后再回刷到数据层中。数据层的大块顺序写性能很高,所以可以快速把脏数据回刷到数据层,腾出Cache空间给前端业务使用。
LogAppend模块不仅聚合随机小块,而且还对数据进行压缩和重删,为用户节省更多空间。同时,由于XSpeed的LogAppend模块是在Cache层中实现的,所以块和文件存储都可以使用XSpeed功能。
据王豪迈表示,在发布之前该产品架构和功能已经在用户场景得以应用,通过实践得到了印证。
而为了保证系统的日常稳定运行,让故障防患于未然,星辰天合打造了亚健康2.0监控工具,引入数学模型和统计框架,分析导致系统性能降级的部件级故障和周边系统故障,实现对亚健康网络和磁盘亚健康的监测,对故障部分进行主动隔离,提高系统的健壮性。