一种虚拟机迁移方法及装置与流程

文档序号:17719877发布日期:2019-05-22 02:04阅读:152来源:国知局
一种虚拟机迁移方法及装置与流程
本发明涉及服务器
技术领域
,特别是涉及一种虚拟机迁移方法及装置。
背景技术
:虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行于一个完全隔离环境中的完整计算机系统,当支持虚拟机运行的服务器主机需要维护时,需要将虚拟机cpu、内存和磁盘资源迁移到目标主机,使得虚拟机在目标主机上继续进行相应业务,能够不中断运行业务。现有技术中,进行虚拟机迁移是人工通过硬件管理控制台手工操作完成,硬件管理控制台是指用于管理服务器及其虚拟机的平台,然而这种方法工作量繁重,效率低。技术实现要素:本发明的目的是提供一种虚拟机迁移方法及装置,能够自动完成跨物理主机的虚拟机迁移,克服了现有技术存在工作量繁重、效率低的问题。为实现上述目的,本发明提供如下技术方案:一种虚拟机迁移方法,包括:获取运行于源主机的待迁移虚拟机的资源信息;对物理机资源进行分析,根据所述待迁移虚拟机的资源信息,找出使所述待迁移虚拟机运行最优的物理机作为目标主机,并制定出将所述待迁移虚拟机从所述源主机迁移到所述目标主机的迁移规划;根据所述迁移规划,将所述待迁移虚拟机从所述源主机迁移到所述目标主机。优选的,所述源主机包括多个待迁移虚拟机;所述制定出将所述待迁移虚拟机从所述源主机迁移到所述目标主机的迁移规划包括:根据各个待迁移虚拟机对应的目标主机,综合分析迁移次序、迁移路径和迁移并行数的因素,制定出能够最快地将各个待迁移虚拟机从所述源主机迁移到对应的目标主机并且保证各个待迁移虚拟机的迁移过程不冲突的迁移规划。优选的,所述源主机包括多个待迁移虚拟机;具体包括:根据用户设置的目标主机集中式/分布式的迁移策略,为每一待迁移虚拟机找出对应的目标主机,目标主机集中式的迁移策略是指优先将各个待迁移虚拟机集中迁移到可用资源较大的物理机上,目标主机分布式的迁移策略是指将各个待迁移虚拟机平均地迁移到多个不同的物理机上。优选的,具体包括:根据用户设置的虚拟机配置不变/改变的迁移策略,为所述待迁移虚拟机找出对应的目标主机,虚拟机配置不变的迁移策略是指在待迁移虚拟机迁移时其配置不变,虚拟机配置改变的迁移策略是指在待迁移虚拟机迁移时其配置可改变。优选的,还包括:对所述待迁移虚拟机进行迁移状态跟踪及监控,实时更新所述待迁移虚拟机的数据信息,并记录所述待迁移虚拟机的数据信息中带时间戳的信息,形成迁移历史记录。优选的,还包括:当接收到将已完成迁移的虚拟机进行回迁的命令时,根据对应该虚拟机的迁移历史记录,将该虚拟机进行回迁。优选的,在根据所述迁移规划,将所述待迁移虚拟机从所述源主机迁移到所述目标主机之前还包括:分别检查所述待迁移虚拟机的状态和对应的目标主机的状态,将对所述待迁移虚拟机的检查是否通过以及目标主机的检查是否通过的结果返回。优选的,还包括:对迁移失败的虚拟机重新制定迁移规划,并根据制定的迁移规划重新迁移。一种虚拟机迁移装置,用于执行以上所述的虚拟机迁移方法。优选的,包括交互界面,用于与用户进行交互。由上述技术方案可知,本发明所提供的虚拟机迁移方法及装置,首先获取运行于源主机的待迁移虚拟机的资源信息,然后对物理机资源进行分析,根据待迁移虚拟机的资源信息,找出使待迁移虚拟机运行最优的物理机作为目标主机,并制定出将待迁移虚拟机从源主机迁移到目标主机的迁移规划,进一步根据迁移规划,将待迁移虚拟机从源主机迁移到目标主机。本发明虚拟机迁移方法及装置,实现了自动完成跨物理主机的虚拟机迁移,与现有技术相比能够减少人工工作量,提高效率。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的一种虚拟机迁移方法的流程图;图2为本发明一具体实例中将各虚拟机从源主机迁移到目标主机的示意图。具体实施方式为了使本
技术领域
的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。请参考图1,图1为本发明实施例提供的一种虚拟机迁移方法的流程图。由图可知,本实施例虚拟机迁移方法包括以下步骤:s10:获取运行于源主机的待迁移虚拟机的资源信息。对于运行在源主机上的待迁移虚拟机,首先获取待迁移虚拟机的资源信息,虚拟机资源信息包括硬件信息和软件信息,包括所占用的硬件资源和软件资源等信息。示例性的,在实际应用场景中通常会将服务器物理机的资源信息、物理机上运行虚拟机的资源信息存储在数据库内,请参考表1、表2和表3所示,表1为一具体实例中记录的服务器信息表,表2为记录的虚拟机信息表,表3为记录的虚拟机配置插槽信息表。表1数据名称数据类型数据长度必输/可选数据说明ms_serial_numbervarchar60服务器序列号,主键ms_namevarchar60可为空服务器名字ms_type_modelvarchar20服务器型号firmware_versionvarchar60可为空微码版本create_timedatetime0创建时间update_timedatetime0同步更新时间表2数据名称数据类型数据长度必输/可选数据说明partition_idint分区信息表主键default_profile_idint可为空默认配置文件idcurr_profile_idint可为空当前使用的配置文件idms_serial_numbervarchar60物理机序列号外键lpar_idint分区idlpar_namevarchar60可为空分区名字dlpar_readytinyint1dlpar是否就绪rmc_ip_addrvarchar15rmcip地址is_mspint是否是mspmgm_ip_addrsvarchar255可为空操作系统管理ipcreate_timedatetime0创建时间update_timedatetime0可为空更新时间descriptionvarchar255可为空描述表3数据名称数据类型数据长度必输/可选数据说明profile_idint配置文件表外键slot_idint插槽idslot_typevarchar60插槽类型match_slot_idint可为空匹配的插槽idmatch_partition_idint可为空匹配的分区idvlan_idint可为空vlan配置descriptionvarchar255可为空备注s11:对物理机资源进行分析,根据所述待迁移虚拟机的资源信息,找出使所述待迁移虚拟机运行最优的物理机作为目标主机,并制定出将所述待迁移虚拟机从所述源主机迁移到所述目标主机的迁移规划。对资源池内所有物理机的资源信息进行分析,找出能够使待迁移虚拟机运行最优的物理机作为对应该待迁移虚拟机的目标主机,使待迁移虚拟机运行最优的物理机是指虚拟机迁移到该物理机后该物理机有最为足够的资源供使用。在选取最优物理机时,空闲硬件资源较多的物理机是优选的目标主机,需要保证待迁移虚拟机迁移到目标主机后仍有足够的资源正常工作,优先保证目标主机有足够的cpu资源和内存资源,有多个目标主机备选的话,优先选i/o资源空闲的主机。优选的,本实施例方法中用户可自主选择目标主机范围,具体的,根据待迁移虚拟机的资源信息找出使所述待迁移虚拟机运行最优的物理机作为目标主机包括:根据所述待迁移虚拟机的资源信息,结合用户设置的目标主机范围,找出使所述待迁移虚拟机运行最优的物理机作为目标主机。在一些应用场景中,在源主机上运行着多个虚拟机都需要迁移,对于这种在源物理机上存在多个待迁移虚拟机的情况,本方法能够实现对多个虚拟机批量迁移。具体的,首先对资源池内的物理机资源进行分析,分别根据各个待迁移虚拟机的资源信息,为每一待迁移虚拟机找出使虚拟机运行最优的目标主机。进一步,根据各个待迁移虚拟机对应的目标主机,综合分析迁移次序、迁移路径和迁移并行数的因素,制定出能够最快地将各个待迁移虚拟机从所述源主机迁移到对应的目标主机并且保证各个待迁移虚拟机的迁移过程不冲突的迁移规划。具体可参考图2,图2为一具体实例中将各虚拟机从源主机迁移到目标主机的示意图,在源主机上运行虚拟机1、虚拟机2、虚拟机3和虚拟机4,分别为各个虚拟机找出对应的最优目标主机,进而将各个虚拟机迁移。在具体实施时,可由用户设置迁移并行数,迁移并行数是指一台物理机上进行虚拟机迁移的最大并行迁移数量。迁移并行数越大迁移的效率越高,但并行数太大会导致目标物理机太忙,会来不及接收在迁移的虚拟机,导致迁移失败,因此用户要根据实际情况设置合适的迁移并行数。在实际应用中,若对虚拟机迁移的用时要求不高时,用户可以通过设置迁移并行数来限制最大并行迁移数量,进而提高迁移成功率。进一步的,对于在源物理机上存在多个待迁移虚拟机的场景,本实施例方法还具体包括:根据用户设置的目标主机集中式/分布式的迁移策略,为每一待迁移虚拟机找出对应的目标主机,目标主机集中式的迁移策略是指优先将各个待迁移虚拟机集中迁移到可用资源较大的物理机上,目标主机分布式的迁移策略是指将各个待迁移虚拟机平均地迁移到多个不同的物理机上。选择目标主机集中式的迁移策略会优先把各个待迁移虚拟机集中分到可用资源最大的一台物理机,然后可用资源次大的一台物理机,如此依次分配,这种迁移策略使用到的目标主机数量尽可能少。选择目标主机分布式的迁移策略会把各个待迁移虚拟机均分到多个物理机上,尽可能使用不同的目标主机。进一步本实施例方法中,用户还可设置虚拟机配置不变/改变的迁移策略,具体的,本实施例方法还具体包括:根据用户设置的虚拟机配置不变/改变的迁移策略,为所述待迁移虚拟机找出对应的目标主机,虚拟机配置不变的迁移策略是指在待迁移虚拟机迁移时其配置不变,虚拟机配置改变的迁移策略是指在待迁移虚拟机迁移时其配置可改变。选择虚拟机配置不变的迁移策略时要看目标主机资源是否充裕,迁移虚拟机要求保持配置不变则可选择的物理机会少,甚至找不到合适的物理机,但这种保持虚拟机配置不变的迁移策略能够不需要查看迁移记录,就可以知道迁移虚拟机的原始配置。s12:根据所述迁移规划,将所述待迁移虚拟机从所述源主机迁移到所述目标主机。根据制定出的迁移规划,将待迁移虚拟机从源主机迁移到目标主机。在具体实施时,可采用整机迁移模式,整机迁移模式是指将虚拟机的cpu资源、内存资源和磁盘资源一并迁移。但是并不限于此,在其它实施例中也可采用其它虚拟机迁移模式,也都在本发明保护范围内。进一步的,对于在源物理机上存在多个待迁移虚拟机的场景,可根据制定出的迁移规划,将各个待迁移虚拟机从源物理机分别迁移到对应的目标物理机。优选的,在具体实施时,在根据所述迁移规划,将所述待迁移虚拟机从所述源主机迁移到所述目标主机之前还包括:分别检查所述待迁移虚拟机的状态和对应的目标主机的状态,将对所述待迁移虚拟机的检查是否通过以及目标主机的检查是否通过的结果返回。本步骤是在对虚拟机执行迁移之前进行预迁移,不实际执行迁移,只检查待迁移虚拟机的状态和目标主机的状态,若两者检查中任意一者没有通过,则先不执行迁移,需要查看验证不通过原因,直到检查通过。若两者检查都通过则可以执行迁移,这时仍然存在迁移失败的可能,后续可以查看迁移报错查找原因。因此,本实施例虚拟机迁移方法实现了自动完成跨物理主机的虚拟机迁移,与现有技术相比能够减少人工工作量,提高效率。并且对于在源物理机上存在多个待迁移虚拟机的场景,本方法能够实现对多个虚拟机批量迁移,提高了效率。进一步优选的,在执行迁移过程后会返回虚拟机迁移成功或者迁移失败的结果,本实施例虚拟机迁移方法还包括:对迁移失败的虚拟机重新制定迁移规划,并根据制定的迁移规划重新迁移。这样保证将服务器物理机上的虚拟机完成迁移。进一步优选的,本实施例虚拟机迁移方法还包括:对所述待迁移虚拟机进行迁移状态跟踪及监控,实时更新所述待迁移虚拟机的数据信息,并记录所述待迁移虚拟机的数据信息中带时间戳的信息,形成迁移历史记录。在对虚拟机进行迁移过程中,对迁移虚拟机进行迁移状态跟踪及监控,记录虚拟机的原始配置数据并实时更新虚拟机的数据信息,形成迁移历史记录,这样有助于用户对虚拟机迁移状态进行实时监控。进一步优选的,本实施例虚拟机迁移方法还包括:当接收到将已完成迁移的虚拟机进行回迁的命令时,根据对应该虚拟机的迁移历史记录,将该虚拟机进行回迁。根据迁移虚拟机时形成的迁移历史记录,能够将虚拟机精准回迁,使得源服务器物理机在维护结束后,源服务器物理机能够恢复原状。相应的,本发明实施例还提供一种虚拟机迁移装置,用于执行以上所述的虚拟机迁移方法。本实施例虚拟机迁移装置,首先获取运行于源主机的待迁移虚拟机的资源信息,然后对物理机资源进行分析,根据待迁移虚拟机的资源信息,找出使待迁移虚拟机运行最优的物理机作为目标主机,并制定出将待迁移虚拟机从源主机迁移到目标主机的迁移规划,进一步根据迁移规划,将待迁移虚拟机从源主机迁移到目标主机。本虚拟机迁移装置实现了自动完成跨物理主机的虚拟机迁移,与现有技术相比能够减少人工工作量,提高效率。进一步的,本实施例虚拟机迁移装置包括交互界面,用于与用户进行交互。用户通过交互界面可以选择待迁移虚拟机、设置目标主机范围以及设置迁移策略等,以及用户通过交互界面可以监控虚拟机迁移状态等。以上对本发明所提供的一种虚拟机迁移方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1