速来报名!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:053206

评论

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

分布式数据库有哪几种

悦数图数据库

图数据库

华为云开发者桌面全新发布CodeArts IDE for Python,极致优雅云原生开发体验

华为云PaaS服务小智

ide 软件开发 华为云

RAR Extractor Max for Mac - 轻松解压,高效管理

iMac小白

浅析MySQL代价模型:告别盲目使用EXPLAIN,提前预知索引优化策略

京东零售技术

后端 MySQL、

京东按关键字搜索商品API(jd.item_search)返回值全面解析

技术冰糖葫芦

API 编排 API 文档 API 策略 pinduoduo API

碳课堂|如何开展碳排放核算? ISO 14064-2 项目层次要点解读

AMT企源

双碳 碳管理 碳排放

@Async异步失效的9种场景

不在线第一只蜗牛

Java JVM 异步 开发语言

【论文速读】|针对模糊驱动生成的提示性模糊测试

云起无垠

数据可视化与低代码开发应用:开启智能时代新篇章

快乐非自愿限量之名

低代码 数据可视化

Kafka 业务日志采集最佳实践

观测云

kafka 日志分析

SD-WAN实现全球应用加速

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

依赖Windows环境的CAD/CAE/CAM等软件如何在信创环境下过渡使用?

点量实时云渲染

信创 云桌面 云渲染 实时云渲染 国产信创

AIGC技术的力量:探索其原理与应用的无限可能

EquatorCoco

人工智能 AIGC

IT外包能在企业上云时提供什么帮助?

Ogcloud

IT IT外包 IT外包公司 IT外包服务 IT外包服务商

智能商品计划系统:引领未来零售业的革新之路

第七在线

活动预告 | 5月16日 Streaming Lakehouse Meetup · Online 与你相约!

Apache Flink

大数据 flink

大模型驱动的新一代 BI 平台,Sugar BI 开启智慧决策新模式

Baidu AICLOUD

大数据 BI

ETL工具中JSON格式的转换方式

RestCloud

json 数据处理 ETL

对C语言符号的一些冷门知识运用的剖析和总结

快乐非自愿限量之名

C# C语言

大模型和传统ai的区别

悦数图数据库

美国站群服务器租用攻略:选择稳定高效的多站点管理服务

一只扑棱蛾子

站群服务器

HTTPS 是如何进行安全传输的 ?

EquatorCoco

https 哈希算法 密钥

程序员必备的7大神器,效率飞起!

秃头小帅oi

「活动预告」PolarDB走进青岛,邀请您一起畅游琴岛山海春韵,共话数据生态创新

阿里云数据库开源

数据库 阿里云 开源 Polar polarDB

SecureFX for Mac - 远程文件管理的首选工具

iMac小白

SecureFX下载 SecureFX破解版

一键自动化博客发布工具,用过的人都说好(阿里云篇)

程序那些事

工具 程序那些事 自动发布

低代码与云原生的技术解析:赋能企业数字化转型

不在线第一只蜗牛

云原生 低代码

在 Postman 中设置和使用 Mock Server

Liam

程序员 前端 Postman Mock MockServer

ExpressScribe PRO for Mac(易于使用的专业转录软件)v13.11注册激活版

iMac小白

Express Scribe下载 Express Scribe注册版 Express Scribe激活版

XSKY SDS 6.4 重磅更新:NFS 性能飙升 3 倍,对象多站点等 10 多项功能强势升级

XSKY星辰天合

对象存储 软件定义存储 XSKY 星辰天合

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