CN117850968A - 一种指定numa节点实现虚拟机迁移的方法、装置及系统 - Google Patents
一种指定numa节点实现虚拟机迁移的方法、装置及系统 Download PDFInfo
- Publication number
- CN117850968A CN117850968A CN202311722333.0A CN202311722333A CN117850968A CN 117850968 A CN117850968 A CN 117850968A CN 202311722333 A CN202311722333 A CN 202311722333A CN 117850968 A CN117850968 A CN 117850968A
- Authority
- CN
- China
- Prior art keywords
- migration
- numa
- nova
- resource
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005012 migration Effects 0.000 title claims abstract description 151
- 238000013508 migration Methods 0.000 title claims abstract description 151
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000006870 function Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 8
- 239000004020 conductor Substances 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000012790 confirmation Methods 0.000 claims description 4
- 230000036541 health Effects 0.000 claims description 4
- 230000007774 longterm Effects 0.000 claims description 4
- 101000598160 Homo sapiens Nuclear mitotic apparatus protein 1 Proteins 0.000 description 66
- 102100036961 Nuclear mitotic apparatus protein 1 Human genes 0.000 description 66
- 230000008569 process Effects 0.000 description 6
- 239000000306 component Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明属于云平台资源调度技术领域,公开了一种指定NUMA节点实现虚拟机迁移的方法、装置及系统,包括如下步骤:S01、通过CL I或者动态资源调度系统向Nova AP I发送迁移请求,并在Nova API的迁移接口新增requested_numa_nodes参数;S02、Nova API接收迁移请求后,对其进行校验,再将迁移请求参数和迁移需要的相应参数转化合并发送至Nova Conductor。本发明可以根据算法计算出来的最优拓扑,指定NUMA数量及具体NUMA节点序号迁移,使得迁移计划明确且直接,使得二次动态调度和各种亲和性策略实施都变得容易。
Description
技术领域
本发明属于云平台资源调度技术领域,具体涉及一种指定NUMA节点实现虚拟机迁移的方法、装置及系统。
背景技术
目前,公有云的应用越来越广泛,作为公有云的核心产品弹性云主机的分类及规格也越来越丰富,用以满足客户不同业务场景的不同需求,比如有主打性价比的共享型主机,也有主打高性能和隔离的性能型主机。同时,云平台还需要不断提升云平台自身的资源利用率,以及满足自身运营所需要的各种迁移调度需求,比如机房迁移,硬件更新迭代,故障修复,资源利旧等等,这给云平台的资源调度以及运营策带来了很大的挑战。
一般云主机首次分配的时候,调度系统会根据资源池的现状和请求的规格参数做出一个最佳的资源调度分配;在不断的运营过程中,资源池会产生各种资源碎片和负载冷热分布。这个时候,就需要二次动态调度系统去对资源池做调整,通过迁移的手段来挪腾主机,达到特定的运营目的,提升资源池的资源利用率,消除负载热点等等。目前,主流的云平台系统,比如OpenStack,提供了强大的主机迁移能力,能够做到指定目的宿主机等粒度的迁移。
但是,随着多NUMA架构宿主机的越来越普遍应用,尤其是ARM架构服务器可能有4,8,16NUMA节点,目前对于NUMA的调度,都是根据可分配节点集合做随机分配或者按某一种策略(比如剩余可分配vcpu数量)对节点集合做排序后分配;这种调度模式具有不确定性,在二次动态调度做资源碎片整理,或者想要对某些有NUMA亲和性的PCI设备做亲和策略的时候,往往无法实现或者需要多次调整实现,灵活度低且效果往往不理想,因此需要对此进行改进。
发明内容
本发明的目的在于提供一种指定NUMA节点实现虚拟机迁移的方法、装置及系统,用于解决现背景技术中提出的技术问题。
为了实现上述目的,本发明采用了如下技术方案:一种指定NUMA节点实现虚拟机迁移的方法,包括如下步骤:
S01、通过CLI或者动态资源调度系统向Nova API发送迁移请求,并在Nova API的迁移接口新增requested_numa_nodes参数;
S02、Nova API接收迁移请求后,对其进行校验,再将迁移请求参数和迁移需要的相应参数转化合并发送至Nova Conductor;
S03、Nova Conductor去Nova Scheduler资源调度器请求合适的资源节点,NovaScheduler调用NUMA Fit算法来做NUMA资源匹配,筛选宿主;
S04、Nova Conductor获取到调度资源后,去目的节点确认资源是否可以迁移,并在确定迁移后,获取迁移的详细信息,实现指定NUMA节点序号置放虚拟机的目的。
优选的,在Nova API的迁移接口新增requested_numa_nodes参数的步骤如下:找到Nova API中处理迁移请求的相关代码;在相关代码中找到用于创建和发送迁移任务请求的函数或方法;在当前函数或方法中,添加一个新的参数requested_numa_nodes,用于接收用户指定的NUMA节点序号;在处理迁移请求的逻辑中,根据需要使用requested_numa_nodes参数的值来指定目标宿主机的NUMA节点序号。
优选的,Nova API接收迁移请求后,对其进行校验的方法如下:确认请求中是否包含了所有必需的参数;获取请求中涉及的实例的当前状态;根据请求中的目标宿主机的信息,检查其资源是否满足实例的要求;对实例进行健康检查,以确保实例没有处于错误状态或有任何故障;验证源和目标网络是否可达,并检查网络配置是否与请求中的信息匹配;验证客户端是否有足够的权限进行此次迁移操作。
优选的,所述Nova Conductor是一个长时任务的执行跟踪组件,负责协调和管理数据库操作的任务执行和跟踪。
优选的,NUMA资源匹配的逻辑如下:
开始NUMA分配,并将宿主NUMA cells根据请求迁移的instance的numa节点数量做全排列;将得到的cells全排列做随机序排列;
遍历上述的随机序排列,并定义空的mismatch集合,用于记录不符合请求instance资源需求的numacells;
判断随机序排列是否遍历结束;若判断结果为是,则分配失败,当前宿主不满足NUMA需求;若判断结果为否,则继续判断随机序排列是否和制定的numa排列一致,也即根据requested_numa_nodes参数来校验,判断序号值是否完全匹配;若判断结果为不一致,则重复判断随机序排列是否遍历结束这一步骤;
若判断结果为一致,则继续判断随机序排列中是否包含mismatch的cell;若判断结果为包含,则继续遍历下一个排列并重复判断随机序排列是否遍历结束这一步骤;若判断结果为不包含,则将排列的所有numa cell和instance资源需求做匹配,找出不匹配的cell加入mismatch;
判断当前随机序排列所有cell是否都匹配,若判断结果为是,则分配该排列的NUMA组合给虚拟机;若判断结果为否,则重复判断随机序排列是否遍历结束这一步骤。
优选的,Nova Conductor获取到调度资源后,去目的节点确认资源是否可以迁移的步骤如下:
Nova Conductor获取到调度资源后,会将该资源的信息发送给目的节点;
目的节点接收到资源信息后,会进行资源的可用性检查,确认该节点是否具有足够的资源来支持实例的迁移;
Nova Conductor根据目的节点的确认信息或错误信息,判断资源是否可以迁移,如果可以迁移,Nova Conductor会进一步再次获取相关的迁移信息,如果不可以迁移,则将资源放回原节点,并通知Nova Conductor;
Nova Conductor收到资源放回的通知后,会重新进行资源调度,并将新的资源信息发送给目的节点;
目的节点再次接收到资源信息后,会重复上述步骤,直到资源成功迁移到目的节点为止。
优选的,迁移的详细信息包括如下:NUMA拓扑信息、源节点信息、目的节点信息、虚拟机的状态、内存数据以及设备状态信息。
指定NUMA节点实现虚拟机迁移的装置,包括:迁移请求接口扩展模块,用于通过CLI或者动态资源调度系统向Nova API发送迁移请求,并在Nova API的迁移接口新增requested_numa_nodes参数;迁移请求处理模块,用于在Nova API接收迁移请求后,对其进行校验,再将迁移请求参数和迁移需要的相应参数转化合并发送至Nova Conductor;资源调度模块,用于通过Nova Conductor去Nova Scheduler资源调度器请求合适的资源节点,并通过Nova Scheduler调用NUMA Fit算法来做NUMA资源匹配,筛选宿主;迁移确认模块,用于在Nova Conductor获取到调度资源后,去目的节点确认资源是否可以迁移,并在确定迁移后,获取迁移的详细信息,实现指定NUMA节点序号置放虚拟机的目的。
指定NUMA节点实现虚拟机迁移的系统,用于实现上述的指定NUMA节点实现虚拟机迁移的方法,包括CLI、动态资源调度系统、Nova API、Nova Conductor、Nova Scheduler、Dest Node以及Src Node。
优选的,CLI和动态资源调度系统向Nova API发送迁移请求;Nova API接收迁移请求后,将迁移请求参数和迁移需要的其他参数转化合并发送至Nova Conductor;NovaConductor通过Nova Scheduler调用NUMA Fit算法来做NUMA资源匹配,筛选合适宿主;并在确认资源可以迁移后,在Dest Node和Src Node之间进行虚拟机的迁移。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明可以根据算法计算出来的最优拓扑,指定NUMA数量及具体NUMA节点序号迁移,使得迁移计划明确且直接,使得二次动态调度和各种亲和性策略实施都变得容易;调度系统得出的迁移计划可以不用调整和多次尝试,便于使用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例1的方法流程图;
图2示出了本发明实施例1的NUMA资源匹配的逻辑流程图;
图3示出了本发明实施例2的模块图;
图4示出了本发明实施例3的系统架构图;
图5示出了本发明实施例3的迁移前资源分布示意图;
图6示出了本发明实施例3的迁移后资源分布示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例1
参照图1所示,指定NUMA节点实现虚拟机迁移的方法,包括如下步骤:
S01、通过CLI或者动态资源调度系统向Nova API发送迁移请求,并在Nova API的迁移接口新增requested_numa_nodes参数,用于指定需要迁移至目的宿主的NUMA节点序号;
其中,Nova API是OpenStack云计算平台中的一种通信方式,它包括Rest API和RPC API两种类型,Rest API是OpenStack的标准对外接口,RPC API是某个功能模块的远程调用API。
具体的,在Nova API的迁移接口新增requested_numa_nodes参数的步骤如下:
找到Nova API中处理迁移请求的相关代码,通常位于nova/api/ec2/cloud.py、nova/api/openstack/placement/init.py或类似的文件中;
在处理迁移请求的代码中,找到用于创建和发送迁移任务请求的函数或方法,常见为migrate函数,该函数是用于执行虚拟机迁移操作的;
在该函数或方法(migrate函数)中,添加一个新的参数requested_numa_nodes,用于接收用户指定的NUMA节点序号,设置默认值为None。
示例性,比如[0,1],表示虚拟机的拓扑为2NUMA节点,均分在0,1号NUMA节点。
S02、Nova API接收迁移请求后,对其进行校验,再将迁移请求参数和迁移需要的相应参数转化合并发送至Nova Conductor;
具体的,Nova API接收迁移请求后,对其进行校验的方法如下:
检查必需参数:首先,确认请求中是否包含了所有必需的参数,这些参数可能包括实例ID、目标宿主机的信息等;如果缺少任何必需的参数,那么应该返回一个错误信息,提示请求不完整或无效;
验证实例状态:获取请求中涉及的实例的当前状态。如果实例处于不可迁移的状态(例如,实例正在运行或正在进行重大更新),那么应该拒绝迁移请求并返回一个错误信息,说明实例当前不可迁移;
检查目标宿主机的资源:根据请求中的目标宿主机的信息,检查其资源是否满足实例的要求;这可能包括CPU、内存、存储空间等。如果目标宿主机的资源不满足实例的要求,那么应该返回一个错误信息,说明迁移失败;
进行实例健康检查:对实例进行健康检查,以确保实例没有处于错误状态或有任何故障,这可能包括检查实例的日志文件、运行状态等;如果实例存在任何问题,那么应该返回一个错误信息,说明实例不适合进行迁移;
进行网络验证:验证源和目标网络是否可达,并检查网络配置是否与请求中的信息匹配,如果不匹配或不可达,应返回相应的错误信息;
进行权限验证:验证客户端是否有足够的权限进行此次迁移操作。这可能涉及用户的角色、认证信息等,如果用户没有足够的权限,那么应该返回一个错误信息,说明用户没有权限进行此操作;
具体的,Nova Conductor是OpenStack云计算平台的一部分,是一个中间件服务,介于nova-compute和数据库之间,它主要负责处理nova-compute对数据库的CRUD操作,通过RPC(远程过程调用)对外提供API(应用程序编程接口)服务,在没有配置worker的情况下,Nova Conductor默认采用多进程运行,进程数会与服务器的逻辑CPU数一致;
因此,Nova Conductor是一个长时任务的执行跟踪组件,负责协调和管理数据库操作的任务执行和跟踪,以提高OpenStack云计算平台的性能和安全性。
S03、Nova Conductor去Nova Scheduler资源调度器请求合适的资源节点,NovaScheduler调用NUMA Fit算法来做NUMA资源匹配,筛选宿主。
具体的,参照图2所示,NUMA资源匹配的逻辑如下:
开始NUMA分配,并将宿主NUMA cells根据请求迁移的instance的numa节点数量做全排列;将得到的cells全排列做随机序排列;
遍历上述的随机序排列,并定义空的mismatch集合,用于记录不符合请求instance资源需求的numacells;
判断随机序排列是否遍历结束;若判断结果为是,则分配失败,当前宿主不满足NUMA需求;
若判断结果为否,则继续判断随机序排列是否和制定的numa排列一致,也即根据requested_numa_nodes参数来校验,判断序号值是否完全匹配;若判断结果为不一致,则重复判断随机序排列是否遍历结束这一步骤;
若判断结果为一致,则继续判断随机序排列中是否包含mismatch的cell;若判断结果为包含,则继续遍历下一个排列并重复判断随机序排列是否遍历结束这一步骤;若判断结果为不包含,则将排列的所有numa cell和instance资源需求(cpu,mem,disk等)做匹配,找出不匹配的cell加入mismatch;
然后判断当前随机序排列所有cell是否都匹配,若判断结果为是,则分配该排列的NUMA组合给虚拟机;若判断结果为否,则重复判断随机序排列是否遍历结束这一步骤。
S04、Nova Conductor获取到调度资源后,去目的节点确认资源是否可以迁移,并在确定迁移后,获取迁移的详细信息,同时在此过程中,再次调用NUMA Fit算法来做NUMA资源匹配,实现指定NUMA节点序号置放虚拟机的目的;
具体的,Nova Conductor获取到调度资源后,去目的节点确认资源是否可以迁移的步骤如下:
Nova Conductor获取到调度资源后,会将该资源的信息发送给目的节点(DestNode);
目的节点接收到资源信息后,会进行资源的可用性检查,确认该节点是否具有足够的资源来支持实例的迁移,这可能涉及检查节点的CPU、内存、存储空间等资源是否满足实例的要求;如果资源可用,则返回确认信息;如果资源不可用,则返回错误信息。
Nova Conductor根据目的节点的确认信息或错误信息,判断资源是否可以迁移,如果可以迁移,Nova Conductor会进一步再次获取相关的迁移信息,例如实例的配置信息、磁盘镜向等;这些信息将用于在目的节点上重建实例;如果不可以迁移,则将资源放回原节点,并通知Nova Conductor;
Nova Conductor收到资源放回的通知后,会重新进行资源调度,并将新的资源信息发送给目的节点;
目的节点再次接收到资源信息后,会重复上述步骤,直到资源成功迁移到目的节点为止。
进一步的,迁移的详细信息包括如下:
NUMA拓扑信息、源节点信息、目的节点信息、虚拟机的状态、内存数据、设备状态信息等。
确认资源可以迁移后,在Dest Node(目的结点)和Src Node(源节点)之间进行虚拟机的迁移。
实施例2
参照图3所示,指定NUMA节点实现虚拟机迁移的装置,包括:
迁移请求接口扩展模块,用于通过CLI(命令行界面)和动态资源调度系统用于向Nova API发送迁移请求;并通过requested_numa_nodes参数指定需要迁移至目的宿主的NUMA节点序号;
迁移请求处理模块,用于在Nova API接收迁移请求后,对其进行校验,再将迁移请求参数和迁移需要的相应参数转化合并发送至Nova Conductor;
资源调度模块,用于通过Nova Conductor去Nova Scheduler资源调度器请求合适的资源节点,并通过Nova Scheduler调用NUMA Fit算法来做NUMA资源匹配,筛选宿主;
迁移确认模块,用于在Nova Conductor获取到调度资源后,去目的节点确认资源是否可以迁移,并获取迁移的详细信息,并在此过程中,再次调用NUMA Fit算法来做NUMA资源匹配,实现指定NUMA节点序号置放虚拟机的目的。
实施例3
参照图4所示,指定NUMA节点实现虚拟机迁移的系统,该系统包括CLI(命令行界面)、动态资源调度系统、Nova API、Nova Conductor、Nova Scheduler、Dest Node以及SrcNode;
其中,Nova API是OpenStack云计算平台中的一种通信方式,它包括Rest API和RPC API两种类型;Rest API是OpenStack的标准对外接口,RPC API是某个功能模块的远程调用API;
Nova Conductor是OpenStack Nova组件中的一个服务,它的主要作用是作为Nova-Compute与数据库之间的中间件,处理Nova-Compute对数据库的CRUD操作,并通过RPC对外提供API服务;
Nova Scheduler是OpenStack Nova组件的核心组件之一,负责为创建/启动虚拟机实例寻找合适的计算节点,并检查虚拟机迁移时目的端的物理资源是否足够;
Dest Node为目的结点,也即虚拟机或容器当前所在的节点;
Src Node为源节点,也即虚拟机或容器将要迁移到的节点。
工作过程中,通过CLI(命令行界面)和动态资源调度系统用于向Nova API发送迁移请求;并通过requested_numa_nodes参数指定需要迁移至目的宿主的NUMA节点序号;Nova API接收迁移请求后,对其进行基本校验,然后再将迁移请求参数和迁移需要的其他参数转化合并发送至Nova Conductor;Nova Conductor是一个长时任务的执行跟踪组件,它会去Nova Scheduler(资源调度器)请求合适的资源节点;Nova Scheduler会调用NUMAFit算法来做NUMA资源匹配,筛选合适宿主;Nova Conductor获取到调度资源后,再去目的节点(Dest Node)确认资源是否可以迁移,并且获取迁移的详细信息,包括NUMA拓扑信息;这个过程也会调用NUMA Fit算法来做NUMA资源匹配;NUMA Fit算法逻辑中会额外根据requested_numa_nodes参数来校验NUMA cells集合是否匹配,只有序号值完全匹配的情况下,才会继续做后续的资源数据匹配等逻辑;最后,确认资源可以迁移后,在Dest Node和Src Node之间进行虚拟机的迁移。
例如图5和图6所示,有2个计算节点Compute A和B,均有2个NUMA节点,每个NUMA节点有16vcpu(简称c),A机器NUMA0和NUMA1都已经分配了12c,B机器NUMA0和NUMA1都已经分配了8c,如果虚拟机规格规定8c主机要分配到1个NUMA节点上,按照目前资源分配情况,还能分配2个8c的云主机,Compute A上虽然有8个vcpu资源,但无法分配出来;此时,可以主动将Compute A上的两个4c虚拟机同时迁移至Compute B的NUMA0或者NUMA1上,这样就能再分配出3个8c的云主机。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为的具体实施方式。显然,根据本说明书的内容,可做很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (10)
1.一种指定NUMA节点实现虚拟机迁移的方法,其特征在于,包括如下步骤:
S01、通过CLI或者动态资源调度系统向Nova API发送迁移请求,并在Nova API的迁移接口新增requested_numa_nodes参数;
S02、Nova API接收迁移请求后,对其进行校验,再将迁移请求参数和迁移需要的相应参数转化合并发送至Nova Conductor;
S03、Nova Conductor去Nova Scheduler资源调度器请求合适的资源节点,NovaScheduler调用NUMA Fit算法来做NUMA资源匹配,筛选宿主;
S04、Nova Conductor获取到调度资源后,去目的节点确认资源是否可以迁移,并在确定迁移后,获取迁移的详细信息,实现指定NUMA节点序号置放虚拟机的目的。
2.如权利要求1所述的指定NUMA节点实现虚拟机迁移的方法,其特征在于,在Nova API的迁移接口新增requested_numa_nodes参数的步骤如下:
找到Nova API中处理迁移请求的相关代码;
在相关代码中找到用于创建和发送迁移任务请求的函数或方法;
在当前函数或方法中,添加一个新的参数requested_numa_nodes,用于接收用户指定的NUMA节点序号;
在处理迁移请求的逻辑中,根据需要使用requested_numa_nodes参数的值来指定目标宿主机的NUMA节点序号。
3.如权利要求2所述的指定NUMA节点实现虚拟机迁移的方法,其特征在于,Nova API接收迁移请求后,对其进行校验的方法如下:
确认请求中是否包含了所有必需的参数;
获取请求中涉及的实例的当前状态;
根据请求中的目标宿主机的信息,检查其资源是否满足实例的要求;
对实例进行健康检查,以确保实例没有处于错误状态或有任何故障;
验证源和目标网络是否可达,并检查网络配置是否与请求中的信息匹配;
验证客户端是否有足够的权限进行此次迁移操作。
4.如权利要求3所述的指定NUMA节点实现虚拟机迁移的方法,其特征在于,所述NovaConductor是一个长时任务的执行跟踪组件,负责协调和管理数据库操作的任务执行和跟踪。
5.如权利要求4所述的指定NUMA节点实现虚拟机迁移的方法,其特征在于,NUMA资源匹配的逻辑如下:
开始NUMA分配,并将宿主NUMA cel ls根据请求迁移的instance的numa节点数量做全排列;将得到的cells全排列做随机序排列;
遍历上述的随机序排列,并定义空的mismatch集合,用于记录不符合请求instance资源需求的numacel ls;
判断随机序排列是否遍历结束;若判断结果为是,则分配失败,当前宿主不满足NUMA需求;若判断结果为否,则继续判断随机序排列是否和制定的numa排列一致,也即根据requested_numa_nodes参数来校验,判断序号值是否完全匹配;若判断结果为不一致,则重复判断随机序排列是否遍历结束这一步骤;
若判断结果为一致,则继续判断随机序排列中是否包含mismatch的cel l;若判断结果为包含,则继续遍历下一个排列并重复判断随机序排列是否遍历结束这一步骤;若判断结果为不包含,则将排列的所有numa cel l和instance资源需求做匹配,找出不匹配的cell加入mismatch;
判断当前随机序排列所有cel l是否都匹配,若判断结果为是,则分配该排列的NUMA组合给虚拟机;若判断结果为否,则重复判断随机序排列是否遍历结束这一步骤。
6.如权利要求5所述的指定NUMA节点实现虚拟机迁移的方法,其特征在于,NovaConductor获取到调度资源后,去目的节点确认资源是否可以迁移的步骤如下:
Nova Conductor获取到调度资源后,会将该资源的信息发送给目的节点;
目的节点接收到资源信息后,会进行资源的可用性检查,确认该节点是否具有足够的资源来支持实例的迁移;
Nova Conductor根据目的节点的确认信息或错误信息,判断资源是否可以迁移,如果可以迁移,Nova Conductor再次获取相关的迁移信息,如果不可以迁移,则将资源放回原节点,并通知Nova Conductor;
Nova Conductor收到资源放回的通知后,会重新进行资源调度,并将新的资源信息发送给目的节点;
目的节点再次接收到资源信息后,会重复上述步骤,直到资源成功迁移到目的节点为止。
7.如权利要求6所述的指定NUMA节点实现虚拟机迁移的方法,其特征在于,迁移的详细信息包括如下:NUMA拓扑信息、源节点信息、目的节点信息、虚拟机的状态、内存数据以及设备状态信息。
8.指定NUMA节点实现虚拟机迁移的装置,其特征在于,包括:
迁移请求接口扩展模块,用于通过CLI或者动态资源调度系统向Nova API发送迁移请求,并在Nova API的迁移接口新增requested_numa_nodes参数;
迁移请求处理模块,用于在Nova API接收迁移请求后,对其进行校验,再将迁移请求参数和迁移需要的相应参数转化合并发送至Nova Conductor;
资源调度模块,用于通过Nova Conductor去Nova Scheduler资源调度器请求合适的资源节点,并通过Nova Scheduler调用NUMA Fit算法来做NUMA资源匹配,筛选宿主;
迁移确认模块,用于在Nova Conductor获取到调度资源后,去目的节点确认资源是否可以迁移,并在确定迁移后,获取迁移的详细信息,实现指定NUMA节点序号置放虚拟机的目的。
9.指定NUMA节点实现虚拟机迁移的系统,用于实现权利要求1-7任一项所述的指定NUMA节点实现虚拟机迁移的方法,其特征在于,包括CLI、动态资源调度系统、Nova API、Nova Conductor、Nova Scheduler、Dest Node以及Src Node。
10.如权利要求9所述的指定NUMA节点实现虚拟机迁移的系统,其特征在于,CLI和动态资源调度系统向Nova API发送迁移请求;Nova API接收迁移请求后,将迁移请求参数和迁移需要的其他参数转化合并发送至Nova Conductor;Nova Conductor通过Nova Scheduler调用NUMA Fit算法来做NUMA资源匹配,筛选合适宿主;并在确认资源可以迁移后,在DestNode和Src Node之间进行虚拟机的迁移。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311722333.0A CN117850968A (zh) | 2023-12-14 | 2023-12-14 | 一种指定numa节点实现虚拟机迁移的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311722333.0A CN117850968A (zh) | 2023-12-14 | 2023-12-14 | 一种指定numa节点实现虚拟机迁移的方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117850968A true CN117850968A (zh) | 2024-04-09 |
Family
ID=90539128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311722333.0A Pending CN117850968A (zh) | 2023-12-14 | 2023-12-14 | 一种指定numa节点实现虚拟机迁移的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117850968A (zh) |
-
2023
- 2023-12-14 CN CN202311722333.0A patent/CN117850968A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230273937A1 (en) | Conditional master election in distributed databases | |
US11960915B2 (en) | Method and apparatus for creating virtual machine based on parameter information of a virtual network interface card | |
EP1055172B1 (en) | Object hashing with incremental changes | |
US8055902B2 (en) | Method, system, and computer program product for data upload in a computing system | |
US6519615B1 (en) | Method and system for leasing storage | |
KR101700313B1 (ko) | 인스턴스 호스트 구성 | |
US9270703B1 (en) | Enhanced control-plane security for network-accessible services | |
US8966025B2 (en) | Instance configuration on remote platforms | |
CN106406983A (zh) | 一种集群中的任务调度方法及装置 | |
WO2005017745A2 (en) | On demand node and server instance allocation and de-allocation | |
US6728737B2 (en) | Method and system for leasing storage | |
US10360057B1 (en) | Network-accessible volume creation and leasing | |
CN110650216A (zh) | 云服务请求方法和装置 | |
CN111158949A (zh) | 容灾架构的配置方法、切换方法及装置、设备和存储介质 | |
CN112988751A (zh) | 基于区块链的定时任务调度方法及装置 | |
CN111163140A (zh) | 资源获取和分配的方法、装置和计算机可读存储介质 | |
CN111970162B (zh) | 一种超融合架构下的异构gis平台服务中控系统 | |
CN110659303A (zh) | 一种数据库节点的读写控制方法及装置 | |
CN117850968A (zh) | 一种指定numa节点实现虚拟机迁移的方法、装置及系统 | |
CN114221971B (zh) | 数据同步方法、装置、服务器、存储介质及产品 | |
CN111683164B (zh) | 一种ip地址的配置方法及vpn服务系统 | |
CN110929269B (zh) | 系统权限管理方法、装置、介质及电子设备 | |
CN114064317A (zh) | 分布式系统中的节点调用方法及相关装置 | |
CN109257201B (zh) | 一种License的发送方法和装置 | |
CN116805947B (zh) | 区块链数据处理方法、装置、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |