CN108334401B - 实现逻辑卷动态分配并支持虚拟机动态迁移的系统及方法 - Google Patents

实现逻辑卷动态分配并支持虚拟机动态迁移的系统及方法 Download PDF

Info

Publication number
CN108334401B
CN108334401B CN201810096558.2A CN201810096558A CN108334401B CN 108334401 B CN108334401 B CN 108334401B CN 201810096558 A CN201810096558 A CN 201810096558A CN 108334401 B CN108334401 B CN 108334401B
Authority
CN
China
Prior art keywords
virtual machine
migration
mapping table
mode
dynamic
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
Application number
CN201810096558.2A
Other languages
English (en)
Other versions
CN108334401A (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.)
Wuhan Os Easy Cloud Computing Co ltd
Original Assignee
Wuhan Os Easy Cloud Computing Co 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 Wuhan Os Easy Cloud Computing Co ltd filed Critical Wuhan Os Easy Cloud Computing Co ltd
Priority to CN201810096558.2A priority Critical patent/CN108334401B/zh
Publication of CN108334401A publication Critical patent/CN108334401A/zh
Application granted granted Critical
Publication of CN108334401B publication Critical patent/CN108334401B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种实现逻辑卷动态分配并支持虚拟机动态迁移的系统及方法,涉及云计算领域。本发明引入3种映射表缓存模式:写回模式:映射表读写均在缓存中,内核进程定时将脏的映射表写入磁盘;写通模式:映射表读取时从缓存获取数据;写入数据时,将映射表同时写进缓存和磁盘,每次写数据操作都会触发脏映射表刷新到磁盘;迁移模式:映射表读取时从硬盘读取,有数据写入操作时,自动将映射表缓存模式切换成写回模式。本发明在源服务器触发迁移操作前,设置映射表缓存模式为写通模式;在目标服务器触发迁移操作前,对虚拟机的虚拟磁盘进行预加载,设置映射表缓存模式为迁移模式。本发明既能解决虚拟机HA问题,又能实现虚拟机的动态迁移。

Description

实现逻辑卷动态分配并支持虚拟机动态迁移的系统及方法
技术领域
本发明涉及云计算领域,具体是涉及一种实现逻辑卷动态分配并支持虚拟机动态迁移的系统及方法。
背景技术
在云计算数据中心,在大量服务器上运行着大量的虚拟机业务,但由于服务器故障及正常的服务器升级维护不可避免,必然会造成虚拟机业务的停机。为了降低这种停机时间以及实现运维的自动化,云计算服务厂商都必须提供以下2个虚拟机的高级功能:
(1)虚拟机HA(Hign Available,高可用):当虚拟机运行所在的服务器发生故障时,其它正常的服务器自动重新启动该虚拟机,让虚拟机业务继续运行,中间会造成虚拟机内存数据的丢失和一段业务停机时间。该功能一般由管理员配置好HA策略,进行被动触发,降低由服务器故障引起的停机时间。
(2)虚拟机动态迁移:当有需要时,由管理员主动触发迁移指令让虚拟机业务在不停机的情况自动迁移到其他服务器上。该功能一般由管理员主动触发,降低因正常维护带来的停机时间。
上述两个高级功能一般都要求虚拟机的虚拟磁盘放在共享存储上。
目前已有一种在共享存储上实现逻辑卷动态分配的技术方案:云计算数据中心包括若干服务器、共享存储设备和网络交换机,每台服务器上都安装有虚拟磁盘的驱动程序、服务程序和命令行工具。在所有服务器上安装虚拟磁盘的驱动程序、服务程序和命令行工具,其中一台服务器为主节点,其他的服务器为从节点。用户通过命令行工具发出创建虚拟磁盘的命令,命令行工具将该命令发送给主节点的服务程序,主节点的服务程序根据参数调用驱动程序,创建虚拟磁盘,同时在虚拟磁盘的保留空间内保存对应的配置、映射数据等,然后将创建结果返回给命令行工具,命令行工具更新本地数据,并使用驱动程序在本地加载对应的虚拟磁盘;此时驱动程序仅给用户分配一个要求大小的虚拟磁盘,然而实际上却只分配了很小的一部分存储空间,大约使用者要求大小的1%到10%,也可自由调整,这一点对用户是透明的,用户以为分配了全部的空间。
当用户对这个虚拟磁盘进行写入时,驱动程序如果发现被写入的存储空间还没有被分配,则通知主节点的服务程序分配额外的存储空间,并更新保留空间内的映射数据,然后用户在新分配的空间上进行写入,从而实现存储空间的动态按需分配;当用户对该虚拟磁盘进行读取时,驱动程序如果发现被读取的存储空间还没有被分配,则直接返回全0的数据,不进行实际的存储设备操作;当用户读写已经实际分配存储空间时,直接在本地进行数据块映射,由于采用简单的数组映射算法,整个过程几乎没有性能损耗;当主节点崩溃时,在从节点中任意选一个,设为新主节点,然后向其余节点上的服务程序发送新主节点的相关信息,虚拟磁盘就可以继续正常运行,不间断对外提供服务,实现高可用。
上述技术方案具有节省空间、高可用、高性能、低成本、低消耗、高可靠性等特性,在保证性能的前提下,能很好的解决虚拟机HA的问题,保证了在服务器故障的情况下,虚拟机能在新的服务器上正常启动,还是使用相同的存储存储,降低业务的停机时间。
目前,在云计算的解决方案中广泛使用libvirt模块、qemu程序。libvirt模块是用于管理虚拟化平台的开源的API(Application Programming Interface,应用编程接口)、后台程序和管理工具。libvirt模块可以用于管理KVM、Xen、VMware ESX,qemu和其他虚拟化技术。qemu程序是法布里斯·贝拉(Fabrice Bellard)所编写的以GPL许可证分发源码的模拟处理器,在GNU/Linux平台上使用广泛。
云数据中心包括源服务器、目标服务器、管理平台服务节点和共享存储,共享存储为ISCSI存储或FC存储,管理平台服务节点运行管理平台服务端和数据库,源服务器运行虚拟机服务程序、动态分配驱动程序和至少一个虚拟机,虚拟机使用动态分配的逻辑卷作为虚拟磁盘文件,目标服务器运行虚拟机服务程序和动态分配驱动程序。
下面以libvirt+qemu为例说明虚拟机动态迁移的底层实现过程:
1、虚拟机服务程序通过调用libvirt模块提供的迁移接口完成迁移操作,虚拟机使用的虚拟化程序为qemu程序。源服务器的libvirt模块触发动态迁移操作,参数中包含要迁移到的目标服务器;
2、源服务器的libvirt模块与目标服务器的libvirt模块建立连接,通知将启动虚拟机动态迁移操作;
3、目标服务器的libvirt模块调用qemu程序,以表示等待动态迁移连接的参数incoming启动一个同样的虚拟机,使用相同的虚拟机磁盘文件,虚拟机设置为暂停状态,这个时候不会对磁盘进行写操作;
4、源服务器的libvirt模块通知qemu程序开始迁移操作;
5、源服务器的qemu程序与目标服务器的qemu程序建立连接,通过位图记录变化的内存数据的机制进行内存数据迁移操作。进行多轮迁移操作后,变化的内存足够少时,暂停源服务器,将剩下的变化内存迁移完,目标服务器的qemu程序设置虚拟机状态为运行;
6、源服务器的qemu程序设置虚拟机状态为关闭,动态迁移过程完成。
在上面第5步中会有短暂的虚拟机暂停时间,因时间非常短,虚拟机业务无法感知,可以认为在整个迁移过程中,业务是不停机的。
从上面的迁移过程来看,要实现虚拟机的动态迁移,在整个动态迁移过程中,虚拟机使用的共享存储必须具有以下3个特性:
1、虚拟机使用的虚拟磁盘能够在源服务器和目标服务器上同时加载;
2、在源服务器,数据应该是实时写入的;
3、在目标服务器,数据应该是实现更新的。
在已有的共享存储上实现逻辑卷动态分配的技术方案中,为保证存储性能,映射表始终缓存在内存中,无法支持上述第2特性、第3特性,导致无法实现虚拟机的动态迁移。
发明内容
本发明的目的是为了克服上述背景技术的不足,在已有的共享存储上实现逻辑卷动态分配的技术方案上进行技术突破,在原映射表单一缓存模式的基础上,引入多种缓存模式,并对虚拟机动态迁移的业务过程进行改造,在兼顾存储性能的同时,提供一种既能解决虚拟机HA问题,又能解决虚拟机动态迁移问题的共享存储逻辑卷动态分配的系统及方法。
本发明提供一种在共享存储上实现逻辑卷动态分配并支持虚拟机动态迁移的系统,该系统应用于云数据中心,该系统包括源服务器、目标服务器、管理平台服务节点和共享存储,管理平台服务节点运行管理平台服务端和数据库,源服务器运行虚拟机服务程序、动态分配驱动程序和至少一个虚拟机,虚拟机使用动态分配的逻辑卷作为虚拟磁盘文件,目标服务器运行虚拟机服务程序和动态分配驱动程序,其特征在于:所述动态分配驱动程序引入3种映射表缓存模式:a、写回模式:映射表读写均在缓存中,内核进程定时将脏的映射表写入磁盘;b、写通模式:映射表读取时,从缓存获取数据;写入数据时,将映射表同时写进缓存和磁盘,每次写数据操作都会触发脏映射表刷新到磁盘;c、迁移模式:映射表读取时从硬盘读取,当有数据写入操作时,自动将映射表缓存模式切换成写回模式;
登录管理平台服务端,选择要动态迁移的源服务器、需迁移到的目标服务器,触发虚拟机动态迁移指令;源服务器接收到虚拟机动态迁移指令时,设置虚拟磁盘的映射表缓存模式为写通模式,并通知虚拟机动态迁移的目标服务器的虚拟机服务程序;目标服务器的虚拟机服务程序收到通知后,加载虚拟磁盘,并设置映射表缓存模式为迁移模式;
源服务器的虚拟机服务程序调用迁移接口,触发迁移操作,参数中包含要迁移到的目标服务器;源服务器与目标服务器建立连接,执行虚拟机的动态迁移;虚拟机动态迁移到目标服务器后正常运行,并在运行过程中触发数据写入操作;在目标服务器上运行的动态配置驱动程序检测到写入操作,自动切换映射表缓存模式为写回模式,至此虚拟机动态迁移完成。
在上述技术方案的基础上,所述虚拟机使用的虚拟化程序为qemu程序,qemu程序是法布里斯·贝拉编写的模拟处理器。
在上述技术方案的基础上,所述源服务器的虚拟机服务程序调用libvirt模块提供的迁移接口,触发迁移操作,libvirt模块是用于管理虚拟化平台的开源的应用编程接口、后台程序和管理工具。
在上述技术方案的基础上,所述源服务器的libvirt模块与目标服务器的libvirt模块建立连接,执行虚拟机的动态迁移。
在上述技术方案的基础上,所述执行虚拟机的动态迁移的具体过程如下:目标服务器的libvirt模块调用qemu程序,以表示等待动态迁移连接的参数启动一个同样的虚拟机,使用相同的虚拟机磁盘文件,虚拟机设置为暂停状态,这时不对磁盘进行写操作;源服务器的libvirt模块通知qemu程序开始迁移操作;源服务器的qemu程序与目标服务器的qemu程序建立连接,通过位图记录变化的内存数据的机制进行内存数据迁移操作,进行多轮迁移操作后,变化的内存足够少时,暂停源服务器,将剩下的变化内存迁移完,目标服务器的qumu程序设置虚拟机状态为运行;源服务器的qemu程序设置虚拟机状态为关闭。
本发明还提供一种基于上述系统的在共享存储上实现逻辑卷动态分配并支持虚拟机动态迁移的方法,包括以下步骤:
S1、动态分配驱动程序引入3种映射表缓存模式:a、写回模式:映射表读写均在缓存中,内核进程定时将脏的映射表写入磁盘;b、写通模式:映射表读取时,从缓存获取数据;写入数据时,将映射表同时写进缓存和磁盘,每次写数据操作都会触发脏映射表刷新到磁盘;c、迁移模式:映射表读取时从硬盘读取,当有数据写入操作时,自动将映射表缓存模式切换成写回模式;
登录管理平台服务端,选择要动态迁移的源服务器、需迁移到的目标服务器,触发虚拟机动态迁移指令;
S2、源服务器接收到虚拟机动态迁移指令时,设置虚拟磁盘的映射表缓存模式为写通模式,并通知虚拟机动态迁移的目标服务器的虚拟机服务程序;目标服务器的虚拟机服务程序收到通知后,加载虚拟磁盘,并设置映射表缓存模式为迁移模式;
S3、源服务器的虚拟机服务程序调用迁移接口,触发迁移操作,参数中包含要迁移到的目标服务器;源服务器与目标服务器建立连接,执行虚拟机的动态迁移;
S4、虚拟机动态迁移到目标服务器后正常运行,并在运行过程中触发数据写入操作;在目标服务器上运行的动态配置驱动程序检测到写入操作,自动切换映射表缓存模式为写回模式,至此虚拟机动态迁移完成。
在上述技术方案的基础上,所述虚拟机使用的虚拟化程序为qemu程序,qemu程序是法布里斯·贝拉编写的模拟处理器。
在上述技术方案的基础上,步骤S3中,所述源服务器的虚拟机服务程序调用libvirt模块提供的迁移接口,触发迁移操作,libvirt模块是用于管理虚拟化平台的开源的应用编程接口、后台程序和管理工具。
在上述技术方案的基础上,步骤S3中,所述源服务器的libvirt模块与目标服务器的libvirt模块建立连接,执行虚拟机的动态迁移。
在上述技术方案的基础上,步骤S3中,所述执行虚拟机的动态迁移的具体过程如下:目标服务器的libvirt模块调用qemu程序,以表示等待动态迁移连接的参数启动一个同样的虚拟机,使用相同的虚拟机磁盘文件,虚拟机设置为暂停状态,这时不对磁盘进行写操作;源服务器的libvirt模块通知qemu程序开始迁移操作;源服务器的qemu程序与目标服务器的qemu程序建立连接,通过位图记录变化的内存数据的机制进行内存数据迁移操作,进行多轮迁移操作后,变化的内存足够少时,暂停源服务器,将剩下的变化内存迁移完,目标服务器的qumu程序设置虚拟机状态为运行;源服务器的qemu程序设置虚拟机状态为关闭。
与现有技术相比,本发明的优点如下:
为解决虚拟机动态迁移的问题,本发明通过动态分配驱动程序引入3种映射表缓存模式:a、写回模式:映射表读写均在缓存中,内核进程定时将脏的映射表写入磁盘,性能最好;b、写通模式:映射表读取时,从缓存获取数据;写入数据时,将映射表同时写进缓存和磁盘,每次写数据操作都会触发脏映射表刷新到磁盘,读性能无影响,写性能有一些影响;c、迁移模式:映射表读取时从硬盘读取,当有数据写入操作时,自动将映射表缓存模式切换成写回模式。本发明引入映射表的多种缓存模式,对虚拟机动态迁移的步骤进行改造:在源服务器的libvirt模块触发迁移操作前,设置虚拟机的虚拟磁盘的映射表缓存模式为写通模式;在目标服务器的libvirt模块触发迁移操作前,对虚拟机的虚拟磁盘进行预加载,并设置映射表缓存模式为迁移模式。本发明在原映射表单一缓存模式的基础上,引入3种缓存模式,并对虚拟机动态迁移的业务过程进行改造,在兼顾性能的存储性能的同时,既能解决虚拟机HA问题,又能解决虚拟机动态迁移的问题。
附图说明
图1是本发明实施例中在共享存储上实现逻辑卷动态分配并支持虚拟机动态迁移的方法的流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
本发明实施例提供一种在共享存储上实现逻辑卷动态分配并支持虚拟机动态迁移的系统,该系统应用于云数据中心,该系统包括源服务器、目标服务器、管理平台服务节点和共享存储,共享存储为ISCSI存储或FC存储,管理平台服务节点运行管理平台服务端和数据库,源服务器运行虚拟机服务程序、动态分配驱动程序和至少一个虚拟机,虚拟机使用动态分配的逻辑卷作为虚拟磁盘文件,目标服务器运行虚拟机服务程序和动态分配驱动程序,虚拟机服务程序通过调用libvirt模块提供的迁移接口完成迁移操作,虚拟机使用的虚拟化程序为qemu程序,qemu程序是法布里斯·贝拉编写的模拟处理器。
参见图1所示,本发明实施例提供一种基于上述系统的在共享存储上实现逻辑卷动态分配并支持虚拟机动态迁移的方法,包括以下步骤:
S1、动态分配驱动程序引入3种映射表缓存模式:
a、写回模式:映射表读写均在缓存中,内核进程定时将脏的映射表写入磁盘,性能最好;
b、写通模式:映射表读取时,从缓存获取数据;写入数据时,将映射表同时写进缓存和磁盘,每次写数据操作都会触发脏映射表刷新到磁盘,读性能无影响,写性能有一些影响;
c、迁移模式:映射表读取时从硬盘读取,当有数据写入操作时,自动将映射表缓存模式切换成写回模式;
管理员登录管理平台服务端,选择要动态迁移的源服务器、需迁移到的目标服务器,触发虚拟机动态迁移指令;
S2、源服务器接收到虚拟机动态迁移指令时,设置虚拟磁盘的映射表缓存模式为写通模式,并通知虚拟机动态迁移的目标服务器的虚拟机服务程序;目标服务器的虚拟机服务程序收到通知后,加载虚拟磁盘,并设置映射表缓存模式为迁移模式;
S3、源服务器的虚拟机服务程序调用libvirt模块提供的迁移接口,触发迁移操作,参数中包含要迁移到的目标服务器;源服务器的libvirt模块与目标服务器的libvirt模块建立连接,执行虚拟机的动态迁移,具体过程如下:
目标服务器的libvirt模块调用qemu程序,以表示等待动态迁移连接的参数启动一个同样的虚拟机,使用相同的虚拟机磁盘文件,虚拟机设置为暂停状态,这个时候不会对磁盘进行写操作;源服务器的libvirt模块通知qemu程序开始迁移操作;源服务器的qemu程序与目标服务器的qemu程序建立连接,通过位图记录变化的内存数据的机制进行内存数据迁移操作,进行多轮迁移操作后,变化的内存足够少时,暂停源服务器,将剩下的变化内存迁移完,目标服务器的qumu程序设置虚拟机状态为运行;源服务器的qemu程序设置虚拟机状态为关闭。
S4、虚拟机动态迁移到目标服务器后正常运行,并在运行过程中触发数据写入操作;在目标服务器上运行的动态配置驱动程序检测到写入操作,自动切换映射表缓存模式为写回模式,至此虚拟机动态迁移完成。
本发明实施例通过通过引入3种映射表缓存模式,并结合虚拟机服务程序,对虚拟机的动态迁移过程进行改造,在兼顾原有高性能的同时,实现了虚拟机的动态迁移。
本领域的技术人员可以对本发明实施例进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。
说明书中未详细描述的内容为本领域技术人员公知的现有技术。

