如何“轻”松驾驭存储:揭秘HBlock背后的黑科技
创始人
2024-12-13 13:42:10

近日,天翼云联合权威科技媒体InfoQ举办了以“新存储,更轻量”为主题的线上技术分享会”。天翼云存储产品线总监武志民以“轻量级存储集群控制器,揭秘HBlock背后的存储黑科技”为主题,讲解了HBlock的创新设计,本文将对其观点进行详细阐述。

1高性能·高可用·高可靠:自研创新解决存储技术难题

随着数字经济的蓬勃发展,数据作为核心生产要素,已成为数字经济发展的重要基石。与此同时,数据规模持续爆炸性增长,数据类型不断丰富,企业对存储性能、服务可用性、数据可靠性要求越来越高,从而对存储系统提出了一系列新的挑战。

为此,天翼云自主研发了业内首款存储资源盘活系统HBlock,HBlock通过用户态设计,能够与底层基础设施完全解耦,同服务器上现网业务并存,把 x86、ARM、龙芯等异构通用服务器中的存储资源统一管理,通过标准的 iSCSI协议提供分布式块存储服务。

HBlock的技术架构从上到下分为三层:访问层、存储服务层和操作系统及硬件层。

HBlock架构

访问层通过iSCSI提供块存储服务,通过API、命令行、Web界面提供管理服务,同时支持通过Cinder和CSI插件对接OpenStack、Kubernetes。

存储服务层的核心是自研的分布式租约,不依赖时钟同步即可提供一致性保证。其中的利旧检测功能可对磁盘、网络、CPU、内存等硬件从多个性能维度进行检测,为用户部署前提供配置建议。存储服务层还提供了高性能、高可用、高可靠、负载均衡保障,在后续我们将详细说明。

硬件和操作系统层支持异构非对称部署。例如,对于不同规格的磁盘,在分配数据时,会根据磁盘的容量,负载,性能表现,网络时延等信息动态分配不同权重,然后计算出不同分配方式,保证各个组件在集群里发挥出最好的性能。

在性能方面,HBlock单卷IOPS可达15万次、读写延迟小于200微秒,能满足多数业务场景的需求。这要归功于自研的分布式多控架构和智能调度算法,以及多模式写缓存与读缓存的设计。写缓存方面,HBlock具有WriteBack、WriteThrough、WriteAround三种模式,可以根据不同场景的读写需求动态调整。读缓存方面,HBlock采用按需更新、分段加锁、高效淘汰算法和智能预读器等多重机制,提升内存利用率、提高缓存命中率,并优化高并发场景下的数据访问性能。HBlock会根据网络距离和节点负载选择最合适的节点,将数据放在缓存中,避免对磁盘频繁的小IO操作,更好地发挥存储介质的性能。

HBlock的缓存设计

HBlock通过多重机制保障服务的高可用。首先,它采用一主多备架构,不依赖外部时钟服务器,实现自动秒级故障切换,分布式双控架构确保缓存数据强一致,在切换过程中保障数据不丢。其次,HBlock实现了写入速度优化控制功能,当存储空间紧张时,平滑降速写请求,避免业务中断。最后,HBlock还对内存和重构操作进行限速管理,灵活调整资源分配,确保在高负载情况下仍能稳定运行。

HBlock的一主多备设计

HBlock通过多种机制来确保数据的高可靠。

数据冗余方面,HBlock支持多副本和纠删码(EC),支持数据块和校验块总数达到128的EC配置,得盘率可超过98%;HBlock能通过多种故障域的配置来确保数据的持续可用性,应对不同级别的故障;HBlock独创的副本折叠技术允许在一个故障域放多个副本来提高小规模集群的数据可靠性。例如,只有三个故障域时,可以每个故障域放置两个副本,将EC2+1扩展为EC4+2,得盘率不变的情况下显著提升数据的容错能力,在扩容时,HBlock可智能调整数据分布,以最大化故障域的利用。

HBlock的副本折叠设计

数据完整性保护方面,HBlock在数据传输过程中,通过校验码对iSCSI协议传输的数据包进行完整性保护,防止在网络传输过程中出现的数据错误;HBlock在存储介质上读取数据时会进行校验,同时通过定期扫描来提前发现和修复可能存在的静默错误,限制其影响范围,确保数据的长期可靠性和完整性。

HBlock通过创新设计,全面解决了存储系统中的性能、可用性与可靠性难题,真正实现了“高性能·高可用·高可靠”的卓越存储解决方案。

2低门槛·巧分配·超灵活:轻量设计定义存储未来形态

HBlock采用极简设计模式,安装包只有170MB左右,1核4GB内存即可部署,可安装在任何主流Linux操作系统上,不依赖NTP服务器,3个命令即可完成安装,3分钟建立数据中心级别集群,大幅降低使用门槛的同时,发挥硬件资源的全部潜力。

HBlock轻量易用的背后,是独具匠心的存储引擎设计思路。存储引擎的核心是元数据管理与数据管理,HBlock的元数据管理通过多级索引等机制,可有效应对大规模数据环境下元数据管理的挑战,实现系统轻量化。

HBlock多级元数据管理

