OpenStack存储优化方法及系统与流程

文档序号:11292308阅读:652来源:国知局
OpenStack存储优化方法及系统与流程

本发明涉及云计算领域,尤其涉及一种openstack存储优化方法,还涉及一种openstack存储优化系统。



背景技术:

云计算是从虚拟化技术和分布式计算发展起来的新型计算模式,云计算发展势头非常迅猛,广泛应用于交通、通讯、工程、教育、医疗和电子商务等领域,从而数据计算及存储“云化”成为新的发展趋势。云计算的架构模型主要分为三层:基础设施即服务(iaas)、平台即服务(paas)和软件即服务(saas),可以为用户提供一个从it资源到软件服务、网络应用、数据存储等不同类型服务的交付使用平台。

ceph是开源的统一分布式存储系统,是目前最主流的开源存储项目之一。ceph具备突出的优势,例如可以提供对象/块/文件系统三种存储访问方式,满足多种应用需求;支持pb级及以上的数据存储、多备份、无中心结构、无单点故障、有良好的可扩展性等。ceph最大的创新点与优势在于,数据寻址采用crush算法,相比其他存储系统的寻址方式更加高效可靠。近几年,ceph向云计算方向靠拢,逐渐成为替代云计算环境中传统存储的解决方案。ceph可以对外提供本地存储接口和高层应用接口,高层应用接口包括rbd、rgw和cephfs,提供抽象层次更高、更方便于应用或客户端使用的上层接口。rbd是块存储设备,支持快照和克隆操作。rbd快照是指保存rbd镜像某个时刻的状态,生成只读的镜像副本。rbd快照实际上只更新镜像的元数据。rbd克隆是指利用写时复制技术(cow)从快照迅速恢复一个新的rbd镜像,原来的快照称为“父镜像”,rbd克隆镜像称为“子镜像”。父子镜像之间存在依赖关系,子镜像一开始并不占用任何存储空间,共享父镜像的所有数据。当进行读操作时,先遍历父镜像查找。当进行写操作时,先从父镜像中拷贝对象到子镜像中,然后再进行修改,不会直接操作父镜像。

openstack是当前最为活跃的云计算开源项目之一,它可以利用虚拟化技术对硬件资源进行整合和管理,形成一个大的资源池,提供iaas服务。用户可以基于openstack搭建私有云平台向企业内部提供服务,也可以搭建公共云平台向外部提供云服务。openstack采用模块化设计,每个模块都具备特有的功能。大部分模块本身并不提供存储功能,依赖于后端存储系统的支持。一般可以把它们看成是存储代理,主要起到服务流程控制与管理作用。为了避免在部署企业或者个人云平台时受到约束,openstack设计支持多种后端存储技术,这种设计优化了其本身的适用性和扩展性,却引起了其他诸多问题。例如导致云平台系统维护成本高,组件之间交互性能较差,数据存储可靠性差等。此外,越来越多的用户选择将应用服务部署在云平台中的虚拟机上,而镜像服务组件glance的镜像存储方式不能很好地支持用户的软件服务需求,具体体现在两个方面:

用户需要手动部署所需软件,使用不方便;不同镜像中相同的系统镜像数据重复存储,导致存储空间浪费。



技术实现要素:

本发明的目的一是,提供一种openstack存储优化方法,可有效节省存储空间,提高数据存储可靠性,降低维护成本,满足不同的用户需求。

本发明的目的二是,提供该方法的一种系统。

为实现该目的一,提供了一种openstack存储优化方法,该方法包括如下处理步骤:

步骤1:openstack将cephrbd作为镜像服务glance、计算服务nova和块存储服务cinder的统一存储后端;

步骤2:openstack将镜像服务glance镜像分层存储在cephrbd中以形成包含系统镜像和软件镜像的镜像池,同时支持系统镜像中启动虚拟机并且对虚拟机进行全量备份和软件镜像中启动虚拟机并且对虚拟机进行增量备份,以满足不同的用户需求。

优选地,在步骤1中,为实现将cephrbd作为镜像服务glance、计算服务nova和块存储服务cinder的统一存储后端,具体进行了如下处理:

步骤101:部署ceph集群,使openstack可以访问cephrbd存储服务,即将openstack计算节点作为rbd客户端;在ceph集群中创建三个名为第一池imagespool、第二池volumespool和第三池vmspool的ceph存储池rbdpool,分别用于存储镜像glanceimage、云硬盘cindervolume和虚拟机磁盘镜像文件novadisk;ceph采用cephx认证方式为glance、cinder、nova创建新的ceph用户名字分别为新镜像服务glance和新块存储服务cinder,并设置用户的访问权限;

步骤102:glance与rbd集成,为在上传镜像的过程中,镜像服务应用程序编程接口glanceapi调用rbd存储后端,创建rbd镜像存储块,并写入镜像数据,还对glance配置文件进行修改使其支持rbd存储;

步骤103:cinder与rbd集成,为在创建云硬盘的过程中,新块存储的卷cindervolume调用rbd后端存储,创建rbd镜像存储块;如果是可启动云硬盘,则向rbd镜像块中写入镜像数据;如果是数据云硬盘,在将它挂载到虚拟机上时,读取rbd镜像块信息,并挂载到相应的虚拟机上,在用户写入数据时再进行写操作;还对cinder配置文件进行修改使其支持rbd存储;

步骤104:nova与rbd集成,为在创建虚拟机的过程中,nova计算功能模块novacompute调用rbd后端存储,创建rbd镜像存储块,将glance镜像数据进行克隆快速恢复虚拟机disk文件,并写入相应的rbd存储块中;还对nova配置文件进行修改使其支持rbd存储。

优选地,在步骤101中,ceph采用cephx认证方式为glance、cinder、nova创建新的ceph用户分别为新镜像服务glance和新块存储cinder中glance对应的ceph用户名字为glance,cinder、nova对应共用一个ceph用户名字cinder。

优选地,在步骤2中,为实现将镜像服务glance镜像分层存储在cephrbd中,形成包含系统镜像和软件镜像的镜像池,同时支持系统镜像中启动虚拟机并且对虚拟机进行全量备份和软件镜像中启动虚拟机并且对虚拟机进行增量备份,具体进行了如下处理:

步骤201:将系统镜像存储在imagespool中,在imagespool中的系统镜像中启动虚拟机,将虚拟机的disk文件存储在vmspool中,实现全量备份,满足对虚拟机备份要求较高的情况;

步骤202:将软件镜像存储在volumespool中,从可启动云硬盘中创建虚拟机、部署软件服务、创建虚拟机快照实现软件镜像;

步骤203:将openstack的快照方式通过cephrbd的快照和克隆特点进行优化,实现增量快照;

步骤204:在实现增量快照的基础上,逐层完成软件镜像,实现glance镜像链式存储;

步骤205:从软件镜像启动虚拟机,可以实现虚拟机增量备份。

优选地,步骤203中,实现增量快照的过程为先从镜像池创建云硬盘,从云硬盘启动虚拟机;然后创建虚拟机disk的快照snapshot;再通过克隆clone快照生成新的disk;创建新的disk的ceph存储快照rbdsnapshot并且存储到相应的volumespool中。

优选地,在步骤205中,从软件镜像启动虚拟机时虚拟机disk文件为在volumespool中。

优选地,用户可以根据虚拟机备份需求,从镜像池中选择在系统镜像中或软件镜像中启动虚拟机。

为实现目的二,本发明提供了一种openstack存储优化系统,包括操作界面单元,分别与作界面单元连接的网络连接单元、管理系统单元和认证单元;其还包括分别与作界面单元连接的块存储服务单元、计算服务单元、镜像服务单元和编辑单元,所述认证单元分别与网络连接单元、块存储服务单元、计算服务单元、镜像服务单元和编辑单元连接,所述管理系统单元分别与网络连接单元、块存储服务单元、计算服务单元和镜像服务单元连接,所述镜像服务单元与编辑单元连接;所述块存储服务单元、计算服务单元和镜像服务单元分别通过分布式存储系统ceph连接与物理资源单元连接。

优选地,所述布式存储系统ceph包括依次连接的对象存储单元rados、对象存储接口librados、块存储库librbd和块存储单元rbd,所述对象存储单元rados与物理资源单元连接,所述块存储单元rbd分别与块存储服务单元、计算服务单元和镜像服务单元连接,其中,所述块存储单元rbd中包括有第一池imagespool、第二池volumespool和第三池vmspool,分别用于存储镜像glanceimage、云硬盘cindervolume和虚拟机磁盘镜像文件novadisk。