Claims (10)

1.一种在共享存储上实现逻辑卷动态分配并支持虚拟机动态迁移的系统,该系统应用于云数据中心,该系统包括源服务器、目标服务器、管理平台服务节点和共享存储,管理平台服务节点运行管理平台服务端和数据库,源服务器运行虚拟机服务程序、动态分配驱动程序和至少一个虚拟机,虚拟机使用动态分配的逻辑卷作为虚拟磁盘文件,目标服务器运行虚拟机服务程序和动态分配驱动程序,其特征在于:所述动态分配驱动程序引入3种映射表缓存模式:a、写回模式:映射表读写均在缓存中,内核进程定时将脏的映射表写入磁盘;b、写通模式:映射表读取时,从缓存获取数据;写入数据时,将映射表同时写进缓存和磁盘,每次写数据操作都会触发脏映射表刷新到磁盘;c、迁移模式:映射表读取时从硬盘读取,当有数据写入操作时,自动将映射表缓存模式切换成写回模式;
登录管理平台服务端,选择要动态迁移的源服务器、需迁移到的目标服务器,触发虚拟机动态迁移指令;源服务器接收到虚拟机动态迁移指令时,设置虚拟磁盘的映射表缓存模式为写通模式,并通知虚拟机动态迁移的目标服务器的虚拟机服务程序;目标服务器的虚拟机服务程序收到通知后,加载虚拟磁盘,并设置映射表缓存模式为迁移模式;
源服务器的虚拟机服务程序调用迁移接口,触发迁移操作,参数中包含要迁移到的目标服务器;源服务器与目标服务器建立连接,执行虚拟机的动态迁移;虚拟机动态迁移到目标服务器后正常运行,并在运行过程中触发数据写入操作;在目标服务器上运行的动态配置驱动程序检测到写入操作,自动切换映射表缓存模式为写回模式,至此虚拟机动态迁移完成。
2.如权利要求1所述的在共享存储上实现逻辑卷动态分配并支持虚拟机动态迁移的系统,其特征在于:所述虚拟机使用的虚拟化程序为qemu程序。
3.如权利要求2所述的在共享存储上实现逻辑卷动态分配并支持虚拟机动态迁移的系统,其特征在于:所述源服务器的虚拟机服务程序调用libvirt模块提供的迁移接口,触发迁移操作,libvirt模块是用于管理虚拟化平台的开源的应用编程接口、后台程序和管理工具。
4.如权利要求3所述的在共享存储上实现逻辑卷动态分配并支持虚拟机动态迁移的系统,其特征在于:所述源服务器的libvirt模块与目标服务器的libvirt模块建立连接,执行虚拟机的动态迁移。
5.如权利要求4所述的在共享存储上实现逻辑卷动态分配并支持虚拟机动态迁移的系统,其特征在于:所述执行虚拟机的动态迁移的具体过程如下:目标服务器的libvirt模块调用qemu程序,以表示等待动态迁移连接的参数启动一个同样的虚拟机,使用相同的虚拟机磁盘文件,虚拟机设置为暂停状态,这时不对磁盘进行写操作;源服务器的libvirt模块通知qemu程序开始迁移操作;源服务器的qemu程序与目标服务器的qemu程序建立连接,通过位图记录变化的内存数据的机制进行内存数据迁移操作,进行多轮迁移操作后,变化的内存足够少时,暂停源服务器,将剩下的变化内存迁移完,目标服务器的qumu程序设置虚拟机状态为运行;源服务器的qemu程序设置虚拟机状态为关闭。
6.基于权利要求1所述系统的在共享存储上实现逻辑卷动态分配并支持虚拟机动态迁移的方法,包括以下步骤:
S1、动态分配驱动程序引入3种映射表缓存模式:a、写回模式:映射表读写均在缓存中,内核进程定时将脏的映射表写入磁盘;b、写通模式:映射表读取时,从缓存获取数据;写入数据时,将映射表同时写进缓存和磁盘,每次写数据操作都会触发脏映射表刷新到磁盘;c、迁移模式:映射表读取时从硬盘读取,当有数据写入操作时,自动将映射表缓存模式切换成写回模式;
登录管理平台服务端,选择要动态迁移的源服务器、需迁移到的目标服务器,触发虚拟机动态迁移指令;
S2、源服务器接收到虚拟机动态迁移指令时,设置虚拟磁盘的映射表缓存模式为写通模式,并通知虚拟机动态迁移的目标服务器的虚拟机服务程序;目标服务器的虚拟机服务程序收到通知后,加载虚拟磁盘,并设置映射表缓存模式为迁移模式;
S3、源服务器的虚拟机服务程序调用迁移接口,触发迁移操作,参数中包含要迁移到的目标服务器;源服务器与目标服务器建立连接,执行虚拟机的动态迁移;
S4、虚拟机动态迁移到目标服务器后正常运行,并在运行过程中触发数据写入操作;在目标服务器上运行的动态配置驱动程序检测到写入操作,自动切换映射表缓存模式为写回模式,至此虚拟机动态迁移完成。
7.如权利要求6所述的在共享存储上实现逻辑卷动态分配并支持虚拟机动态迁移的方法,其特征在于:所述虚拟机使用的虚拟化程序为qemu程序。
8.如权利要求7所述的在共享存储上实现逻辑卷动态分配并支持虚拟机动态迁移的方法,其特征在于:步骤S3中,所述源服务器的虚拟机服务程序调用libvirt模块提供的迁移接口,触发迁移操作,libvirt模块是用于管理虚拟化平台的开源的应用编程接口、后台程序和管理工具。
9.如权利要求8所述的在共享存储上实现逻辑卷动态分配并支持虚拟机动态迁移的方法,其特征在于:步骤S3中,所述源服务器的libvirt模块与目标服务器的libvirt模块建立连接,执行虚拟机的动态迁移。
10.如权利要求9所述的在共享存储上实现逻辑卷动态分配并支持虚拟机动态迁移的方法,其特征在于:步骤S3中,所述执行虚拟机的动态迁移的具体过程如下:目标服务器的libvirt模块调用qemu程序,以表示等待动态迁移连接的参数启动一个同样的虚拟机,使用相同的虚拟机磁盘文件,虚拟机设置为暂停状态,这时不对磁盘进行写操作;源服务器的libvirt模块通知qemu程序开始迁移操作;源服务器的qemu程序与目标服务器的qemu程序建立连接,通过位图记录变化的内存数据的机制进行内存数据迁移操作,进行多轮迁移操作后,变化的内存足够少时,暂停源服务器,将剩下的变化内存迁移完,目标服务器的qumu程序设置虚拟机状态为运行;源服务器的qemu程序设置虚拟机状态为关闭。
CN201810096558.2A 2018-01-31 2018-01-31 实现逻辑卷动态分配并支持虚拟机动态迁移的系统及方法 Active CN108334401B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810096558.2A CN108334401B (zh) 2018-01-31 2018-01-31 实现逻辑卷动态分配并支持虚拟机动态迁移的系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810096558.2A CN108334401B (zh) 2018-01-31 2018-01-31 实现逻辑卷动态分配并支持虚拟机动态迁移的系统及方法

