SmartX超融合SMTX OS分布式块存储Kubernetes CSI实现解析

毋庸置疑,容器与容器编排已经成为目前这人员最为关注的技术之一并得到快速的普及。根据Gartner的调查(1)截止到2022年,仅有10%的CIO对容器使用没有任何的计划,而27%的首席信息官已经计划将容器应用于生产环境。


 SmartX超融合SMTX OS分布式块存储Kubernetes CSI实现解析


最初的容器主要应用于无状态应用,并不需要持久化的存储,但随着容器被原来越多的采用,以及其配合Kubernetes带来的强大的自动化管理能力,MongoDB, MySQL和PostgreSQL等有状态应用被越来多的运行于容器之上,对持久化存储提出更多需求和更高的要求。


SmartX分布式块存储(内部代号:SMTX zb)由SmartX自主开发,作为SmartX超融合的核心引擎,zb已经被大量应用于金融,制造业,通信,地产等行业的私有云建设,虚拟化整合等场景,承载用户生产以及开发业务。其稳定性,易用性和丰富的存储特性已经经过长时间检验,并获得大量行业头部认可。


日前,SMTX zb的CSI驱动已正式加入到k8官方的驱动列表,企业客户不仅可以继续使用SMTX zb构建私有云和超融合系统,亦可使用其为k8提供持久化存储,支持数据库等有状态应用,进一步加速k8在企业内部更多场景落地。


 SmartX超融合SMTX OS分布式块存储Kubernetes CSI实现解析


以下部分概述了CSI的机制以及SMTX zb与CSI的接口实现。




在支持持久化存储方面,k8提供了内嵌原生司机的方式连接外部的常见存储系统例如NFS, iSCSI, CephFS, RBD等来满足不同业务的需求。但由于存储生态本身也在不断演进,使用k8内嵌的方式来支持不断变化的存储系统在成本和时效上都会对k8项目自身带来巨大的挑战。


所以和其他服务管理系统一样,k8逐渐的将存储系统的具体实现从主项目中分离出来,通过定义接口的方式允许第三方厂商自行接入存储服务。在这个道路上也经历了两个阶段:


1。Flex体积,自1.2版本引入。


第三方存储服务提供商直接在k8服务器上部署符合Flex体积规范的司机,利用k8暴露出的挂载/卸载/高度/分离等关键API实现存储系统的接入。这个模式主要的问题是,在这个形态下第三方厂商的司机有权限接入物理节点的根文件系统,这会带来安全上的隐患。


2。null

SmartX超融合SMTX OS分布式块存储Kubernetes CSI实现解析