一种云环境下虚拟机数据持久化存储系统和方法技术方案

技术编号:8736195 阅读:159 留言:0更新日期:2013-05-26 12:07
本发明专利技术公开了一种云环境下虚拟机数据的持久化存储方法,包括:(1)主节点接收服务器的用户请求,并判断该用户请求是创建块设备,还是对块设备进行扩容,如果是创建块设备则跳转到步骤(2),如果是对块设备进行扩容则跳转到步骤(5);(2)获取所有存储节点的磁盘信息,根据用户请求选择一个存储节点,并通知该存储节点创建块设备;(3)存储节点根据主节点的信息创建并管理逻辑卷;(4)存储节点将逻辑卷注册到iSCSI中,使得该逻辑卷作为块设备服务提供给虚拟机调用;(5)主节点根据用户请求获取块设备所在的存储节点,并调用该存储节点对块设备进行扩容。本发明专利技术解决了现有云计算系统中用户数据在虚拟机关闭后不能持久化存储的问题。

【技术实现步骤摘要】

本专利技术属于数据存储和管理领域,更具体地,涉及。
技术介绍
随着虚拟化技术的提出和使用,云计算技术得到了蓬勃的发展和广泛的应用。虚拟机中数据存储和管理也受到了越来越多人的重视和关注。虚拟化将物理服务器的CPU、内存、存储和网络安全隔离以提高资源的使用率并实现资源的灵活分配。IaaS平台正是通过虚拟化技术将物理资源转化为弹性的虚拟基础设施,向上层应用提供支撑,并面向用户提供基础设施服务。虚拟化技术在云计算中的应用也给虚拟机中的数据存储带来了新的问题和挑战。首先在云环境下,用户存储在虚拟机中的数据并不是持久化的,当虚拟机关闭或意外宕机后,用户保存在虚拟机中的数据将全部丢失;用户储存在虚拟机中的数据受限于虚拟机镜像的大小,不能满足用户对存储动态增长的需求;一种改进方案是使用增量镜像,但这不利于数据的管理,增量镜像中的数据可能并不全是用户所需要的;原有的解决方案中数据都是与虚拟机紧密耦合的,数据与虚拟机一一对应,用户要获取数据必须先启动指定的虚拟机,这种耦合不利于数据在虚拟机之间的传输,并且大规模的数据传输将消耗大量的时间,降低系统的可用性。
技术实现思路
针对现有技术的缺陷,本专利技术的目的在于提供一种云环境下虚拟机数据的持久化存储方法和系统,旨在解决现有云计算系统中用户数据在虚拟机关闭后不能持久化存储的问题,并且该方法数据与虚拟机不是紧密耦合的,简化了用户数据的管理。为实现上述目的,本专利技术提供了一种云环境下虚拟机数据的持久化存储方法,包括以下步骤:(I)主节点接收服务器的用户请求,并判断该用户请求是创建块设备,还是对块设备进行扩容,如果是创建块设备则跳转到步骤(2),如果是对块设备进行扩容则跳转到步骤(5);(2)获取所有存储节点的磁盘信息,根据用户请求选择一个存储节点,并通知该存储节点创建块设备;(3)存储节点根据主节点的信息创建并管理逻辑卷;(4)存储节点将逻辑卷注册到iSCSI中,使得该逻辑卷作为块设备服务提供给虚拟机调用;(5)主节点根据用户请求获取块设备所在的存储节点,并调用该存储节点对块设备进行扩容;(6)主节点通知虚拟机块设备服务已创建完毕,虚拟机通过iSCSI向用户提供块设备。步骤(2)包括以下子步骤:(2-1)主节点通过Thrift远程调用框架获取所有存储节点的磁盘信息,包括存储节点的磁盘剩余空间信息和磁盘IO信息;(2-2)主节点分析获取的信息,选择磁盘剩余空间大于用户所申请空间的存储节点,将这些存储节点按照磁盘IO从小到大进行排序,并选择磁盘IO最小的节点创建块设备;(2-3)主节点获取存储节点的返回信息,并判断返回信息指示创建块设备成功还是失败,若返回信息指示创建块设备成功,则过程结束,若失败,则进入步骤(2-4);(2-4)主节点将创建失败写入日志并重新选择新的存储节点,然后跳转到步骤(2-2)。步骤(4)包括以下子步骤:(4-1)存储节点将步骤(3)中创建的逻辑卷添加到iSCSI目标服务中;(4-2)根据调用者的信息生成MD5,作为用户使用逻辑卷的密码;(4-3)设置虚拟机访问块设备服务的用户名和密码;(4-4)通过iSCSI将逻辑卷作为块设备服务等待虚拟机调用。步骤(6)包括以下子步骤:(6-1)主节点获取用户指定虚拟机的信息;具体而言包括虚拟机的ip地址以及虚拟机所在服务器的ip地址;(6-2)主节点调用虚拟机中的iSCSI发起者程序发现在步骤(4-4)中的存储节点所创建的设备服务;(6-3)虚拟机根据步骤(4-2)中的用户名和信息摘要登录到块设备中。步骤(3)中存储节点通过逻辑卷管理器创建由主节点指定大小的逻辑卷。步骤(4)中的注册信息包括逻辑卷的路径,虚拟机登录该服务时所需的用户名和密码。步骤(5)中存储节点通过逻辑卷管理器向已创建的块设备中追加用户指定的磁盘空间。一种云环境下虚拟机数据的持久化存储系统,包括用户请求处理模块、存储节点磁盘信息分析模块、存储节点逻辑卷创建模块、iSCSI服务注册模块、块设备扩容模块以及虚拟机块设备挂载模块,用户请求处理模块接收服务器的用户请求,并判断该用户请求是创建块设备,还是对块设备进行扩容,如果是则调用存储节点磁盘信息分析模块,如果是对块设备进行扩容则调用块设备扩容模块,存储节点磁盘信息分析模块获取所有存储节点的磁盘信息,根据用户请求选择一个存储节点,并通知该存储节点创建块设备,存储节点逻辑卷创建模块根据主节点的信息创建并管理逻辑卷,iSCSI服务注册模块将逻辑卷注册到iSCSI中,使得该逻辑卷作为块设备服务提供给虚拟机调用,块设备扩容模块根据用户请求获取块设备所在的存储节点,并调用该存储节点对块设备进行扩容,虚拟机块设备挂载模块通知虚拟机块设备服务已创建完毕,虚拟机通过iSCSI向用户提供块设备。通过本专利技术所构思的以上技术方案,与现有技术相比,本专利技术的方法具有以下的有益效果:1、可实现块设备存储:由于采用了步骤(3)、步骤(4)和步骤(6),本系统通过在IP层运行的SCSI指令集,将物理机的块设备挂载到虚拟机中,在用户看来新添加的存储空间就像虚拟机本地设备。用户可以在设备上构建一个文件系统,也可以当做一个原始的未格式化的块设备使用。相比于通过用户空间文件系统(FUSE)的挂载只是在系统中只是提供了用于存储的文件夹,并不是实际意义上的块设备。2、可扩展性强:由于采用了步骤(5)用户可以在需要的时候扩充块设备的空间。在这个过程中采用逻辑卷进行磁盘管理,块设备空间的扩展不会影响到设备中已有的数据。相比采用增量镜像的方式的优势在于,增量镜像只是在使用上达到写时拷贝的效果,保存用户在虚拟机磁盘中写入的数据,但是最终还是受限于虚拟机模板镜像的大小,增量只是在使用行为上不断增大所使用的磁盘空间,但是最终能够使用的磁盘空间是固定的,并不能满足用户对磁盘空间增长扩容的需求。3、松耦合:由于采用了步骤(3)本专利技术系统的使用解耦了虚拟机的存储资源,使得存储独立于虚拟机。用户可以将申请的块设备在不同的虚拟机之间挂载,存储资源不再与特定的虚拟机一一对应,而是作为一个独立的系统进行管理。附图说明图1是本专利技术的应用环境图。图2是本专利技术云环境下虚拟机数据的持久化存储方法的流程图。图3是本专利技术方法中步骤(2)的细化流程图。图4是本专利技术方法中步骤(4)的细化流程图。图5是本专利技术方法中步骤(6)的细化流程图。图6是本专利技术云环境下虚拟机数据的持久化存储系统的模块框图。图7是本专利技术系统中存储节点磁盘信息分析模块的细化框图。图8是本专利技术系统中iSCSI服务注册模块的细化框图。图9是本专利技术系统中虚拟机块设备挂载模块的细化框图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,本专利技术是为在虚拟机环境下的用户提供存储设备。图中物理机共有n台物理机1,2,…,n,其中物理机I为主节点,物理机2至n为存储节点。主节点负责处理用户请求,根据存储节点的磁盘信息选择合适的存储节点分配块设备并管理整个请求的流程,具体的块设备操作通过Thrift远程调用完成。各个存储节点提供存储节点磁盘信息,执行设备创建、扩容操作,并通过Thrift远程调用作为本文档来自技高网...

【技术保护点】
一种云环境下虚拟机数据的持久化存储方法,其特征在于,包括以下步骤:(1)主节点接收服务器的用户请求,并判断该用户请求是创建块设备,还是对块设备进行扩容,如果是创建块设备则跳转到步骤(2),如果是对块设备进行扩容则跳转到步骤(5);(2)获取所有存储节点的磁盘信息,根据用户请求选择一个存储节点,并通知该存储节点创建块设备;(3)存储节点根据主节点的信息创建并管理逻辑卷;(4)存储节点将逻辑卷注册到iSCSI中,使得该逻辑卷作为块设备服务提供给虚拟机调用;(5)主节点根据用户请求获取块设备所在的存储节点,并调用该存储节点对块设备进行扩容;(6)主节点通知虚拟机块设备服务已创建完毕,虚拟机通过iSCSI向用户提供块设备。

【技术特征摘要】

【专利技术属性】
技术研发人员:吴松金海石宣化陈辉
申请(专利权)人:华中科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1