破局创新,天翼云HBlock如何以小见大、以柔克刚?

引言:另辟蹊径开拓创新

不走传统存储厂商的“寻常路”

【全球存储观察 | 科技热点关注】

在分布式块存储领域,大部分厂商的安装软件套件大小都在GB级。然而,天翼云破天荒地将存储资源盘活系统HBlock的软件安装包浓缩到了170MB,而且只敲三条命令就可以完成安装部署,纵观企业级存储软件市场,这样的体验还是非常令人惊叹。

如此举措,表明了天翼云欲在分布式存储领域“破局”。天翼云显然不会走传统企业级存储厂商那样的“寻常路”,而是选择另辟蹊径开拓创新。

作为有着开放创新、锐意进取精神的中国云厂商优秀代表,天翼云将业内几乎无明显差距的分布式块存储服务,推向了软件极致轻量化与创新性支持混合部署的新境界,打造了一款“柔性存储”产品。我非常关心的是:HBlock如何做到“以小见大”、“以柔克刚”?

破局创新,持续迭代

九大优势逐渐显现

从分布式存储的技术发展历史来看,很多厂商早已聚焦企业级功能的打造,市场竞争与技术创新都非常活跃。然而,天翼云对于HBlock也寄予了创新的期望,它不仅要突破数据存储的瓶颈,还得让易部署与易运维的用户体验成为优势,同时进一步丰富企业级存储能力,不断增强HBlock的核心竞争力。

今天我们着眼于分布式存储产品的核心功能来看看HBlock究竟有啥不一样!

优势一,高轻量。

业内分布式块存储通常采用内核态设计。当Linux内核版本更新后,存储产品也需同步进行优化,因此容易被系统绑定;而且基于内核态设计的存储,若要支持多种CPU架构,也需要做很多适配工作,高轻量化也就难以实现;同时,管理采用不同版本Linux的服务器也会增加IT运维工作的复杂性。

HBlock在研发之初就采用全用户态设计,不依赖任何特定版本的Linux内核或发行版,不依赖、不修改操作系统环境,不干扰任何其他进程的执行。针对Linux而言,HBlock只需要建立系统调用机制去调用CPU、内存、I/O,数据直接存入存储资源池。

采用全用户态的方式,不仅减少了服务器CPU的访问压力,使CPU资源开销降到更低,还池化了服务器端的存储资源,HBlock不需要独占整个硬盘,其他应用程序也可以获取硬盘资源。最关键的是采用全用户态设计后,减少操作系统内核代码整合,也让HBlock实现了软件安装包小到只有170MB,这也为企业级众多场景需求(如高性能计算、容器、边缘计算等)提供了天然的适配条件。

优势二,高利用。

全用户态屏蔽了OS内核与底层硬件,使得集群内的每个Linux操作系统实例可以配置不同的CPU、内存、硬盘等硬件资源,如异构CPU、不同大小与类型的内存、不同容量与性能的HDD硬盘或SSD硬盘。

全球存储观察分析认为,HBlock开辟了“柔性存储”的概念,对硬件资源不挑剔的“以柔克刚”,必然可以更好释放空闲存储资源的价值,避免了对集群中存储硬件的绑定或特殊要求,实现服务器存储资源的高利用率。比如某企业级存储大厂的高端存储阵列所采用的硬盘,针对自身存储系统做了硬盘固件的优化定制,市面上同样容量型号的硬盘无法替换,必须由存储厂商原厂提供的硬盘才能识别运行。

基于轻量化产品设计,HBlock开辟了业内独创的存储应用场景——混合部署,可以真正提高每一台服务器的资源利用率!比如,企业现网中有一台在用服务器的资源利用率长期处于较低水平,只能达到20-30%,那么闲置的资源就可以利用HBlock打造成虚拟资源池,供其他应用使用,而原有业务不受影响,真正实现“资源共享 业务共生”。

优势三,高可用。

HBlock采用 “一主多备”策略,完美实现主备自动切换。据天翼云研发专家武志民介绍,借助Linux、Windows自带MPIO多路径I/O软件,对客户端无侵入,HBlock通过在存储设备和操作系统之间提供多个备用数据路径,实现“一主多备”。不依赖于时钟服务器,采用天翼云自研的的分布式租约和心跳机制,发生故障后可实现自动化秒级切换。

从上图不难看出其技术特点,采用了分布式多控架构,一个逻辑卷对应多个Target:Active Target和Standby Target。一旦卷对应的Active Target所在服务器故障,不需要用户再做IP网络配置,即可秒级自动切换到Standby Target,实现服务无中断。为了确保更好的高可用,针对多控制器之间的缓存数据,HBlock做了强一致性技术优化,在保障数据安全的同时,实现了极低的写延时。

值得一看的是,HBlock采用了多因子空间分配算法,通过资源监控模块定期收集存储空间、负载情况、网络性能等因子数据,综合计算权重来分配数据在哪落盘。在空间及内存紧张时,实现平滑降速,避免超时中断业务,同时以多种告警方式通知IT运维人员,为IT扩容争取了更多时间。遇到不同需求场景时,可灵活配置业务优先或数据恢复优先。在需要数据平衡时,如扩容后多因子权重算法可以实现更好的决策平衡,负载自动向新节点倾斜。同时支持动态限速,优先保障业务服务与数据重构,还可以在指定的时间窗口执行,错开业务高峰期。

可见,这样的算法创新,自然让数据的可用性得以增强。因为采用了灵活的QoS,也进一步保障了HBlock的读写服务质量。从而避免在资源不足时,出现持续写入数据“爆”盘的服务故障。借助业务读写、数据重构与数据平衡的技术优化,资源监控模块与限速控制模块的有机配合,在分布式存储领域,HBlock表现出了十分优秀的高可用性。

优势四,高可靠。

HBlock支持多副本和纠删码数据冗余保护机制,加上多种数据校验,HBlock以此保证数据的高可靠性。

首先,针对多副本机制,HBlock支持单副本、两副本、三副本等灵活配置,从而获得更高的数据可靠性。

其次,支持纠删码,EC数据冗余保护机制采取N+M冗余模式,如支持2+1、3+2直至127+1等多种组合,N与M可灵活配比,在数据可靠性与容量有效性方面,可满足各种场景的需求。最多允许M台服务器宕机,该M台的数据可以通过另外N台服务器的数据进行恢复。EC数据冗余保护机制比三副本模式有更高的磁盘利用率,存储空间使用率最高可达99.22%,可根据IO场景设置分片与条带大小,实现最优的存储性能。

再者,采用多种数据校验方式保持数据一致性,如支持客户端与服务器端校验、集群内部全流程数据校验、多台服务器间数据校验等,保障多台服务器间、内存数据和持久数据的一致性。同时还通过读数据的检验和后台定期扫描方式,以此来检测数据静默错误,保证数据完整性。当磁盘数据不可访问或者校验失败时,HBlock会自动启动数据恢复进程来重建数据。

此外,针对弱电、弱盘、弱网等混沌环境,HBlock采用分布式租约,不依赖时钟服务器,实行强一致的仲裁,实现秒级故障检测。借助高可用卷实时感知故障,实现秒级服务接管。通过HBlock自带的多因子空间分配机制,降低慢盘与慢节点权重,一旦监控扫描发现坏盘立刻快速重构,确保数据安全。

优势五,高性能。

性能是所有存储厂商一如既往的追求,天翼云也不例外,为了实现HBlock的高性能,可谓多措并举。

其一,优化集群吞吐能力。HBlock采用标准iSCSI协议提供分布式块存储服务,可以在服务器集群任何节点上创建iSCSI Target,打破了单点的吞吐瓶颈。

其二,实现分布式负载均衡。充分利用分布式多控架构的优势,HBlock将数据片段存储在不同服务器上,数据重建与数据均衡的操作也是在多个服务器上进行,避免单服务器执行操作的负载压力过大。

其三,精简IO发挥极致性能。HBlock不仅可以按区间(LBA, length)合并连续多个IO为一个,减少系统调用,而且可以按时间序列将多个连续IO写入同一个数据块,减少对元数据服务器的访问,达到系统资源的节约增效。

其四,设计多模式的读写缓存机制。HBlock采用WriteBack、WriteThrough、WriteAround三种写缓存模式,可以按需适配不同场景的读写。根据网络距离和节点负载选择最合适的节点,将数据放在缓存中,避免对磁盘频繁的小IO操作,更好地发挥存储介质的性能。

其五,支持自定义的灵活EC机制,性能优于普通三副本方式。

现在,越来越多的用户在关注高性能的同时,也十分关注低延迟。HBlock在读写延迟上表现不俗,采用普通10G以太网互联,配置HDD磁盘组建的集群,随机写入4KB块的延迟可达亚毫秒级。

