虚拟化操作系统使用Ceph的方法和计算机可读存储介质与流程

文档序号:25543649发布日期:2021-06-18 20:40
虚拟化操作系统使用Ceph的方法和计算机可读存储介质与流程

本发明涉及虚拟化技术领域,尤其涉及一种虚拟化操作系统使用ceph的方法和计算机可读存储介质。



背景技术:

winserver是一款拥有自主知识产权的国产虚拟化操作系统,为云计算数据中心实现底层虚拟化。winserver能够管理和使用多种类型的存储系统,例如:本地磁盘、fc存储(以光纤通道协议为承载协议的存储)、iscsi存储(以tcp/ip协议(iscsi协议)为承载协议的存储)、nfs(网络文件系统)。ceph是最近几年流行起来的分布式存储系统,可提供块设备、对象、文件存储。目前,winserver使用ceph的方式为:ceph存储管理员在ceph的存储池中创建一个逻辑卷并将该逻辑卷映射给winserver主机。winserver主机将该逻辑卷识别为本地磁盘,并据此创建一个本地存储池,然后在该本地存储池中创建一个虚拟磁盘,并把该虚拟磁盘挂载给虚拟机使用。

采用上述方式存在以下问题:

(1)、由于ceph的逻辑卷是映射为winserver主机的本地磁盘之后,再由winserver主机根据该逻辑卷创建本地存储池来进行使用的,虚拟机使用ceph的逻辑卷需要经过winserver主机的文件系统,访问路径较长,读写性能较差;

(2)、由于ceph的逻辑卷是映射为winserver主机的本地磁盘之后,再由winserver主机根据该逻辑卷创建本地存储池来进行使用的,导致用户难以区分该本地存储池的后端存储是来自ceph存储还是来自主机的内置磁盘,给用户进行数据分类存放带来困扰;

(3)、需要由ceph存储管理员登陆ceph来创建逻辑卷并将其映射给winserver主机,无法由winserver来对ceph的存储池、逻辑卷以及逻辑卷和主机的映射关系进行自动化管理,增加了管理维护的难度。



技术实现要素:

本发明所要解决的技术问题是提供一种虚拟化操作系统使用ceph的方法以及用于存储上实现上述方法的计算机程序的计算机可读存储介质,该方法能缩短虚拟机进行读写操作的访问路径,便于用户区分ceph和本地存储,并且能够自动化管理ceph。

为了解决上述技术问题,本发明的虚拟化操作系统使用ceph的方法,包括以下步骤:

存储池关联步骤:在ceph中创建存储池,然后在虚拟化操作系统中创建对应的存储池,使虚拟化操作系统中的存储池关联ceph的存储池;

逻辑卷关联步骤:在ceph的存储池中创建逻辑卷,然后在虚拟化操作系统的对应的存储池中创建供虚拟机使用的虚拟磁盘,使所述虚拟磁盘关联所述逻辑卷;

逻辑卷映射步骤:把作为块设备的逻辑卷映射给虚拟化操作系统的主机;

虚拟磁盘挂载步骤:把与上述逻辑卷关联的虚拟磁盘挂载给虚拟机。

可选地,存储池关联步骤中,具体系调用librados库在ceph中创建存储池。

可选地,逻辑卷关联步骤中,具体系调用librbd库在ceph的存储池中创建逻辑卷;逻辑卷映射步骤中,具体系调用librbd库把作为块设备的逻辑卷映射给虚拟化操作系统的主机。

可选地,存储池关联步骤中,所述的“在ceph中创建存储池”具体地:根据存储池创建请求,确定存储池容量并生成存储池的识别码,然后根据上述存储池容量和识别码在ceph中创建存储池。

可选地,包括:

存储池删除步骤:删除ceph中的目标存储池,然后删除虚拟化操作系统中的目标存储池;

虚拟磁盘删除步骤:删除ceph中的目标逻辑卷,然后删除虚拟化操作系统中的目标虚拟磁盘。

