论文部分内容阅读
随着IT技术的不断发展,各行业面对数据量的猛烈增长,能够同时满足高速计算和海量存储的数据中心在各个领域中的作用变得越来越重要。IBM公司便提出了自己的Hyper Scale系统,将计算资源和存储资源进行整合,同时在系统底层使用了容器技术。Hyper Scale系统中负责计算工作的部分是ASC模块,分布式架构的底层使用了Docker容器,容器管理方面使用了Kubernetes编排工具;Hyper Scale系统中负责存储工作的部分为容器存储子系统,在传统的容器存储解决方案中,容器通常使用的是临时存储,经常会导致容器消失后,容器中的数据也随之消失,基于此给底层使用容器技术的大型系统提供拥有持久化存储的容器就是必不可少的。同时,OpenStack中的Cinder组件从设计之初就是帮助系统管理块存储资源的,因此容器通过与Cinder组件进行整合来实现持久化存储也是符合行业需求的。本文中首先对研究人员在开发过程中发现的问题和用户在使用产品时遇到的困难进行充分调研,发现了现阶段很多种面向容器的资源存储方案都存在无法持久化存储的现象,与容器绑定的存储资源生命周期与系统中容器的生命周期息息相关,容器被停止甚至删除以后,极易导致原来与容器绑定的存储卷内的数据一并消失,造成无法挽回的损失。在查阅大量国内外资料和公司文档后,本文对Hyper Scale系统中容器存储子系统在不同业务应用场景中的情况进行了详细的需求分析。在需求分析的基础上,本文仔细研究了IBM公司Hyper Scale系统的架构和各部分功能,进而分别详细描述了系统中的应用架构和功能结构,并基于此设计了帮助系统中的容器使用持久化存储资源的容器存储子系统。实现过程中,在目前行业内OpenStack与容器技术兼容性不断提高的背景下,提出了利用Cinder组件自身对块存储资源进行管理的特点,使容器存储与Cinder组件进行整合的技术。本文把容器存储子系统分成了若干的功能模块,并对其中的节点存储创建模块、节点存储绑定模块、通信模块、容器存储转换模块、容器存储绑定模块进行了详细的设计与实现。本文在完成了容器存储子系统的实现工作后,对系统的各模块进行了充分的功能测试,并对系统整体进行了性能测试。在测试过程中,对测试出的系统漏洞和问题及时进行修改。本系统在实现完成后,与IBM公司的Hyper Scale系统进行整合,投入到实际生产环境中进行使用。本系统能够满足容器持久化存储业务需求,提升了上层系统的工作效率,本文完成了预期工作。