从天翼云的评测结果来看,HBlock已经具备了企业级应用的高性能,配置全闪存情况下单卷IOPS可达15万次,读写延迟200微秒。与Ceph13.2.10软件版本的性能对比,HBlock性能普遍是Ceph的1-2倍;在小IO场景下,HBlock的读写性能高于Ceph的3-5倍。

优势六,高弹性。

HBlock分布式多控架构具备纵向与横向扩展的灵活弹性,可以实现1024节点弹性扩展,组建PB级存储资源池。

进一步分析来看,纵向扩展方面可以通过增加单服务器的通用硬件资源来实现扩展;横向扩展方面可以通过添加服务器节点数量进行扩展,IOPS性能、存储容量也随着节点规模扩大而线性增加。用户可以随时按需纵横扩展,系统自动实现负载均衡,不中断业务。

优势七,高安全。

HBlock支持CHAP(Challenge-Handshake Authentication Protocol),允许iSCSI客户端和Target端基于密码进行双向安全身份认证,对提升数据存储管理的安全性带来很大帮助。CHAP认证确保对应权限用户才能使用存储卷,数据传输过程开启IPsec隧道实现数据加密传输,既高效又安全。

优势八,易运维。

HBlock支持RESTful API、命令行、Web控制台三种操作方式,用户可以根据业务情况按需选择。HBlock自带的资源监控系统,可以实时展现资源使用情况,支持故障报警,让IT运维工作更简单。

HBlock支持远程运维,客户侧服务器可以选择连接到天翼云远程服务器端,工作人员通过远程协助的方式及时诊断故障、完成修复;也可以选择将系统日志进行打包发送,工作人员通过日志定位问题。

优势九,高兼容。

天翼云一直坚持生态开放的策略,也为HBlock实现广泛兼容软硬件提供了前提条件。在硬件方面,同一集群内支持X86、ARM、龙芯等不同架构,支持不同规格硬件的混合部署,也支持不同存储介质如NVMe SSD、SAS SSD、SATA SSD、SAS HDD、NL-SAS HDD、SATA HDD等。

在软件方面,HBlock可以直接部署在各种版本的Linux操作系统上作为服务端,客户端通过标准的iSCSI协议即可访问,Windows和Linux均有自带的iSCSI Initiator软件。目前支持与KVM、OpenStack、VMware等虚拟化平台整合;对国内外数据库的支持也很广泛,如Oracle、MySQL、SQL Server、PostgreSQL、MongoDB、DB2等;支持OpenStack Cinder、K8S CSI的驱动,可以无缝融入到容器的生态中。

从自我实践中走来,HBlock聚焦轻量化分布式存储的高效落地,让更多企业用户通过极小的部署成本,真正感受到“柔性存储”为企业信息化建设带来的便捷和高效。不与传统分布式块存储硬碰硬,剑走偏锋,纯软交付,彻底解耦,HBlock创新的破局冲劲值得点赞。

盘活资源,存储利旧

功在现在利在未来

HBlock的诞生与天翼云对象存储(OOS)有着密切的发展关系。在对象存储领域,天翼云已经深耕了十多年,为进一步完善产品场景,天翼云开发了云存储网关,以此帮助用户将本地数据存入天翼云公有云的对象存储中,以此促进对象存储的业务增长。

作为对象存储的延伸功能表现不俗,于是天翼云将其功能价值逐渐放大,开发成一款全新柔性存储产品——存储资源盘活系统(HBlock),顾名思义就是要将数据中心利用率较低的服务器资源盘活,实现数据的真正应用价值。

从各方统计的情况来看,现有数据中心服务器的存储资源70%以上未被好好利用,这不仅是资源的浪费,也无形中增加了数据中心的建设成本。因此,充分利旧异构服务器,盘活数据中心闲置存储资源,通过利用率的提高降本增效,未来将会成为企业数据中心的刚需,功在现在利在未来。

由此可见,HBlock虽然定位分布式块存储,但是并非针对现有厂商的块存储阵列市场,而是将目标锁定在了服务器闲置存储资源盘活利用方面。

面向未来,纯软交付

块存储发展翻开新篇章

实际上,天翼云HBlock在分布式存储领域破局创新,聚焦用户需求的同时,更是聚焦应用场景的支持。HBlock借助轻量化、混合部署等产品优势,与业务场景不断深度融合。

在本地私有云存储方面,针对高性能计算场景,HBlock可与分布式并行文件系统Lustre在通用服务器上混合部署,无需购买昂贵的集中式磁盘阵列和IB网络,采用全闪存储服务器和以太网,HBlock就可提供数十GBps吞吐,支持在线扩容,可快速实现线性增长,在容量与性能诉求上得以很好的满足,真正实现“一机两用、资源共享、科学共存”。

