【技术实现步骤摘要】
一种虚拟机迁移方法以及设备
[0001]本申请涉及存储
,尤其涉及一种虚拟机迁移方法以及设备。
技术介绍
[0002]虚拟机迁移是指将虚拟机从一台主机迁移到另一台主机中,虚拟机迁移过程可以分为两部分,分别为处理器状态的迁移(例如寄存器的存储状态)以及虚拟机的内存数据的迁移,其中,处理器状态的迁移瞬间可以完成。
[0003]虚拟机的内存数据的迁移则通常采用在线迁移的方式,也就是在保持虚拟机在源主机正常运行的过程中,将虚拟机的内存数据从源主机的存储器迁移至目的主机中,完成虚拟机内存数据的跨主机迁移。
[0004]目前,主机使用的内存包括两种不同性能的存储器,例如易失性内存和非易失性内存。这样,虚拟机的内存数据保存在源主机的两个不同的存储器中,如虚拟机中的活跃数据(如一些需要经常读写的数据)存储在源主机的易失性内存中,而一些不活跃的数据(如一些不需要经常读写的内存数据)在源主机的非易失性内存中。采用在线迁移的方式迁移虚拟机的内存数据时,源主机并不区分不活跃数据和活跃数据,而是直接进行数据打包,将打包后的数据发送至目的主机,目的主机在接收到数据后,将接收到的数据保存到目的主机中易失性内存中。随着源主机持续将虚拟机的内存数据发送至目的主机,目的主机中的易失性内存中空闲的存储空间会逐渐减少,当易失性内存中无空闲的存储空间时,目的主机可以按照数据接收的前后顺序,将最先接收到的虚拟机的内存数据存储至目的主机中的非易失性内存中。
[0005]这将导致目的主机中的非易失性内存中会存储的活跃数据,在虚拟机迁移 ...
【技术保护点】
【技术特征摘要】
1.一种虚拟机迁移方法,由第一设备执行,其特征在于,该方法包括:接收第二设备发送的迁移指令,根据所述迁移指令创建所述第一设备中的待迁移虚拟机的目标虚拟机;接收第二设备发送的所述待迁移虚拟机内存位图,所述内存位图用于指示所述待迁移虚拟机的内存中的每个内存单元的数据存储于非易失性内存中,还是非易失性内存中,其中所述待迁移虚拟机和所述目标虚拟机都包括非易失性内存和易失性内存;接收所述第二设备发送的所述待迁移虚拟机的内存中的数据;根据所述内存位图将所述待迁移虚拟机的内存中的数据存储至所述目标虚拟机的易失性内存及非易失性内存中。2.如权利要求1所述的方法,其特征在于,所述根据所述内存位图将所述待迁移虚拟机的内存中的数据存储至所述目标虚拟机的易失性内存及非易失性内存中,包括:将所述待迁移虚拟机的内存中的数据依次迁入所述目标虚拟机的易失性内存中;判断所述易失性内存中的数据是否大于等于预设阈值;当所述易失性内存中的数据大于等于所述预设阈值时,根据所述内存位图,将当前存储在所述目标虚拟机的易失性内存,但在所述内存位图中指示存储于所述非易失性内存的数据迁移至所述目标虚拟机的非易失性内存。3.如权利要求1所述的方法,其特征在于,所述根据所述内存位图将所述待迁移虚拟机的内存数据存储至所述目标虚拟机的易失性内存及非易失性内存中,包括:每当接收到所述第二设备传输的数据包时,根据所述内存位图确定所述数据包中包括的各个内存单元的数据存储在所述易失性内存中,还是所述非易失性内存中;将所述数据包中所述内存位图指示的存储于所述易失性内存的内存单元的数据存储在所述目标虚拟机的易失性内存;将所述数据包中所述内存位图指示的存储于所述非易失性内存的内存单元的数据存储在所述目标虚拟机的非易失性内存。4.如权利要求1~3任一所述的方法,其特征在于,所述根据所述内存位图将所述待迁移虚拟机的内存中的数据存储至所述目标虚拟机的易失性内存及非易失性内存中,包括:接收所述第二设备发送的在迁移所述待迁移虚拟机的内存中的数据时的内存改写数据、所述内存改写数据所写入的内存单元在所述内存位图中的位置信息以及所述内存位图的更新比特位,所述更新比特位用于指示所述内存改写数据存储于所述非易失性内存中,还是所述非易失性内存中;根据所述内存改写数据所写入的内存单元在所述内存位图中的位置信息将所述内存改写数据更新至所述目标虚拟机的易失性内存或非易失性内存中;根据所述内存位图的更新比特位对所述内存位图中对应的比特位进行更新。5.如权利要求1~3任一所述的方法,其特征在于,所述根据所述内存位图将所述待迁移虚拟机的内存数据存储至所述目标虚拟机的易失性内存及非易失性内存中,包括:接收所述第二设备发送的在迁移所述待迁移虚拟机的内存中的数据时的内存写入数据、所述内存写入数据所写入的内存单元在所述内存位图中的位置信息以及所述内存位图的更新比特位,所述更新比特位用于指示所述内存写入数据存储于所述非易失性内存中,还是所述非易失性内存中;
根据所述内存写入数据所写入的内存单元在所述内存位图中的位置信息将所述内存写入数据存储至所述目标虚拟机的易失性内存或非易失性内存中;在所述内存位图中增加所述内存位图的更新比特位。6.一种虚拟机迁移方法,由第二设备执行,其特征在于,该方法包括:向第一设备发送迁移指令,所述迁移指令用于指示所述第一设备创建所述第一设备中的待迁移虚拟机对应的目标虚拟机;向所述第一设备发送待迁移虚拟机的内存位图,所述内存位图用于指示所述待迁移虚拟机的内存中的每个内存单元的数据存储于非易失性内存中,还是非易失性内存中,其中,所述待迁移虚拟机包括非易失性内存和易失性内存;向所述第一设备发送所述待迁移虚拟机的内存中的数据。7.如权利要求6所述的方法,其特征在于,所述向所述第一设备发送所述待迁移虚拟机内存位图之前,还包括:根据所述待迁移虚拟机的内存中每个内存单元的数据的存储地址确定所述待迁移虚拟机的内存中的每个内存单元的数据存储于所述非易失性内存中,还是所述非易失性内存中,生成所述待迁移虚拟机内存位图。8.如权利要求6或7所述的方法,其特征在于,所述向所述第一设备发送所述待迁移虚拟机的内存中的数据,包括:在向所述第一设备发送所述待迁移虚拟机的内存中的数据的过程中,记录所述待迁移虚拟机的内存改写数据,以及所述内存改写数据所写入的内存单元的位置信息;生成所述内存位图的更新比特位,所述更新比特位用于指示所述内存改写数据存储于所述非易失性内存中,还是所述非易失性内存中;向所述第一设备发送所述内存改写数据、所述内存改写数据所写入的内存单元在所述内存位图中的位置信息以及所述内存位图的更新比特位。9.如权利要求6或7所述的方法,其特征在于,所述向所述第一设备发送所述待迁移虚拟机的内存数据,包括:在向所述第一设备发送所述待迁移虚拟机的内存中的数据的过程中,记录所述待迁移虚拟机的内存写入数据,以及所述内存写入数据所写入的内存单元在所述内存位图中的位置信息;生成所述内存位图的更新比特位,所述更新比特位用于指示所述内存写入数据存储于所述非易失性内存中,还是所述非易失性内存中;向所述第一设备发送所述内存写入数据、所述内存写入数据所写入的内存单元的位置信息以及所述内存位图的更新比特位。10.一种设备,其特征在于,该设备包括接收单元、处理单元:所述接收单元,用于接收第二设备发送的迁移指令;以及接收第二设备发送的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。