CN116700899B - 一种虚拟机热迁移过程中Option ROM的兼容性解决方法和系统 - Google Patents
一种虚拟机热迁移过程中Option ROM的兼容性解决方法和系统 Download PDFInfo
- Publication number
- CN116700899B CN116700899B CN202310705079.7A CN202310705079A CN116700899B CN 116700899 B CN116700899 B CN 116700899B CN 202310705079 A CN202310705079 A CN 202310705079A CN 116700899 B CN116700899 B CN 116700899B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- optionrom
- memory block
- capacity
- option rom
- 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
- 238000000034 method Methods 0.000 title claims abstract description 88
- 230000008569 process Effects 0.000 title claims abstract description 47
- 238000013508 migration Methods 0.000 claims abstract description 45
- 230000005012 migration Effects 0.000 claims abstract description 43
- 230000001105 regulatory effect Effects 0.000 claims description 6
- 230000009467 reduction Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000004075 alteration Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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/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/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
-
- 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/45583—Memory management, e.g. access or allocation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种虚拟机热迁移过程中OptionROM的兼容性解决方法和系统,其中,虚拟机热迁移过程中OptionROM的兼容性解决方法包括:获取源端虚拟机中OptionROM和目标端虚拟机中OptionROM的有效内存块容量;判断所述源端虚拟机中OptionROM和目标端虚拟机中OptionROM的有效内存块容量是否大小一致;若不一致,则将所述目标端虚拟机中Option ROM的有效内存块容量调节至与所述源端虚拟机中OptionROM的有效内存块容量大小一致;将所述源端虚拟机中OptionROM的有效数据复制至所述目标端虚拟机的OptionROM。本申请的技术方案能解决现有技术中目标端虚拟机的OptionROM文件可能和源端OptionROM文件大小不一致,进而导致出现OptionROM内存块初始大小和源端不一致的问题,这样就会导致这种场景下的热迁移内存拷贝无法兼容的问题。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种解决虚拟机热迁移过程中OptionROM的兼容性解决方法和系统。
背景技术
虚拟机热迁移是将源端虚拟机内存拷贝到目标端虚拟机内存的过程。虚拟机内存通常由多个内存块组成,在上述多个内存块中有一类具有特殊作用的内存块——PCIOption ROM。此类ROM存放了设备或者系统启动所需的代码,此类ROM比较典型的是iPXEOption ROM。传统模式下,计算机启动过程中,计算机在BIOS加载完成后会从本地存储设备,例如磁盘、CD-ROM或者USB设备中来加载系统启动代码,但iPXE Option ROM支持通过网络设备远程加载存在于远端iPXE服务器上的系统启动代码。这种方式能够让启动方式更加灵活,让启动过程不需要强依赖于本地资源。通常iPXE Option ROM属于网卡固件的一部分,对于虚拟化平台,这个ROM上的代码存放在一个单独的本地Option ROM文件中,在虚拟机启动过程中该文件会被映射为虚拟机的一个ROM内存块。
在做虚拟机热迁移时,目标端首先会启动一个初始状态的虚拟机,目标端虚拟机通常会按照和源端虚拟机一样的配置初始化每个内存块,热迁移时会将每个内存块的数据拷贝至目标端虚拟机对应的内存块中,在此期间要求源端和目标端的对应内存块大小是一致的热迁移才能兼容。但是Option ROM的内存块因为是由本地的Option ROM文件映射来的,这个文件有可能和源端Option ROM文件大小不一致,例如说源端的OptionROM文件大小为72K,目标端的为256K,文件大小不一致可能会导致出现Option ROM内存块初始大小和源端不一致的问题,这样就会导致这种场景下的热迁移内存拷贝无法兼容。
现有技术中通常通过下述方式解决上述源端和目标端内存大小不一致的问题:
1.改变源端Option ROM文件的大小,调整为和目标端Option ROM大小一致,但这就要求源端虚拟机重新启动,内存块的大小才能生效。
2.改变目标端Option ROM文件的大小,但如果目标端的Option ROM文件是固定要求的版本则无法改动,例如和软件包是绑定的,这种方式实行起来也不方便。
申请内容
本申请提供一种虚拟机热迁移过程中Option ROM的兼容性解决方案,能够解决现有技术中目标端虚拟机的Option ROM文件有可能和源端Option ROM文件大小不一致,文件大小不一致可能会导致出现Option ROM内存块初始大小和源端不一致的问题,这样就会导致这种场景下的热迁移内存拷贝无法兼容的问题。
为解决上述问题,根据本申请的第一方面,本申请提出了一种虚拟机热迁移过程中Option ROM的兼容性解决方法,包括:
获取源端虚拟机中Option ROM和目标端虚拟机中Option ROM的有效内存块容量;
在虚拟机热迁移过程中,判断源端虚拟机中Option ROM和目标端虚拟机中OptionROM的有效内存块容量是否大小一致;
若判定源端虚拟机中Option ROM和目标端虚拟机中Option ROM的有效内存块容量大小不一致,则将目标端虚拟机中Option ROM的有效内存块容量调节至与源端虚拟机中Option ROM的有效内存块容量大小一致;
将源端虚拟机中Option ROM的有效数据复制至目标端虚拟机的Option ROM中。
优选的,上述Option ROM的兼容性解决方法,在获取源端虚拟机中Option ROM和目标端虚拟机中Option ROM的有效内存块容量的步骤之前还包括:
初始化目标端虚拟机中内存块时,获取源端虚拟机中Option ROM的最大内存块容量;
初始化目标端虚拟机中Option ROM的最大内存块容量大于或等于源端虚拟机中Option ROM的最大内存块容量;
将目标端虚拟机中Option ROM对应的有效数据加载至Option ROM的最大内存块容量中。
优选的,上述Option ROM的兼容性解决方法中,判断源端虚拟机中Option ROM和目标端虚拟机中Option ROM的有效内存块容量是否大小一致的步骤,包括:
判断源端虚拟机中Option ROM的有效内存块容量是否大于目标端虚拟机中Option ROM的有效内存块容量;
或者,
判断源端虚拟机中Option ROM的有效内存块容量是否小于目标端虚拟机中Option ROM的有效内存块容量。
优选的,上述Option ROM的兼容性解决方法中,将目标端虚拟机中Option ROM的有效内存块容量调节至与源端虚拟机中Option ROM的有效内存块容量大小一致的步骤,包括:
若判定源端虚拟机中Option ROM的有效内存块容量大于目标端虚拟机中OptionROM的有效内存块容量,则将目标端虚拟机中Option ROM的有效内存块容量扩展至与源端虚拟机中Option ROM的有效内存块量大小一致;
若判定源端虚拟机中Option ROM的有效内存块容量小于目标端虚拟机中OptionROM的有效内存块容量,则将目标端虚拟机中Option ROM的有效内存块容量缩减至与源端虚拟机中Option ROM的有效内存块量大小一致。
优选的,上述Option ROM的兼容性解决方法中,在将目标端虚拟机中Option ROM的有效内存块容量调节至与源端虚拟机中Option ROM的有效内存块容量大小一致的步骤之后,还包括:
根据目标端虚拟机中Option ROM的有效内存块容量大小,重新注册目标端虚拟机中Option ROM对应设备的基础地址寄存器。
优选的,上述Option ROM的兼容性解决方法中,将源端虚拟机中Option ROM的有效数据复制至目标端虚拟机的Option ROM中的步骤,包括:
删除目标端虚拟机中Option ROM的原有数据;
调节目标端虚拟机中Option ROM的有效内存块容量;
将源端虚拟机中Option ROM的有效数据复制至目标端虚拟机的Option ROM的有效内存块容量中。
优选的,上述Option ROM的兼容性解决方法,在将源端虚拟机中Option ROM的有效数据复制至目标端虚拟机的Option ROM中的步骤之后,还包括:
在目标端虚拟机中新建ROM文件;
将目标端虚拟机中Option ROM的原有数据导入至新建的ROM文件中;
当虚拟机热迁移结束后,使用ROM文件恢复目标端虚拟机中Option ROM的原有数据。
根据本申请的第二方面,本申请还提供了一种虚拟机热迁移过程中Option ROM的兼容性解决系统,包括:
容量获取模块,用于获取源端虚拟机中Option ROM和目标端虚拟机中Option ROM的有效内存块容量;
容量判断模块,用于在虚拟机热迁移过程中,判断源端虚拟机中Option ROM和目标端虚拟机中Option ROM的有效内存块容量是否大小一致;
容量调节模块,用于若判定源端虚拟机中Option ROM和目标端虚拟机中OptionROM的有效内存块容量大小不一致时,将目标端虚拟机中Option ROM的有效内存块容量调节至与源端虚拟机中Option ROM的有效内存块容量大小一致;
数据复制模块,用于将源端虚拟机中Option ROM的有效数据复制至目标端虚拟机的Option ROM中。
优选的,上述Option ROM的兼容性解决系统中,容量调节模块包括:
容量扩展子模块,用于若容量判断模块判定源端虚拟机中Option ROM的有效内存块容量大于目标端虚拟机中Option ROM的有效内存块容量时,将目标端虚拟机中OptionROM的有效内存块容量扩展至与源端虚拟机中Option ROM的有效内存块量大小一致;
容量缩减子模块,用于若容量判断模块判定源端虚拟机中Option ROM的有效内存块容量小于目标端虚拟机中Option ROM的有效内存块容量时,将目标端虚拟机中OptionROM的有效内存块容量缩减至与源端虚拟机中Option ROM的有效内存块量大小一致。
优选的,上述Option ROM的兼容性解决系统,还包括:
寄存器注册模块,用于根据目标端虚拟机中Option ROM的有效内存块容量大小,重新注册目标端虚拟机中Option ROM对应设备的基础地址寄存器。
综上,本申请提供的虚拟机热迁移过程中Option ROM的兼容性解决方案,通过获取源端虚拟机中Option ROM和目标端虚拟机中Option ROM的有效内存块容量,判断两者的有效内存块容量是否大小一致;如果两者不一致则将目标端虚拟机中Option ROM的有效内存块容量调节至与源端虚拟机中Option ROM的有效内存块容量大小一致,通过保证有效内存块容量大小一致,再将源端虚拟机中Option ROM的有效数据复制至目标端虚拟机的Option ROM中,这样就能够解决现有技术中源端和目标端Option ROM内存块大小不一致,热迁移内存拷贝无法兼容的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1是本申请实施例提供的第一种虚拟机热迁移过程中Option ROM的兼容性解决方法的流程示意图;
图2是本申请实施例提供的一种目标端虚拟机中Option ROM的最大内存块容量初始化方法的流程示意图;
图3是图1所示实施例提供的一种目标端虚拟机中Option ROM的有效内存块容量判断和调节方法的流程示意图;
图4是图1所示实施例提供的一种Option ROM的有效数据复制方法的流程示意图;
图5是图1所示实施例提供的第二种虚拟机热迁移过程中Option ROM的兼容性解决方法的流程示意图;
图6是本申请实施例提供的第一种虚拟机热迁移过程的流程示意图;
图7是本申请实施例提供的第二种虚拟机热迁移过程的流程示意图;
图8是本申请实施例提供的第一种虚拟机热迁移过程中Option ROM的兼容性解决系统的结构示意图;
图9是图8所示实施例提供的一种容量判断模块和容量调节模块的结构示意图;
图10是本申请实施例提供的第一种虚拟机热迁移过程中Option ROM的兼容性解决系统的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例的主要解决的技术问题是:
Option ROM的内存块因为是由本地的OptionROM文件映射来的,这个文件有可能和源端Option ROM文件大小不一致,例如说源端的Option ROM文件大小为72K,目标端的为256K,文件大小不一致可能会导致出现Option ROM内存块初始大小和源端不一致的问题,这样就会导致这种场景下的热迁移内存拷贝无法兼容。
为了解决上述问题,本申请下述实施例提供的虚拟机热迁移过程中Option ROM的兼容性解决方案,通过获取源端虚拟机中Option ROM的有效内存块容量,比较源端虚拟机中Option ROM和目标端虚拟机中OptionROM的有效内存块容量是否大小一致;若不一致则将目标端虚拟机中OptionROM的有效内存块容量大小调节至与源端虚拟机中Option ROM的有效内存块容量大小一致,从而方便将源端虚拟机中Option ROM的有效数据迁移至目标端虚拟机的Option ROM中,从而不需要对源端已运行的虚拟机做任何改动,不需要重启虚拟机业务的风险,同时通过迁移数据时动态安全地调整目标端虚拟机中Option ROM的内存块大小,能够达到兼容源端数据的目的。
研究发现,源端和目标端OptionROM文件的大小不是阻碍热迁移兼容性的点,因为在虚拟机启动时,OptionROM文件中的数据均会被复制到虚拟机Option ROM内存块中,之后该Option ROM文件则不再需要。在热迁移过程中,目标端Option ROM并不会使用本地Option ROM文件中的数据,而是从源端Option ROM内存块中将数据传输过来覆盖本地Option ROM内存块已有数据。因此只需要将目标端的Option ROM内存块容量动态地与源端Option ROM内存块容量保持一致即可。
为此,本申请下述实施例提供了一套Option ROM内存块的Resize机制,能够在热迁移的过程中,在保证数据安全地情况下,对源端和目标端中Option ROM大小不一致的有效内存块进行resize,从而使热迁移兼容。
为实现上述目的,参见图1,图1为本申请实施例提供的第一种虚拟机热迁移过程中Option ROM的兼容性解决方法的流程示意图。如图1所示,该虚拟机热迁移过程中OptionROM的兼容性解决方法,包括:
S110:获取源端虚拟机中Option ROM和目标端虚拟机中Option ROM的有效内存块容量。源端虚拟机和目标端虚拟机的Option ROM中,都存在有效内存块容量和最大内存块容量。对于一个Option ROM的内存块,存在两种属性,一种是有效内存块容量,另一种是最大内存块容量。有效内存块容量是Option ROM文件的实际大小,最大内存块容量是OptionROM内存块可扩展的上限。在热迁移的实际过程中,源端虚拟机和目标端虚拟机中OptionROM有效内存块容量的大小不同才会导致文件大小不一致,热迁移内存拷贝无法兼容的问题,因此本申请实施例获取源端虚拟机和目标端虚拟机中Option ROM的有效内存块容量,进而保持两者的有效内存块容量一致。其中,该有效内存块容量即Option ROM文件的实际占用内存块容量。
S120:在虚拟机热迁移过程中,判断源端虚拟机中Option ROM和目标端虚拟机中Option ROM的有效内存块容量是否大小一致。目标端虚拟机中Option ROM数据是从源端虚拟机中Option ROM中复制过来的,而研究发现,阻碍虚拟机热迁移过程的是源端虚拟机和目标端虚拟机中Option ROM的有效内存块容量大小不一致的问题。因此在虚拟机热迁移过程中,需要判断源端虚拟机中Option ROM和目标端虚拟机中Option ROM的有效内存块容量是否大小一致,进而修改目标端虚拟机中Option ROM的有效内存块容量,以使目标端和源端大小保持一致。
S130:若判定源端虚拟机中Option ROM和目标端虚拟机中Option ROM的有效内存块容量大小不一致,则将目标端虚拟机中Option ROM的有效内存块容量调节至与源端虚拟机中Option ROM的有效内存块容量大小一致。
本申请实施例在判定源端虚拟机中Option ROM和目标端虚拟机中Option ROM的有效内存块容量大小不一致时,调整目标端虚拟机中Option ROM的有效内存块容量,将目标端虚拟机中Option ROM的有效内存块容量大小调整至与源端虚拟机Option ROM的有效内存块容量大小一致,并且保持源端虚拟机Option ROM的有效内存块容量不变,这样能够避免虚拟机热迁移过程中Option ROM容量大小不一致导致的热迁移失败问题。
S140:将源端虚拟机中Option ROM的有效数据复制至目标端虚拟机的Option ROM中。该Option ROM的有效数据即源端虚拟机中Option ROM有效内存块容量存储的数据。
综上,本申请提供的虚拟机热迁移过程中Option ROM的兼容性解决方法,通过获取源端虚拟机中Option ROM和目标端虚拟机中Option ROM的有效内存块容量,判断两者的有效内存块容量是否大小一致;如果两者不一致则将目标端虚拟机中Option ROM的有效内存块容量调节至与源端虚拟机中Option ROM的有效内存块容量大小一致,通过保证有效内存块容量大小一致,再将源端虚拟机中Option ROM的有效数据复制至目标端虚拟机的Option ROM中,这样就能够解决现有技术中源端和目标端Option ROM内存块大小不一致,热迁移内存拷贝无法兼容的问题。
另外,目标端虚拟机端Option ROM最大内存块容量若小于源端虚拟机端OptionROM有效内存块容量,那么源端虚拟机Option ROM对应的有效数据将无法复制到目标端虚拟的Option ROM中。为了避免出现目标端虚拟机端Option ROM最大内存块容量小于源端虚拟机端Option ROM有效内存块容量的问题,作为一种优选的实施例,如图2所示,上述Option ROM的兼容性解决方法中,在步骤S110:获取源端虚拟机中Option ROM和目标端虚拟机中Option ROM的有效内存块容量的步骤之前还包括:
S210:初始化目标端虚拟机中内存块时,获取源端虚拟机中Option ROM的最大内存块容量。
S220:初始化目标端虚拟机中Option ROM的最大内存块容量大于或等于源端虚拟机中Option ROM的最大内存块容量。
S230:将目标端虚拟机中Option ROM对应的有效数据加载至Option ROM的最大内存块容量中。
本申请实施例提供的技术方案中,对于一个Option ROM的内存块,它有两个属性,一个是有效内存块容量,一个是最大内存块容量,有效内存块容量是Option ROM文件实际的大小(也就是ROM中的实际数据大小),最大内存块容量是该内存块能够扩展的上限。为了实现虚拟机热迁移,目标端虚拟机中Option ROM的最大内存块容量需要大于源端虚拟机Option ROM的最大内存块容量,因此需要在初始化目标端虚拟机中Option ROM的最大内存块容量时,就调整目标端虚拟机中Option ROM的最大内存块容量,将目标端虚拟机中Option ROM对应的有效数据加载至该Option ROM中。
为了保持源端虚拟机和目标端虚拟机中Option ROM的有效内存容量大小一致,需要区分两种情况:1.源端虚拟机中Option ROM大于目标端虚拟机中Option ROM的有效内存块容量;2.源端虚拟机中Option ROM的有效内存块容量小于目标端虚拟机中Option ROM的有效内存块容量。对于第一种情况需要扩展目标端虚拟机中Option ROM的最大内存块容量;对于第二种情况,需要缩减目标端虚拟机中Option ROM的最大内存块容量。
具体地,作为一种优选的实施例,如图3所示,上述Option ROM的兼容性解决方法中,步骤S120:判断源端虚拟机中Option ROM和目标端虚拟机中Option ROM的有效内存块容量是否大小一致的步骤,包括:
S121:判断源端虚拟机中Option ROM的有效内存块容量是否大于目标端虚拟机中Option ROM的有效内存块容量;此时执行图3中的步骤S131。
或者,
S122:判断源端虚拟机中Option ROM的有效内存块容量是否小于目标端虚拟机中Option ROM的有效内存块容量。此时执行图3中的步骤S132。
对应的,上述Option ROM的兼容性解决方法中,步骤S130:将目标端虚拟机中Option ROM的有效内存块容量调节至与源端虚拟机中Option ROM的有效内存块容量大小一致的步骤,包括:
S131:若判定源端虚拟机中Option ROM的有效内存块容量大于目标端虚拟机中Option ROM的有效内存块容量,则将目标端虚拟机中Option ROM的有效内存块容量扩展至与源端虚拟机中Option ROM的有效内存块量大小一致;
S132:若判定源端虚拟机中Option ROM的有效内存块容量小于目标端虚拟机中Option ROM的有效内存块容量,则将目标端虚拟机中Option ROM的有效内存块容量缩减至与源端虚拟机中Option ROM的有效内存块量大小一致。
针对源端虚拟机中Option ROM的有效内存块容量大于目标端虚拟机中OptionROM的有效内存块容量的情况。结合图6所示实施例可知,假设源端虚拟机中Option ROM文件为256K,目标端虚拟机中Option ROM文件大小为72K。实际上,需要复制的有效数据大小为256K,因此,目标端虚拟机在初始化内存块时,会将内存块的最大容量设置为256K,将目标端本地有效容量72K Option ROM文件内容加载进来。在迁移时,当目标端虚拟机发现源端虚拟机的实际有效Option ROM内存块有效大小为256K,那么就会将自身的有效大小扩展为256K,对应图6中的迁移过程resize,接着在迁移数据复制时,则能够将源端虚拟机中Option ROM内存块的有效数据复制至目标端虚拟机中Option ROM的内存块,此时虚拟机热迁移的Option ROM数据拷贝是安全的。如图6和图7所示,迁移数据复制后,源端和目标端虚拟机的Option ROM的有效内存块容量是一致的。
同理,针对源端虚拟机中Option ROM的有效内存块容量小于目标端虚拟机中Option ROM的有效内存块容量的情况。如图7所示,假设源端虚拟机中Option ROM文件大小为72K,而目标端虚拟机中Option ROM文件大小为256K,一开始源端虚拟机Option ROM内存块有效大小为72K,目标端虚拟机Option ROM初始化的有效容量和最大容量均为256K。而一旦目标端检测到源端的内存块容量大小和自身不一致,则会将目标端虚拟机自身的有效内存块容量Resize到72K和源端虚拟机Option ROM的有效内存块容量保持一致,接着最后安全的将源端内存块的数据拷贝到目标端的内存块中,不会影响数据的正确性。
在调整目标端虚拟机中Option ROM的有效内存块容量保持与源端虚拟机中Option ROM的有效内存块容量大小一致时,上述过程无需源端虚拟机做任何调整,均为目标端虚拟机动态适配源端虚拟机的有效内存块容量大小,动态调整自身的有效内存块容量,这样在更新底层虚拟机软件时更加灵活,因为通过更新目标端虚拟机Option ROm版本能够兼容源端虚拟机Option ROM大小。
另外,作为一种优选的实施例,上述Option ROM的兼容性解决方法中,在步骤S130:将目标端虚拟机中Option ROM的有效内存块容量调节至与源端虚拟机中Option ROM的有效内存块容量大小一致的步骤之后,还包括:根据目标端虚拟机中Option ROM的有效内存块容量大小,重新注册目标端虚拟机中Option ROM对应设备的基础地址寄存器。
本申请实施例提供的技术方案中,在基于虚拟机模拟器QEMU的实现中,将目标端虚拟机中Option ROM内存块Reszie之后,还需要重新注册该Option ROM所对应设备的基础地址寄存器PCIBAR,因为设备的基础地址寄存器会根据Option ROM内存块的大小进行配置,因此该有效内存块容量更新后,需要重新配置上述基础地址寄存器PCI BAR。
另外,作为一种优选的实施例,如图4所示,上述Option ROM的兼容性解决方法中,步骤S140:将源端虚拟机中Option ROM的有效数据复制至目标端虚拟机的Option ROM中的步骤,包括:
S141:删除目标端虚拟机中OptionROM的原有数据。
S142:调节目标端虚拟机中OptionROM的有效内存块容量。
S143:将源端虚拟机中Option ROM的有效数据复制至目标端虚拟机的Option ROM的有效内存块容量中。
本申请实施例提供的技术方案,在虚拟机热迁移过程中,需要使用源端虚拟机中Option ROM的有效数据覆盖该目标端虚拟机中OptionROM的原有数据,这样就需要删除目标端虚拟机中OptionROM的原有数据,调节目标端虚拟机中Option ROM的有效内存块容量与源端虚拟机中OptionROM的有效内存块容量一致,这样再将源端虚拟机中Option ROM的有效数据复制至目标端虚拟机中Option ROM的有效内存块容量中,从而保持源端和目标端两者的有效内存块容量一致,两者的Option ROM的有效数据内容相同。
另外,作为一种优选的实施例,如图5所示,上述Option ROM的兼容性解决方法,在步骤S140:将源端虚拟机中Option ROM的有效数据复制至目标端虚拟机的Option ROM中的步骤之后,还包括:
S150:在目标端虚拟机中新建ROM文件;
S160:将目标端虚拟机中OptionROM的原有数据导入至新建的ROM文件中;
S170:当虚拟机热迁移结束后,使用ROM文件恢复目标端虚拟机中Option ROM的原有数据。
通过在目标端虚拟机中新建ROM文件,然后在虚拟机热迁移过程中将目标端虚拟机中Option ROM的原有数据在导入新建的ROM文件中,这样能够保证虚拟机的正确启动,在虚拟机热迁移过程结束后,再使用ROM文件恢复Option ROM的原有数据,能够保持目标端虚拟机中Option ROM的数据前后保持不变。
另外,基于上述方法实施例的同一构思,本申请实施例还提供了虚拟机热迁移过程中Option ROM的兼容性解决系统,用于实现本申请的上述方法,由于该系统实施例解决问题的原理与方法相似,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
参见图8,图8为本申请实施例提供的一种虚拟机热迁移过程中Option ROM的兼容性解决系统的结构示意图。如图8所示,该虚拟机热迁移过程中Option ROM的兼容性解决系统,包括:
容量获取模块110,用于获取源端虚拟机中Option ROM和目标端虚拟机中OptionROM的有效内存块容量;
容量判断模块120,用于在虚拟机热迁移过程中,判断源端虚拟机中Option ROM和目标端虚拟机中Option ROM的有效内存块容量是否大小一致;
容量调节模块130,用于若判定源端虚拟机中Option ROM和目标端虚拟机中Option ROM的有效内存块容量大小不一致时,将目标端虚拟机中Option ROM的有效内存块容量调节至与源端虚拟机中Option ROM的有效内存块容量大小一致;
数据复制模块140,用于将源端虚拟机中Option ROM的有效数据复制至目标端虚拟机的Option ROM中。
综上,本申请提供的虚拟机热迁移过程中Option ROM的兼容性解决系统,通过容量获取模块110获取源端虚拟机中Option ROM和目标端虚拟机中Option ROM的有效内存块容量,容量判断模块120判断两者的有效内存块容量是否大小一致;如果容量判断模块120判定两者不一致,则容量调节模块120将目标端虚拟机中Option ROM的有效内存块容量调节至与源端虚拟机中Option ROM的有效内存块容量大小一致,通过保证有效内存块容量大小一致,再将源端虚拟机中Option ROM的有效数据复制至目标端虚拟机的Option ROM中,这样就能够解决现有技术中源端和目标端Option ROM内存块大小不一致,热迁移内存拷贝无法兼容的问题。
其中,作为一种优选的实施例,如图9所示,上述Option ROM的兼容性解决系统中,上述容量判断模块120具体包括:
第一容量判断子模块121,用于判断源端虚拟机中Option ROM的有效内存块容量是否大于目标端虚拟机中Option ROM的有效内存块容量;
以及,
第二容量判断子模块122,用于判断源端虚拟机中Option ROM的有效内存块容量是否小于目标端虚拟机中Option ROM的有效内存块容量。
如图9所示,上述容量调节模块130包括:
容量扩展子模块131,用于若第一容量判断子模块121判定源端虚拟机中OptionROM的有效内存块容量大于目标端虚拟机中Option ROM的有效内存块容量时,将目标端虚拟机中Option ROM的有效内存块容量扩展至与源端虚拟机中Option ROM的有效内存块量大小一致;
容量缩减子模块132,用于若第二容量判断子模块122判定源端虚拟机中OptionROM的有效内存块容量小于目标端虚拟机中Option ROM的有效内存块容量时,将目标端虚拟机中Option ROM的有效内存块容量缩减至与源端虚拟机中Option ROM的有效内存块量大小一致。
其中,作为一种优选的实施例,如图10所示,上述Option ROM的兼容性解决系统还包括:
寄存器注册模块150,用于根据目标端虚拟机中Option ROM的有效内存块容量大小,重新注册目标端虚拟机中Option ROM对应设备的基础地址寄存器。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本申请可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种虚拟机热迁移过程中OptionROM的兼容性解决方法,其特征在于,包括:
获取源端虚拟机中OptionROM和目标端虚拟机中OptionROM的有效内存块容量;
在虚拟机热迁移过程中,判断所述源端虚拟机中OptionROM和目标端虚拟机中OptionROM的有效内存块容量是否大小一致;
若判定所述源端虚拟机中OptionROM和目标端虚拟机中OptionROM的有效内存块容量大小不一致,则将所述目标端虚拟机中OptionROM的有效内存块容量调节至与所述源端虚拟机中OptionROM的有效内存块容量大小一致;
将所述源端虚拟机中OptionROM的有效数据复制至所述目标端虚拟机的OptionROM中。
2.根据权利要求1所述的OptionROM的兼容性解决方法,其特征在于,所述获取源端虚拟机中OptionROM和目标端虚拟机中OptionROM的有效内存块容量的步骤之前,所述方法还包括:
初始化所述目标端虚拟机中内存块时,获取所述源端虚拟机中Option ROM的最大内存块容量;
初始化所述目标端虚拟机中OptionROM的最大内存块容量大于或等于所述源端虚拟机中OptionROM的最大内存块容量;
将所述目标端虚拟机中OptionROM对应的有效数据加载至所述Option ROM的最大内存块容量中。
3.根据权利要求1所述的OptionROM的兼容性解决方法,其特征在于,所述判断所述源端虚拟机中OptionROM和目标端虚拟机中OptionROM的有效内存块容量是否大小一致的步骤,包括:
判断所述源端虚拟机中OptionROM的有效内存块容量是否大于所述目标端虚拟机中OptionROM的有效内存块容量;
或者,
判断所述源端虚拟机中OptionROM的有效内存块容量是否小于所述目标端虚拟机中OptionROM的有效内存块容量。
4.根据权利要求1或3所述的OptionROM的兼容性解决方法,其特征在于,所述将所述目标端虚拟机中OptionROM的有效内存块容量调节至与所述源端虚拟机中OptionROM的有效内存块容量大小一致的步骤,包括:
若判定所述源端虚拟机中OptionROM的有效内存块容量大于所述目标端虚拟机中OptionROM的有效内存块容量,则将所述目标端虚拟机中Option ROM的有效内存块容量扩展至与所述源端虚拟机中OptionROM的有效内存块量大小一致;
若判定所述源端虚拟机中OptionROM的有效内存块容量小于所述目标端虚拟机中OptionROM的有效内存块容量,则将所述目标端虚拟机中Option ROM的有效内存块容量缩减至与所述源端虚拟机中OptionROM的有效内存块量大小一致。
5.根据权利要求1所述的OptionROM的兼容性解决方法,其特征在于,在将所述目标端虚拟机中OptionROM的有效内存块容量调节至与所述源端虚拟机中OptionROM的有效内存块容量大小一致的步骤之后,所述方法还包括:
根据所述目标端虚拟机中OptionROM的有效内存块容量大小,重新注册所述目标端虚拟机中OptionROM对应设备的基础地址寄存器。
6.根据权利要求1所述的OptionROM的兼容性解决方法,其特征在于,所述将所述源端虚拟机中OptionROM的有效数据复制至所述目标端虚拟机的OptionROM中的步骤,包括:
删除所述目标端虚拟机中OptionROM的原有数据;
调节所述目标端虚拟机中OptionROM的有效内存块容量;
将所述源端虚拟机中OptionROM的有效数据复制至所述目标端虚拟机的OptionROM的有效内存块容量中。
7.根据权利要求6所述的OptionROM的兼容性解决方法,其特征在于,所述将所述源端虚拟机中OptionROM的有效数据复制至所述目标端虚拟机的OptionROM中的步骤之后,所述方法还包括:
在所述目标端虚拟机中新建ROM文件;
将所述目标端虚拟机中OptionROM的原有数据导入至新建的所述ROM文件中;
当所述虚拟机热迁移结束后,使用所述ROM文件恢复所述目标端虚拟机中OptionROM的原有数据。
8.一种虚拟机热迁移过程中OptionROM的兼容性解决系统,其特征在于,包括:
容量获取模块,用于获取源端虚拟机中OptionROM和目标端虚拟机中OptionROM的有效内存块容量;
容量判断模块,用于在虚拟机热迁移过程中,判断所述源端虚拟机中OptionROM和目标端虚拟机中OptionROM的有效内存块容量是否大小一致;
容量调节模块,用于若判定所述源端虚拟机中OptionROM和目标端虚拟机中OptionROM的有效内存块容量大小不一致时,将所述目标端虚拟机中OptionROM的有效内存块容量调节至与所述源端虚拟机中OptionROM的有效内存块容量大小一致;
数据复制模块,用于将所述源端虚拟机中OptionROM的有效数据复制至所述目标端虚拟机的OptionROM中。
9.根据权利要求8所述的OptionROM的兼容性解决系统,其特征在于,所述容量调节模块,包括:
容量扩展子模块,用于若容量判断模块判定所述源端虚拟机中Option ROM的有效内存块容量大于所述目标端虚拟机中OptionROM的有效内存块容量时,将所述目标端虚拟机中OptionROM的有效内存块容量扩展至与所述源端虚拟机中OptionROM的有效内存块量大小一致;
容量缩减子模块,用于若容量判断模块判定所述源端虚拟机中Option ROM的有效内存块容量小于所述目标端虚拟机中OptionROM的有效内存块容量时,将所述目标端虚拟机中OptionROM的有效内存块容量缩减至与所述源端虚拟机中OptionROM的有效内存块量大小一致。
10.根据权利要求8所述的OptionROM的兼容性解决系统,其特征在于,还包括:
寄存器注册模块,用于根据所述目标端虚拟机中OptionROM的有效内存块容量大小,重新注册所述目标端虚拟机中OptionROM对应设备的基础地址寄存器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310705079.7A CN116700899B (zh) | 2023-06-14 | 2023-06-14 | 一种虚拟机热迁移过程中Option ROM的兼容性解决方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310705079.7A CN116700899B (zh) | 2023-06-14 | 2023-06-14 | 一种虚拟机热迁移过程中Option ROM的兼容性解决方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116700899A CN116700899A (zh) | 2023-09-05 |
CN116700899B true CN116700899B (zh) | 2023-11-14 |
Family
ID=87840743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310705079.7A Active CN116700899B (zh) | 2023-06-14 | 2023-06-14 | 一种虚拟机热迁移过程中Option ROM的兼容性解决方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116700899B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942087A (zh) * | 2014-03-31 | 2014-07-23 | 华为技术有限公司 | 虚拟机热迁移方法及相关装置和集群系统 |
CN109255242A (zh) * | 2018-09-18 | 2019-01-22 | 郑州云海信息技术有限公司 | 一种基于可信uefi固件引导虚拟机启动的方法及系统 |
CN112148430A (zh) * | 2020-09-28 | 2020-12-29 | 中电积至(海南)信息技术有限公司 | 一种虚拟网络功能的虚拟机在线安全迁移的方法 |
WO2021174655A1 (zh) * | 2020-03-06 | 2021-09-10 | 苏州浪潮智能科技有限公司 | 虚拟数据中心可信状态确定方法、装置、设备及存储介质 |
US11281492B1 (en) * | 2019-05-31 | 2022-03-22 | Juniper Networks, Inc. | Moving application containers across compute nodes |
CN114327745A (zh) * | 2021-11-25 | 2022-04-12 | 北京志凌海纳科技有限公司 | 一种跨主机虚拟机存储热迁移的方法及系统 |
CN114489930A (zh) * | 2021-12-23 | 2022-05-13 | 天翼云科技有限公司 | 一种虚拟机热迁移方法、装置及系统 |
WO2023011254A1 (zh) * | 2021-08-02 | 2023-02-09 | 阿里云计算有限公司 | 基于远程直接数据存储的热迁移方法、装置及设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429651B2 (en) * | 2010-01-20 | 2013-04-23 | International Business Machines Corporation | Enablement and acceleration of live and near-live migration of virtual machines and their associated storage across networks |
WO2017092017A1 (zh) * | 2015-12-03 | 2017-06-08 | 华为技术有限公司 | 一种虚拟机备份信息迁移方法、装置和系统 |
-
2023
- 2023-06-14 CN CN202310705079.7A patent/CN116700899B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942087A (zh) * | 2014-03-31 | 2014-07-23 | 华为技术有限公司 | 虚拟机热迁移方法及相关装置和集群系统 |
CN109255242A (zh) * | 2018-09-18 | 2019-01-22 | 郑州云海信息技术有限公司 | 一种基于可信uefi固件引导虚拟机启动的方法及系统 |
US11281492B1 (en) * | 2019-05-31 | 2022-03-22 | Juniper Networks, Inc. | Moving application containers across compute nodes |
WO2021174655A1 (zh) * | 2020-03-06 | 2021-09-10 | 苏州浪潮智能科技有限公司 | 虚拟数据中心可信状态确定方法、装置、设备及存储介质 |
CN112148430A (zh) * | 2020-09-28 | 2020-12-29 | 中电积至(海南)信息技术有限公司 | 一种虚拟网络功能的虚拟机在线安全迁移的方法 |
WO2023011254A1 (zh) * | 2021-08-02 | 2023-02-09 | 阿里云计算有限公司 | 基于远程直接数据存储的热迁移方法、装置及设备 |
CN114327745A (zh) * | 2021-11-25 | 2022-04-12 | 北京志凌海纳科技有限公司 | 一种跨主机虚拟机存储热迁移的方法及系统 |
CN114489930A (zh) * | 2021-12-23 | 2022-05-13 | 天翼云科技有限公司 | 一种虚拟机热迁移方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
基于COW双写的虚拟机磁盘全量迁移关键技术;王科;丁倩梅;余万;;现代信息科技(第15期);第112-115页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116700899A (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100675518B1 (ko) | 모듈식 바이오스 업데이트 메커니즘 | |
US8874892B1 (en) | Assessing BIOS information prior to reversion | |
US7496613B2 (en) | Sharing files among different virtual machine images | |
US9940117B2 (en) | Installing software onto a client through a network, and corresponding client | |
US7617391B2 (en) | Method and apparatus for dynamically selecting one of multiple firmware images for booting an I/O controller | |
US20080263350A1 (en) | Update in-use flash memory without external interfaces | |
US20070157196A1 (en) | System, method and program to manage program updates | |
US20050044548A1 (en) | Efficient replication of embedded operating system with a write filter and overlay partition | |
CN107533441B (zh) | 创建操作系统卷 | |
US10664598B1 (en) | Firmware security patch deployment | |
US20160026474A1 (en) | Caching based operating system installation | |
CN116700899B (zh) | 一种虚拟机热迁移过程中Option ROM的兼容性解决方法和系统 | |
US8528007B1 (en) | Firmware downloading through process file system | |
US8818969B2 (en) | Information processing apparatus and server, control method, and recording medium | |
WO2023151502A1 (zh) | 设备运行方法、固件管理方法及固件管理系统 | |
CN116880877A (zh) | 虚拟机增强工具升级方法、装置、计算机设备和存储介质 | |
US20120221612A1 (en) | Real-Time Data Transformation to Access Foreign Data Sources | |
US8095784B2 (en) | Computer system and method for activating basic program therein | |
CN113986451A (zh) | 虚拟机迁移方法、装置、电子设备和存储介质 | |
US10860533B1 (en) | File size as an indicator of file properties | |
CN112631152B (zh) | 基于ar的应用程序启动方法、装置、设备及存储介质 | |
CN111538540B (zh) | 一种加快嵌入式系统启动速度的方法及其嵌入式系统 | |
CN117112313B (zh) | 业务容灾切换方法、装置、设备及存储介质 | |
US20230244573A1 (en) | Data storage volume re-bind method | |
US11775315B2 (en) | BIOS code to store operating systems on computer-readable media |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |