CN104011683B - 虚拟机管理方法以及虚拟机管理装置 - Google Patents
虚拟机管理方法以及虚拟机管理装置 Download PDFInfo
- Publication number
- CN104011683B CN104011683B CN201280064275.0A CN201280064275A CN104011683B CN 104011683 B CN104011683 B CN 104011683B CN 201280064275 A CN201280064275 A CN 201280064275A CN 104011683 B CN104011683 B CN 104011683B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- memory
- dynamic migration
- cost
- access
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Abstract
本发明提供虚拟机管理程序、方法以及装置。在虚拟机的通常动作时也能够简便地获取进行动态迁移时有用的信息,或者能够进行高效的计划/执行。其是管理虚拟机的动态迁移的程序,使用对分配给上述虚拟机的存储器的访问数进行计数的访问计数器的计数值、上述存储器的容量、以及在动态迁移时的物理机间的数据传输的带宽,来推定执行上述虚拟机的动态迁移时的成本,并且,进行动态迁移的计划的制定以及执行。
Description
技术领域
本发明涉及针对虚拟机的管理程序、方法以及装置。
背景技术
近年来,用于在物理机(PM:Physical Machine)上,运行虚拟机(VM:VirtualMachine)的虚拟机技术(虚拟化技术)被实际应用。通过利用该虚拟机技术,能够在一个物理机上,运行多个虚拟机。而且,能够按每个虚拟机使不同的操作系统、应用程序动作。
通过对服务器导入虚拟机技术,能够将多个被虚拟化的服务器集中到一个物理服务器。该集中是合理的,结果也引起成本削减。然而,若例如发生各机器的负载状况的变化等,则存在集中的虚拟机之一给其他的虚拟机带来影响的情况。因此,在这样的虚拟机技术中,具有几乎不使虚拟机所提供的服务停止地将其移动到其它的物理机的动态迁移(LiveMigration)技术。
关于动态迁移,对其概要进行说明。大致来分,动态迁移具有“预拷贝方式”和“后拷贝方式”。为了进行动态迁移,而进行成为动态迁移的目标的虚拟机的至少物理存储器的内容以及储存器的切换、网络的切换等。所谓的预拷贝方式是指在预先移动了该物理存储器的内容后使CPU的状态发生移动的方式。与此相对,后拷贝方式是指不移动物理存储器的内容地使CPU的状态等发生移动的方式。在该情况下,物理存储器的内容没有移动到移动目的地的机器,所以使移动目的地的机器的虚拟存储器系统的地址转换表成为空的状态。由于这样,在移动目的地机器中在CPU访问存储器时,在初始的阶段,在物理存储器中不存在目的数据。因此,产生页面错误,为了应对该错误,从硬盘向物理存储器填充所需要的页。
此外,由于两种方式都实现对硬盘等大容量存储器共享化,所以无需硬盘上的大量的数据的移动。
以往,具有对动态迁移请求进行动态迁移可否判断,在该可否判断结果是否定的情况下,中止动态迁移的技术(例如,专利文献1)。该技术使各VM具有安全级别的属性,不使安全级别“低”的VM和安全级别“高”的VM在相同的计算机上动作。由此,避免由于安全级别“低”的VM的不良情况,而使安全级别“高”的VM的执行受到威胁的情况。
另外,具有在将迁移移至执行之前的阶段,基于负载信息来判断迁移的必要性从而中止不必要的迁移的技术(例如,专利文献2)。此外,作为负载信息,专利文献2仅限于提示了转移源、转移目的地服务器、虚拟机的CPU使用率、存储器使用率。
另外,具有推算虚拟机从当前运行的物理机移动到其他的物理机所需要的时间即移动所需时间的技术(例如,专利文献3以及专利文献4)。在专利文献3以及4中,公开有使用存储器变更率,能够推算存储器传输时间的技术。
另外,具有使用计数器的值,来对二个连续的帧之间的图像的差异的大小进行判定的技术,该计数器对针对照相机的帧存储器发生了几次写入访问进行计数(例如,专利文献5)。
将在动态迁移的存储器传输中改写存储器的比例(即,必须再次执行拷贝的比例)称为更改率(存储器变更率)。更改率是存储器变更量除以存储器传输量所得的值。在该更改率过高的情况下,也发生不能使存储器传输结束的情况。此时,有时也进行使上下文停止,来强制地结束存储器传输的安装。在该情况下,存在服务停止的时间超出允许范围的可能性。必须避免超过与提供虚拟机的服务的顾客之间的服务等级协议(SLA)所规定的服务停止时间的限度。因此,为了避免这样的长期的服务停止,存在也进行中止目标虚拟机的动态迁移,并代替其对其他的虚拟机执行动态迁移,来确保负载均衡的情况。
因此,需要通过进行动态迁移来预先防止上下文停止持续较长期间这样的状态、动态迁移的中止。因此,在进行动态迁移之前的通常的动作时,需要尽量减少施加给物理机的负载,掌握存储器的更改率,预测动态迁移执行时的存储器传输时间。
此外,若将存储器的容量设为M、将动态迁移时所使用的数据传送带宽(传输吞吐量)设为tp、将更改率(存储器变更量除以存储器传输量所得的值)设为r,则动态迁移所需要的存储器传输时间的预测值T通过以下的式子给出。
T=M/{tp(1-r)}……(1)
因此,只要能够得到通常时的更改率,则能够推定动态迁移时的存储器传输时间。
然而,一般地,在该更改率的检测中,伴随有开销。动态迁移中的更改率的检测的方法如下。首先,将拷贝完毕区域硬件性地设定为写入禁止区域。而且,软件性地捕获对写入禁止区域的写入请求。通过该捕获,使规定的程序动作,检测对特定的区域的写入,并保存表示发生了写入的信息。每次捕获写入,该处理都使处理程序动作,所以产生开销。因此,为了在通常动作中检测更改率,而利用了该结构的情况下,产生较大的开销。这压制虚拟机的通常的处理。
因此,期望在未执行动态迁移的通常动作时,简便地掌握存储器更改率、预拷贝中的存储器传输时间的推定值的技术。
专利文献1:日本特开2010-238044号公报
专利文献2:日本特开2011-108014号公报
专利文献3:日本特开2011-138184号公报
专利文献4:日本特愿2010-233020号
专利文献5:日本特开2006-243940号公报
发明内容
在一个侧面,本发明的目的在于在进行动态迁移时获取有用的信息。
根据一个实施方式提供一种程序,是管理虚拟机的动态迁移的程序,其使计算机执行使用对分配给上述虚拟机的存储器的访问数进行计 数的访问计数器的计数值、上述存储器的容量、以及动态迁移中的物理机间的数据传输的带宽,来推定执行上述虚拟机的动态迁移时的成本的处理。
根据实施方式,能够在进行动态迁移时简便地获取有用的信息。
附图说明
图1是表示虚拟机的动态迁移的例子的图。
图2是表示存储器的拷贝的顺序的图。
图3是表示本发明的实施例的装置的整体结构的图。
图4是表示一个实施例的图。
图5是表示一个实施例的图。
图6是表示一个实施例的图。
图7是表示一个实施例的图。
图8是表示配置管理部的处理流程的图。
图9是表示VM管理部中的计数器的处理的图。
图10是表示动态迁移的计划制定与执行的例子的图。
图11是表示动态迁移的一系列的处理的其他的例子的图。
图12是一个实施例中的功能框图。
图13是表示服务器以及虚拟机管理装置的硬件结构的图。
具体实施方式
以下,使用附图对本发明的实施例进行详细说明。此外,应当注意以下的实施例是用于理解发明的例子,而不是限定本发明的范围的例子这一点。另外,以下的多个实施例不是相互排斥的实施例。因此,应当注意只要不产生矛盾,也可考虑组合实施例的各要素。另外,技术方案 所记载的方法、程序所涉及的发明只要不矛盾也可以更换处理的顺序,或者也可以同时实施多个处理。而且,这些实施方式当然也包含于技术方案所记载的发明的技术性范围内。
在本发明的实施例中,以采用上述的预拷贝方式为前提。
以下对预拷贝方式的概略进行说明。
图1示有虚拟机的动态迁移的例子。在作为物理机的服务器110上,虚拟机B111在VM管理部115的管理下动作。该虚拟机B111管理自身的虚拟存储器空间。将虚拟机B111所管理的虚拟存储器中的存在于服务器110的物理存储器的物理存储器区域设为存储器A112。对在该状态下,执行动态迁移,将该虚拟机B111转送至服务器120,并使其作为服务器120上的虚拟机B'121来动作的情况进行说明。服务器120具有VM管理部125。而且将虚拟机B'121所管理的虚拟存储器空间中的应该拷贝到服务器120的物理存储器的物理存储器区域设为存储器A’122。
图2示有物理存储器的拷贝的顺序。为了采用上述的预拷贝方式,进行动态迁移,首先,需要将处于虚拟机B111的管理下的物理存储器A112的内容拷贝到服务器120上的物理存储器A'122。(如已经叙述的那样,由于两个服务器对硬盘进行共享化,所以被换出到硬盘的虚拟存储器区域无需拷贝。)
在时刻t1,存储器A112的内容与存储器A’122的内容不同。
在时刻t2,开始将存储器A112的内容的全部信息222拷贝到存储器A’122的动作。在该拷贝期间,存储器A112也改写内容。
在时刻t3,开始将在紧前的传输过程中改写的数据224拷贝到A'122的动作。在该拷贝期间,存储器A112也改写内容。
在时刻t4,开始将在紧前的传输过程中改写的数据226拷贝到A'122的动作。在该拷贝期间,存储器A112也改写内容。
在时刻t5,开始将在紧前的传输过程中改写的数据228拷贝到A'122的动作。在该拷贝期间,存储器A112也改写内容。
在剩余的拷贝预计时间成为例如1秒以下(或者,应该拷贝的剩余的数据量成为规定量以下)之前反复以上的处理。在时刻tn,在拷贝预计时间成为1秒以下的情况下,使虚拟机B111的上下文停止。而且,将剩余的拷贝部分从存储器A112拷贝到存储器A’122,并且将虚拟机B111的CPU内的注册表信息等拷贝到虚拟机B'122。另外,进行储存器的切换、网络的切换等。
之后,启动虚拟机B'121。通过这一系列的处理,将虚拟机B从服务器110动态迁移到服务器120。
如上所述,由于进行动作的虚拟机的存储器继续被变更,所以为了无差异地拷贝,需要经过多次的拷贝操作。
实施例
图3示有本发明的实施例的装置的整体结构。如图3所示,虚拟机管理装置310、服务器1、服务器2、以及服务器3通过网络NW连接。这些均为物理机。在服务器1中,虚拟机VM1、VM2以及VM3动作。这些虚拟机处于VM管理部1的管理下。VM管理部1掌握多个虚拟机的各自的动作状态,并且将包含与外部的接口的虚拟的机器环境提供给虚拟机。另外,VM管理部1也可以与虚拟机管理装置310协作,进行动态迁移的执行。同样,在服务器2中,在VM管理部2的管理下,虚拟机VM4、VM5以及VM6动作。在服务器3中,存在VM管理部3。图3示出服务器1中的虚拟机VM1以及VM2已作出通过动态迁移移动到服务器3的准备。
虚拟机管理装置310掌管存在于服务器1、服务器2、以及服务器3的虚拟机整体的管理。而且,配置管理部312基于包含多个虚拟机的动作状态、物理机的动作状态、操作人员的指示的信息,来计划虚拟机的动态的重新配置,并通过动态迁移来执行该计划。另外,配置管理部312也可以监视进行动态迁移的状况,并进行动态迁移的中止。
此外,图3中的各个物理机的壳体没必要是分立的。另外,配置管理部312也可以存在于虚拟机所存在的物理机上。另外,各物理机也可以通过网络NW以外的通信功能进行信息传送。或者,也可以网络NW 与其他的通信功能两者配合来进行信息传送。只要使用多个信息传送的手段扩宽频带宽度,就能够缩短动态迁移所花费的时间。
图4示有一个实施例。图4(a)示有服务器1的功能框图。图4(b)示有服务器1的硬件框图。此外,应当注意为了有助理解,将作为服务器1的功能框图的图4(a)与作为服务器1的硬件框图的图4(b)上下配置,并且为了明白数据的流向描画有箭头这一点。
在图4(a)中,VM管理部管理虚拟机VM1、VM2以及VM3。在VM管理部,与虚拟机VM1、VM2、VM3对应地设置有分别对针对存储器的访问进行计数的计数器401、402、403。在图4(b)中,服务器1也可以包含CPU440、物理存储器460以及访问计数器450。访问计数器450为由硬件构成的部件。
这里,所谓的硬件意味着包含布线逻辑或者微程序的硬件。
在图4(b)中,访问计数器450以与物理存储器460邻接的方式设置,但访问计数器的位置也可以处于CPU等其他的场所。而且,VM管理部也可以使用定时器中断等,定期地对访问计数器450进行读出。VM管理部基于访问计数器450的值,将对应的虚拟机的访问数分配并累计地保存到分别与VM1、VM2、VM3对应地设置的计数器401、402、403。其结果,计数器401、402、403中分别保存VM1、VM2、VM3的访问数。此外,也可以每当虚拟机进行切换(每当上下文进行开关)时访问计数器450就进行复位。
此外,在本实施例中,是一个访问计数器450,所以不能够获取各存储器的哪个位置被改写了的信息。因此,将动态迁移中的存储器传输的单位设为页,若例如将权重设为α、将1页的容量设为W、将计数器401的值所记录的每单位时间的存储器写入次数设为n、将每单位时间的传输量(即吞吐量)设为tp,则VM1所管理的物理存储器的更改率r能够通过以下的式子来表示。
r=αnW/tp……(2)
这里,权重α是考虑了对相同的页进行多次写入的值。即,即使对相同的页进行多次写入,再次传输的页也可以只是该页。因此,α是比 1小的权重。
因此,若将式(2)应用到上述的式(1),则VM1所管理的存储器的预想传输时间TVM1能够通过以下的式子来表示。
TVM1=M/{tp(1-αnW/tp)}……(3)
此外,在访问计数器450是对写入和读入这两者的访问次数进行计数的访问计数器的情况下,若将访问计数器的所有计数值中的写入的计数值的比例设为β,则VM1所管理的存储器的预想传输时间TVM1能够通过以下的式子来表示。
TVM1=M/{tp(1-βαnW/tp)}……(4)
该传输时间TVM1为动态迁移时的存储器传输时间的推定值。而且,传输时间TVM1是消耗时间上的资源的量,所以也可以识别为针对VM1的动态迁移的推定成本。
上述的权重α与存储器的访问的分散的程度相关。α以及β通过在虚拟机动作时统计性地测定来获取,也可以预先设定。另外,也可以以虚拟机为单位预先设定独立的值。另外,也可以根据在虚拟机上动作的应用程序,来预先设定。
在计数器401、402、403中分别与VM1、VM2、VM3对应地累计地保存存储器访问次数。在计算每单位时间的访问次数时,也可以通过求出单位时间的开始时的计数器的值与单位时间的结束时的计数器的值的差来计算。或者,也可以按照每个单位时间读出计数器的值,并在读出后对计数器进行复位。也可以在配置管理部312等中利用这些计数器的内容。此外,对于配置管理部312的动作,使用图10以及图11后述。
图5示有其他的实施例。为了测定各种性能,在CPU内,设置有多个性能计数器。也可以使用作为对物理存储器460的写入访问进行计数的性能计数器的访问计数器550。图5中的其他的结构与图4相同,所以标注相同的参照符号。该访问计数器550的利用方法也可以与图4所示的访问计数器450相同。访问计数器550是由硬件构成的计数器, 所以由访问计数器550的使用所引起的对CPU的负载非常小。此外,在本说明书中,所谓的硬件意味着包含硬连接、微程序的硬件。因此,即使在未执行动态迁移的通常的作业时,通过上述的式(3),也能够得到存储器传输时间的推定值(推定成本)。与此相对,如上述那样将存储器设为写入禁止状态,在通常的处理中导入软件性地对存储器写入的访问进行捕获并计数的处理,开销会增加。该开销压制通常的处理。与此相对,根据本实施例,用于计算存储器传输的推定值的处理具有几乎不对通常的处理带来影响这样的较大的优点。
除此以外,像这样,通过预先得到各虚拟机的动态迁移所需要的推定成本,能够制定更加准确的动态迁移的执行计划。此外,执行计划的制定的具体的说明使用图10以及图11后述。
图6示有另外的其它的实施例。此外,对于与图4以及图5相同的构成要素标注相同的参照编号。多个访问计数器650是分别与多个虚拟机对应地设置为硬件的存储器访问计数器。因此,例如,VM1专用的访问计数器存在于多个访问计数器650内。因此,在本实施例的情况下,VM管理部读出与各虚拟机对应的访问计数器的内容。而且,将该值累计到与VM管理部内的各虚拟机对应的计数器即可。
只要访问计数器650是对写入访问进行计数的部件,使用式(3),就能够计算出存储器传输时间的推定值。另外,只要访问计数器650是对读出以及写入访问进行计数的部件,使用式(4),就能够计算出存储器传输时间的推定值。
图7示有以物理存储器460的页为单位设置有访问计数器751、752、753至799的另外的其它的实施例。例如也可以按照在虚拟存储器系统中存储器访问管理所使用的页为单位来设置该访问计数器。该页也可以与物理存储器460和动态存储装置(未图示)之间的存储器交换的传输单位相同。另外,该页也可以与动态迁移时的存储器传输单位相同。在集中多个访问计数器751、752、753至799,来作为一个计数器来处理的情况下,也可以进行与图4所示的实施例1相同的处理。即,也可以将各存储器区域的访问计数器的值汇总为各虚拟机的存储器访问数,并累计到对应的虚拟机的计数器。
在以上的实施例中,各虚拟机的存储器访问数被累积到VM管理部的对应的计数器。存储器传输时间的推定值同样能够通过上述的式(3)或者式(4)求出。
此外,在本实施例的情况下,以VM1为例,例如也可以进行以下的处理。
首先,设立以下的前提条件。
(1)设为在物理存储器460中存在L个页。代替与VM管理部的各虚拟机对应的计数器401、402、403,在VM管理部设置L个计数器(未图示),分别与L个访问计数器对应。L个计数器将初始值设为零。
而且,使用定时器中断执行以下的处理。
(A)通过定时器中断定期地分别对L个访问计数器进行读出,并使用读出的值,对VM管理部的对应的L个计数器的各自独立地进行累计。
(B)使用定时器中断,以单位时间(例如,用于计算更改率的单位时间)间隔,对与分配给VM1的页对应的VM管理部的计数器进行读出,并查找具有比零大的值的计数器的个数(例如j个)。对其他的虚拟机也同样地进行查找。对VM管理部的L个计数器进行零复位。
在以上的处理中,例如VM1中的存储器更改率rVM1是存储器变更量除以传输量所得的值,所以将1页的容量设为W、每单位时间的传输量(即吞吐量)设为tp,也可以根据以下的式子求出。
rVM1=jW/tp……(5)
该更改率rVM1能够随着数据获取时刻变动。因此,也可以依次累积,例如求出移动平均来利用。此外,在物理存储器460中,采用动态地变更分配给各虚拟机的物理存储器的页数的设计思想的情况下,需要注意该更改率rVM1是近似值这一点。
而且,能够根据该更改率,使用式(1),计算出存储器传输时间的推定值。
本领域技术人员能够从上述的实施例中想出其他的变形例。
也可以通过以上的实施例,将VM管理部所具备的计数器的值发送至存在于虚拟机管理装置310的配置管理部312。配置管理部312也可以计算出存储器传输时间的推定值。
此外,在以上的实施例中,利用了针对存储器访问的计数器。作为其他的变形例,也可以利用对TLB(Translation Look aside Buffer:翻译后备缓冲器)(未图示)的参照次数进行计数的性能计数器。CPU为了访问存储器,需要从虚拟地址转换到物理地址。因此,在虚拟存储器系统中,具有将虚拟地址与物理地址建立对应的地址转换表。TLB用于缓存该地址转换表,能够高速地访问。因此,CPU为了将虚拟存储器地址转换为物理存储器地址,每次存储器访问都参照TLB。因此,TLB参照次数与存储器访问次数一致,或者具有较强的相关性。因此,在使用对TLB的参照次数进行计数的计数器的情况下,能够采用与图4或者图5所示的实施例相同的方法。
图8示有配置管理部312的处理流程。
在步骤802中,获取累积在VM管理部的每个VM的存储器访问数。
在步骤804中,通过上述的式(1)、(3)或者(4),计算虚拟机的存储器传输时间的推定值。也可以将该存储器传输时间的推定值称为迁移的推定成本。
在步骤820中,也可以将该推定成本输出至显示装置。此外,显示也可以在任意的步骤中进行。
在步骤806中,也可以将推定成本与规定的阈值进行比较。若该判断为“是”,则进入步骤808。若为“否”,则返回到步骤802。
在步骤808中,也可以将具有超过阈值的推定成本的虚拟机从动态迁移的对象中除去。为了后面的配置计划的制定,也可以将应该除去的虚拟机的列表累积到存储器。或者,若该虚拟机的动态迁移是执行中,则也可以中止动态迁移。
在步骤810中,在全部的虚拟机中,检查是否剩有处理。若判断结 果为“否”,则为结束了全部的虚拟机中的处理。若判断结果为“是”,则返回到步骤802,执行针对下一个虚拟机的处理。此外,在显示输出步骤820中,也可以显示成为动态迁移的对象外的虚拟机的列表、存储器更改率等各种信息。
图8的处理也可以通过定时器中断来执行。或者,也可以根据操作人员的指示来执行。
图9示有VM管理部中的计数器的处理的一个例子。该处理也可以利用定时器中断来执行。
步骤902示有以定时器触发为契机,发生中断,并移至该处理。
在步骤904中,对存储器访问计数器进行读出。如上述那样,存储器访问计数器根据物理机的设计思想存在各种方式。
在步骤906中,确定在对存储器访问计数器进行读出的时刻动作的虚拟机。该确定是VM管理部自身识别的处理。
在步骤908中,将读出值计入对应的虚拟机的计数器。访问计数器的读出的间隔能够通过设定定时器中断的间隔来变更。优选该定时器中断的间隔比虚拟机切换的间隔短。通过这样,可知在某个虚拟机动作期间,访问计数器的值会增加多少。也可以将该增加的值累计到VM管理部的对应的计数器。在访问计数器能够复位的情况下,也可以在切换了虚拟机时复位。或者,也可以在能够对访问计数器设置值的情况下,在切换了虚拟机时,对VM管理部的计数器的值进行设置,到切换为其他的虚拟机为止,使访问计数器计数。而且,也可以将访问计数器的计数完的结果覆盖到VM管理部的计数器。另外,也可以在切换了虚拟机时,执行该处理。
在以上的处理中,也可以使定时器中断结束,返回到中断前的处理。
图10示有配置管理部312所进行的动态迁移的计划制定和执行的例子。
在步骤1002中,判断动态迁移的必要性。作为判断的要素,列举操作人员的指示、在特定的物理机中的运行率的上升、预定的运行率的 上升、物理机的维护、VM管理部的升级、以节约能源等为目的的虚拟机向物理机的集中、同与运行率等相关的特定的物理机的相关性等。若判断结果为“否”,则处理结束。若判断结果为“是”,则移至步骤1004。在以下的处理中,想要结合图3和图12来参照。
在步骤1004中,通过配置管理部312(1210)内的配置计划部1212,进行配置计划的制定。作为配置计划的一个例子,将虚拟机按照推定成本(存储器传输时间的推定值)从小到大的顺序排列。而且,以从该顺序的前端的虚拟机开始依次执行动态迁移的方式订立配置计划。移动目的地的物理机可以选定物理机运行率最小的机器,或者,也可以预先设定。或者,也可以考虑操作人员的指定。
在步骤1006中,基于制定的配置计划,执行动态迁移。如结合图8说明的那样,也可以在动态迁移的执行中,在推定成本超过阈值的情况下,中止动态迁移。
图11示有动态迁移的一系列的处理的其他的例子。
步骤1102示有发生动态迁移的请求。示出该处理已开始。
在步骤1104中,根据每个虚拟存储器的计数器的读出值,计算访问频率。
在步骤1106中,根据每个虚拟存储器的访问频率,计算更改率。
在步骤1108中,至少根据存储器量、更改率、传输频带宽度,来计算存储器传输时间的推定值,即动态迁移的推定成本。
在步骤1110中,将每个虚拟机的动态迁移推定成本按照升序排序。
在步骤1112中,将动态迁移推定成本低的虚拟机设定为暂时的移动对象。研究其他的成本(例如,与其他的虚拟机的相关关系、进行稳定的动作的重要程度、将来的成本的变动重要因素等)。
在步骤1114中,订立配置计划,使得从在上述步骤1112中研究出的结果的成本效益适当的虚拟机中执行动态迁移。此外,为了选择适当的值,也可以预先设定考虑了步骤1112中的各种研究重要因素的评价 函数,基于该评价函数的输出结果,制定包含最佳的动态迁移的顺序的配置计划。
在步骤1116中,基于配置计划依次执行动态迁移。
在步骤1118中,如在图8的说明中已经叙述的那样,即使是在执行动态迁移中,在成本较大的情况下,也可以中止动态迁移。
通过以上的处理,执行动态迁移。此外,上述的各步骤在不产生矛盾的范围内,也可以更换顺序来执行,另外,也可以同时执行。
图12示有一个实施例中的功能框图。
访问计数器1202是针对存储器的访问计数器。
计数器累积部1204是例如以虚拟存储器为单位累计并累积访问计数器1202的内容的计数器的集合。
成本推定部1206根据计数器累积部的值、传输频带宽度、虚拟机的物理存储器容量等,来计算存储器传输时间的推定值,并将其推定为动态迁移的成本。该成本推定部1206也可以是以下叙述的配置管理部1220的一部分。
显示部1208也可以显示各虚拟机的推定成本、更改率、配置计划、动态迁移的进展的内容等。
配置管理部1220包含配置控制部1210、配置计划部1212、迁移执行部1214。如上述那样,成本推定部1206也可以包含在其中。
配置计划部1212也可以将动态迁移推定成本小的设定为暂时的移动对象。也可以研究其他的成本(例如,与其他的虚拟机的相关关系、进行稳定的动作的重要程度、将来的成本的变动重要因素等)。而且,也可以以从整体的成本效益适当的开始执行动态迁移的方式订立配置计划。此外,为了选择适当的值,也可以预先设定考虑了各种研究重要因素的评价函数,并基于该评价函数的输出结果,制定包含最佳的动态迁移的顺序的配置计划。
迁移执行部1214基于配置计划,执行迁移。
配置控制部1210掌管与迁移有关的整体的管理。例如,即使是在执行动态迁移中,在成本较大的情况下,也可以中止动态迁移。
图13示有作为物理机的服务器以及虚拟机管理装置310的硬件构成。
物理机也可以包含CPU1302、ROM1304、驱动器装置1306、RAM1310、网络控制器1312、HDD1314。它们通过总线1316连接。
CPU中也可以包含性能计数器1303。另外驱动器装置能够对储存有程序等的存储介质1308进行读写。CPU能够执行从存储介质1308读入的程序。
此外,本实施方式的程序能够储存在存储介质1308。所谓的存储介质1308是指具有构造(structure)的一个以上的非暂时(non-transitory)的、有形(tangible)的存储介质。作为例示,作为可搬记录介质1440具有磁记录介质、光盘、光磁记录介质、非易失性存储器等。在磁记录介质中具有HDD、软盘(FD)、磁带(MT)等。光盘中具有DVD(DigitalVersatile Disc:数字多功能光盘)、DVD-RAM、CD-ROM(Compact Disc-Read OnlyMemory:光盘-只读存储器)、CD-R(Recordable:可写)/RW(ReWritable:可擦写)等。另外,光磁记录介质中具有MO(Magneto-Optical disk:磁光盘)等。
图中符号说明:
1202…访问计数器;1204…计数器累积部;1206…成本推定部;1208…显示部;1210…配置控制部;1212…配置计划部;1214…迁移执行部;1220…配置管理部。
Claims (16)
1.一种虚拟机管理方法,管理虚拟机的动态迁移,其特征在于,具有:
使用对分配给所述虚拟机的存储器的访问数进行计数的访问计数器的计数值、所述存储器的容量、以及在动态迁移中的物理机间的数据传输的带宽,来推定执行所述虚拟机的动态迁移时的成本的处理;和
在推定出的所述成本超过规定的阈值的情况下,从动态迁移的执行对象中除去所述虚拟机,或者,在所述虚拟机的动态迁移的执行过程中中止动态迁移的执行的处理。
2.根据权利要求1所述的虚拟机管理方法,其特征在于,
所述成本是存储器传输时间。
3.根据权利要求1或2所述的虚拟机管理方法,其特征在于,具有:
基于推定出的所述成本,制定多个虚拟机的动态迁移的配置计划,
基于所述配置计划,来进行动态迁移的处理。
4.根据权利要求1或2所述的虚拟机管理方法,其特征在于,
所述访问计数器对针对存储器的写入次数进行计数。
5.根据权利要求1或2所述的虚拟机管理方法,其特征在于,
所述进行推定的处理还包含与多个虚拟机分别对应地累计所述访问计数器的值的处理。
6.根据权利要求1或2所述的虚拟机管理方法,其特征在于,
所述访问计数器包含与多个虚拟机分别对应的多个访问计数器。
7.根据权利要求1或2所述的虚拟机管理方法,其特征在于,
所述访问计数器包含与所述存储器所包含的多个存储器区域分别对应的多个访问计数器,
所述进行推定的处理还包含与所述多个存储器区域分别对应地累计所述多个访问计数器的值的处理。
8.根据权利要求1或2所述的虚拟机管理方法,其特征在于,
推定出的所述成本表示在所述虚拟机的迁移中在物理机间传输所述存储器的内容所需要的推定时间。
9.一种虚拟机管理装置,管理虚拟机的动态迁移,其特征在于,具有:
成本推定部,其使用对分配给所述虚拟机的存储器的访问数进行计数的访问计数器的计数值、所述存储器的容量、以及动态迁移中的物理机间的数据传输的带宽,来推定执行所述虚拟机的动态迁移时的成本,
配置控制部,其在推定出的所述成本超过规定的阈值的情况下,从动态迁移的执行对象中除去所述虚拟机,或者,在所述虚拟机的动态迁移的执行过程中中止动态迁移的执行。
10.根据权利要求9所述的虚拟机管理装置,其特征在于,
所述成本是存储器传输时间。
11.根据权利要求9或10所述的虚拟机管理装置,其特征在于,具有:
配置计划部,其基于推定出的所述成本,制定多个虚拟机的动态迁移的配置计划;以及
迁移执行部,其基于所述配置计划,来进行动态迁移。
12.根据权利要求9或10所述的虚拟机管理装置,其特征在于,
所述访问计数器对针对存储器的写入次数进行计数。
13.根据权利要求9或10所述的虚拟机管理装置,其特征在于,
所述成本推定部与多个虚拟机分别对应地累计所述访问计数器的值。
14.根据权利要求9或10所述的虚拟机管理装置,其特征在于,
所述访问计数器包含与多个虚拟机分别对应的多个访问计数器。
15.根据权利要求9或10所述的虚拟机管理装置,其特征在于,
所述访问计数器包含与所述存储器所包含的多个存储器区域分别对应的多个访问计数器,
所述成本推定部与所述多个存储器区域分别对应地累计所述多个访问计数器的值。
16.根据权利要求9或10所述的虚拟机管理装置,其特征在于,
推定出的所述成本表示在所述虚拟机的迁移中在物理机间传输所述存储器的内容所需要的推定时间。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/050273 WO2013105217A1 (ja) | 2012-01-10 | 2012-01-10 | 仮想マシン管理プログラム、方法、及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104011683A CN104011683A (zh) | 2014-08-27 |
CN104011683B true CN104011683B (zh) | 2017-07-07 |
Family
ID=48781195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280064275.0A Active CN104011683B (zh) | 2012-01-10 | 2012-01-10 | 虚拟机管理方法以及虚拟机管理装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9262227B2 (zh) |
EP (1) | EP2804100B1 (zh) |
JP (1) | JP5817844B2 (zh) |
KR (1) | KR101586598B1 (zh) |
CN (1) | CN104011683B (zh) |
WO (1) | WO2013105217A1 (zh) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9027024B2 (en) * | 2012-05-09 | 2015-05-05 | Rackspace Us, Inc. | Market-based virtual machine allocation |
US9081599B2 (en) | 2013-05-28 | 2015-07-14 | Red Hat Israel, Ltd. | Adjusting transfer rate of virtual machine state in virtual machine migration |
JP6217302B2 (ja) * | 2013-10-15 | 2017-10-25 | 富士通株式会社 | ストレージ管理装置、情報処理システムおよびストレージ管理プログラム |
US9720728B2 (en) | 2013-12-06 | 2017-08-01 | Huawei Technologies Co., Ltd. | Migrating a VM when the available migration duration times of a source and destination node are greater than the VM's migration duration time |
CN103685256B (zh) * | 2013-12-06 | 2017-08-04 | 华为技术有限公司 | 一种虚拟机迁移管理方法、装置及系统 |
JP6372074B2 (ja) | 2013-12-17 | 2018-08-15 | 富士通株式会社 | 情報処理システム,制御プログラム及び制御方法 |
US9436751B1 (en) * | 2013-12-18 | 2016-09-06 | Google Inc. | System and method for live migration of guest |
US9530007B1 (en) * | 2014-08-26 | 2016-12-27 | Amazon Technologies, Inc. | Identifying tamper-resistant characteristics for kernel data structures |
US9767276B1 (en) | 2014-08-26 | 2017-09-19 | Amazon Technologies, Inc. | Scanning kernel data structure characteristics |
US9575793B1 (en) | 2014-08-26 | 2017-02-21 | Amazon Technologies, Inc. | Identifying kernel data structures |
US9507621B1 (en) | 2014-08-26 | 2016-11-29 | Amazon Technologies, Inc. | Signature-based detection of kernel data structure modification |
US9594649B2 (en) | 2014-10-13 | 2017-03-14 | At&T Intellectual Property I, L.P. | Network virtualization policy management system |
US10067800B2 (en) * | 2014-11-06 | 2018-09-04 | Vmware, Inc. | Peripheral device sharing across virtual machines running on different host computing systems |
US9612765B2 (en) * | 2014-11-19 | 2017-04-04 | International Business Machines Corporation | Context aware dynamic composition of migration plans to cloud |
JP2016184252A (ja) * | 2015-03-26 | 2016-10-20 | 日本電気株式会社 | ライブマイグレーション管理方法および装置 |
JP6319770B2 (ja) * | 2015-07-27 | 2018-05-09 | 日本電信電話株式会社 | コンテナのマイグレーションシステム及び方法 |
CN107924328B (zh) * | 2015-09-25 | 2023-06-06 | 英特尔公司 | 选择虚拟机进行迁移的技术 |
US10853111B1 (en) * | 2015-09-30 | 2020-12-01 | Amazon Technologies, Inc. | Virtual machine instance migration feedback |
US9336042B1 (en) * | 2015-11-19 | 2016-05-10 | International Business Machines Corporation | Performing virtual machine live migration within a threshold time by adding available network path in multipath network |
WO2017101100A1 (en) * | 2015-12-18 | 2017-06-22 | Intel Corporation | Virtual machine batch live migration |
JP2017146791A (ja) * | 2016-02-17 | 2017-08-24 | 日本電信電話株式会社 | クラスタ内マイグレーション管理システム、クラスタ内マイグレーション管理方法、管理サーバ及びプログラム |
US10334044B1 (en) * | 2016-03-30 | 2019-06-25 | EMC IP Holding Company LLC | Multi-cloud data migration in platform as a service (PAAS) environment |
US11487566B2 (en) * | 2016-06-28 | 2022-11-01 | Vmware, Inc. | Cross-cloud provider virtual machine migration |
JP6638818B2 (ja) * | 2016-08-25 | 2020-01-29 | 富士通株式会社 | 生存管理プログラム、生存管理方法、および生存管理装置 |
CN107870916A (zh) * | 2016-09-23 | 2018-04-03 | 伊姆西Ip控股有限责任公司 | 存储管理方法及设备 |
US10740466B1 (en) | 2016-09-29 | 2020-08-11 | Amazon Technologies, Inc. | Securing interfaces of a compute node |
US10671426B2 (en) | 2016-11-28 | 2020-06-02 | Arm Limited | Data processing |
US10423446B2 (en) | 2016-11-28 | 2019-09-24 | Arm Limited | Data processing |
US10552212B2 (en) * | 2016-11-28 | 2020-02-04 | Arm Limited | Data processing |
JP6882662B2 (ja) * | 2016-11-29 | 2021-06-02 | 富士通株式会社 | マイグレーションプログラム、情報処理装置およびマイグレーション方法 |
US10901627B1 (en) * | 2017-02-28 | 2021-01-26 | Amazon Technologies, Inc. | Tracking persistent memory usage |
US10474359B1 (en) | 2017-02-28 | 2019-11-12 | Amazon Technologies, Inc. | Write minimization for de-allocated memory |
US10404674B1 (en) | 2017-02-28 | 2019-09-03 | Amazon Technologies, Inc. | Efficient memory management in multi-tenant virtualized environment |
US10496429B2 (en) | 2017-07-20 | 2019-12-03 | Vmware, Inc. | Managing virtual computing instances and physical servers |
JP7197783B2 (ja) * | 2019-01-11 | 2022-12-28 | 富士通株式会社 | 情報処理システム、管理装置および管理プログラム |
CN110688064A (zh) * | 2019-09-05 | 2020-01-14 | 浪潮电子信息产业股份有限公司 | 一种虚拟磁盘迁移方法、装置、设备及可读存储介质 |
US11409619B2 (en) | 2020-04-29 | 2022-08-09 | The Research Foundation For The State University Of New York | Recovering a virtual machine after failure of post-copy live migration |
CN115543530A (zh) * | 2021-06-30 | 2022-12-30 | 华为技术有限公司 | 一种虚拟机迁移方法以及相关装置 |
US20240028387A1 (en) * | 2022-07-22 | 2024-01-25 | Dell Products L.P. | Device health driven migration of applications and its dependencies |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100571281C (zh) * | 2007-06-29 | 2009-12-16 | 清华大学 | 海量数据分级存储方法 |
CN101609419A (zh) * | 2009-06-29 | 2009-12-23 | 北京航空航天大学 | 虚拟机持续在线迁移的数据备份方法及装置 |
CN102136993A (zh) * | 2010-07-29 | 2011-07-27 | 华为技术有限公司 | 一种数据迁移的方法、装置和系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006243940A (ja) | 2005-03-01 | 2006-09-14 | Oki Electric Ind Co Ltd | カメラデータ転送装置 |
US8150904B2 (en) * | 2007-02-28 | 2012-04-03 | Sap Ag | Distribution of data and task instances in grid environments |
JP2010233020A (ja) | 2009-03-27 | 2010-10-14 | Kddi Corp | 情報提供システム |
JP2010238044A (ja) | 2009-03-31 | 2010-10-21 | Nec Corp | 仮想マシン管理システム、仮想マシン管理方法および仮想マシン管理プログラム |
JP4990322B2 (ja) * | 2009-05-13 | 2012-08-01 | 株式会社日立製作所 | データ移動管理装置及び情報処理システム |
JP5549189B2 (ja) | 2009-11-18 | 2014-07-16 | 日本電気株式会社 | 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理プログラム |
JP5454135B2 (ja) | 2009-12-25 | 2014-03-26 | 富士通株式会社 | 仮想マシン移動制御装置、仮想マシン移動制御方法および仮想マシン移動制御プログラム |
JP5491934B2 (ja) | 2010-03-30 | 2014-05-14 | 株式会社日立ソリューションズ | サーバ装置、及び情報処理システムの制御方法、並びにプログラム |
JP5585820B2 (ja) | 2010-04-14 | 2014-09-10 | 株式会社日立製作所 | データ転送装置、計算機システム及びメモリコピー装置 |
US8478961B2 (en) * | 2011-03-02 | 2013-07-02 | International Business Machines Corporation | Dynamic migration of virtual machines based on workload cache demand profiling |
US9063762B2 (en) * | 2011-08-26 | 2015-06-23 | Vmware, Inc. | Methods, apparatus, and articles of manufacture to virtualize performance counters |
-
2012
- 2012-01-10 JP JP2013553125A patent/JP5817844B2/ja active Active
- 2012-01-10 CN CN201280064275.0A patent/CN104011683B/zh active Active
- 2012-01-10 WO PCT/JP2012/050273 patent/WO2013105217A1/ja active Application Filing
- 2012-01-10 EP EP12865275.7A patent/EP2804100B1/en active Active
- 2012-01-10 KR KR1020147017348A patent/KR101586598B1/ko active IP Right Grant
-
2014
- 2014-06-16 US US14/305,050 patent/US9262227B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100571281C (zh) * | 2007-06-29 | 2009-12-16 | 清华大学 | 海量数据分级存储方法 |
CN101609419A (zh) * | 2009-06-29 | 2009-12-23 | 北京航空航天大学 | 虚拟机持续在线迁移的数据备份方法及装置 |
CN102136993A (zh) * | 2010-07-29 | 2011-07-27 | 华为技术有限公司 | 一种数据迁移的方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2804100A1 (en) | 2014-11-19 |
WO2013105217A1 (ja) | 2013-07-18 |
US9262227B2 (en) | 2016-02-16 |
EP2804100B1 (en) | 2020-04-29 |
KR101586598B1 (ko) | 2016-01-18 |
KR20140097450A (ko) | 2014-08-06 |
US20140298338A1 (en) | 2014-10-02 |
CN104011683A (zh) | 2014-08-27 |
EP2804100A4 (en) | 2016-06-08 |
JP5817844B2 (ja) | 2015-11-18 |
JPWO2013105217A1 (ja) | 2015-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104011683B (zh) | 虚拟机管理方法以及虚拟机管理装置 | |
CN108090225B (zh) | 数据库实例的运行方法、装置、系统及计算机可读存储介质 | |
US8793427B2 (en) | Remote memory for virtual machines | |
CN103927251B (zh) | 一种嵌入式系统的日志管理方法 | |
CN102404399B (zh) | 一种云存储资源模糊动态分配方法 | |
CN103370691A (zh) | 管理缓冲器溢出状况 | |
US10572181B2 (en) | Multiple stage garbage collector | |
US8682850B2 (en) | Method of enhancing de-duplication impact by preferential selection of master copy to be retained | |
US8683160B2 (en) | Method and apparatus for supporting memory usage accounting | |
CN103095805A (zh) | 一种对数据进行智能分层管理的云存储系统 | |
CN104268003B (zh) | 一种适用于虚拟机动态迁移的内存状态迁移方法 | |
GB2508161A (en) | Monitoring applications executing on a virtual machine and allocating the required resources to the virtual machine. | |
CN104137093A (zh) | 数据分级区域 | |
CN107844274A (zh) | 基于超融合存储系统的硬件资源管理方法、装置及终端 | |
CN109033365B (zh) | 一种数据处理方法及相关设备 | |
US9262505B2 (en) | Input-output prioritization for database workload | |
KR101996641B1 (ko) | 메모리 오버레이 장치 및 방법 | |
CN101957801B (zh) | 信息处理设备和信息处理方法 | |
CN106650501A (zh) | 数据库访问控制方法和装置 | |
JP4479431B2 (ja) | 情報ライフサイクル管理システム及びそのデータ配置決定方法 | |
US11650916B2 (en) | Closed loop garbage collector | |
US20120330803A1 (en) | Method and apparatus for supporting memory usage throttling | |
CN103678241B (zh) | 存储器管理控制系统以及存储器管理控制方法 | |
CN110865869B (zh) | 一种申威架构上的虚拟机访存特征提取方法及系统 | |
CN103914119B (zh) | 一种虚拟机能耗电力计量方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |