AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

第一期观点|革命性软件定义存储 HBlock,极致易用背后的技术解析

天翼云

  • 2023-09-05
    北京
  • 本文字数:3106 字

    阅读完需:约 10 分钟

大小:1.69M时长:09:51
第一期观点|革命性软件定义存储 HBlock,极致易用背后的技术解析

近日,天翼云联合 InfoQ 举办了以“存储难题新解法,揭秘极致易用的 HBlock”为主题的线上技术分享会”。天翼云国际业务事业部存储产品线总监潘亚莲与研发专家武志民参与了第一期分享,以“革命性软件定义存储 HBlock,极致易用背后的技术解析”为主题,讲解了 HBlock 在产品理念、应用场景、技术架构设计等方面的内容,本文将对其观点进行详细阐述。

天翼云推出革命性软件定义存储 HBlock  


IDC 预测,到 2025 年我国数据量将增长到 48.6ZB,这给企业存储系统的容量、性能、运维、成本、灵活性等维度带来全方位挑战。此外,由于过度配置、数据孤岛、冗余备份、低访问速度、低效搜索,以及中断性的传输和迁移等操作,机房存在存储资源利用率低的问题。


为了解决异构存储和数据孤岛给企业带来的存储高成本、低效率的难题,天翼云研发出业界首款存储资源盘活系统——HBlock。


HBlock 整体视图


HBlock 是一款全用户态的软件定义存储产品,能够和底层基础设施完全解耦,和服务器上现有的业务并存,可以把通用的 X86、ARM、龙芯等不同架构的服务器和它上面管理的存储资源统一管理,转换成高性能的虚拟存储阵列,通过标准的 iSCSI 协议提供分布式块存储服务。

高效管理,轻松盘活  


用户可以通过 HBlock 对自己的存储资源进行全面高效的管理与使用,这些是通过管理平面各种功能来实现的。从管理平面上看,HBlock 分为四层:访问接入层、校验层、服务层和数据层。


HBlock 管理平面


在访问接入层,用户可以使用 API、命令行、管理控制台的方式,对 HBlock 进行灵活、直观、全面的管理。


在校验层,HBlock 采用 HTTPS、加密鉴权以及接口校验的方式来确保接入的安全。


在服务层,用户可以根据自己本地硬件资源来选择创建单机版或集群版服务端,3 分钟就可完成部署,对存储资源进行创建、删除、扩容、统计、监控等操作。使用过程中出现任何问题,天翼云工程师都可以远程协助,接入到系统进行故障诊断排查,若考虑到隐私问题,也可以将运行日志发送给天翼云工程师进行排障。用户也可以设置邮件地址,来及时接收系统的告警信息。


在数据层,HBlock 对用户的数据进行统一管理,通过独特的技术架构实现高性能。

HBlock 极致易用背后的关键技术  


HBlock 不光为用户提供了高效、全面、灵活的管理手段,还提供了极高的性能。这一切的背后,是优秀的技术架构。HBlock 的技术架构从上到下分为三层:访问层、存储服务层和操作系统及硬件层。


HBlock 技术架构


最上方是访问层,通过 iSCSI 提供块存储服务,通过 API、命令行、Web 界面提供管理服务,还支持 OpenStack、K8S 的 CSI driver 等管理方式。


中间是存储服务层,其核心是分布式租约模块,它是天翼云完全自研的,不要求时钟强一致或频率强一致,就可以给数据服务和管理服务,提供一致性保证。


存储服务层还提供利旧检测功能,用户在安装 HBlock 之前,可以利用这个工具对磁盘、网络、CPU、内存,从多个性能维度进行综合检测,让用户尽早的对各个部件的性能有基准的认识,识别出潜在的性能短板。


存储服务层的另一个重要模块是缓存,这是 HBlock 高性能优化的重点,后面会详细介绍。


存储服务层还包括 HA、数据冗余、故障域、数据重构等模块,提供了高可用、高可靠保障。IO 调度、索引、数据均衡模块,根据智能调度算法,保证各个节点、各个磁盘负载均衡,及时移出出现性能瓶颈的组件。


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

写缓存的多模式匹配  


HBlock 作为块存储产品,其性能最直观地反映在数据读写能力上。HBlock 是通过写缓存与读缓存的设计来实现高性能的,接下来,我们就详细了解一下 HBlock 写入与读取数据的过程。


首先,看一下写入数据流:


客户端发起写请求,数据正常放到写缓存以后,继续往下到第二个备节点的写缓存,写成功最终才会向客户端反馈成功。那这样既可以保证数据在两个节点都有(避免了单点故障),又可以保证数据不需要落盘,到缓存就结束,IO 路径也可以尽量短,这样写的延时是相对比较低的。这是 HBlock 写入的基本流程,也被称为 WriteBack。


Write back


数据在写缓存里,根据不同的策略执行落盘。有定量策略,比如脏数据达到一定的比例后就会落盘,有定时策略,比如脏数据达到一定的时间了就落了。还有主动策略,比如客户端如果主动的发过来 sync 命令,也会落盘。落盘后会把数据放到读缓存,之后更新索引。


可能有用户会担心:虽然避免了单点故障,但是如果数据已经写入内存返回写入成功,但还未落盘这段时间,集群整体发生故障,数据一样会丢。


针对这种担心,HBlock 设计了另外两种写缓存模式,WriteThrough、WriteAround


WriteThrough 模式下,数据到写缓存以后会继续等待数据落盘,等到数据真正落完盘以后再去向客户端反馈成功。


WriteAround 跟 WriteThrough 很类似,唯一的区别就是最后一步,它在落完盘以后数据不会进入到读缓存。


WriteThrough 与 WriteAround


这三种不同的写缓存,它们有各自的适用场景。比如 WriteBack,它的数据都是到内存就结束,所以它的读写性能相对来说比较高。WriteThrough 和 WriteAround 每次数据都要落盘,所以它的写性能相比 WriteBack 来说要低一些。对于 WriteAround 来说,因为最后数据不进读缓存,所以它更适合于写多读少的场景,相应它占用的内存也是最少,所以在具体使用的时候,可以根据不同的业务场景去做不同的配置。

可以将三种缓存模式总结成下表:



关于 WriteThrough 和 WriteAround,因为每次写都会落盘,会明显增加系统调用,更严重的是会增加对磁盘 sync 的次数。因此 HBlock 设计了自适应的写缓存,根据客户端的并发情况和磁盘的负载表现,去动态的调整对 sync 合并的时机,去平衡写请求等待时间和底层磁盘压力。

读缓存与预读器的优化机制  


了解完数据写入流程,接着,看一下数据读取流程:


读请求到达以后,会依次从写缓存、读缓存中寻找数据。若没找到数据,就会到相应的磁盘上直接读,HBlock 会根据网络距离和节点负载选择最合适的节点。当它读完以后会把数据放到读缓存里,最后就可以向客户端返回数据了。


考虑到时间局部性原理,刚访问过的数据,将来可能还会被访问,这些数据就进入读缓存。根据不同的场景用户可以调整读缓存的大小或直接关掉。


考虑到空间局部性的原理,刚读过的数据它相邻位数据也有可能会被读到,所以会由预读器来判断是否需要从磁盘里提前把这些数据读上。通过预读器,HBlock 大幅度提升了客户端小 IO 的顺序读的性能,减少了客户端读请求的响应延时,避免对磁盘进行频繁的小 IO 的操作,更好的发挥磁盘的性能。


以上就是 HBlock 高性能背后的各种缓存机制,它们也确实发挥出很好的效果:块存储主要的性能指标是大 IO 的带宽和小 IO 的 IOPS,与开源的 Ceph 进行对比,从带宽的角度看,HBlock 的写性能稳定优于开源 Ceph,从 IOPS 的角度看,HBlock 的写性能更是可以达到开源 Ceph 的 3-5 倍。

福利来了!HBlock 尝鲜活动震撼发布!


为帮助更多政企客户高效、低成本搭建软件定义存储平台,天翼云推出了 HBlock 尝鲜活动,尝鲜期内用户将有机会免费使用 HBlock。活动规则如下:


报名时间:2023.8.21-2023.10.31

用户特权:尝鲜期报名且激活授权的用户,将获得上限 1PB、1024 节点的永久免费 License,欢迎企业客户、集成商伙伴踊跃报名!

特别说明:免费尝鲜版本为 HBlock 3.4,HBlock 支持 PB 级部署,用户需自行准备硬件设备,天翼云提供 HBlock 重大缺陷修复、邮件和电话咨询服务,但不提供产品新增功能,尝鲜期内报名未激活授权或尝鲜期后报名需正常付费。



2023-09-05 15:053390

评论

发布
暂无评论
发现更多内容

任务卷轴模式系统开发NFT技术

薇電13242772558

系统

游戏版《西部世界》来了!NPC全由AI操控,行动自如有理想和记忆,基于最新GAEA技术系统打造

Openlab_cosmoplat

AI 游戏 开源社区

阿里云高级技术专家林立翔:基于阿里云弹性GPU服务的神龙AI加速引擎,无缝提升AI训练性能

云布道师

阿里云 AI

设计师的魔法:让你的冰冷设备即刻变成迪士尼

鼎道智联

设计 动效设计

软件测试/测试开发丨在Docker 上搭建持续集成平台 Jenkins

测试人

软件测试 自动化测试 测试开发

从GPT-4、文心一言再到Copilot,AIGC卷出新赛道?

引迈信息

微软 AIGC 文心一言 GPT-4

百度安全助力小度智能屏通过中国泰尔实验室适老化技术测试认定

百度安全

智能硬件

百图生科AIGP平台发布:提供多种蛋白质生成能力,邀伙伴联手开发“新物种”

硬科技星球

面试造火箭?GitHub飙升“2023(Java 岗)面试真题汇总”转载40万

三十而立

Java java面试

低代码开发:助力企业高效实现数字转型的一大利器

加入高科技仿生人

大数据 低代码 数字化 数字转型

git客户端软件:Sublime Merge 激活版

真大的脸盆

Mac Mac 软件 Git客户端

TitanIDE:云原生开发到底强在哪里?

行云创新

ide 云原生 云开发

数据库领域3月大事件

NineData

数据库 云计算

两项大奖加持,浩鲸科技福利小店-WHALE SELECT

鲸品堂

福利 平台 平台搭建 企业号 3 月 PK 榜

解决90%面试问题!GitHub顶级"Java面试手册"了解下八股文天花板

三十而立

Java java面试

模型驱动软件开发 打造企业数字化未来

力软低代码开发平台

币安/欧意合约自动跟单软件开发源代码

开发v-hkkf5566

华为昇思MindSpore开源社区三周年生日会,三大亮点不容错过!

极客天地

黄牛党“屯购”OPPO Find X6 无感验证护航官方商城安全

极客天地

永洪BI、瓴羊Quick BI领衔国产BI工具

巷子

就在明天!用友企业数智化财务峰会落地广州,聚焦实现业财合一新价值

用友BIP

如何高效搭建资产管理平台?众安科技告诉你答案是图技术

NebulaGraph

图数据库

山东大学-飞桨人工智能教育创新中心正式挂牌,打造区域产教融合新范式

飞桨PaddlePaddle

ShareSDK iOS端如何实现微信分享链接与登录

MobTech袤博科技

质量内建落地的四要素

老张

质量保障 质量内建 交付质量

中康科技黄毅宁:AI+医疗,于我而言是圆梦

飞桨PaddlePaddle

关于 MyBatis 我总结了 10 种通用的写法

三十而立

Java mybatis

智慧公厕:未来城市的必备设施

光明源智慧厕所

物联网 智慧城市

MobTech|如何选择应用内广告SDK产品

MobTech袤博科技

GPT-4写代码能力提升21%!MIT新方法让LLM学会反思,网友:和人类的思考方式一样

Openlab_cosmoplat

机器学习 开源社区 智能 ChatGPT GPT-4

第一期观点|革命性软件定义存储 HBlock,极致易用背后的技术解析_云计算_InfoQ精选文章