在大家十分关心的延迟表现上,从底层硬件到上层文件系统的延迟可以控制在0.42毫秒左右,其中归属于HBlock自身的软件处理时间只有0.08毫秒,在业内处于领先水平。

针对混合云场景方面, HBlock支持和公有云对象存储连接,企业可以将热数据存放在本地,冷数据上公有云,冷热数据分层管理,让混合云存储的实现来得就是如此简单,享受云上无限空间和高效运维,业务按需扩容,性价比更高。

此外,针对容器、虚拟化场景的应用,HBlock支持K8s、VMware、KVM、OpenStack等多种主流平台。

全球存储观察分析认为,天翼云通过HBlock的技术创新和柔性存储的理念实践,探索出了一条软件定义存储领域的绿色利旧新路,不仅顺应了块存储纯软交付的大趋势,也让其呈现出不一样的行业价值。

- END-

欢迎文末评论补充!

【全球存储观察|全球云观察 |阿明观察 |科技明说】专注科技公司分析,用数据说话,带你看懂科技。本文和作者回复仅代表个人观点,不构成任何投资建议。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/218870.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux中proc与sys的区别

在Linux系统中,/sys目录和/proc目录都是特殊的虚拟文件系统,用于提供对系统内核和设备信息的访问。 虽然它们的作用有一些重叠,但它们在功能和用途上有一些区别。 功能: /sys目录主要用于提供对设备和驱动程序的信息和配置的访…

Python-乒乓球小游戏【附完整源码】

乒乓球小游戏 乒乓球小游戏是一个简单而有趣的2D页面交互式游戏,玩家可以通过键盘输入来控制球拍上下移动来接球,从而体验乒乓球的乐趣。该游戏有单人和双人两种模式 运行效果: 一:主程序: import sys import cfg …

Jupyter Notebook: 交互式数据科学和编程工具

Jupyter Notebook: 功能强大的交互式编程和数据科学工具 简介 Jupyter Notebook是一个开源的Web应用程序,广泛用于数据分析、科学计算、可视化以及机器学习等领域。它允许创建和共享包含实时代码、方程式、可视化和解释性文本的文档。总而言之,我认为它…

3D Font

在游戏中使用3D文本 只需添加预制件并立即生成您的文本。 特点: *真实3D字母,可用作游戏对象*移动友好低聚 *VR兼容 *WebGL兼容 *30种以上不同字体 *材料和颜色可定制 WebGL演示 https://indiechest.itch.io/3d-font-engine 下载: ​​Unity资源商店链…

【tips】base64编码怎么反显出图片

格式 <img width"400" height"300" src"data:image/jpeg;base64,这里存放base64的图片内容/>实际的数据展示是这样的 然后把以上的文件内容放置到html文件中 最终展示样例 点击这个 展示出来是这样的

opencv 十五 红外图像中虹膜的提取

一、算法需求 在医疗检测中&#xff0c;需要使用红外相机拍摄眼睛照片&#xff0c;然后提取出虹膜的区域。在拍摄过程瞳孔需要进行运动&#xff0c;其通常不在正前方&#xff0c;无法形成圆形&#xff0c;不能使用常规的霍夫圆检测进行提取定位。且在在红外图像中&#xff0c;…

将输入的字符串反向输出(c语言)

#include<stdio.h> #include<string.h> int main() {int i, j, k;char s[50], temp;gets(s);//输入k strlen(s);//计算字符的长度//反向输出for (i 0, j k - 1;i < k / 2;i, j--){temp s[i];s[i] s[j];s[j] temp;}puts(s);//输出 }

最近面试了一位5年的测试,一问三不知,还反怼我...

最近看了很多简历&#xff0c;很多候选人年限不小&#xff0c;但是做的都是一些非常传统的项目&#xff0c;想着也不能通过简历就直接否定一个人&#xff0c;何况现在大环境越来 越难&#xff0c;大家找工作也不容易&#xff0c;于是就打算见一见。 在沟通中发现&#xff0c;由…

GB28181学习(十八)——图像抓拍

前言 本文主要介绍图像抓拍功能&#xff0c;通过自研的sip库&#xff08;mysipsdk.dll&#xff09;对接真实设备&#xff0c;使用http方式实现图像数据传输&#xff0c;最终达到图像抓拍与保存的目的。 基本要求 图像格式宜使用JPEG&#xff1b;图像分辨率宜采用与主码流相同…