优选地,所述物理资源单元包括服务器、存储设备和网络模块。

本发明与现有技术相比,其有益效果在于:

本发明基于cephrbd构建了openstack统一块存储系统并且在此基础上实现镜像分层存储,可有效节省存储空间,提高数据存储可靠性,降低维护成本,满足不同的用户需求。本发明中openstack的镜像池提供系统镜像和软件镜像,基于父镜像实现系统镜像功能,基于多个子镜像实现软件镜像功能。本发明中用户登陆dashboard(openstack控制面板)后可以根据自己所需的软件服务,从镜像池中选择合适的软件镜像启动虚拟机,免安装使用软件服务,优化云平台对外提供软件服务。本发明中系统镜像和软件镜像之间建立了依赖关系,分别存储在ceph不同的rbdpool中,节省镜像存储空间。本发明中云平台可以提供两种虚拟机备份方式,包括全量和增量,满足不同的用户需求。

附图说明

图1为本发明的流程图;

图2为本发明中openstack存储结构框图;

图3为本发明中openstack统一存储部分结构框图。

具体实施方式

下面结合实施例,对本发明作进一步的描述,但不构成对本发明的任何限制,任何在本发明权利要求范围所做的有限次的修改,仍在本发明的权利要求范围内。

如图1-图3所示,本发明提供了一种openstack存储优化方法,该方法包括如下处理步骤:

步骤1:openstack将cephrbd作为镜像服务glance、计算服务nova和块存储服务cinder的统一存储后端;

步骤2:openstack将镜像服务glance镜像分层存储在cephrbd中以形成包含系统镜像和软件镜像的镜像池,同时支持系统镜像中启动虚拟机并且对虚拟机进行全量备份和软件镜像中启动虚拟机并且对虚拟机进行增量备份,以满足不同的用户需求。

在步骤1中,为实现将cephrbd作为镜像服务glance、计算服务nova和块存储服务cinder的统一存储后端,具体进行了如下处理:

步骤101:部署ceph集群,使openstack可以访问cephrbd存储服务,即将openstack计算节点作为rbd客户端;在ceph集群中创建三个名为第一池imagespool、第二池volumespool和第三池vmspool的ceph存储池rbdpool,分别用于存储镜像glanceimage、云硬盘cindervolume和虚拟机磁盘镜像文件novadisk;ceph采用cephx认证方式为glance、cinder、nova创建新的ceph用户名字分别为新镜像服务glance和新块存储服务cinder,并设置用户的访问权限;

在步骤101中,ceph采用cephx认证方式为glance、cinder、nova创建新的ceph用户分别为新镜像服务glance和新块存储cinder中glance对应的ceph用户名字为glance,cinder、nova对应共用一个ceph用户名字cinder。

步骤102:glance与rbd集成,为在上传镜像的过程中,镜像服务应用程序编程接口glanceapi调用rbd存储后端,创建rbd镜像存储块,并写入镜像数据,还对glance配置文件进行修改使其支持rbd存储。

步骤103:cinder与rbd集成,为在创建云硬盘的过程中,新块存储的卷cindervolume调用rbd后端存储,创建rbd镜像存储块;如果是可启动云硬盘,则向rbd镜像块中写入镜像数据;如果是数据云硬盘,在将它挂载到虚拟机上时,读取rbd镜像块信息,并挂载到相应的虚拟机上,在用户写入数据时再进行写操作;还对cinder配置文件进行修改使其支持rbd存储。

步骤104:nova与rbd集成,为在创建虚拟机的过程中,nova计算功能模块novacompute调用rbd后端存储,创建rbd镜像存储块,将glance镜像数据进行克隆快速恢复虚拟机disk文件,并写入相应的rbd存储块中;还对nova配置文件进行修改使其支持rbd存储。

在步骤2中,为实现将镜像服务glance镜像分层存储在cephrbd中,形成包含系统镜像和软件镜像的镜像池,同时支持系统镜像中启动虚拟机并且对虚拟机进行全量备份和软件镜像中启动虚拟机并且对虚拟机进行增量备份,具体进行了如下处理:

步骤201:将系统镜像存储在imagespool中,在imagespool中的系统镜像中启动虚拟机,将虚拟机的disk文件存储在vmspool中,实现全量备份,满足对虚拟机备份要求较高的情况。