HBlock的多级元数据管理设计思路包括以下几个方面:

  • 多级元数据索引架构:一级索引记录iSCSI卷的逻辑地址(LBA)与数据物理位置的映射关系,直接关联具体的数据位置,但由于数据量庞大,查询效率可能受限;二级索引作为一级索引的汇总,在每个数据服务节点上生成,记录一级索引的范围和位置,可以快速定位到具体的一级索引,大幅提升查询效率,避免全量查询;三级索引记录了整个集群内数据的节点分布情况,体积小可置于缓存中,客户端通过三级索引可以迅速确定数据所在节点,实现高效数据访问。
  • 索引缓存与访问机制:通过索引缓存机制,客户端访问时先从缓存中查找索引,若缓存未命中,则依次通过磁盘读取二级索引、一级索引,直至找到数据对应的位置。这种逐级访问机制减少了对元数据服务的依赖。
  • 元数据持久化与存储可靠性:一级索引与二级索引采用与数据相同的保护方式,保证元数据的持久化和容错能力。三级索引则以三副本方式存储在元数据服务集群中,确保其可靠性。
  • 轻量化混合部署:在实际部署中,HBlock自动选择适配的节点进行多服务角色的混合部署,只需要三个节点即可正常部署元数据服务、iSCSI服务和数据服务,充分利用硬件资源。

除了元数据外,HBlock对数据存储服务也进行了轻量化设计,通过使用本地文件系统与其他业务系统共享资源,并支持容量配额来限制磁盘空间占用;通过多因子算法动态优化磁盘读写请求分配,减少系统调用和内存复制;结合读校验与定期扫描机制,有效限制静默错误的影响,确保数据存储的可靠性。

HBlock的多存储池功能通过灵活配置和高效管理,充分发挥硬件潜力。HBlock能够在单个集群中统一管理不同规格的硬件设备,可以根据性能、容量、故障域等因素创建多种类型的存储池。例如,可以将NVMe磁盘划分为高性能存储池,将HDD磁盘划分为容量池,将老旧和新设备分别分配到不同的存储池,以实现故障隔离和资源优化。

HBlock允许在每个卷设置独立的数据冗余保护策略,精准适配业务系统对数据可靠性的不同需求。HBlock还引入了跨节点高速缓存池,无需每个节点都配备高速盘,避免了传统缓存机制中的性能瓶颈和数据重构时的读写放大问题,高速缓存池不会独占高速磁盘,允许这些磁盘同时用于其他业务系统,提高资源的共享效率。

HBlock还通过一系列优化策略实现了负载均衡,确保集群整体性能的最优表现。HBlock可动态调整数据分布,确保在异构集群中,数据合理分布于各节点,避免过度占用某一资源;HBlock支持纵向和横向扩容,在新增存储设备或故障域时,系统会优先向新设备分配数据,系统会在业务低谷期自动进行存量数据的均衡搬移,避免影响业务的IO性能。

在创建高可用卷(HA卷)时,HBlock会根据集群情况自动优化服务分布,采用无初值预测分布模型,预先估算集群整体的内存和网络负载情况,并根据集群的当前状态(包括内存使用情况、网络带宽、已有卷的分布情况等)来选择最优的节点分配数据,确保读写性能最大化,降低网络和内存的使用压力。这些策略使HBlock在负载均衡方面表现出色,能够充分发挥集群中各种硬件的潜力。

HA卷服务的分布均衡

HBlock将轻量化与高效能相结合,彻底革新了存储的部署和管理方式,重新定义了未来存储系统的形态。

3结语

HBlock凭借卓越的创新设计和技术实现,不仅解决了存储系统中的性能、可用性和可靠性难题,更开创了存储新纪元,重新定义了分布式存储的未来形态。HBlock将继续引领行业发展,赋能各行各业的数字化转型,为企业释放数据的无限潜力铺平道路,推动更多创新应用场景落地,助力企业迈向更广阔的数字未来。

天翼云HBlock众测活动火热进行中

为了让“轻量存储”走进更多企业,InfoQ和天翼云联合举办“HBlock有奖众测活动”,欢迎广大存储Geek踊跃报名,深度体验轻量存储带来的不一样,将使用心得发布在InfoQ写作社区,即可参与评选并获得丰厚礼品!

相关内容

热门资讯

坝光片区建设十年 为何难撑产业... 大鹏新区首个以医疗器械为主的产业园区——蓝影暨蓝韵医学科技园(围挡空地处),奠基三年后仍一片荒芜。 ...
三大国际科创中心作用凸显 协同... [ 3个国际科创中心的高地引领作用日益凸显。北京原始创新能力持续增强,基础研究经费支出占比超过16%...
生娃基本“不花钱”,目标如何实... 近日,全国医疗保障工作会议在京召开。会议明确2026年全国医保系统八大重点工作,包括巩固全民参保成果...
美联储博斯蒂克:如果就业市场正... 美联储博斯蒂克:如果就业市场正经历广泛的周期性放缓,那么就会有其他迹象表明经济正在显著走弱。 来源...
如何让“北京大视听”金字招牌更... 近日,北京市广电局“京琅琊”名家工作室的首场座谈会,恰似一次为北京广电视听未来把脉、擘画蓝图的“群贤...