CN107168769A - 一种信息处理方法及电子设备 - Google Patents

一种信息处理方法及电子设备 Download PDF

Info

Publication number
CN107168769A
CN107168769A CN201710203279.7A CN201710203279A CN107168769A CN 107168769 A CN107168769 A CN 107168769A CN 201710203279 A CN201710203279 A CN 201710203279A CN 107168769 A CN107168769 A CN 107168769A
Authority
CN
China
Prior art keywords
virtual machine
target device
relevant information
address
storage
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.)
Granted
Application number
CN201710203279.7A
Other languages
English (en)
Other versions
CN107168769B (zh
Inventor
李蕾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201710203279.7A priority Critical patent/CN107168769B/zh
Publication of CN107168769A publication Critical patent/CN107168769A/zh
Application granted granted Critical
Publication of CN107168769B publication Critical patent/CN107168769B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Abstract

本发明公开了一种信息处理方法及电子设备,其中,方法包括:获取第一虚拟机所对应的目标设备的相关信息;从所述第一虚拟机所对应的物理存储单元中选取第一存储区域;其中,所述第一存储区域中至少用于存储所述目标设备的相关信息;转换所述第一存储区域的存储地址得到第二存储地址,建立所述第二存储地址与第二控制层的映射关系;基于所述映射关系,建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机基于所述目标设备的相关信息,与所述目标设备进行数据交互。

Description

一种信息处理方法及电子设备
技术领域
本发明涉及虚拟机管理技术,具体涉及一种应用于电子设备中的信息处理方法及一种电子设备。
背景技术
目前,在虚拟化环境中,当系统管理员需要对宿主机的Hypervisor进行升级时,为了避免中断在虚拟机上正在运行的业务程序,可以采取将虚拟机从原(低版本)Hypervisor1通过动态迁移来热升级到目标(高版本)Hypervisor2的方式。而当所要热升级的Hypervisor1所虚拟的虚拟机带有透传硬件设备时,虚拟机的物理透传设备在热升级时无法由当前Hypervisor1到目标Hypervisor2的动态迁移中完成平滑迁移。
发明内容
本发明的主要目的在于提出一种信息处理方法及电子设备,旨在解决现有技术中存在的上述问题。
为实现上述目的,本发明提供一种信息处理方法,应用于电子设备,包括:
获取第一虚拟机所对应的目标设备的相关信息;
从所述第一虚拟机所对应的物理存储单元中选取第一存储区域;其中,所述第一存储区域中至少用于存储所述目标设备的相关信息;
转换所述第一存储区域的存储地址得到第二存储地址,建立所述第二存储地址与第二控制层的映射关系;
基于所述映射关系,建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机基于所述目标设备的相关信息,与所述目标设备进行数据交互
本发明提供一种电子设备,所述电子设备包括:
虚拟机管理单元,用于获取第一虚拟机所对应的目标设备的相关信息;基于所述映射关系,建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机基于所述目标设备的相关信息,与所述目标设备进行数据交互;
地址转换单元,用于从所述第一虚拟机所对应的物理存储单元中选取第一存储区域;其中,所述第一存储区域中至少用于存储所述目标设备的相关信息;转换所述第一存储区域的存储地址得到第二存储地址,建立所述第二存储地址与第二控制层的映射关系。
本实施例提供的信息处理方法及电子设备,能够获取第一虚拟机所对应的目标设备的相关信息,将所述第一虚拟机所对应的物理存储单元中选取的第一存储区域,转换为第二虚拟机对应的第二存储地址,建立所述第二存储地址与第二控制层的映射关系,基于所述映射关系建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机与所述目标设备进行数据交互。如此,在进行目标设备在虚拟机之间迁移的时候,不需要进行复杂的替换流程,仅需要直接转换该设备所属虚拟机的所有权即可实现,从而保证透传硬件设备的迁移更加平滑无缝,并有效缩短迁移时间。
附图说明
图1为本发明实施例中信息处理方法的实现流程示意图1;
图2为本发明实施例中处理示意图1;
图3为本发明实施例中处理示意图2;
图4为本发明实施例中信息处理方法的实现流程示意图2;
图5为本发明实施例中电子设备组成结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细说明。
实施例一、
本发明实施例提供一种信息处理方法,应用于电子设备,所述电子设备能够管理至少一个虚拟机,如图1所示,包括:
步骤101:获取第一虚拟机所对应的目标设备的相关信息;
步骤102:从所述第一虚拟机所对应的物理存储单元中选取第一存储区域;其中,所述第一存储区域中至少用于存储所述目标设备的相关信息;
步骤103:转换所述第一存储区域的存储地址得到第二存储地址,建立所述第二存储地址与第二控制层的映射关系;
步骤104:基于所述映射关系,建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机基于所述目标设备的相关信息,与所述目标设备进行数据交互。
具体来说,前述步骤101,获取第一虚拟机所对应的目标设备的相关信息,也就是获取到物理设备的相关信息,其中可以包括有硬件设备上下文等信息。
所述获取第一虚拟机所对应的目标设备的相关信息时,所述方法还包括:
向所述目标设备发送停止处理的指令,以使得所述目标设备基于所述停止处理的指令暂停数据处理;至少获取所述第一虚拟机对应的目标设备的上下文信息,将所述上下文信息作为所述相关信息。
其中,所述目标设备可以为图2所示的物理设备,比如,在物理设备中保存所有虚拟机所对应的上下文信息以及接口信息等内容。
向目标设备发送暂停数据处理的指令,能够避免虚拟机迁移过程中出现处理进度不符合的问题,使得目标设备在最终迁移至第二虚拟机之后能将处理进度无缝切换。
进一步地,所述从所述第一虚拟机的物理存储中选取第一存储区域,还包括:从所述第一虚拟机的物理存储中,选取包含有所述目标设备的相关信息、以及直接内存访问接口的存储区域作为第一存储区域。比如,参见图3,第一虚拟机通过虚拟地址与物理地址的映射,查找到对应的物理存储区域;在物理存储区域中可以存储多种信息,本实施例中关键获取的内容为目标设备的上下文信息,以及内存访问接口对应的存储区域;这两个内存对应的存储区域可以为连续的也可以为不连续的。
前述步骤103中,转换所述第一存储区域的存储地址得到第二存储地址,可以为将所述第一存储区域对应的物理地址,转换至所述第二虚拟机的第二存储区域所对应的第二物理地址。
其中,第二虚拟机的第二存储区域可以为在第二虚拟机建立时为第二虚拟机分配的存储区域,包含有第二虚拟机的全部物理地址。
将所述第一存储区域对应的物理地址,转换至所述第二虚拟机的第二存储区域所对应的第二物理地址的具体处理,可以为将第一存储区域对应的包含有目标设备的上下文信息,以及内存访问接口对应的这些存储区域;进行转换的方式,可以为从第二虚拟机的第二存储区域中,选取一定大小的子存储区域,这个子存储区域大小为能够保存目标设备的上下文信息,以及内存访问接口这些内容的大小。
进一步地,转换存储区域的方式可以为之间将这第一存储区域迁移到第二存储区域内的子区域中。
本发明实施例,为了支持虚拟机带有透传硬件设备的本地Hypervisor热升级,在虚拟化中实现一个可以转换透传硬件设备所有权的半虚拟化翻转模块,可以在热升级过程中直接将透传硬件设备的所有权交给迁移后的虚拟机。具体来说,主要包括以下三个方面:在动态迁移过程中保存透传硬件设备上下文;获取VM中相关内存地址映射,并翻转相关内存区域;恢复透传设备上下文。
可见,通过采用上述方案,就能够获取第一虚拟机所对应的目标设备的相关信息,将所述第一虚拟机所对应的物理存储单元中选取的第一存储区域,转换为第二虚拟机对应的第二存储地址,建立所述第二存储地址与第二控制层的映射关系,基于所述映射关系建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机与所述目标设备进行数据交互。如此,在进行目标设备在虚拟机之间迁移的时候,不需要进行复杂的替换流程,仅需要直接转换该设备所属虚拟机的所有权即可实现,从而保证透传硬件设备的迁移更加平滑无缝,并有效缩短迁移时间。另外,还能够在迁移开始之前将目标设备的处理状态控制为暂停状态,从而避免在迁移过程中该透传硬件设备被其它虚拟机占用。
实施例二、
本发明实施例提供一种信息处理方法,应用于电子设备,所述电子设备能够管理至少一个虚拟机,如图1所示,包括:
步骤101:获取第一虚拟机所对应的目标设备的相关信息;
步骤102:从所述第一虚拟机所对应的物理存储单元中选取第一存储区域;其中,所述第一存储区域中至少用于存储所述目标设备的相关信息;
步骤103:转换所述第一存储区域的存储地址得到第二存储地址,建立所述第二存储地址与第二控制层的映射关系;
步骤104:基于所述映射关系,建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机基于所述目标设备的相关信息,与所述目标设备进行数据交互。
具体来说,前述步骤101,获取第一虚拟机所对应的目标设备的相关信息,也就是获取到物理设备的相关信息,其中可以包括有硬件设备上下文等信息。
所述获取第一虚拟机所对应的目标设备的相关信息时,所述方法还包括:
向所述目标设备发送停止处理的指令,以使得所述目标设备基于所述停止处理的指令暂停数据处理;至少获取所述第一虚拟机对应的目标设备的上下文信息,将所述上下文信息作为所述相关信息。
其中,所述目标设备可以为图2所示的物理设备,比如,在物理设备中保存所有虚拟机所对应的上下文信息以及接口信息等内容。
向目标设备发送暂停数据处理的指令,能够避免虚拟机迁移过程中出现处理进度不符合的问题,使得目标设备在最终迁移至第二虚拟机之后能将处理进度无缝切换。
进一步地,所述从所述第一虚拟机的物理存储中选取第一存储区域,还包括:从所述第一虚拟机的物理存储中,选取包含有所述目标设备的相关信息、以及直接内存访问接口的存储区域作为第一存储区域。比如,参见图3,第一虚拟机通过虚拟地址与物理地址的映射,查找到对应的物理存储区域;在物理存储区域中可以存储多种信息,本实施例中关键获取的内容为目标设备的上下文信息,以及内存访问接口对应的存储区域;这两个内存对应的存储区域可以为连续的也可以为不连续的。
前述步骤103中,转换所述第一存储区域的存储地址得到第二存储地址,可以为将所述第一存储区域对应的物理地址,转换至所述第二虚拟机的第二存储区域所对应的第二物理地址。
其中,第二虚拟机的第二存储区域可以为在第二虚拟机建立时为第二虚拟机分配的存储区域,包含有第二虚拟机的全部物理地址。
将所述第一存储区域对应的物理地址,转换至所述第二虚拟机的第二存储区域所对应的第二物理地址的具体处理,可以为将第一存储区域对应的包含有目标设备的上下文信息,以及内存访问接口对应的这些存储区域;进行转换的方式,可以为从第二虚拟机的第二存储区域中,选取一定大小的子存储区域,这个子存储区域大小为能够保存目标设备的上下文信息,以及内存访问接口这些内容的大小。
进一步地,转换存储区域的方式可以为之间将这第一存储区域迁移到第二存储区域内的子区域中。
前述步骤104所述映射关系,建立所述第二虚拟机与目标设备的相关信息之后,所述方法还包括:基于所述映射关系,对直接内存存取进行重映射得到更新后的地址翻译表,以使得所述目标设备基于所述地址翻译表建立所述第二虚拟机与目标设备的相关信息。
其中,地址翻译表可以为第二虚拟机的虚拟地址与第二虚拟机的第二存储区域之间的映射关系;所述更新,也就是将目标设备中原保存的第一虚拟机的虚拟地址与物理地址的映射关系,更新为新的地址翻译表。
控制所述第二虚拟机基于所述目标设备的相关信息,也就是基于更新后的地址翻译表,控制所述第二虚拟机从所述第二物理地址中获取所述目标设备的相关信息;
所述控制所述第二虚拟机基于所述目标设备的相关信息,与所述目标设备进行数据交互,包括:通过所述第二虚拟机向所述目标设备发送运行指令,使得所述目标设备基于第二虚拟机的控制重新开始进行数据处理。
本发明实施例提供的整体处理流程,可以结合图2、3,以及流程图4进行如下说明:
在动态迁移的设备状态传输阶段开始时,由Hypervisor向VM1发送通知,使其通过相应设备驱动暂停透传设备并保存设备状态;
由Hypervior1获取VM1的物理地址(GPA)中用于DMA IO及存放Device State的内存区域:0001F~000FF;
将该内存区域通过页面翻转转换给Hypervisor2;具体的可以将Hypervior1获取VM1的物理地址(GPA)中用于DMA IO及存放Device State的内存区域:0001F~000FF转换至Hypervisor2宿主机物理地址:0EE1F~0EEFF;
将以上用于设备重定向内存区域新的GPA->HPA的映射关系更新到DMA Re-Mapping硬件里的地址翻译表;
当动态迁移完成后,Hypervisor2通知VM2设备驱动到翻转后的内存地址读取之前保存的设备状态,并恢复该透传设备。
本发明实施例,为了支持虚拟机带有透传硬件设备的本地Hypervisor热升级,在虚拟化中实现一个可以转换透传硬件设备所有权的半虚拟化翻转模块,可以在热升级过程中直接将透传硬件设备的所有权交给迁移后的虚拟机。具体来说,主要包括以下三个方面:在动态迁移过程中保存透传硬件设备上下文;获取VM中相关内存地址映射,并翻转相关内存区域;恢复透传设备上下文。
可见,通过采用上述方案,就能够获取第一虚拟机所对应的目标设备的相关信息,将所述第一虚拟机所对应的物理存储单元中选取的第一存储区域,转换为第二虚拟机对应的第二存储地址,建立所述第二存储地址与第二控制层的映射关系,基于所述映射关系建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机与所述目标设备进行数据交互。如此,在进行目标设备在虚拟机之间迁移的时候,不需要进行复杂的替换流程,仅需要直接转换该设备所属虚拟机的所有权即可实现,从而保证透传硬件设备的迁移更加平滑无缝,并有效缩短迁移时间。另外,还能够在迁移开始之前将目标设备的处理状态控制为暂停状态,从而避免在迁移过程中该透传硬件设备被其它虚拟机占用。
实施例三、
本发明实施例提供一种电子设备,所述电子设备能够管理至少一个虚拟机,如图5所示,包括:
虚拟机管理单元51,用于获取第一虚拟机所对应的目标设备的相关信息;基于所述映射关系,建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机基于所述目标设备的相关信息,与所述目标设备进行数据交互;
地址转换单元52,用于从所述第一虚拟机所对应的物理存储单元中选取第一存储区域;其中,所述第一存储区域中至少用于存储所述目标设备的相关信息;转换所述第一存储区域的存储地址得到第二存储地址,建立所述第二存储地址与第二控制层的映射关系。
具体来说,虚拟机管理单元51,用于获取第一虚拟机所对应的目标设备的相关信息,也就是获取到物理设备的相关信息,其中可以包括有硬件设备上下文等信息。
所述虚拟机管理单元51,用于向所述目标设备发送停止处理的指令,以使得所述目标设备基于所述停止处理的指令暂停数据处理;至少获取所述第一虚拟机对应的目标设备的上下文信息,将所述上下文信息作为所述相关信息。
其中,所述目标设备可以为图2所示的物理设备,比如,在物理设备中保存所有虚拟机所对应的上下文信息以及接口信息等内容。
向目标设备发送暂停数据处理的指令,能够避免虚拟机迁移过程中出现处理进度不符合的问题,使得目标设备在最终迁移至第二虚拟机之后能将处理进度无缝切换。
进一步地,所述从所述第一虚拟机的物理存储中选取第一存储区域,还包括:从所述第一虚拟机的物理存储中,选取包含有所述目标设备的相关信息、以及直接内存访问接口的存储区域作为第一存储区域。比如,参见图3,第一虚拟机通过虚拟地址与物理地址的映射,查找到对应的物理存储区域;在物理存储区域中可以存储多种信息,本实施例中关键获取的内容为目标设备的上下文信息,以及内存访问接口对应的存储区域;这两个内存对应的存储区域可以为连续的也可以为不连续的。
前述地址转换单元52,用于转换所述第一存储区域的存储地址得到第二存储地址,可以为将所述第一存储区域对应的物理地址,转换至所述第二虚拟机的第二存储区域所对应的第二物理地址。
其中,第二虚拟机的第二存储区域可以为在第二虚拟机建立时为第二虚拟机分配的存储区域,包含有第二虚拟机的全部物理地址。
将所述第一存储区域对应的物理地址,转换至所述第二虚拟机的第二存储区域所对应的第二物理地址的具体处理,可以为将第一存储区域对应的包含有目标设备的上下文信息,以及内存访问接口对应的这些存储区域;进行转换的方式,可以为从第二虚拟机的第二存储区域中,选取一定大小的子存储区域,这个子存储区域大小为能够保存目标设备的上下文信息,以及内存访问接口这些内容的大小。
进一步地,地址转换单元52,用于将这第一存储区域迁移到第二存储区域内的子区域中。
本发明实施例,为了支持虚拟机带有透传硬件设备的本地Hypervisor热升级,在虚拟化中实现一个可以转换透传硬件设备所有权的半虚拟化翻转模块,可以在热升级过程中直接将透传硬件设备的所有权交给迁移后的虚拟机。具体来说,主要包括以下三个方面:在动态迁移过程中保存透传硬件设备上下文;获取VM中相关内存地址映射,并翻转相关内存区域;恢复透传设备上下文。
可见,通过采用上述方案,就能够获取第一虚拟机所对应的目标设备的相关信息,将所述第一虚拟机所对应的物理存储单元中选取的第一存储区域,转换为第二虚拟机对应的第二存储地址,建立所述第二存储地址与第二控制层的映射关系,基于所述映射关系建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机与所述目标设备进行数据交互。如此,在进行目标设备在虚拟机之间迁移的时候,不需要进行复杂的替换流程,仅需要直接转换该设备所属虚拟机的所有权即可实现,从而保证透传硬件设备的迁移更加平滑无缝,并有效缩短迁移时间。另外,还能够在迁移开始之前将目标设备的处理状态控制为暂停状态,从而避免在迁移过程中该透传硬件设备被其它虚拟机占用。
实施例四、
本发明实施例提供一种电子设备,与实施例三提供的电子设备结构相同,具体来说,虚拟机管理单元,用于获取第一虚拟机所对应的目标设备的相关信息,也就是获取到物理设备的相关信息,其中可以包括有硬件设备上下文等信息。
虚拟机管理单元,用于向所述目标设备发送停止处理的指令,以使得所述目标设备基于所述停止处理的指令暂停数据处理;至少获取所述第一虚拟机对应的目标设备的上下文信息,将所述上下文信息作为所述相关信息。
其中,所述目标设备可以为图2所示的物理设备,比如,在物理设备中保存所有虚拟机所对应的上下文信息以及接口信息等内容。
向目标设备发送暂停数据处理的指令,能够避免虚拟机迁移过程中出现处理进度不符合的问题,使得目标设备在最终迁移至第二虚拟机之后能将处理进度无缝切换。
进一步地,所述从所述第一虚拟机的物理存储中选取第一存储区域,还包括:从所述第一虚拟机的物理存储中,选取包含有所述目标设备的相关信息、以及直接内存访问接口的存储区域作为第一存储区域。比如,参见图3,第一虚拟机通过虚拟地址与物理地址的映射,查找到对应的物理存储区域;在物理存储区域中可以存储多种信息,本实施例中关键获取的内容为目标设备的上下文信息,以及内存访问接口对应的存储区域;这两个内存对应的存储区域可以为连续的也可以为不连续的。
前述地址转换单元,用于转换所述第一存储区域的存储地址得到第二存储地址,可以为将所述第一存储区域对应的物理地址,转换至所述第二虚拟机的第二存储区域所对应的第二物理地址。
其中,第二虚拟机的第二存储区域可以为在第二虚拟机建立时为第二虚拟机分配的存储区域,包含有第二虚拟机的全部物理地址。
将所述第一存储区域对应的物理地址,转换至所述第二虚拟机的第二存储区域所对应的第二物理地址的具体处理,可以为将第一存储区域对应的包含有目标设备的上下文信息,以及内存访问接口对应的这些存储区域;进行转换的方式,可以为从第二虚拟机的第二存储区域中,选取一定大小的子存储区域,这个子存储区域大小为能够保存目标设备的上下文信息,以及内存访问接口这些内容的大小。
进一步地,转换存储区域的方式可以为之间将这第一存储区域迁移到第二存储区域内的子区域中。
前述虚拟机管理单元,用于基于所述映射关系,对直接内存存取进行重映射得到更新后的地址翻译表,以使得所述目标设备基于所述地址翻译表建立所述第二虚拟机与目标设备的相关信息。
其中,地址翻译表可以为第二虚拟机的虚拟地址与第二虚拟机的第二存储区域之间的映射关系;所述更新,也就是将目标设备中原保存的第一虚拟机的虚拟地址与物理地址的映射关系,更新为新的地址翻译表。
控制所述第二虚拟机基于所述目标设备的相关信息,也就是基于更新后的地址翻译表,控制所述第二虚拟机从所述第二物理地址中获取所述目标设备的相关信息;
所述控制所述第二虚拟机基于所述目标设备的相关信息,与所述目标设备进行数据交互,包括:通过所述第二虚拟机向所述目标设备发送运行指令,使得所述目标设备基于第二虚拟机的控制重新开始进行数据处理。
本发明实施例提供的整体处理流程,可以结合图2、3,以及流程图4进行如下说明:
在动态迁移的设备状态传输阶段开始时,由Hypervisor向VM1发送通知,使其通过相应设备驱动暂停透传设备并保存设备状态;
由Hypervior1获取VM1的物理地址(GPA)中用于DMA IO及存放Device State的内存区域:0001F~000FF;
将该内存区域通过页面翻转转换给Hypervisor2;具体的可以将Hypervior1获取VM1的物理地址(GPA)中用于DMA IO及存放Device State的内存区域:0001F~000FF转换至Hypervisor2宿主机物理地址:0EE1F~0EEFF;
将以上用于设备重定向内存区域新的GPA->HPA的映射关系更新到DMA Re-Mapping硬件里的地址翻译表;
当动态迁移完成后,Hypervisor2通知VM2设备驱动到翻转后的内存地址读取之前保存的设备状态,并恢复该透传设备。
本发明实施例,为了支持虚拟机带有透传硬件设备的本地Hypervisor热升级,在虚拟化中实现一个可以转换透传硬件设备所有权的半虚拟化翻转模块,可以在热升级过程中直接将透传硬件设备的所有权交给迁移后的虚拟机。具体来说,主要包括以下三个方面:在动态迁移过程中保存透传硬件设备上下文;获取VM中相关内存地址映射,并翻转相关内存区域;恢复透传设备上下文。
可见,通过采用上述方案,就能够获取第一虚拟机所对应的目标设备的相关信息,将所述第一虚拟机所对应的物理存储单元中选取的第一存储区域,转换为第二虚拟机对应的第二存储地址,建立所述第二存储地址与第二控制层的映射关系,基于所述映射关系建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机与所述目标设备进行数据交互。如此,在进行目标设备在虚拟机之间迁移的时候,不需要进行复杂的替换流程,仅需要直接转换该设备所属虚拟机的所有权即可实现,从而保证透传硬件设备的迁移更加平滑无缝,并有效缩短迁移时间。另外,还能够在迁移开始之前将目标设备的处理状态控制为暂停状态,从而避免在迁移过程中该透传硬件设备被其它虚拟机占用。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种信息处理方法,应用于电子设备,所述电子设备能够管理至少一个虚拟机;所述方法包括:
获取第一虚拟机所对应的目标设备的相关信息;
从所述第一虚拟机所对应的物理存储单元中选取第一存储区域;其中,所述第一存储区域中至少用于存储所述目标设备的相关信息;
转换所述第一存储区域的存储地址得到第二存储地址,建立所述第二存储地址与第二控制层的映射关系;
基于所述映射关系,建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机基于所述目标设备的相关信息,与所述目标设备进行数据交互。
2.根据权利要求1所述的方法,其特征在于,所述建立所述第二存储地址与第二控制层的映射关系之后,所述方法还包括:
基于所述映射关系,对直接内存存取进行重映射得到更新后的地址翻译表,以使得所述目标设备基于所述地址翻译表建立所述第二虚拟机与目标设备的相关信息。
3.根据权利要求1所述的方法,其特征在于,所述获取第一虚拟机所对应的目标设备的相关信息时,所述方法还包括:
向所述目标设备发送停止处理的指令,以使得所述目标设备基于所述停止处理的指令暂停数据处理;
至少获取所述第一虚拟机对应的目标设备的上下文信息,将所述上下文信息作为所述相关信息。
4.根据权利要求1所述的方法,其特征在于,所述从所述第一虚拟机的物理存储中选取第一存储区域,还包括:
从所述第一虚拟机的物理存储中,选取包含有所述目标设备的相关信息、以及直接内存访问接口的存储区域作为第一存储区域。
5.根据权利要求1所述的方法,其特征在于,所述转换所述第一存储区域的存储地址得到第二存储地址,包括:
将所述第一存储区域对应的物理地址,转换至所述第二虚拟机的第二存储区域所对应的第二物理地址。
6.根据权利要2所述的方法,其特征在于,所述基于所述映射关系,建立所述第二虚拟机与目标设备的相关信息,包括:
基于更新后的地址翻译表,控制所述第二虚拟机从所述第二物理地址中获取所述目标设备的相关信息;
相应的,所述控制所述第二虚拟机基于所述目标设备的相关信息,与所述目标设备进行数据交互,包括:
通过所述第二虚拟机向所述目标设备发送运行指令,使得所述目标设备基于第二虚拟机的控制重新开始进行数据处理。
7.一种电子设备,其特征在于,所述电子设备包括:
虚拟机管理单元,用于获取第一虚拟机所对应的目标设备的相关信息;基于所述映射关系,建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机基于所述目标设备的相关信息,与所述目标设备进行数据交互;
地址转换单元,用于从所述第一虚拟机所对应的物理存储单元中选取第一存储区域;其中,所述第一存储区域中至少用于存储所述目标设备的相关信息;转换所述第一存储区域的存储地址得到第二存储地址,建立所述第二存储地址与第二控制层的映射关系。
8.根据权利要求7所述的电子设备,其特征在于,所述地址转换单元,用于基于所述映射关系,对直接内存存取进行重映射得到更新后的地址翻译表,以使得所述目标设备基于所述地址翻译表建立所述第二虚拟机与目标设备的相关信息。
9.根据权利要求7所述的电子设备,其特征在于,所述虚拟机管理单元,用于向所述目标设备发送停止处理的指令,以使得所述目标设备基于所述停止处理的指令暂停数据处理;至少获取所述第一虚拟机对应的目标设备的上下文信息,将所述上下文信息作为所述相关信息。
10.根据权利要求7所述的电子设备,其特征在于,所述地址转换单元,用于从所述第一虚拟机的物理存储中,选取包含有所述目标设备的相关信息、以及直接内存访问接口的存储区域作为第一存储区域。
11.根据权利要求7所述的电子设备,其特征在于,所述地址转换单元,用于将所述第一存储区域对应的物理地址,转换至所述第二虚拟机的第二存储区域所对应的第二物理地址。
12.根据权利要8所述的方法,其特征在于,所述虚拟机管理单元,用于基于更新后的地址翻译表,控制所述第二虚拟机从所述第二物理地址中获取所述目标设备的相关信息;通过所述第二虚拟机向所述目标设备发送运行指令,使得所述目标设备基于第二虚拟机的控制重新开始进行数据处理。
CN201710203279.7A 2017-03-30 2017-03-30 一种信息处理方法及电子设备 Active CN107168769B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710203279.7A CN107168769B (zh) 2017-03-30 2017-03-30 一种信息处理方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710203279.7A CN107168769B (zh) 2017-03-30 2017-03-30 一种信息处理方法及电子设备

Publications (2)

Publication Number Publication Date
CN107168769A true CN107168769A (zh) 2017-09-15
CN107168769B CN107168769B (zh) 2020-12-18

Family

ID=59849515

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710203279.7A Active CN107168769B (zh) 2017-03-30 2017-03-30 一种信息处理方法及电子设备

Country Status (1)

Country Link
CN (1) CN107168769B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108932155A (zh) * 2018-07-25 2018-12-04 迈普通信技术股份有限公司 虚拟机存储管理方法、装置、电子设备及可读存储介质
CN110968392A (zh) * 2018-09-30 2020-04-07 华为技术有限公司 一种升级虚拟化模拟器的方法和装置
CN111857968A (zh) * 2020-07-29 2020-10-30 山东超越数控电子股份有限公司 一种虚拟机的热迁移方法、系统、设备以及介质
EP4080358A4 (en) * 2019-12-25 2023-01-25 ZTE Corporation VIRTUAL MACHINE DEPLOYMENT AND HOT MIGRATION PROCESSES, VMM UPGRADE PROCESS AND SERVER

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942087A (zh) * 2014-03-31 2014-07-23 华为技术有限公司 虚拟机热迁移方法及相关装置和集群系统
US20160266923A1 (en) * 2015-03-09 2016-09-15 Fujitsu Limited Information processing system and method for controlling information processing system
CN106156031A (zh) * 2015-03-24 2016-11-23 联想(北京)有限公司 一种信息处理方法及电子设备
CN106293846A (zh) * 2016-08-16 2017-01-04 腾讯科技(深圳)有限公司 模拟处理器的升级方法及装置
CN106301876A (zh) * 2015-06-26 2017-01-04 中兴通讯股份有限公司 物理机升级方法、业务迁移方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942087A (zh) * 2014-03-31 2014-07-23 华为技术有限公司 虚拟机热迁移方法及相关装置和集群系统
US20160266923A1 (en) * 2015-03-09 2016-09-15 Fujitsu Limited Information processing system and method for controlling information processing system
CN106156031A (zh) * 2015-03-24 2016-11-23 联想(北京)有限公司 一种信息处理方法及电子设备
CN106301876A (zh) * 2015-06-26 2017-01-04 中兴通讯股份有限公司 物理机升级方法、业务迁移方法及装置
CN106293846A (zh) * 2016-08-16 2017-01-04 腾讯科技(深圳)有限公司 模拟处理器的升级方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108932155A (zh) * 2018-07-25 2018-12-04 迈普通信技术股份有限公司 虚拟机存储管理方法、装置、电子设备及可读存储介质
CN110968392A (zh) * 2018-09-30 2020-04-07 华为技术有限公司 一种升级虚拟化模拟器的方法和装置
CN110968392B (zh) * 2018-09-30 2024-04-12 华为技术有限公司 一种升级虚拟化模拟器的方法和装置
EP4080358A4 (en) * 2019-12-25 2023-01-25 ZTE Corporation VIRTUAL MACHINE DEPLOYMENT AND HOT MIGRATION PROCESSES, VMM UPGRADE PROCESS AND SERVER
CN111857968A (zh) * 2020-07-29 2020-10-30 山东超越数控电子股份有限公司 一种虚拟机的热迁移方法、系统、设备以及介质

Also Published As

Publication number Publication date
CN107168769B (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
US9342360B2 (en) Workload migration between virtualization softwares
CN104636181B (zh) 用于迁移虚拟机的方法和系统
CN102460400B (zh) 基于管理程序的本地和远程虚拟内存页面管理
KR102047558B1 (ko) 가상 디스크 저장 기술
CN107168769A (zh) 一种信息处理方法及电子设备
US9286101B2 (en) Free page hinting
US20190188028A1 (en) Paravirtualized access for device assignment by bar extension
US8516217B2 (en) Managing a logically partitioned computing system through a virtual file system
US9280486B2 (en) Managing memory pages based on free page hints
KR20210089150A (ko) 호스트 컴퓨팅 디바이스 가상 메모리에 의해 지원되는 가상 머신 메모리의 더 빠른 액세스
CN106575271A (zh) 管理存储设备
CN108351752A (zh) 存储虚拟化卸载
US20120290765A1 (en) Reclaiming memory pages in a computing system hosting a set of virtual machines
US20160266923A1 (en) Information processing system and method for controlling information processing system
CN102708060B (zh) 一种镜像文件访问方法、装置及系统
US9086981B1 (en) Exporting guest spatial locality to hypervisors
JP6846537B2 (ja) マルチオペレーティングシステム用の表示方法、装置及び電子設備
US20160350010A1 (en) Providing block size compatibility with a storage filter
CN106293781A (zh) 在线升级机器虚拟器的方法与设备
US20180150232A1 (en) Memory overcommit by speculative fault
US11734430B2 (en) Configuration of a memory controller for copy-on-write with a resource controller
GB2499290A (en) Re-organising blocks of physical storage based on the sequence in which they are accessed
KR101996641B1 (ko) 메모리 오버레이 장치 및 방법
CN104951244B (zh) 用于存取数据的方法和设备
CN107250980A (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
GR01 Patent grant
GR01 Patent grant