步骤202:将软件镜像存储在volumespool中,从可启动云硬盘中创建虚拟机、部署软件服务、创建虚拟机快照实现软件镜像。

步骤203:将openstack的快照方式通过cephrbd的快照和克隆特点进行优化,实现增量快照;

步骤203中,实现增量快照的过程为先从镜像池创建云硬盘,从云硬盘启动虚拟机;然后创建虚拟机disk的快照snapshot;再通过克隆clone快照生成新的disk;创建新的disk的ceph存储快照rbdsnapshot并且存储到相应的volumespool中。

步骤204:在实现增量快照的基础上,逐层完成软件镜像,实现glance镜像链式存储。

步骤205:从软件镜像启动虚拟机,可以实现虚拟机增量备份;

在步骤205中,从软件镜像启动虚拟机时虚拟机disk文件为在volumespool中。

用户可以根据虚拟机备份需求,从镜像池中选择在系统镜像中或软件镜像中启动虚拟机。

在本实施例中,如果用户对于虚拟机使用和备份要求高,用户可以选择从imagespool中的系统镜像中启动虚拟机,这样当备份虚拟机的时候,可以实现全量备份;如果用户关注的是可以快速创建虚拟机快照,用户可以选择从volumespool中的软件镜像启动虚拟机,可以实现增量备份。

在本实施例中,ceph存储系统具备突出的优势并且集成了与openstack相关的特性,cephrbd支持快照和克隆操作,非常适合应用于云平台中。因此,可以利用rbd为openstack提供块存储。glance镜像单层存储情况下,镜像之间相互独立,不同镜像相同的数据重复存储,导致存储空间浪费。将openstack镜像分为系统镜像和软件镜像,建立镜像之间的依赖关系,能够有效的节省存储空间。

如图2-图3所示,本发明还提供了一种openstack存储优化系统,包括操作界面单元1,分别与作界面单元1连接的网络连接单元2、管理系统单元3和认证单元8;其特征在于:还包括分别与作界面单元1连接的块存储服务单元4、计算服务单元5、镜像服务单元6和编辑单元7,认证单元8分别与网络连接单元2、块存储服务单元4、计算服务单元5、镜像服务单元6和编辑单元7连接,管理系统单元3分别与网络连接单元2、块存储服务单元4、计算服务单元5和镜像服务单元6连接,镜像服务单元6与编辑单元7连接;块存储服务单元4、计算服务单元5和镜像服务单元6分别通过分布式存储系统ceph连接与物理资源单元9连接。

布式存储系统ceph包括依次连接的对象存储单元rados、对象存储接口librados、块存储库librbd和块存储单元rbd,对象存储单元rados与物理资源单元9连接,块存储单元rbd分别与块存储服务单元4、计算服务单元5和镜像服务单元6连接,其中,块存储单元rbd中包括有第一池imagespool、第二池volumespool和第三池vmspool,分别用于存储镜像glanceimage、云硬盘cindervolume和虚拟机磁盘镜像文件novadisk。物理资源单元9包括服务器91、存储设备92和网络模块93。

在本实施例中,作界面单元1用于提供图形化操作的web界面,网络连接单元2用于提供网络连接服务,认证单元8用于提供操作的授权和认证,块存储服务单元4用于提供云硬盘,计算服务单元5用于管理虚拟机,镜像服务单元6用于存储与调用镜像。

本实施例的工作原理:用户登录后,通过作界面单元1进行图形化操作并且通过认证单元8对各操作进行授权和认证,操作过程中根据需要调用网络连接单元2、块存储服务单元4、计算服务单元5和镜像服务单元6的服务在管理系统单元3进行计算操作。其中块存储服务单元4、计算服务单元5和镜像服务单元6将cephrbd作为的统一存储后端;将镜像服务glance镜像分层存储在cephrbd中,形成包含系统镜像和软件镜像的镜像池,同时支持系统镜像中启动虚拟机并且对虚拟机进行全量备份和软件镜像中启动虚拟机并且对虚拟机进行增量备份,以满足不同的用户需求。

通过本实施例能够有效节省存储空间,提高数据存储可靠性,降低维护成本,满足不同的用户需求。

以上仅是本发明的优选实施方式,应当指出对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些都不会影响本发明实施的效果和专利的实用性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1