可选地,存储池删除步骤中,具体系调用librados库删除ceph中的目标存储池;虚拟磁盘删除步骤中,具体系调用librbd库删除ceph中的目标逻辑卷。

可选地,包括:

快照创建步骤:应虚拟磁盘快照创建请求,在ceph中的存储池中为所述虚拟磁盘所关联的逻辑卷创建对应的快照逻辑卷,然后在虚拟化操作系统中创建所述虚拟磁盘的快照;

快照恢复步骤:应虚拟磁盘快照恢复请求,根据ceph中的快照逻辑卷恢复对应的逻辑卷,然后在虚拟化操作系统中根据虚拟磁盘的快照恢复该虚拟磁盘。

可选地,快照创建步骤中,具体系调用librbd库在ceph中的存储池中创建所述虚拟磁盘所关联的逻辑卷对应的快照逻辑卷;快照恢复步骤中,具体系调用librbd库根据ceph中的快照逻辑卷恢复对应的逻辑卷。

可选地,具体系winserver使用ceph的方法。

一种计算机可读存储介质,其上存储有可执行的计算机程序,所述计算机程序被执行时实现如上所述的虚拟化操作系统使用ceph的方法。

虚拟化操作系统采用上述方法来使用ceph,具有以下优势:

(1)由于虚拟磁盘是直接关联ceph的逻辑卷的,虚拟机使用ceph的逻辑卷无需经过winserver主机的文件系统,缩短了访问路径,读写性能较好;

(2)由于ceph的逻辑卷无需映射为winserver主机的本地磁盘而是直接关联虚拟磁盘,用户通过虚拟磁盘就能够获知该虚拟磁盘是对应于ceph而非本地存储的,便于用户区分ceph和本地存储各自对应的虚拟磁盘,给用户分类存储数据提供了有效的信息;

(3)虚拟化操作系统能够直接管理ceph的存储池、逻辑卷以及逻辑卷和主机的映射关系,无需由ceph存储管理员登陆ceph来进行管理,实现了自动化管理ceph。

附图说明

图1是一种虚拟化操作系统使用ceph时的架构图。

图2是一种虚拟化操作系统使用ceph时的虚拟磁盘管理逻辑图。

图3是一种虚拟化操作系统使用ceph时的快照管理逻辑图。

图4是一种虚拟化操作系统使用ceph的方法的流程示意图。

具体实施方式

以下结合具体实施方式对本发明创造作进一步详细说明。

如图1所示的虚拟化操作系统winserver中的存储管理模块包括控制单元和计算机可读存储介质,计算机可读存储介质中存储有可执行的计算机程序,控制单元执行上述计算机程序时实现如图4所示的虚拟化操作系统使用ceph的方法,下面通过具体实例说明该方法的执行流程:

用户若要为如图1中所示的虚拟机vm提供ceph的逻辑卷,则先向虚拟化操作系统的存储管理模块发出存储池创建请求。存储管理模块接收到存储池创建请求后,根据该请求确定所要创建的存储池sr的格式和容量,并为该存储池sr生成唯一识别码uuid,根据存储池sr的格式判断出其是由ceph提供存储服务的存储池,因此,根据存储池sr的容量和其唯一识别码uuid,调用librados库在分布式存储系统ceph中创建名称为uuid且容量为对应size的存储池pool。在接收到librados库返回的创建成功消息后,存储管理模块根据上述存储池创建请求在系统中创建对应的存储池sr,并使虚拟化操作系统中的存储池sr关联ceph的存储池pool。在创建好存储池sr之后,用户再向存储管理模块发出虚拟磁盘创建请求。存储管理模块接收到虚拟磁盘创建请求后,根据该请求确定所要创建的虚拟磁盘vdi的磁盘格式和容量。众所周知,由ceph提供存储服务的虚拟磁盘的磁盘格式为aio格式,因此,根据虚拟磁盘vdi的aio格式就可以判断出其是由ceph提供存储服务的虚拟磁盘,故调用librbd库在ceph的存储池中创建逻辑卷rbd。在接收到librbd库返回的创建成功消息后,存储管理模块根据上述虚拟磁盘创建请求在系统中创建对应的虚拟磁盘vdi,并使虚拟磁盘vdi关联逻辑卷rbd,然后调用librbd库把作为块设备的逻辑卷rbd映射给虚拟化操作系统的主机,并把与上述逻辑卷rbd关联的虚拟磁盘挂载给虚拟机vm,从而实现把ceph的逻辑卷提供给虚拟机vm使用。为虚拟机提供了逻辑卷之后,虚拟化操作系统的虚拟磁盘管理逻辑如图2所示。

通过上述方式来为虚拟机提供逻辑卷,虚拟机使用ceph的逻辑卷无需经过winserver主机的文件系统,缩短了访问路径,读写性能较好,并且ceph的逻辑卷直接关联虚拟磁盘,用户通过虚拟磁盘就能够获知该虚拟磁盘是对应于ceph而非本地存储的,便于用户区分ceph和本地存储各自对应的虚拟磁盘,给用户分类存储数据提供了有效的信息。

在创建了存储池sr之后,用户若不想要了,则可向存储管理模块发出存储池删除请求。存储管理模块接收到存储池删除请求后,根据该删除请求确定所要删除的目标存储池sr的格式,进而判断出目标存储池sr是由ceph提供存储服务的存储池,则根据该删除请求调用librados库删除ceph中对应的目标存储池pool。在接收到librados库返回的删除成功消息之后,存储管理模块根据该删除请求删除虚拟化操作系统中的目标存储池sr。同理,在创建了虚拟磁盘vdi之后,用户若不想要了,则可向存储管理模块发出虚拟磁盘删除请求。存储管理模块接收到虚拟磁盘删除请求后,根据该删除请求确定所要删除的目标虚拟磁盘vdi的格式,进而判断出目标虚拟磁盘vdi是由ceph提供存储服务的虚拟磁盘,则根据该删除请求调用librbd库删除ceph中对应的目标逻辑卷rbd。在接收到librbd库返回的删除成功消息之后,存储管理模块根据该删除请求删除虚拟化操作系统中的目标虚拟磁盘vdi。

虚拟化操作系统可以使用ceph来进行虚拟磁盘快照管理,具体管理过程如下:

如图3所示,用户若想要创建虚拟磁盘的快照(snpvdi),则向存储管理模块发出虚拟磁盘快照创建请求。存储管理模块应虚拟磁盘快照创建请求,调用librbd库在ceph中的存储池pool中为所述虚拟磁盘vdi所关联的逻辑卷rbd创建对应的快照逻辑卷(snprbd)。在接收到librbd库返回的创建成功消息之后,存储管理模块在虚拟化操作系统中创建所述虚拟磁盘vdi的快照。在创建了快照之后,假设虚拟磁盘的数据状态发生了变化,用户想要把虚拟磁盘恢复至创建快照时的状态,则向存储管理模块发出虚拟磁盘快照恢复请求。存储管理模块应虚拟磁盘快照恢复请求,调用librbd库根据ceph中的快照逻辑卷恢复对应的逻辑卷。在接收到librbd库返回的恢复成功消息之后,存储管理模块在虚拟化操作系统中根据虚拟磁盘的快照恢复该虚拟磁盘。

在创建了快照之后,用户若不想要了,则可向存储管理模块发出虚拟磁盘快照删除请求。存储管理模块应虚拟磁盘快照删除请求,调用librbd库删除ceph中的目标快照逻辑卷,在接收到librbd库返回的删除成功消息之后,存储管理模块在虚拟化操作系统中删除目标虚拟磁盘快照。

如上所述仅为本发明创造的实施方式,不以此限定专利保护范围。本领域技术人员在本发明创造的基础上作出非实质性的变化或替换,仍落入专利保护范围。

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