Publications (2)

Publication Number Publication Date
CN108334401A CN108334401A (zh) 2018-07-27
CN108334401B true CN108334401B (zh) 2020-07-28

Family

ID=62927629

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810096558.2A Active CN108334401B (zh) 2018-01-31 2018-01-31 实现逻辑卷动态分配并支持虚拟机动态迁移的系统及方法

Country Status (1)

Country Link
CN (1) CN108334401B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109213446B (zh) * 2018-08-23 2022-03-22 郑州云海信息技术有限公司 写缓存模式的切换方法、装置、设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799743A (zh) * 2009-02-05 2010-08-11 株式会社日立制作所 用于逻辑卷管理的方法和装置
CN103677656A (zh) * 2012-08-31 2014-03-26 株式会社日立制作所 虚拟存储系统和远程复制系统的管理方法
CN104410681A (zh) * 2014-11-21 2015-03-11 上海交通大学 基于远程直接内存访问的虚拟机动态迁移优化方法
CN106656631A (zh) * 2017-01-19 2017-05-10 武汉噢易云计算股份有限公司 在共享存储上实现逻辑卷动态分配的方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262557B (zh) * 2010-05-25 2015-01-21 运软网络科技(上海)有限公司 通过总线架构构建虚拟机监控器的方法及性能服务框架

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799743A (zh) * 2009-02-05 2010-08-11 株式会社日立制作所 用于逻辑卷管理的方法和装置
CN103677656A (zh) * 2012-08-31 2014-03-26 株式会社日立制作所 虚拟存储系统和远程复制系统的管理方法
CN104410681A (zh) * 2014-11-21 2015-03-11 上海交通大学 基于远程直接内存访问的虚拟机动态迁移优化方法
CN106656631A (zh) * 2017-01-19 2017-05-10 武汉噢易云计算股份有限公司 在共享存储上实现逻辑卷动态分配的方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Cache contention aware Virtual Machine placement and migration in cloud datacenters;Liuhua Chen;《IEEE》;20161215;第1-10页 *
一种基于热页迁移的虚拟机动态缓存划分方法;汪小林 等;《中国科技论文在线》;20140102;第1-14页 *
多虚拟机下基于内存缓存的动态块迁移算法;刘典型;《计算机应用与软件》;20150331(第3期);第11-15页 *

