QingStor的2021:做了很多,想做的依然很多

2021年青云科技CIC云计算峰会上,QingStor存储产品线又迎来一大波更新和全新重磅发布,在存储方面又拿出了许多成果。

“更新”指的是,QingStor NeonSAN、QingStor对象存储和QingStor文件存储全线升级到4.0版本,“发布”指的是全新发布的云原生块存储NeonIO和云原生分布式文件系统HydroFS。

QingStor以年为单位的更新节奏还是非常快的,如果说4.0的升级还有点例行性的意味,那么云原生存储的两款新品,则表明了青云希望抢滩登陆云原生新技术高地的意味。

对于QingStor来说,八年时间以来,一直坚持以自研的路线在行业内进行突破,也不断自我突破,此次更新标志着存储产品线更为成熟和全面了,虽然已经做了很多,但QingStor想做的依然很多,甚至有一些别人没做过的事情。

在技术和产品层面以外,作为青云科技的存储品牌,QingStor开始追求以开源项目来打造生态,在做一些有引领性的东西。在青云科技眼里,Ceph和Gluster之类的开源项目已经十几年了,是时候来一些新东西了,QingStor就是来做新东西的。

抢滩登陆云原生技术高地——发布云原生块存储NeonIO

为什么要发布全新的NeonIO呢?这是因为传统集中式的存储阵列根本无法满足容器平台所需的灵活性、敏捷性特点,分布式存储在能力上也不能非常好地匹配云原生应用场景,所以,用户肯定是需要云原生的存储。

目前,业内已经有了包括Longhorn、Ceph-rook、OpenEBS等云原生存储方案,侧面验证了用户确实有云原生存储的需求。可既然已经有了这几个方案了,为什么还要另起炉灶呢?

青云科技存储平台部负责人王煜介绍中了解到,Ceph-rook的方案本身比较臃肿,不够轻量级,运维起来比较复杂。而且,由于Ceph追求在架构层面上的统一,所以在性能方面做了许多牺牲。

OpenEBS方面,由于OpenEBS本身并不是典型的分布式架构,不仅没有实现分布式的特性,更重要的是缺少生产实践的案例,现阶段不具备在企业级落地的能力。而Longhorn底层技术上跟openEBS是一样的,问题也是类似的。

几年前说起QingStor存储产品线,强调的是QingStor不是基于Ceph的方案,而是青云自研的方案,当时一篇文章的标题是“不要Ceph,青云自研了一套文件系统”,现在也是一样,青云在云原生存储NeonIO上又选择了自研。

由于是自研的,所以NeonIO本身的架构规避了Ceph-rook的臃肿。架构设计上,它采用的是真正的分布式架构,并且具备可落地的能力。产品特性上,它可以全面兼容KubeSphere、OpenShift等容器平台,提供多种存储对接方式。

第一种,CSI容器存储接口,依靠CSI来实现与容器平台的对接,支持卷动态置备、创建、销毁、快照等高级存储功能。

第二种,将存储组件以符合云原生架构设计理念的方式进行容器化。NeonIO可直接部署在K8s平台上,能真正做到与平台无关。NeonIO可以完美运行在国产操作系统以及ARM架构平台之上。

与许多存储不同的是,NeonIO最大化地利用了K8s的能力。

NeonIO通过实现K8s Operator的机制,让云原生存储可以全自动地部署和扩容,尽量贴合云原生应用本身安装部署的习惯,比如,可以从应用商店安装使用。

同时,在使用过程中,NeonIO最大化地利用K8s本身的集群管理能力,包括健康检查、选主机制、任务队列、日志收集、配置保存等。

NeonIO是一个发布即成熟的方案。因为它不只名字跟NeonSAN像,实际上,NeonIO在架构设计上汲取了NeonSAN架构设计的经验,NeonSAN经过了多年企业生产环境的验证,而NeonIO在架构设计层面,继承了这些验证经验,具备NeonSAN一样的高性能和高可靠性。

在基础性能方面,NeonIO在三节点全闪配置环境中,单存储卷的IOPS能达到10万以上,同时,时延可低至亚毫秒级别。容器对于并发能力要求也很高,在2000个PV卷的并发创建测试中,耗时不到5分钟。

与Ceph-rook以及Longhorn和OpenEBS相比,在读写比例7:3的混合IO测试情况中,NeonIO的IOPS性能表现遥遥领先。

NeonIO在2021年上半年进行了一些内测,目前已经正式对外发布社区版本,可在GitHub上公开访问、下载、安装和部署。

在云原生技术普及的关键阶段,青云科技基于在KubeSphere开源项目和存储领域的积累,发布并开源一款云原生块存储,颇有一种抢滩登陆的意味,在笔者看来,它抢占的不只是市场,而是技术生态的高地。

新一代云原生分布式文件系统——HydroFS