linux ksm实现与代码简述

KSM 全称是 Kernel Samepage Merging&#xff0c;表示相同的物理页只映射一份拷贝。 原理 在ksm初始化时&#xff08;ksm_init&#xff09;&#xff0c;注册了一个ksm_scan_thread线程&#xff0c;这个线程的核心入口是ksm_do_scan。当对一个进程第一次通过madvice(MADV_MERGE…

Linux高级管理-基于域名的虚拟Web主机搭建

客服机限制地址 通过 Require 配置项&#xff0c;可以根据主机的主机名或P地址来决定是否允许客户端访问。在httpd服 务器的主配置文件的<Location>&#xff0c;<Directory>、<Files>、<Limit>配置段中均可以使用Require 配置 项来控制客户端的访问。使…

Java基础:如何创建多层文件夹

一、单层多个 代码实现如下&#xff1a; public class Main {public static void main(String[] args) {//在D盘中创建File file new File("D:"File.separator"docum");file.mkdir();//在D盘中的docum目录中创建file new File("D:\\docum" Fi…

kafka 详细介绍

目录 前言 分布式架构&#xff1a; 消息发布-订阅模型&#xff1a; 持久性存储&#xff1a; 分区和副本&#xff1a; 水平扩展&#xff1a; 高性能&#xff1a; 生态系统&#xff1a; 我的其他博客 前言 Kafka 是由 Apache 软件基金会开发的一种开源流处理平台&#xf…

微信小程序自定义提示框组件并使用插槽 tooltip

创建tooltip组件引用 创建一个自定义组件&#xff0c;例如命名为 tooltip tooltip.wxml&#xff1a;用于定义组件的结构&#xff1b; <!--components/tooltip/tooltip.wxml--> <view class"tooltip-wrapper" hidden"{{hidden}}" style"lef…

纺织辅料小程序商城制作全攻略

随着互联网的普及和移动支付的便捷性&#xff0c;越来越多的消费者喜欢在线购物&#xff0c;尤其是购买纺织辅料这类产品。为了满足消费者的需求&#xff0c;纺织辅料企业或商家需要制作一个专业的小程序商城&#xff0c;以便更好地展示和销售自己的产品。本文将详细介绍如何制…

Fine-Grained Semantically Aligned Vision-Language Pre-Training细粒度语义对齐的视觉语言预训练

abstract 大规模的视觉语言预训练在广泛的下游任务中显示出令人印象深刻的进展。现有方法主要通过图像和文本的全局表示的相似性或对图像和文本特征的高级跨模态关注来模拟跨模态对齐。然而&#xff0c;他们未能明确学习视觉区域和文本短语之间的细粒度语义对齐&#xff0c;因为…

Java开发环境简介(JDK、JRE、JVM)

目录 1、Java开发环境 2、JDK和JRE 3、JDK下载和安装 3.1 下载 3.2 安装 3.3 配置path环境变量 JDK8配置方案1&#xff1a;只配置path ⭐JDK8配置方案2&#xff1a;配置JAVA_HOMEpath&#xff08;推荐&#xff09; path配置小结 JDK17配置方案&#xff1a;自动配置 …

redis-学习笔记(Jedis 前置知识)

自定义的 Redis 客户端 咱们可以实现编写出一个自定义的 Redis 客户端 因为 Redis 公开了自己使用的自定义协议 ---- RESP 协议清楚了, 那么通信数据格式就清除了, 就能完成各层次之间的数据传输, 就能开发服务器和客户端 RESP — Redis 的 序列化 协议 特点: 简单好实现快读进…

AC修炼计划(AtCoder Beginner Contest 332)

传送门&#xff1a;AtCoder Beginner Contest 332 - AtCoder a,b,c都还是很基础了。d题是一个bfs的纯暴力问题。 E - Lucky bag 看看范围&#xff0c;n15&#xff0c;第一个想法是dfs纯暴力&#xff0c;但所有的情况太大&#xff0c;各种决策层出不穷&#xff0c;会t。所以转…

RocketMQ可视化工具 打包遇到的yarn intall 问题

文章目录 RocketMQ可视化工具1.github上下载2.修改参数3.运行4.打包5.出错6.解决7.重试8.再解决9.很奇怪运行没错&#xff0c;但是测试错啦10.不想深究&#xff0c;直接跳过测试11.展示成功 RocketMQ可视化工具 1.github上下载 下载地址 https://github.com/apache/rocketmq-…