干掉这三只“拦路虎”,OpenStack妥了

2017年11月 · XSKY

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

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下对前端业务无感知的存储在线升级,实现业务的7×24高可靠性;敏捷运维,高效管理:在同一套系统中提供完整数据服务能力,大大降低了运维管理成本;提供友好的管理工具,提升管理效率,同时可以将存储和云端管理集成到统一管理平台中,使得运维更加敏捷、高效。

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

单客户端4K随机写IOPS提升20%;客户端IO延迟降低15%;每节点CPU利用率降低40%

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

人力维护工作量减少30%

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

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