Also Published As

Publication number Publication date
CN108334401A (zh) 2018-07-27

Similar Documents

Publication Publication Date Title
US10552337B2 (en) Memory management and device
US9785381B2 (en) Computer system and control method for the same
EP3783480B1 (en) Virtualized cache implementation method and physical machine
US8997098B2 (en) Hypervisor-based server duplication system and method and storage medium storing server duplication computer program
CN102077188B (zh) 用于虚拟化操作系统的直接存储器访问过滤器
US9811465B2 (en) Computer system and cache control method
US7877358B2 (en) Replacing system hardware
US7979869B2 (en) Method and system for performing I/O operations using a hypervisor
EP3502877A1 (en) Data loading method and device
US20160266923A1 (en) Information processing system and method for controlling information processing system
CN103176845B (zh) 一种虚拟机部署方法、系统和装置
US10289564B2 (en) Computer and memory region management method
CN109168328B (zh) 虚拟机迁移的方法、装置和虚拟化系统
JPWO2009069326A1 (ja) ネットワークブートシステム
JPWO2012063334A1 (ja) 仮想マシンのライブマイグレーションを支援するためのメモリ制御装置及びi/oスイッチ
CA3129984A1 (en) Method and system for accessing distributed block storage system in user mode
JP2011227766A (ja) 記憶手段の管理方法、仮想計算機システムおよびプログラム
CN110069336A (zh) 内存资源分配方法、分配装置、芯片和存储装置
CN108334401B (zh) 实现逻辑卷动态分配并支持虚拟机动态迁移的系统及方法
CN107003880B (zh) 内核更新方法和装置、计算机设备
US8140810B2 (en) Storage management command control in virtualized environment
CN102419693A (zh) 一种管理存储单元的磁盘空间的方法和电子设备
CN107147516B (zh) 服务器、存储系统及相关方法
US9436488B2 (en) Program redundancy among virtual machines and global management information and local resource information arrangement
CN113590309B (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