XSKY 分布式存储为 OpenStack 注入新动能

摘要

云计算是一种计算模型,它将诸如运算能力、存储、网络和软件等资源抽象成为服务,用户可通过互联网远程连接并使用;因需而定、提供方便、动态改变和无限的虚拟化扩展能力是云计算的几个重要特征......

云计算是一种计算模型,它将诸如运算能力、存储、网络和软件等资源抽象成为服务,用户可通过互联网远程连接并使用;因需而定、提供方便、动态改变和无限的虚拟化扩展能力是云计算的几个重要特征。

OpenStack 是现在实现云计算平台非常热门的一种技术实现方式,市场上有非常多的基于 OpenStack 二次开发的云平台产品。而如何保证为 OpenStack 提供一个稳定、快速的集群云存储产品,需要解决以下三只「拦路虎」:

如何在 OpenStack 环境下实现存储的高性能

在 Ceph 对接 OpenStack 的原生路径中,当虚机挂载卷的时候,每打开一个卷会独占 1 个 RBD 连接通道供自己使用,每个 RBD 通道都具备完整的 Ceph Client 资源,连接所需要的 OSD,这样每个 RBD 通道都需要占一定量的系统资源 (数百 TCP 连接,几十 MB 的内存以及额外 CPU 利用);如果卷数量少的情况下,往往看不出性能问题,但是真实业务场景下,虚机的数量往往非常多,这样随着访问卷的数目增加,RBD 通道数目也会相应增加,这都需要占用更多的内存和 CPU 的资源,导致整个存储的性能急剧下降。同时,随着 OSD 数目的增多,所有通道都会增加资源消耗,带来极大的系统资源负担,这些真实损耗往往就是辛辛苦苦虚拟化后带来的价值。经常可以看到在生产环境计算节点消耗了上千个线程和 TCP 连接用于每个 QEMU 进程,正是因为 RBD 的消耗算在了 QEMU 头上,很多用户难以发现背后的问题。除此之外,每个 RBD 通道对于 Ceph 集群都是独立客户端,对于 Monitor 也是负担,大量客户端极大限制了单池的扩展能力。

为了解决资源消耗问题,XSKY 自研了具有专利技术的 XDC 模块,提供 LibRBD proxy 代理,通过代理劫持客户端访问 RBD 的命令,将无序的访问命令统一管理起来,根据系统资源使用情况按需打开 RBD 通道,从而达到资源的有效管理。

举个例子:没有经过优化前,如果集群中某个计算节点运行有 50 个虚机,每个虚拟机打开 2 个卷,则需要生成 100 个连接通道,每一个通道启动 20 多个线程,系统中将出现 2000 多个线程抢占 CPU 资源的情况,导致系统性能显著下降,而经过 XSKY 的优化后,XDC 会根据系统资源使用情况自动按需打开若干个连接通道,这样整个存储平台性能在 OpenStack 场景下有了显著改善。


如何在 OpenStack 环境下实现业务无感知的存储在线升级

存储设备作为整个云计算平台的数据支撑,其产品正常的软件升级迭代是必不可少的,Ceph 的存储产品需要通过原生路径,即 QEMU 来连接 RBD 库,所以存储产品升级时 Ceph RBD 必须要重新启动,QEMU 才能完成对新 RBD 库的连接,这个过程虚拟机必须宕机,影响业务持续性。由于整个 RBD Client 非常庞大,包含了所有资源和逻辑,所以当发现重大的客户端 BUG 时,Ceph 的升级虽然很容易,但是客户端的库链接成了巨大的累赘,在某些版本中,用户不得不停机所有 QEMU 进程进行库重新链接升级。这也使得一些客户端优化和功能无法应用到虚拟机上,失去了日益完善的存储集群升级优化的意义。

XSKY 提供「Head-Body」升级技术能保证升级过程中业务无感知,其中只用作 IO 转发的 LibRBD proxy 作为「head」被链接到 QEMU 中,这部分的使用和 Ceph 原有方式一致,但是在升级过程中保持不变,无需更新;实现主要功能的 XDC 作为「body」可以跟随版本自由升级,在升级过程中 XDC 具备的「IO 链路保活技术」能保证 IO 的持续性,使存储升级对前端在线业务无感知。


如何便捷的对多云平台进行统一监控

云场景下,不同的虚拟化管理平台如 VMware VCenter、OpenStack 和 ZStack 都可以对接同一个存储池,实现容量、IO 资源的虚拟化统一调度。

XSKY 云集成管理功能,不仅能够将资源池化应用到不同的云平台,而且还能将 OpenStack 添加到 XSKY 管理面板中,实现在同一个界面下对于不同虚拟化类型情况下,以虚拟机角度的 IO 性能和容量监控,极大方便了存储管理员对于虚拟化场景使用的管理。

另外,XSKY 管理平台还支持对接 OpenStack KeyStone,利用 KeyStone 作为统一认证系统,提高了与 OpenStack 的粘合度。


XSKY 分布式软件定义存储为 OpenStack 用户带来的价值:

存储性能的整体提升:XSKY 产品针对 OpenStack 的性能优化,帮助用户实现了一台存储设备可以支持更多的云端业务;

便捷的产品升级方式:XSKY 产品具有独创的「IO 链路保活技术」帮助用户实现在 OpenStack 下对前端业务无感知的存储在线升级,实现业务的 7x24 高可靠性;

敏捷运维,高效管理:在同一套系统中提供完整数据服务能力,大大降低了运维管理成本;提供友好的管理工具,提升管理效率,同时可以将存储和云端管理集成到统一管理平台中,使得运维更加敏捷、高效。

经过实测,XSKY 分布式 SDS 在 OpenStack 场景下为客户带来了如下收益:

单客户端 4K 随机写 IOPS 提升 20%;

客户端 IO 延迟降低 15%;

每节点 CPU 利用率降低 40%;

每节点存储部分内存使用减少 2/3;

人力维护工作量减少 30%。

XSKY 实现了对社区版本的 LibRBD 接口 100% 兼容,使用时只需修改库引用路径即可。不仅支持全系列版本的 OpenStack,也可无缝对接 CloudStack 和 ZStack。

应用实践

XSKY 已协助东吴证券,景芝酒业,某军工云网,某省级电信等多家客户成功对接基于 KVM 的云平台,在成本下降的同时基于 KVM 的云平台性能得到了大幅提升,为用户快速构建高效、稳定、可靠的云数据中心环境提供了有力支撑。

来源:zhgpress

最新文章

极客公园

用极客视角,追踪你最不可错过的科技圈。

极客之选

新鲜、有趣的硬件产品,第一时间为你呈现。

顶楼

关注前沿科技,发表最具科技的商业洞见。