一种虚拟私有云之间的虚拟机迁移方法与流程

    专利2022-07-08  68


    本发明涉及云计算环境下的虚拟机和镜像迁移方法,尤其涉及一种虚拟私有云之间的虚拟机迁移方法。



    背景技术:

    虚拟机迁移是云平台的基础功能,是指将一个虚拟机或主机从源存储位置或计算环境移动到目的存储位置或计算环境,并且可以在目的计算环境中正常运行。根据不同的应用场景,虚拟机迁移分为很多种类型,例如按虚拟机和物理机类型可分为虚拟机到物理机迁移、物理机到虚拟机迁移、虚拟机到虚拟机迁移;按虚拟机是否在运行时进行迁移可分为热迁移、冷迁移;按迁移的源和目的位置可分为同一云平台主机间迁移、同一云平台不同虚拟私有云间迁移、同一云平台不同区域间迁移、不同云平台之间迁移,还可进一步按迁移前后所使用用户帐户是否相同分为相同用户帐户和不同用户帐户间迁移;从系统可用性角度可分为维护性迁移、故障迁移等。

    在公有云和大型私有云等云平台可以使用虚拟私有云(vpc)来进行用户资源隔离,云平台通过创建vpc为用户提供一个安全、独立的虚拟私有网络,用户可以自己配置ip地址范围、子网、安全组等私有网功能,云平台用户在有些场合也被称为租户。云平台用户可以登录web控制台在vpc中创建多台虚拟机,每台虚拟机的使用者或所有者称为虚拟机用户。为了方便使用,云平台也可以为虚拟机用户提供web控制台自助服务,形成三级管理形式:虚拟机用户自助,云平台用户管理分配租户内vpc网络、存储和计算资源,云平台管理员分配和协调管理全局资源。云平台产品提供有虚拟机迁移功能模块或迁移工具,同一个云平台不同用户帐户的vpc之间可以做虚拟机迁移,不同云平台也可以使用厂商提供的工具在各自云平台用户vpc之间做虚拟机迁移。这些功能模块或工具一般要求使用者具有迁移前后两个云平台用户的访问权限如用户名和密码;或者先使用源虚拟机所在vpc的云平台用户帐户将虚拟机镜像文件拷出到公共存储,再使用目的vpc用户帐户将虚拟机镜像文件从公共存储拷入到目的vpc,由目的vpc的云平台用户重建虚拟机。

    当一个公司使用一个云平台,云平台为公司各部门或子公司创建云平台用户和相应vpc,部门人员做为虚拟机用户在部门vpc中分配使用虚拟机。当人员在不同部门间调动且该人员使用虚拟机内安装了特定于用户的应用软件,用户本人或管理制度要求该虚拟机跟随该人员迁移时,两个部门对应的云平台用户如果交换用户名密码则可能违反密码管理规定,如果先将虚拟机镜像拷贝至公共存储再拷入目的vpc则会将虚拟机暴露在公共区域且增加拷贝的成本。



    技术实现要素:

    本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种虚拟私有云之间的虚拟机迁移方法,不需要用户分享权限,也不使用云平台内或云平台之外的公共存储,操作过程具有安全性、高性能和易用性。

    为解决上述技术问题,本发明提出的技术方案为:

    一种虚拟私有云之间的虚拟机迁移方法,云平台处理虚拟机用户之间的虚拟机迁移包括以下步骤:

    s1)获取迁出申请和迁出端虚拟私有云用户a的信息,将用户a的信息和迁出申请的信息保存至待迁出表,所述迁出申请的信息包括用户a设置的迁移目的用户信息和待迁出虚拟机;

    s2)获取迁入申请和迁入端虚拟私有云用户b的信息,将用户b的信息和迁入申请的信息匹配待迁出表,所述迁入申请的信息包括用户b设置的迁移源用户信息和待迁入虚拟机,若存在匹配结果则进入下一步,否则将匹配失败消息发送给用户b并结束;

    s3)将待迁出虚拟机的镜像文件img和规格信息s通过云平台存储网络从迁出端虚拟私有云保存到迁入端虚拟私有云的对应目录,删除待迁出表中的已匹配条目,将迁移成功的消息发送给用户a和用户b。

    进一步的,步骤s1)之前还包括生成迁出申请信息和迁入申请信息的步骤,具体包括:

    a1)用户a登录迁出端虚拟私有云的web控制台,选择待迁出虚拟机和迁移目的用户,云平台判断虚拟机是否正在运行,是则关闭虚拟机并进入下一步,否则直接进入下一步;

    a2)云平台查找数据库得到待迁出虚拟机的镜像文件img和规格信息s,根据待迁出虚拟机、迁移目的用户、镜像文件img和规格信息s生成迁出申请,并释放待迁出虚拟机在迁出端虚拟私有云占用的资源;

    a3)用户b登录迁入端虚拟私有云的web控制台,选择待迁入虚拟机和迁移源用户,云平台根据待迁入虚拟机和迁移源用户生成迁入申请。

    进一步的,步骤a1)之前还包括虚拟私有云的虚拟机用户向对应的虚拟私有云用户提出申请的步骤,具体包括:迁出端虚拟私有云的虚拟机用户u1通过虚拟机的自助门户向迁出端虚拟私有云用户a提出迁出申请,所述迁出申请包括待迁出虚拟机和迁移目的用户信息;迁入端虚拟私有云的虚拟机用户u2通过虚拟机的自助门户向迁入端虚拟私有云用户b提出迁入申请,所述迁入申请包括待迁入虚拟机和迁移源用户信息。

    进一步的,步骤s3)之后还包括生成迁移后虚拟机的步骤,具体包括:

    b1)用户b登录迁入端虚拟私有云,收取迁移成功的消息后进入下一步;

    b2)迁入端虚拟私有云读取规格信息s为虚拟机分配资源;

    b3)迁入端虚拟私有云加载镜像文件img,以所分配的资源启动虚拟机。

    进一步的,步骤b2)具体包括:迁入端虚拟私有云读取规格信息s,迁入端用户对规格信息s中的信息进行修改得到规格信息s1,迁入端虚拟私有云根据规格信息s1为虚拟机分配资源。

    进一步的,步骤s3)之前还包括云平台管理员审批的步骤,具体包括:生成待审批条目并发送给云平台管理员,等待审批通过,若收到审批通过则进入下一步,若等待超时或审批被拒绝则结束并退出。

    本发明还提出一种虚拟私有云之间的虚拟机迁移系统,包括云平台,所述云平台包括云平台迁移模块;

    所述云平台迁移模块用于获取迁出申请和迁出端虚拟私有云用户a的信息,将用户a的信息和迁出申请的信息保存至待迁出表,所述迁出申请的信息包括用户a设置的迁移目的用户信息和待迁出虚拟机;

    所述云平台迁移模块还用于获取迁入申请和迁入端虚拟私有云用户b的信息,将用户b的信息和迁入申请的信息匹配待迁出表,所述迁入申请的信息包括用户b设置的迁移源用户信息和待迁入虚拟机,若存在匹配结果则进入下一步,否则将匹配失败消息发送给用户b并结束;

    所述云平台迁移模块还用于将待迁出虚拟机的镜像文件img和规格信息s从迁出端虚拟私有云保存到迁入端虚拟私有云的对应目录,删除待迁出表中的已匹配条目,将迁移成功的消息发送给用户a和用户b。

    与现有技术相比,本发明的优点在于:

    本发明可以在同一个云平台环境中不同虚拟私有云之间进行虚拟机迁移,不同虚拟私有云所属的云平台用户之间不需要知道对方密码或具备对方访问权限,可提高安全性;迁移时不需要把虚拟机镜像文件通过公共存储进行中转,可提高安全性;迁移可通过云平台存储网络在云平台用户目录之间直接进行拷贝或移动,可提高性能;迁移采用双方云平台用户申请、虚拟机用户申请、云平台自动匹配的方法,其操作流程易于理解,可提高易用性。

    附图说明

    图1表示本发明的方法的整体步骤示意图。

    图2表示本发明中虚拟机迁出、迁入申请流程图。

    图3表示本发明中处理迁出申请流程图。

    图4表示本发明中处理迁入申请流程图。

    图5表示本发明中重建所迁移虚拟机流程图。

    图6表示本发明中虚拟机用户申请迁移流程图。

    图7表示本发明中虚拟机用户申请迁移后云平台用户处理流程图。

    具体实施方式

    以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。

    一个云平台有两个云平台用户a和b,用户a的虚拟私有云为vpca,用户b的虚拟私有云为vpcb,用户a在vpca中创建有虚拟机m,虚拟机m的虚拟机用户为u1,虚拟机m的虚拟机镜像文件为img,m的规格信息为s,规格信息s中包括虚拟机分配的vcpu数、内存大小、网络参数、存储参数等虚拟机规格信息,需要一种迁移方法将虚拟机m从vpca迁移至vpcb中运行。

    实施例一

    如图1、图3和图4所示,本发明提出一种虚拟私有云之间的虚拟机迁移方法,云平台处理虚拟机用户之间的虚拟机迁移包括以下步骤:

    s1)如图3所示,获取迁出申请和迁出端虚拟私有云用户a的信息,将用户a的信息和迁出申请的信息保存至待迁出表,所述迁出申请的信息包括用户a设置的迁移目的用户信息和待迁出虚拟机,即为上文中的虚拟机m,还包括镜像文件img和规格信息s;

    s2)如图4所示,获取迁入申请和迁入端虚拟私有云用户b的信息,将用户b的信息和迁入申请的信息匹配待迁出表,所述迁入申请的信息包括用户b设置的迁移源用户信息和待迁入虚拟机,即判断用户a的信息和迁出申请的信息与用户b的信息和迁入申请的信息是否相同,考虑到操作失误情况,用户a设置的迁移目的用户信息和待迁出虚拟机和用户b以及用户b设置的待迁入虚拟机可能不相同,用户b设置的迁移源用户信息也可能与用户a不相同,若存在匹配结果则进入下一步,否则将匹配失败消息发送给用户b并结束;

    s3)将待迁出虚拟机的镜像文件img和规格信息s通过云平台存储网络从迁出端虚拟私有云保存到迁入端虚拟私有云的对应目录,删除待迁出表中的已匹配条目,将迁移成功的消息发送给用户a和用户b。

    通过上述步骤,本实施例中同一云平台中不同用户的虚拟私有云之间通过用户分别申请迁入迁出、云平台进行自动匹配方式迁移虚拟机,迁出端或迁入端的虚拟私有云用户不需要具有对方权限,不需要使用中间公共存储空间。

    与上述方法相对应,本实施例提出一种虚拟私有云之间的虚拟机迁移系统,包括云平台,所述云平台包括云平台迁移模块,该模块支持用户的虚拟机迁出申请、迁入申请、迁入迁出申请的匹配、迁入迁出申请和匹配成功后是否执行迁移的审批,虚拟机镜像在不同用户目录的拷贝或移动;

    所述云平台迁移模块用于获取迁出申请和迁出端虚拟私有云用户a的信息,将用户a的信息和迁出申请的信息保存至待迁出表,所述迁出申请的信息包括用户a设置的迁移目的用户信息和待迁出虚拟机;

    所述云平台迁移模块还用于获取迁入申请和迁入端虚拟私有云用户b的信息,将用户b的信息和迁入申请的信息匹配待迁出表,所述迁入申请的信息包括用户b设置的迁移源用户信息和待迁入虚拟机,若存在匹配结果则进入下一步,否则将匹配失败消息发送给用户b并结束;

    所述云平台迁移模块还用于将待迁出虚拟机的镜像文件img和规格信息s从迁出端虚拟私有云保存到迁入端虚拟私有云的对应目录,删除待迁出表中的已匹配条目,将迁移成功的消息发送给用户a和用户b。

    如图2所示,本实施例中迁出申请由用户a提出,迁入申请由用户b提出,步骤s1)之前包括生成迁出申请信息和迁入申请信息的步骤,具体步骤包括:

    a1)用户a登录迁出端虚拟私有云的web控制台,选择待迁出虚拟机和迁移目的用户,云平台判断虚拟机是否正在运行,是则关闭虚拟机并进入下一步,否则直接进入下一步;

    a2)云平台查找数据库得到待迁出虚拟机的镜像文件img和规格信息s,根据待迁出虚拟机、迁移目的用户、镜像文件img和规格信息s生成迁出申请,将迁出申请经由消息通道发送给云平台迁移模块,并释放待迁出虚拟机在迁出端虚拟私有云占用的资源,云平台迁移模块收到迁出申请,自动登记申请中信息,登记迁出端虚拟私有云用户为用户a;

    a3)用户b登录迁入端虚拟私有云的web控制台,选择待迁入虚拟机和迁移源用户,云平台根据待迁入虚拟机和迁移源用户生成迁入申请,将迁出申请经由消息通道发送给云平台迁移模块,云平台迁移模块收到迁入申请,自动登记申请中信息,登记迁入端虚拟私有云用户为用户b。

    如图5所示,本实施例的步骤s3)之后还包括生成迁移后虚拟机的步骤,具体包括:

    b1)用户b登录迁入端虚拟私有云,收取迁移成功的消息后进入下一步;

    b2)迁入端虚拟私有云读取规格信息s为虚拟机分配资源;

    b3)迁入端虚拟私有云加载镜像文件img,以所分配的资源启动虚拟机。

    本实施例中,用户b在为虚拟机分配资源可以按照实际需要对规格信息进行修改,如修改vcpu数目、内存大小、vpcb内的ip地址等,步骤b2)具体包括:迁入端虚拟私有云读取规格信息s,迁入端用户对规格信息s中的信息进行修改得到规格信息s1,迁入端虚拟私有云根据规格信息s1为虚拟机分配资源。

    实施例二

    本实施例与实施例一基本相同,区别在于,步骤s3)之前还包括云平台管理员审批的步骤,具体包括:生成待审批条目并发送给云平台管理员,等待审批通过,若收到审批通过则进入下一步,若等待超时或审批被拒绝则结束并退出。

    通过加入管理员审批环节,对用户之间的虚拟机迁移进行一定限制,避免用户之间随意进行虚拟机迁移。

    实施例三

    如图6和图7所示,本实施例与实施例一基本相同,区别在于,用户a和用户b分别从对应的虚拟机用户获取申请信息,如图6所示,步骤a1)之前还包括虚拟私有云的虚拟机用户向对应的虚拟私有云用户提出申请的步骤,具体包括:迁出端虚拟私有云的虚拟机用户u1通过虚拟机的自助门户向迁出端虚拟私有云用户a提出迁出申请,所述迁出申请包括待迁出虚拟机和迁移目的用户信息;迁入端虚拟私有云的虚拟机用户u2通过虚拟机的自助门户向迁入端虚拟私有云用户b提出迁入申请,所述迁入申请包括待迁入虚拟机和迁移源用户信息。

    为提高效率,本实施例中虚拟机用户u1和u2可以是同一用户。

    实施例四

    本实施例与实施例三基本相同,区别在于,本实施例中由云平台后台程序而不是云平台迁移模块实现虚拟私有云之间的虚拟机迁移方法

    上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。


    技术特征:

    1.一种虚拟私有云之间的虚拟机迁移方法,其特征在于,云平台处理虚拟机用户之间的虚拟机迁移包括以下步骤:

    s1)获取迁出申请和迁出端虚拟私有云用户a的信息,将用户a的信息和迁出申请的信息保存至待迁出表,所述迁出申请的信息包括用户a设置的迁移目的用户信息和待迁出虚拟机;

    s2)获取迁入申请和迁入端虚拟私有云用户b的信息,将用户b的信息和迁入申请的信息匹配待迁出表,所述迁入申请的信息包括用户b设置的迁移源用户信息和待迁入虚拟机,若存在匹配结果则进入下一步,否则将匹配失败消息发送给用户b并结束;

    s3)将待迁出虚拟机的镜像文件img和规格信息s通过云平台存储网络从迁出端虚拟私有云保存到迁入端虚拟私有云的对应目录,删除待迁出表中的已匹配条目,将迁移成功的消息发送给用户a和用户b。

    2.根据权利要求1所述的虚拟私有云之间的虚拟机迁移方法,其特征在于,步骤s1)之前还包括生成迁出申请信息和迁入申请信息的步骤,具体包括:

    a1)用户a登录迁出端虚拟私有云的web控制台,选择待迁出虚拟机和迁移目的用户,云平台判断虚拟机是否正在运行,是则关闭虚拟机并进入下一步,否则直接进入下一步;

    a2)云平台查找数据库得到待迁出虚拟机的镜像文件img和规格信息s,根据待迁出虚拟机、迁移目的用户、镜像文件img和规格信息s生成迁出申请,并释放待迁出虚拟机在迁出端虚拟私有云占用的资源;

    a3)用户b登录迁入端虚拟私有云的web控制台,选择待迁入虚拟机和迁移源用户,云平台根据待迁入虚拟机和迁移源用户生成迁入申请。

    3.根据权利要求2所述的虚拟私有云之间的虚拟机迁移方法,其特征在于,步骤a1)之前还包括虚拟私有云的虚拟机用户向对应的虚拟私有云用户提出申请的步骤,具体包括:迁出端虚拟私有云的虚拟机用户u1通过虚拟机的自助门户向迁出端虚拟私有云用户a提出迁出申请,所述迁出申请包括待迁出虚拟机和迁移目的用户信息;迁入端虚拟私有云的虚拟机用户u2通过虚拟机的自助门户向迁入端虚拟私有云用户b提出迁入申请,所述迁入申请包括待迁入虚拟机和迁移源用户信息。

    4.根据权利要求1所述的虚拟私有云之间的虚拟机迁移方法,其特征在于,步骤s3)之后还包括生成迁移后虚拟机的步骤,具体包括:

    b1)用户b登录迁入端虚拟私有云,收取迁移成功的消息后进入下一步;

    b2)迁入端虚拟私有云读取规格信息s为虚拟机分配资源;

    b3)迁入端虚拟私有云加载镜像文件img,以所分配的资源启动虚拟机。

    5.根据权利要求4所述的虚拟私有云之间的虚拟机迁移方法,其特征在于,步骤b2)具体包括:迁入端虚拟私有云读取规格信息s,迁入端用户对规格信息s中的信息进行修改得到规格信息s1,迁入端虚拟私有云根据规格信息s1为虚拟机分配资源。

    6.根据权利要求1所述的虚拟私有云之间的虚拟机迁移方法,其特征在于,步骤s3)之前还包括云平台管理员审批的步骤,具体包括:生成待审批条目并发送给云平台管理员,等待审批通过,若收到审批通过则进入下一步,若等待超时或审批被拒绝则结束并退出。

    7.一种虚拟私有云之间的虚拟机迁移系统,包括云平台,其特征在于,所述云平台包括云平台迁移模块;

    所述云平台迁移模块用于获取迁出申请和迁出端虚拟私有云用户a的信息,将用户a的信息和迁出申请的信息保存至待迁出表,所述迁出申请的信息包括用户a设置的迁移目的用户信息和待迁出虚拟机;

    所述云平台迁移模块还用于获取迁入申请和迁入端虚拟私有云用户b的信息,将用户b的信息和迁入申请的信息匹配待迁出表,所述迁入申请的信息包括用户b设置的迁移源用户信息和待迁入虚拟机,若存在匹配结果则进入下一步,否则将匹配失败消息发送给用户b并结束;

    所述云平台迁移模块还用于将待迁出虚拟机的镜像文件img和规格信息s从迁出端虚拟私有云保存到迁入端虚拟私有云的对应目录,删除待迁出表中的已匹配条目,将迁移成功的消息发送给用户a和用户b。

    技术总结
    本发明提出一种虚拟私有云之间的虚拟机迁移方法及系统,云平台处理虚拟机用户之间的虚拟机迁移包括:获取迁出申请和迁出端虚拟私有云用户A的信息,将用户A的信息和迁出申请的信息保存至待迁出表;获取迁入申请和迁入端虚拟私有云用户B的信息,将用户B的信息和迁入申的信息匹配待迁出表,若存在匹配结果则进入下一步,否则将匹配失败消息发送给用户B并结束;将待迁出虚拟机的镜像文件IMG和规格信息S通过云平台存储网络从迁出端虚拟私有云保存到迁入端虚拟私有云的对应目录,删除待迁出表中的已匹配条目,将迁移成功的消息发送给用户A和用户B。本发明不需要用户分享权限也不使用云平台内外的公共存储,具有安全性、高性能和易用性。

    技术研发人员:卢刚;孙利杰;杨鹏举;陈松政;刘文清;杨涛
    受保护的技术使用者:湖南麒麟信安科技股份有限公司
    技术研发日:2020.11.20
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-23070.html

    最新回复(0)