2020年,基础架构领域什么最火?熟悉IT架构的人一定会说:云原生最火!为什么越来越多的企业在努力拥抱云原生呢?云原生作为新的存储架构对存储带来了什么挑战?要如何应对这一挑战呢?
青云Qingcloud作为国内颇有技术范儿的云厂商,拥有专业的分布式存储QingStor和容器平台KubeSphere 。在2020中国数据与存储峰会现场上,QingStor研发负责人王煜回顾了支撑云原生架构的存储所需要的诸多技术方案,也提出了对于云原生存储的三点看法,分享了已经落地的云原生分布式存储案例。
云原生带来的存储挑战
在许多人看来,云原生能改变企业内部开发运维的流程,甚至能改变了一些团队的组织方式,云原生有望让IT进入一个理想化的状态,所谓IT理想化状态是指,开发团队只需关注业务逻辑本身,减少对于运维相关工作的关注,提高开发效率,提高业务创新效率。
云计算的发展正是在一步一步的接近这一理想状态,IaaS虚拟化提升了运维效率,PaaS让开发人员不需要关注太多基础架构层面的内容。而现在,关于应用开发、架构管理、运维的种种问题都寄希望于云原生架构,有赖于容器平台来解决。
2020年,K8s已经成为容器编排领域的标准,随着企业期望将更多关键性的应用迁移到K8s平台上,K8s上有越来越多的有状态应用,如何部署有状态应用成为K8s的焦点。
有状态应用的部署涉及两方面问题:首先是服务间的拓扑依赖关系问题,K8s通过推出有状态类型的API对象来解决这个问题。其次,企业数据落地存储的问题,遗憾的是,K8s平台不包含存储的服务,一些替代性方案或是可靠性欠佳或是无法支持持久化存储。
为了提供能支撑云原生架构的存储,业内出现了多种方案,比如, K8s发展出了新的PVC和PV机制,让开发人员仅要关注PVC,运维人员负责创建PV的人,把开发和运维解耦。
最近,在容器存储领域出现了一个叫CAS的理念,它是一种指导如何实现好的存储产品的理念,具体包含三点:
第一点,存储组件本身是否可以进行容器化部署,并利用K8s本身的特性来运维管理存储集群。
第二点,能否够给K8s内部的不同容器提供不同的卷配置的能力,例如QoS、ACL、块大小、副本数量等。
第三点,架构上能否解耦。
目前,市场上已经有了遵循CAS理念的开源存储产品了,但QingStor研发部在测试中发现了一些问题,比如有的方案从架构层面上来看,这些存储产品并不是一个典型的分布式存储架构,不具备分布式存储的特性,性能很难满足核心应用场景的需求。
QingStor对于云原生存储的思考
QingStor也正在思考如何设计产品,云原生架构到底需要什么样的存储,如何实现一款好用的云原生架构下的存储呢?王煜总结了四点:
第一点,要使用声明式来描述存储资源需求,这是K8s也提倡的操作。
第二点,存储的卷是否可以在短时间大量的创建和销毁,这是全新的挑战。由于容器数量比虚拟化平台的虚拟机数量大得多,短时间内快速的启动大量的容器对于存储的压力很大。
第三点,是否能够进行容器粒度的卷管理。
第四点,存储的组件要能容器化部署,从而实现自动化运维。
云计算对分布式存储本身提出的要求,在云原生的场景下会更加凸显,比如,数据跟随的能力,数据保护机制、弹性扩容的能力,以及海量并行下的性能问题,这都是云原生架构下对分布式存储能力提出的挑战。
王煜表示,企业在选择云原生存储架构时候应该注意以下三点:
第一点,要用分布式存储。几乎所有的专业存储厂商都可以提供对接容器平台的能力,但是只有分布式存储才能非常完美匹配云原生应用场景。
第二点,云原生存储应该具备足够的稳定性以及扩展能力。
第三点,存储组件要能容器化部署,要能利用容器平台本身的集成管理和调度能力。
QingStor的云原生存储实践
作为可以在企业私有云环境下进行独立交付的分布式存储产品线,QingStor 旗下有四款产品,分别是为极致性能而设计的NeonSAN,为海量非结构化数据而设计的对象存储,为通用场景而设计的文件存储,以及一个提供多种接口的融合存储。
QingStor NeonSAN是一款为核心业务设计的分布式存储,采用了比较多新的技术,比如在软件架构层面针对SSD和NVMe进行设计,通过RDMA网络进行数据副本间的复制,并且支持NVMe-oF的存储访问协议。同时,QingStor NeonSAN虚拟卷和物理硬盘采用了直接映射的架构, IO路径栈极短,充分释放了底层物理硬盘的性能。
在性能测试中,QingStor NeonSAN的IOPS大幅领先 OpenEBS, Longhorn,Ceph-rook。在方案成熟度上,QingStor NeonSAN目前已有大量生产落地的案例。
QingStor NeonSAN目前已经在企业客户中有大规模生产环境的部署,最典型的使用场景就是公有云平台上的云硬盘。私有云也有很多落地案例,覆盖了包括金融、制造、能源、医疗、政府等行业。
QingStor NeonSAN在云原生架构体系下做了很多针对性的优化。
首先,QingStor NeonSAN可以完整支持 Kubernetes CSI存储插件,平台可以针对存储做许多操作,比如创建、销毁、克隆、备份卷等,不需要运维人员提前创建容器所需的存储,开发人员通过声明式描述存储需求即可,存储空间的创建和绑定过程是和应用的创建过程同步完成的。
其次,QingStor NeonSAN实现了存储组件自身的容器化部署,充分的利用K8s本身能力,比如,当K8s 监测到集群状态发生变化时,会触发 Operator来自动化完成运维管理的操作。把存储运维的操作变成了代码并集成到了K8s平台上。
这一能力使得存储扩容时间大大缩短,过去需要运维人员手动参与扩容,过程通常是以小时计,但是通过采用云原生架构的方式进行自动化运维后,整个扩容时间降低到了分钟级。
今年 9 月份,青云QingCloud 发布了容器存储一体机,软件架构是QingStor NeonSAN 与KubeSphere 容器平台共同组成的,KubeSphere是青云QingCloud基于K8s 开发的开源容器平台,目前在云原生社区收获了广泛的关注和好评。
QingStor希望通过一体机的方式,帮助企业快速拥抱云原生架构,落地云原生应用。
容器一体机极易上手,能做到开箱即用,性能优异,而且能稳定运行,容器一体机在云原生场景中进行了测试。
第一个测试是批量创建100个pod和 pv卷,总耗时是 70秒,耗时远低于同类的容器存储解决方案。第二个测试是使用FIO对单个pod进行压力测试,结果显示可以达到10万以上IOPS,以及亚毫秒的访问时延。
QingStor NeonSAN基于第二代英特尔至强可扩展平台打造的,可确保在计算、存储、网络、软件等多层面为企业客户带来性能强劲、安全可靠、简单易用的软件定义存储解决方案,显著降低系统部署的复杂度和TCO,与企业现有重要业务快速无缝衔接。
除此之外, QingStor NeonSAN适配英特尔® 傲腾(Optane™) 固态盘和英特尔®高速缓存加速软件(Intel Cache Acceleration Sotware)等多项新技术,实现超高吞吐与极低延时,并且和英特尔共同对整体方案进行了性能优化,能够充分应对企业应用的严苛挑战。
总结
QingStor产品家族在云原生场景下,进行了很多针对性的研究和优化,能够非常好地帮助企业快速落地云原生架构和应用,并实现全栈国产自主可控的能力,为企业生产数据保驾护航的同时,最大程度发掘数据的价值。