2019年,有一款内部代号为QFS的分布式文件存储系统开始立项研发,这是一款被寄予厚望的新一代底层存储引擎。在青云科技的自研存储中,最重要、最核心的就是存储引擎,而现在,这款存储引擎被正式命名为HydroFS。

HydroFS名字中“Hydro”一词的英文本意是水力工程、水力发电的意思,青云科技希望HydroFS能作为基础的水利基础设施,帮助企业管好像湖泊、像大海一样的数据。

HydroFS是一款云原生分布式文件系统,它支持CSI插件为云原生架构提供存储,也可以在K8s容器平台部署,也可以跟K8s平台上其他原生应用进行统一运维和管理,也具有云原生存储的一些大致特点,能在容器环境中部署。

HydroFS脱离QingStor本身的企业级产品独立安装部署,由于在协议接口层面支持FUSE和HDFS,从而可以无缝地替换HDFS,作为大数据系统的底层存储。

作为一款在2019年就开始打造的一款技术方案,HydroFS本身在架构设计上也有很多优势。

首先,HydroFS在许多方面参考着QingStor NeonSAN,拥有极短的IO路径,没有本地文件系统(local FS)作为中间的转换层,中间不存在本地文件系统的额外开销,从用户逻辑文件直达底层块存储来高效管理数据。

面对大文件,HydroFS会通过切片处理来提高吞吐能力,这对于大数据、高性能计算场景非常利好。对于海量小文件场景,HydroFS通过分布式元数据管理层来进行优化,此外,HydroFS在配置上的灵活性方面也做了很多优化。

HydroFS是基于最近非常火的编程语言Rust编写的,Rust是一种在性能上可媲美C和C++的编程语音,程序执行的安全性会更高,能规避很多C和C++编程中常犯的安全错误,比如经典的内存方面的问题,Rust语言大大提高了HydroFS性能和架构方面的稳定性。

QingStor v4.0的主要目标是打造一个更大规模、更高性能以及功能更丰富的企业级分布式存储的产品线。技术层面,QingStor 文件存储 4.0 里最重要的升级是把底层存储引擎全新升级为HydroFS。

QingStor v4.0的块存储、对象存储和文件存储更新内容如下:

QingStor NeonSAN v4.0 包含了大规模集群下的控制平面分区、数据自动均衡的机制、以及业务灾备上的优化等等。

QingStor 对象存储 v4.0 的升级包括了使用 Rust 语言优化 IO 路径、以及实现了 Bucket region 级别容灾能力等。

QingStor 文件存储 v4.0 则全新升级存储引擎 HydroFS,在全新的底层架构下实现了诸多的存储访问特性。

创建BeyondStorage开源社区,构建存储的开源“联盟”

CIC大会上,青云科技宣布QingStor将全面拥抱开源,在青云看来,云计算、云原生技术的繁荣与开源运营、开源社区、息息相关,开源可以拉近和开发者的距离,可以促进软件和软件、系统和系统间的生态对接,让开源项目、产品和应用场景进行深度集成。

为了践行这一战略,QingStor准备走好这三步:

第一步,全部开源存储相关工具。包括基于命令行的对象存储管理工具qsctl,跨云、跨存储的数据迁移工具qscamel,还有基于对象存储的FTP服务器qsftpd,这些项目都在GitHub进行开源和维护,吸引了许多外部的开发者做进行贡献。

第二步,将全面开放底层存储引擎HydroFS,采用开源的方式进行运营,基于HydroFS与更多的开发者合作,这是一种跟Ceph不同的开源方式,Ceph是在一个可用的开源项目上封装产品,而HydroFS是在企业生产环境中实践后,再将其进行开放。

第三步,组建存储开源社区——BeyondStorage,目前维护着超过40多个开源项目,这40多个开源项目大致分成三层,中间层是接口层,主要是指Go-Storage项目。

Go-Storage向上提供了统一的存储、访问和管理的接口,希望用它编写的应用能无缝运行在所有存储平台之上。Go-Storage向下通过插件对接各个存储平台,可以对接包括国内外公有云厂商以及一些SaaS网盘服务商。

BeyondStorage要做的事情是把常见的各种存储资源统一起来,面向应用提供统一的接口层,让应用写一次可以到处运行,从而避免重复开发带来的各种浪费,而这正是目前非常普遍的现象,这一举措显露出青云科技在存储生态方面的非常大的构想,看起来就像是要构建一个存储“联盟”。

结语

能看出来,青云在存储方面已经做了很多,但想做的仍然有很多。简要总结QingStor 2021年的做的事:

在坚持自研的基础上,以开源软件的方式,占据云原生这一新兴技术领域的话语权,在NeonSAN的基础上发布NeonIO。

在坚持自研的基础上,不断打磨存储产品技术,QingStor全系产品更新到4.0版本。

在坚持自研的基础上,构建基于HydroFS的应用生态,将零散的存储系统统一起来,应用新生态。