CN107368358A - 实现客户端所在虚拟机在不同主机间迁移的装置和方法 - Google Patents

实现客户端所在虚拟机在不同主机间迁移的装置和方法 Download PDF

Info

Publication number
CN107368358A
CN107368358A CN201610310830.3A CN201610310830A CN107368358A CN 107368358 A CN107368358 A CN 107368358A CN 201610310830 A CN201610310830 A CN 201610310830A CN 107368358 A CN107368358 A CN 107368358A
Authority
CN
China
Prior art keywords
main frame
virtual machine
mirror image
client
server
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
CN201610310830.3A
Other languages
English (en)
Other versions
CN107368358B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610310830.3A priority Critical patent/CN107368358B/zh
Publication of CN107368358A publication Critical patent/CN107368358A/zh
Application granted granted Critical
Publication of CN107368358B publication Critical patent/CN107368358B/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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

一种实现客户端所在虚拟机在不同主机间迁移的装置和方法,以保证业务连续性,缩小迁移时延。一种装置包括:资源调度器模块,用于获取位于第一主机上的运行有服务器的第一虚拟机的镜像;第一主机上的第二虚拟机上运行有客户端;在客户端要迁移到的第二主机上安装并运行获取的镜像以生成第三虚拟机,在第三虚拟机上运行该服务器;资源配置模块,用于在第二主机上增加转发流表项。通过安装并运行上述镜像,可实现客户端访问网络存储介质上数据所需的信息到第二主机的搬移,客户端迁移后仍可使用旧的信息,保证了业务连续性。通过增加转发流表项,将客户端的数据访问请求转发给新的虚拟机,客户端无需与新的服务器重新建立连接,缩短了迁移时长。

Description

实现客户端所在虚拟机在不同主机间迁移的装置和方法
技术领域
本发明涉及网络存储技术领域,尤其涉及一种用于实现数据访问的客户端所在的虚拟机在不同主机间迁移的装置和方法。
背景技术
采用网络存储技术进行数据存储时可采用多种存储协议,比如:光纤通道(Fiber Channel,FC)、互联网小型计算机系统接口(internet Small ComputerSystem Interface,iSCSI)、网络文件系统(Network File System,NFS)或公共互联网文件系统(Common Internet File System,CIFS)等。
当采用虚拟化技术时,一个虚拟机(Virtual Machine,VM)上运行的客户端(Client)可能向另一个VM上的服务器(Server)发送数据访问请求,以通过服务器访问网络存储介质上的数据。
服务器会针对网络存储介质上的数据维护数据标识、数据的上下文关系,还可能维护服务器所维护的数据标识与网络存储介质所维护的数据标识之间的映射关系。即服务器需要维护客户端访问网络存储介质上的数据时所需要的信息。
以NFS为例,NFS Server上的每一个文件具有唯一的文件句柄(file handle)用于标识该文件(目录可以视为一种特殊的文件)。NFS Client通过使用该文件句柄与NFS Server交互,以访问后端网络文件系统上的文件。此外,NFS Server还会维护挂载列表(mount list)等文件上下文关系,以及文件句柄与后端网络文件系统中文件的句柄之间的映射关系。
在一种实现场景下,NFS Client所在的VM与NFS Server所在的VM位于同一个主机上。若NFS Client所在VM要从一个主机迁移到目标主机时,NFSServer所在的VM也需要迁移到该目标主机上。若该NFS Client上的业务并没有关闭,需要与目标主机上的VM上运行的新的NFS Server进行通信时,若仍旧使用旧的文件句柄、文件的上下文关系和文件句柄与网络文件系统中文件的句柄之间的映射关系,新的NFS Server将无法识别,会造成业务中断;若NFSClient断开与旧的NFS Server的连接,与新的NFS Server重新建立连接,需要耗费的时间较长。
综上,当采用网络存储技术时,进行数据访问的客户端所在VM在多个主机之间迁移时,需要既保证业务的连续性,又能够尽量缩小迁移时延。
发明内容
本发明实施例提供一种用于实现客户端所在VM在不同主机间迁移的装置和方法,用以保证业务的连续性,并尽量缩小迁移时延。
第一方面,本发明实施例提供一种用于实现客户端所在的虚拟机在不同主机间迁移的方法。
该方法中,由一个单独的主机,比如第三主机,或由下述的第一主机或第二主机执行如下操作:
获取第一虚拟机的镜像;其中,该第一虚拟机位于第一主机上,且第一虚拟机上运行有服务器,此外,第一主机上的第二虚拟机上还运行有客户端,该客户端通过该服务器访问网络存储介质上的数据;
在客户端要迁移到的目标主机,即第二主机上安装并运行获取的所述镜像来生成第三虚拟机,并在第三虚拟机上运行上述服务器;
此外,在第二主机上运行的第二虚拟交换机的转发流表中,增加第二转发流表项,该第二转发流表项将所述客户端的数据访问请求指向第三虚拟机上的该服务器。
其中,通过在客户端迁移的目的主机(即第二主机)上安装并运行服务器所在的第一虚拟机的镜像,可实现客户端访问网络存储介质上的数据所需的信息到第二主机的搬移。这样客户端在迁移到第二主机上后,在与第二主机上的第三虚拟机上运行的服务器进行通信时,仍可使用旧的信息,保证了业务的连续性。并且,通过在第二主机的第二虚拟交换机的转发流表中,增加用于将客户端的数据访问请求指向服务器的第二转发流表项,可实现客户端通过第二主机上的服务器访问网络存储介质上的数据,无需与新的服务器(即第三虚拟机上的服务器)重新建立连接,缩短了迁移的时长。
在一种可选的实现方式中,第三主机上保存有所述镜像;并且,在上述获取所述第一虚拟机的镜像之前,还要更新所述第三主机上保存的所述镜像;则上述获取所述第一虚拟机的镜像的操作是从所述第三主机上获取所述镜像的。
通过保存和更新第一虚拟机的镜像,可保证第一虚拟机的镜像是最新的,这样,客户端所在的虚拟机在迁移到新的主机行后,重新生成的服务器所在的虚拟机才具有最新的上述信息,即客户端访问网络存储介质上的数据时所需要的信息,从而保证了数据访问的成功。
在一种可选的实现方式中,在更新所述第三主机上保存的所述镜像之前,还要从所述第三主机上获取所述镜像的基础镜像,所述基础镜像包括所述服务器的安装程序和所述镜像的基本配置信息;
在所述第一主机上安装并运行所述基础镜像,以生成所述第一虚拟机;
上述更新所述第三主机上保存的所述镜像的操作包括:接收来自所述第一主机在处理所述客户端的数据访问请求后更新的所述第一虚拟机的镜像,并在所述第三主机上保存接收到的所述第一虚拟机的镜像。
在一种可选的实现方式中,在所述第二主机上安装并运行获取的所述镜像之后,还包括:从所述第一主机上删除所述第一虚拟机。
在一种可选的实现方式中,在所述第二主机上运行的所述第一虚拟交换机的转发流表中,增加所述第二转发流表项之后,还包括:从所述第一主机上运行的第一虚拟交换机的转发流表中,删除所述服务器对应的第一转发流表项。
在一种可选的实现方式中,所述第一虚拟机和所述第三虚拟机为容器。
因为容器可视为轻量级的虚拟机,相比于虚拟机,容器拥有更高的资源使用效率,因为它并不需要为每个应用分配单独的操作系统——实例规模更小、创建和迁移速度也更快。
本发明实施例中,第一虚拟机和第三虚拟机上运行有服务器,当客户端从第一主机迁移到第二主机上时,第三主机需要获取第一虚拟机的镜像,在第二主机上安装并运行获取的镜像以生成第三虚拟机。若采用容器技术实现虚拟机,则需要的存储空间较小,且获取、安装运行虚拟机的时延会比较小,能够缩短迁移时延。
第二方面,本发明实施例提供一种用于实现客户端所在的虚拟机在不同主机间迁移的装置,该装置具有实现上述第一方面所提供的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面,本发明实施例提供一种主机,所述主机为至少一个主机中的第三主机,所述第三主机包括:一个或多个处理器、存储器、总线系统、以及一个或多个程序,所述处理器和所述存储器通过所述总线系统相连;其中,所述一个或多个程序被存储在所述存储器中,所述一个或多个程序包括指令,所述指令当被所述第三主机执行时,使所述第三主机执行第一方面提供的方法。
第四方面,本发明实施例提供一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当被至少一个主机中的第三主机执行时使所述第三主机执行上述第一方面提供的方法。
第五方面,本发明实施例提供一种计算机网络,包括第一方面所涉及的网络存储介质、第一主机、第二主机和第三主机。
附图说明
图1为本发明实施例提供的一种计算机网络的结构示意图;
图2为本发明实施例提供的虚拟机安装及维护方法的流程图;
图3为本申请的实施例提供的客户端所在虚拟机迁移方法的流程图;
图4为本发明实施例提供的网络存储系统的结构示意图;
图5为本发明实施例提供的另一种计算机网络的结构示意图;
图6为本发明实施例提供的又一种计算机网络的结构示意图;
图7为本发明实施例中,NFS客户端所在虚拟机迁移的流程图;
图8A和图8B为本发明实施例中,NFS客户端所在虚拟机迁移的消息时序图;
图9为本发明实施例提供的用于实现客户端所在的虚拟机在不同主机间迁移的装置的结构示意图;
图10为本发明实施例提供的一种主机的结构示意图。
具体实施方式
为了更好地理解本发明实施例的上述目的、方案和优势,下文提供了详细描述。该详细描述通过使用框图、流程图等附图和/或示例,阐明了装置和/或方法的各种实施方式。在这些框图、流程图和/或示例中,包含一个或多个功能和/或操作。本领域技术人员将理解到:这些框图、流程图或示例内的各个功能和/或操作,能够通过各种各样的硬件、软件、固件单独或共同实施,或者通过硬件、软件和固件的任意组合实施。
本发明实施例中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本发明实施例提供的一种计算机网络的结构示意图,如图1所示,该计算机网络包括:
网络存储介质104,用于存储数据;
第一主机101,第一主机101上运行有第一虚拟机和第二虚拟机,第一虚拟机上运行有服务器,第二虚拟机上运行有客户端,客户端通过服务器访问网络存储介质上的数据;
第二主机102,为客户端要迁移到的目标主机,且第二主机102上运行有第二虚拟交换机;客户端迁移到第二主机102上后,位于第二主机上的第四虚拟机中;
第三主机103,用于获取第一虚拟机的镜像,在第二主机102上安装并运行获取的镜像以生成第三虚拟机,在第三虚拟机上运行服务器;以及在第二虚拟交换机的转发流表中,增加第二转发流表项,第二转发流表项用于将客户端的数据访问请求指向服务器;
其中,第三主机103为第一主机101或第二主机102,或者第三主机103为不同于第一主机101和第二主机102的主机(如图1中所示)。
如前所述,客户端在访问网络存储介质104上的数据时,需要获得下列信息中的至少一种:
信息一
客户端访问网络存储介质上的数据时,与服务器交互时使用的第一数据标识。以NFS为例,信息一为NFS Server上的文件的文件句柄。
信息二
服务器维护的客户端访问的网络存储介质上数据的上下文关系。以NFS为例,信息二包括mount list等文件上下文关系。
信息三
第一数据标识与第二数据标识之间的映射关系,第二数据标识是第一数据标识所标识的数据在网络存储介质上存储时使用的标识。以NFS为例,信息三包括文件句柄与后端网络文件系统中文件的句柄之间的映射关系。
本发明实施例中,通过在客户端迁移的目的主机(即第二主机102)上安装并运行服务器所在的第一虚拟机的镜像,可实现上述信息到第二主机102的搬移。这样客户端在迁移到第二主机102上后,在与第二主机102上的第三虚拟机上运行的服务器进行通信时,仍可使用旧的信息,保证了业务的连续性。通过在第二主机102的第二虚拟交换机的转发流表中,增加用于将客户端的数据访问请求指向服务器的第二转发流表项,可实现客户端通过第二主机上的服务器访问网络存储介质104上的数据,无需与新的服务器(即第三虚拟机上的服务器)重新建立连接,缩短了迁移的时长。
并且,通过预先将图1所示的计算机网络中的各个主机所提供的网络存储介质数据访问服务配置相同的网络地址,比如:互联网协议(Internet Protocol,IP)地址,或配置相同的IP地址和端口号,可使得客户端在主机之间迁移时,无需修改数据访问请求中的服务的网络地址可使得客户端对迁移不感知,仍按照原来的网络地址发送数据访问请求,实现客户端的无感知的、无缝的迁移。
此外,第三主机103在第二主机102上的第二虚拟交换机的转发流表中,增加第二转发流表项,所述第二转发流表项用于将所述客户端的数据访问请求指向所述服务器。这里,一个主机上的服务器可视为该主机上的服务的实例。主机上的服务收到数据访问请求后,通过该主机上的虚拟交换机查询转发流表,可将来自客户端的数据访问请求转发到对应的服务器实例上。而主机上的服务器的网络地址可在生成该服务器实例时由主机配置。
这样,当第二主机102收到客户端的数据访问请求后,就可以按照第二虚拟交换机中增加的第二转发流表项,将客户端的数据访问请求转发给第二主机102的第三虚拟机上运行的服务器。
网络存储介质104在进行数据存储时可采用的存储协议包括但不限于前述的FC、iSCSI、CIFS、NFS等。用户可以根据不同的应用场合(比如:应用在生产环节或应用在测试环节),以及对性能和可靠性等要求来选择合适的存储协议。
此外,网络存储介质104在进行数据存储时可采用软件定义存储(SoftwareDefined Storage,SDS)技术。当采用SDS技术时,存储硬件或者存储软件提供的控制能力会被抽象出来,并与数据层面的能力(数据访问)分开,这些控制能力包括:卷管理、磁盘阵列(Redundant Arrays of Independent Disks,RAID),业务质量(Quality of Service,QoS)、数据复制、监控、快照和备份等等。通过这些控制能力,管理员可获得自定义的、基于策略的虚拟存储层,这些策略可以基于空间、性能、费用等等因素被制定。
可选地,上述各个虚拟机可为容器(container),特别是第一虚拟机和第三虚拟机可为容器。
因为容器可视为轻量级的虚拟机,相比于虚拟机,容器拥有更高的资源使用效率,因为它并不需要为每个应用分配单独的操作系统——实例规模更小、创建和迁移速度也更快。本发明实施例中,第一虚拟机和第三虚拟机上运行有服务器,当客户端从第一主机101迁移到第二主机102上时,第三主机103需要获取第一虚拟机的镜像,在第二主机102上安装并运行获取的镜像以生成第三虚拟机。若采用容器技术实现虚拟机,则需要的存储空间较小,且获取、安装运行虚拟机的时延会比较小,能够缩短迁移时延。
本发明实施例中,可选地,可采用Docker技术来实现容器。Docker技术是一个构建在Linux容器(Linux Container,LXC)之上的,基于进程容器(Process container)的轻量级VM解决方案。
采用Docker技术时,要发布的应用被打包成一个Docker镜像(image),然后部署到实际的机器(即主机)上。这种机器可以是实际的服务器,也可以是虚拟专用服务器(Virtual Private Server,VPS)或其他平台即服务(Platform-as-a-Service,PaaS)服务器等。在同一个机器环境中,可以同时运行几个Docker container。image和container的关系可以理解为“类”和“实例”的关系。而且在一个机器环境中运行的container还可以是基于不同的image实现的,一个container可以随时被打包成一个image作再次部署。
其次,在一个container里作的修改也可以更新到基于同一image的其他container里。因为可以只更新修改过的部分,类似于版本控制下的更新。
container与传统意义上的VM的一个不同之处在于:轻。传统的VM实际上包含了一套虚拟的硬件,一个完整的操作系统(Operation System,OS),再加入应用程序。而docker container只是一个隔离的应用程序运行环境,对于应用程序来说,docker环境相当于一个完整的OS,但是实际上它是运行在宿主OS上的,一个container只包含这个应用环境与宿主机环境的差异部分,非常的轻量。这使得第三主机103在更新container时实现简单,快捷,迁移后重新启动也较快,缩短了客户端迁移过程中的时延。
可选地,第三主机103包括如下模块,这些模块可以由存储在第三主机103上的存储器中的程序实现,第三主机103上的处理器调用存储器上存储的程序,实现下面各模块的功能:
资源调度器模块1031,用于获取第一虚拟机的镜像。
其中,资源调度器模块1031可从第一主机101上获得第一虚拟机的镜像。或者,第三主机103还包括镜像管理模块1033,资源调度器模块1031还可从镜像管理模块1033获取第一虚拟机的镜像。
可选地,镜像管理模块1033上保存有第一虚拟机的镜像的基础镜像,该基础镜像包括上述服务器的安装程序和第一虚拟机的镜像的基本配置信息。资源调度器模块1031从镜像管理模块1033上获取该基础镜像,并在第一主机101上安装并运行该基础镜像,以生成第一虚拟机。
第一虚拟机在收到客户端的数据访问请求后,在自身中维护了客户端在访问网络存储介质104上的数据时所需要的信息,比如前述的文件句柄、文件上下文关系等信息。第一主机101将维护了上述信息的第一虚拟机创建成一个新的镜像发给镜像管理模块1033,镜像管理模块1033在自身上保存该更新后的第一虚拟机的镜像。
从第一主机101上获取第一虚拟机的镜像并保存下来,此外还可定期更新第一虚拟机的镜像。因此,资源调度器模块1031也可从镜像管理模块1033获得第一虚拟机的镜像。
资源调度器模块1031,还用于在第二主机102上安装并运行获取的第一虚拟机的镜像以生成第三虚拟机,并在第三虚拟机上运行上述服务器;
可选地,资源调度器模块1031还可用于在第二主机102上安装并运行获取的第一虚拟机的镜像之后,从第一主机101上删除第一虚拟机。
资源配置模块1032,用于在资源调度器模块1031的控制下,在第二主机102上运行的第二虚拟交换机的转发流表中,增加第二转发流表项,第二转发流表项用于将客户端的数据访问请求指向服务器。
可选地,资源配置模块1032还可以在资源调度器模块1031的控制下,在增加第二转发流表项之后,从第一主机101上运行的第一虚拟交换机的转发流表中,删除上述服务器对应的第一转发流表项。
下面,分别介绍本发明实施例提供的虚拟机安装及维护方法的流程(参见图2)以及客户端所在虚拟机迁移的流程(参加图3)。这两个流程中,第一主机可为前述的第一主机101,第二主机可为前述的第二主机102,第三主机可为前述的第三主机103,网络存储介质可为前述的网络存储介质104。
参考图2,本发明实施例提供的虚拟机安装及维护的方法的流程可包括如下步骤:
S201:在第一主机中安装第一虚拟机;
其中,第一主机上有第一虚拟机,第一虚拟机上运行有客户端。第一虚拟机用于运行服务器,客户端通过向该服务器发送数据访问请求,以访问网络存储介质上的数据。
S202:第一虚拟机中的服务器接收客户端的数据访问请求,并在第一虚拟机中维护客户端在访问网络存储介质上的数据时所需要的信息。信息的具体内容可参考前面的描述。
其中,步骤S201中,可由第三主机上的资源调度器模块在第一主机上安装第一虚拟机。第三主机上的镜像管理模块上可保存有服务器程序和基础设施的镜像,该镜像可以作为第一虚拟机的镜像的基础镜像。资源调度器模块从镜像管理模块上获取该基础镜像,并在第一主机上安装并运行该基础镜像,以生成第一虚拟机。
第一虚拟机在收到客户端的数据访问请求后,在自身中维护了客户端在访问网络存储介质上的数据时所需要的信息,比如前述的文件句柄、文件上下文关系等信息。
其中,可由第一虚拟机中的服务器的进程处理客户端的数据访问请求,比如:数据读写输入/输出(Input Output,I/O)请求,并由该进程在第一虚拟机中维护客户端在访问网络存储介质上的数据时所需要的信息。
可选地,图2所示的流程还可包括如下步骤:
S203:第一主机将维护了上述信息的第一虚拟机创建成一个新的镜像发给镜像管理模块。
S204:镜像管理模块在自身上保存该更新后的第一虚拟机的镜像。
图3示出了本发明实施例提供的用于实现客户端所在的虚拟机在不同主机间迁移方法的流程。
如图3所示,该流程包括如下步骤:
S301:第三主机获知客户端要从第一主机迁移到第二主机。
比如:当第一主机上的服务需要进行复杂均衡或第一主机发生故障等。第三主机上的资源调度器模块确定需要将客户端所在的第二虚拟机迁移到第二主机上。由第二主机上的服务来处理客户端的数据访问请求。
S302:第三主机获取第一虚拟机的镜像。
比如:第三主机上的资源调度器模块从镜像管理模块上获得第一虚拟机的镜像。这样,即使客户端的数据访问请求发送到第二主机上的服务器上,还是使用第一主机上的第一虚拟机上中的服务进程维护的上述客户端在访问网络存储介质上的数据时所需要的信息。这样,就使得客户端所在的第二虚拟机对迁移不感知,业务也不会中断。
S303:第三主机在第二主机上安装并运行获取的镜像以生成第三虚拟机,在第三虚拟机上运行服务器。
比如:第三主机上的资源调度器模块将获取的镜像部署到第二主机的服务中,安装、启动运行该镜像,生成第三虚拟机。
S304:第三主机从第一主机上删除第一虚拟机。
S305:第三主机在第二主机上运行的第二虚拟交换机的转发流表中,增加第二转发流表项,第二转发流表项用于将客户端的数据访问请求指向服务器。
S306:可选地,第三主机从第一主机上运行的第一虚拟交换机的转发流表中,删除服务器对应的第一转发流表项。
可选地,可由第三主机的资源调度器模块通知资源配置模块完成上述步骤S305至步骤S306的操作。
S307:迁移到第二主机上的第四虚拟机(即客户端所在的虚拟机)向第二主机上的服务发送数据访问请求。
其中,第四虚拟机发送的数据访问请求仍使用原来第一主机上的第一虚拟机中的服务进程维护的客户端在访问网络存储介质上的数据时所需要的信息。
S308:第二主机上的服务就根据配置的第二转发流表项,找到匹配的、处理客户端的数据访问请求的新启动的第三虚拟机,并将请求转发到第三虚拟机来处理。
S309:第三虚拟机中的服务进程使用其维护的与第二虚拟机原来维护的客户端在访问网络存储介质上的数据时所需要的信息,处理来自第四虚拟机的数据访问请求,并返回请求结果。
S310:第三主机更新第三虚拟机的镜像。
比如:第三主机上的资源调度器模块通知镜像管理模块更新镜像。
下面,以NFS存储协议为例说明本发明实施例提供的客户端所在虚拟机迁移方案。
在采用NFS存储协议的计算机网络中,使用文件句柄来进行文件的识别。当NFS客户端(以下简称“客户端”)通过NFS服务器(以下简称“服务器”)的分层结构来搜索某个目录或文件时,使用文件句柄来表示该目录或文件。
服务器给每个文件分配一个唯一的文件句柄,以此为标识符。从客户端的角度看,文件句柄是一个64字节的字符串(不同版本,长度不一样)。从服务器看,文件句柄是一个唯一地标识某个文件的任意的字节的集合。
使用文件句柄的主要目的是使得客户端和服务器的路径名语法隔离开来,并允许不同结构的客户端存取具有分层结构的文件,客户端需要完成所有对路径名的解释。当客户端要求对某个文件进行操作时,不能用全路径名指明该文件,而必须得到一个用于引用该文件的句柄。
在数据中心以及SDS等工作场景中,VM都是以镜像文件的形式存储在共享存储服务器上。VM通过客户端与服务器交互时,使用的是文件句柄进行目录、文件的读写操作,这个文件句柄并不是全局的,每一个服务器都会维护自己的文件句柄、mount list等信息,以及文件句柄与后端文件系统(前述的网络存储介质104的一种)句柄的映射关系。
客户端按照NFS协议与服务器建立连接,通过虚拟化存储进行数据的读写操作。服务器建立起与客户端的会话连接,维护与客户端的文件句柄以及上下文关系,这些文件句柄以及上下文关系都是保存在服务器上,是局部、非全局的。
在大数据、云计算等等环境下,越来越多的客户端需要访问网络存储介质上的数据,单个服务器已经无法满足需求,这是因为:
1、单个服务器不能承载、维持大量的客户端;
2、若一个服务器失效问题,会导致所有客户端的业务中断;
3、服务器也需要负载均衡。
单个服务器的能力是有限的,分布式的服务器集群能够提供更好的服务。但是分布式服务器集群面临的一个问题是:
当一个客户端要重新连接一个服务器时(比如:虚拟机迁移),该客户端上的业务并没有关闭,与新的服务器通信时,仍使用旧的文件句柄以及上下文关系,这样新的服务器上就无法识别这些文件句柄以及上下文关系,就必然造成业务的中断;但是,如果断开与之前的服务器建立的连接,与新的服务器建立连接,这个过程比较费时,不符合虚拟机迁移对业务不感知的需求,并且也会造成业务的中断。
本发明实施例中,采用服务器集群的方式,消除网络访问瓶颈,所有服务器对外提供的都是同一个网络地址,下面的描述中以互联网协议(InternetProtocol,IP)地址为例加以说明。
客户端可以与服务器集群中的任意服务器建立连接,并且在切换到新的服务器以后,无需重新建立与新的服务器的连接,也无需初始化和建立文件句柄和上下文关系。客户端继续使用与旧的服务器建立的文件句柄以及上下文关系进行数据的读写操作。实现了客户端对切换不感知,业务不中断。
参考图4所示的网络存储系统(可视为图1所示的计算机网络的一个例子)。其中,客户端为NFS客户端,文件服务器为NFS服务器,存储服务器可视为前述的网络存储介质104的一个例子,资源管理可视为前述的第三主机103上运行的一个或多个程序,用于执行虚拟机迁移等操作。
参考图5所示的计算机网络,该网络中包括四个主机,分别为:主机1(前述的第一主机101的一个例子)、主机2(前述的第二主机102的一个例子)、主机3和主机4。
其中,主机1上有一个用户虚拟机(前述的第二虚拟机的一个例子),该用户虚拟机上运行有NFS客户端1(前述的第二虚拟机上运行的客户端的一个例子)。
主机2上有一个用户虚拟机,该用户虚拟机上运行有NFS客户端2;主机3上有一个用户虚拟机,该用户虚拟机上运行有NFS客户端3;主机4上有两个用户虚拟机,分别运行有NFS客户端4和NFS客户端5。
在主机1上,对应于NFS客户端1,有容器1(前述的第一虚拟机的一个例子),容器1上运行的服务进程为NFS客户端1提供文件访问服务。
在主机2上,对应于NFS客户端2,有容器2,容器2上运行的服务进程为NFS客户端2提供文件访问服务。类似的,在主机3上,对应于NFS客户端3,有容器3,容器3上运行的服务进程为NFS客户端3提供文件访问服务。在主机4上,对应于NFS客户端4和NFS客户端5,分别有容器4和容器5,容器4上运行的服务进程为NFS客户端4提供文件访问服务,容器5上运行的服务进程为NFS客户端5提供文件访问服务。
在每一个主机上,还都运行有服务虚拟交换机(Service vSwitch),比如:主机1上的服务虚拟交换机可视为前述的第一虚拟交换机的一个例子,主机2上的服务虚拟交换机可视为前述的第二虚拟交换机的一个例子。这些服务虚拟机交换机接收所在主机上的用户虚拟机发送的数据访问请求,并将数据访问请求按照其内预设的转发流表项转发给为该用户虚拟机上运行的NFS客户端提供服务的容器。
此外,可选地,各主机上还可包括存储器,比如:硬盘驱动器(Hard DiskDrive,HDD)、固态驱动器(Solid State Drives,SSD)等。各主机可以将从存储服务器(可视为前述的网络存储介质104的一个例子)读取的数据先保存在自身的存储器上,再发给用户虚拟机。
存储服务器上可有多个盘(Disk),该存储服务器可为Ceph对象存储程序(Ceph object storage daemon,cosd),这是一种软件分布式存储平台,可运行在商用硬件上,具有高扩展性和高容错性,以及高数据一致性。存储服务器的文件系统可以为btrfs文件系统或erofs文件系统等。
资源管理是一个功能模块,可以由处理器调用存储的程序完成资源管理的功能。资源管理可由一个主机实现,比如前述的第三主机,或者由图5中的主机1~主机4中的任何一个主机实现。
按照功能划分,资源管理可分为资源调度器模块(前述的资源调度器模块1031的一个例子)、资源配置模块(前述的资源配置模块1032的一个例子)以及镜像管理模块(前述的镜像管理模块1033的一个例子)。
图5所示的计算机网络中,在分布式NFS服务器环境中,为每一个NFS客户端提供一个包含NFS服务器程序的虚拟机,比如容器。如果采用容器方式,这个容器可以采用LXC或者Docker的方式生成,每一个容器与一个NFS客户端是一一匹配的,每一个NFS客户端就会存在一个与之对应的容器。如果采用虚拟机或者其他虚拟化容器,可以采用相应的虚拟化技术生成。
当一个新的存储主机为原来某个NFS客户端提供服务的时候,资源调度器模块就会将与这个NFS客户端匹配的容器从原来的存储主机上移除,重新部署运行到新的存储主机上,生成容器,然后通过资源配置模块配置新的存储主机上虚拟交换机的NFS客户端与容器的转发流表,这样新的存储主机上的虚拟交换机就可以将NFS客户端的数据读写请求转发到重新部署的容器上,由这个容器使用之前已经具有的与该NFS客户端建立的文件句柄以及上下文关系来处理数据的读写请求,达到NFS客户端切换NFS服务器以后,完全不感知,业务无需中断。
NFS客户端1所在的用户虚拟机从主机1迁移到主机2后的计算机网络如图6所示。
其中,为了线条示意清晰,未在图6的图上示意将容器2、主机3、主机4的消息连线,但不代表这些主机和容器没有进行数据访问等操作。
此外,NFS客户端1迁移到主机2上后,仍称为“NFS客户端1”,当然也可以重新编号;容器1迁移到主机2上后,仍称为“容器1”,当然也可以重新编号。
图6中连线上的标号即为下面各步骤的编号。如图6所示,NFS客户端1所在的用户虚拟机从主机1迁移到主机2的流程包括如下步骤:
1、在镜像管理模块中存储包含NFS服务器程序和基础设施的镜像(image),称为基础镜像,然后资源调度器模块从镜像管理模块中获取这个基础镜像,其中,基础镜像在镜像管理模块中的镜像信息列表如下所示:
2、资源调度器在各个主机服务器中安装、启动运行这个初始镜像,生成与客户端对应的容器,客户端与容器的数量是一一匹配的,每个主机有多少个客户端,就启动多少个容器。
3、资源调度器模块通知资源配置模块配置每个主机上的虚拟交换机的NFS客户端与容器的转发流表。
4、资源配置模块配置在主机1上的转发流表的信息如下:
参考该转发流表以及后面的各转发流表,可见:不同主机上的服务的IP地址是相同的,该服务即为NFS客户端提供文件访问服务,NFS服务器可视为该服务的实例。为各个主机上的服务设置相同的IP地址,是为了NFS客户端在NFS服务器在主机之间迁移时,发送的数据访问请求不变,使得NFS服务器的迁移对客户端不感知。NFS服务器实例IP,是服务器所在主机在创建该服务器时为该服务器分配的。服务受到客户端的数据访问请求后,根据客户端标识查找转发流表,找到对应的处理该客户端的数据访问请求的服务器实例的IP地址,然后将数据访问请求发给该IP地址对应的服务器实例。
5、NFS客户端1所在的虚拟机通过NFS客户端1向主机1上的服务发送数据读写I/O请求(即数据访问请求)。
6、主机1上的虚拟交换机根据配置的转发流表,找到匹配的、能够处理5中请求的容器1(即实例标识为0001),然后将数据读写I/O请求根据转发流表中的配置,转发到容器1上进行处理。
7、容器1中的服务进程处理上述数据读写I/O请求,这样服务进程就在本容器中维护了与该数据读写I/O请求相关的文件句柄以及上下文关系。
8、主机1将维护了与上述数据读写I/O请求的文件句柄以及上下文关系的容器1重新创建成一个新的镜像并且提交到镜像管理模块上,镜像管理模块保存新创建的镜像,并且更新镜像信息列表如下所示:
存储 标签 镜像标识 创建时间 虚拟容量
NFS服务器 初始(init) 5cc9e91966f7 三周之前 300兆字节(MB)
NFS服务器 主机1-客户端1 b7de3133ff98 1小时前 350MB
9、当主机1上的服务需要负载均衡或者发生了故障等等情况,资源调度器模块需要协调将NFS客户端1所在的用户虚拟机迁移到主机2上,由主机2上的服务来处理NFS客户端1所在用户虚拟机的数据读写I/O请求。
10、为了让NFS客户端1所在用户虚拟机对迁移不感知,以及对业务不中断,则将NFS客户端1所在用户虚拟机的数据读写I/O请求发送到主机2的服务上,仍使用主机1上的容器1中的服务进程维护的文件句柄以及上下文关系。其中,资源调度器从镜像管理模块中获取主机1的容器1的镜像。
11、资源调度器模块将这个镜像部署到主机2的服务中,安装、启动运行这个镜像,生成相对应的容器(这里也称为“容器1”,当然也可以重新编号),同时将主机1上对应的容器1关闭移除。
12、资源调度器模块通知资源配置模块重新配置主机2以及主机1上的虚拟交换机的NFS客户端与容器的转发流表。
13、资源配置模块配置在主机2上的转发流表的信息如下:
资源配置模块配置在主机1上的转发流表的信息如下:
14、迁移过来的NFS客户端1所在的用户虚拟机通过NFS客户端1向主机2上的服务发送数据读写I/O请求。
15、主机2上的服务就根据配置的转发流表,找到匹配的、处理该数据读写I/O请求的、新启动的容器1(即instance id为0001),将该数据读写I/O请求转发到容器1来处理
16、主机2中的容器1中的服务进程使用其维护的与NFS客户端1所在的用户虚拟机的原来的文件句柄与上下文关系,处理将该数据读写I/O请求,并返回请求结果。
17、资源调度器模块通知镜像管理模块更新镜像的信息列表,如下所示:
存储 标签 镜像标识 创建时间 虚拟容量
NFS服务器 初始(init) 5cc9e91966f7 三周之前 300兆字节(MB)
NFS服务器 主机2-客户端1 b7de3133ff22 1小时前 350MB
图6所示的计算机网络中,NFS客户端1所在的用户虚拟机从主机1迁移到主机2的流程也可如图7所示。
图6所示的计算机网络中,NFS客户端1所在的用户虚拟机从主机1迁移到主机2的消息时序图(sequence diagram,sd)可如图8A和图8B所示,其中,图8A为虚拟机安装和维护的消息时序图,图8B为虚拟机迁移的消息时序图。图8A中,VM1即为NFS客户端所在的虚拟机。图8A和图8B中的资源调度器即为前述的资源调度器模块,资源配置即为前述的资源配置模块。
图9为本发明实施例提供的用于实现客户端所在的虚拟机在不同主机间迁移的装置的结构示意图。如图9所示,该装置可包括:
资源调度器模块901,用于获取第一虚拟机的镜像;第一虚拟机位于第一主机上,且第一虚拟机上运行有服务器,第一主机上的第二虚拟机上运行有客户端,客户端通过服务器访问网络存储介质上的数据;以及在第二主机上安装并运行获取的镜像以生成第三虚拟机,在第三虚拟机上运行服务器,第二主机为客户端要迁移到的目标主机;
资源配置模块902,用于在资源调度器模块901的控制下,在第二主机上运行的第二虚拟交换机的转发流表中,增加第二转发流表项,第二转发流表项用于将客户端的数据访问请求指向第三虚拟机上的服务器。
可选地,该装置还可包括:镜像管理模块903,用于保存镜像,并在资源调度器模块901获取第一虚拟机的镜像之前,更新保存的的镜像。
资源调度器模块901在获取第一虚拟机的镜像时,具体用于:从镜像管理模块903上获取镜像。
其中,资源调度器模块901的其他可选实现方式可参考前述的资源调度器模块1031,资源配置模块902的其他可选实现方式可参考前述的资源配置模块1032,镜像管理模块903的其他可选实现方式可参考前述的镜像管理模块1033。
图10为本发明实施例提供的一种主机的结构示意图,该主机可为至少一个主机中的第三主机。如图10所示,该第三主机包括:
一个或多个处理器1001、存储器1002、总线系统1003、以及一个或多个程序,处理器1001和存储器1002通过总线系统1003相连;
其中,一个或多个程序被存储在存储器1002中,一个或多个程序包括指令,指令当被第三主机执行时,使第三主机执行图2和/或图3所示的流程。
其中,第三主机可为前述的第三主机103。第三主机103上的资源调度器模块1031、资源配置模块1032和镜像管理模块1033可由第三主机上的处理器1001调用存储器1002中存储的一个或多个程序来实现。
该第三主机的其他可选实现方式可参考前述的第三主机103的实现。
综上,本发明实施例提供一种计算机网络、主机、用于实现客户端所在的虚拟机在不同主机间迁移的装置,以及用于实现客户端所在的虚拟机在不同主机间迁移的方法。
其中,通过在客户端迁移的目的主机(即第二主机)上安装并运行服务器所在的第一虚拟机的镜像,可实现客户端访问网络存储介质上数据所需的信息到第二主机的搬移。这样客户端在迁移到第二主机上后,在与第二主机上的第三虚拟机上运行的服务器进行通信时,仍可使用旧的信息,保证了业务的连续性。通过在第二主机的第二虚拟交换机的转发流表中,增加用于将客户端的数据访问请求指向服务器的第二转发流表项,可实现客户端通过第二主机上的服务器访问网络存储介质上的数据,无需与新的服务器(即第三虚拟机上的服务器)重新建立连接,缩短了迁移的时长。
并且无需与新的服务器(即第三虚拟机上的服务器)重新建立连接,缩短了迁移的时长。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (15)

1.一种用于实现客户端所在的虚拟机在不同主机间迁移的装置,其特征在于,包括:
资源调度器模块,用于获取第一虚拟机的镜像;所述第一虚拟机位于第一主机上,且所述第一虚拟机上运行有服务器,所述第一主机上的第二虚拟机上运行有客户端,所述客户端通过所述服务器访问网络存储介质上的数据;以及在第二主机上安装并运行获取的所述镜像以生成第三虚拟机,在所述第三虚拟机上运行所述服务器,所述第二主机为所述客户端要迁移到的目标主机;
资源配置模块,用于在所述资源调度器模块的控制下,在所述第二主机上运行的第二虚拟交换机的转发流表中,增加第二转发流表项,所述第二转发流表项用于将所述客户端的数据访问请求指向所述第三虚拟机上的所述服务器。
2.如权利要求1所述的装置,其特征在于,所述装置位于第三主机上;
所述装置还包括:镜像管理模块,用于保存所述镜像,并在所述资源调度器模块获取所述第一虚拟机的镜像之前,更新保存的所述镜像;
所述资源调度器模块在获取所述第一虚拟机的镜像时,具体用于:从所述镜像管理模块上获取所述镜像。
3.如权利要求2所述的装置,其特征在于,
所述镜像管理模块,还用于保存所述镜像的基础镜像,所述基础镜像包括所述服务器的安装程序和所述镜像的基本配置信息;
所述资源调度器模块,还用于在所述镜像管理模块更新所述第三主机上保存的所述镜像之前,从所述镜像管理模块上获取所述基础镜像,并在所述第一主机上安装并运行所述基础镜像以生成所述第一虚拟机;
所述镜像管理模块,具体用于:接收来自所述第一主机在处理所述客户端的数据访问请求后更新的所述第一虚拟机的镜像,并保存接收到的所述第一虚拟机的镜像。
4.如权利要求1~3任一项所述的装置,其特征在于,所述资源调度器模块,还用于:
在所述第二主机上安装并运行获取的所述镜像之后,从所述第一主机上删除所述第一虚拟机。
5.如权利要求1~4任一项所述的装置,其特征在于,所述资源配置模块,在所述第二主机上运行的所述第一虚拟交换机的转发流表中,增加所述第二转发流表项之后,还用于:
在所述资源调度器模块的控制下,从所述第一主机上运行的第一虚拟交换机的转发流表中,删除所述服务器对应的第一转发流表项。
6.如权利要求1~5任一项所述的装置,其特征在于,所述第一虚拟机和所述第三虚拟机为容器。
7.一种用于实现客户端所在的虚拟机在不同主机间迁移的方法,其特征在于,包括:
获取第一虚拟机的镜像;所述第一虚拟机位于第一主机上,且所述第一虚拟机上运行有服务器,所述第一主机上的第二虚拟机上运行有客户端,所述客户端通过所述服务器访问网络存储介质上的数据;
在第二主机上安装并运行获取的所述镜像以生成第三虚拟机,在所述第三虚拟机上运行所述服务器,所述第二主机为所述客户端要迁移到的目标主机;
在所述第二主机上运行的第二虚拟交换机的转发流表中,增加第二转发流表项,所述第二转发流表项用于将所述客户端的数据访问请求指向所述第三虚拟机上的所述服务器。
8.如权利要求7所述的方法,其特征在于,第三主机上保存有所述镜像;
在获取所述第一虚拟机的镜像之前,还包括:更新所述第三主机上保存的所述镜像;
获取所述第一虚拟机的镜像,包括:从所述第三主机上获取所述镜像。
9.如权利要求8所述的方法,其特征在于,在更新所述第三主机上保存的所述镜像之前,还包括:
从所述第三主机上获取所述镜像的基础镜像,所述基础镜像包括所述服务器的安装程序和所述镜像的基本配置信息;
在所述第一主机上安装并运行所述基础镜像,以生成所述第一虚拟机;
更新所述第三主机上保存的所述镜像,包括:接收来自所述第一主机在处理所述客户端的数据访问请求后更新的所述第一虚拟机的镜像,并在所述第三主机上保存接收到的所述第一虚拟机的镜像。
10.如权利要求7~9任一项所述的方法,其特征在于,在所述第二主机上安装并运行获取的所述镜像之后,还包括:
从所述第一主机上删除所述第一虚拟机。
11.如权利要求7~10任一项所述的方法,其特征在于,在所述第二主机上运行的所述第一虚拟交换机的转发流表中,增加所述第二转发流表项之后,还包括:
从所述第一主机上运行的第一虚拟交换机的转发流表中,删除所述服务器对应的第一转发流表项。
12.如权利要求7~11任一项所述的方法,其特征在于,所述第一虚拟机和所述第三虚拟机为容器。
13.一种主机,所述主机为至少一个主机中的第三主机,其特征在于,所述第三主机包括:
一个或多个处理器、存储器、总线系统、以及一个或多个程序,所述处理器和所述存储器通过所述总线系统相连;
其中,所述一个或多个程序被存储在所述存储器中,所述一个或多个程序包括指令,所述指令当被所述第三主机执行时,使所述第三主机执行如权利要求7至12任一项所述的方法。
14.一种存储一个或多个程序的计算机可读存储介质,其特征在于,所述一个或多个程序包括指令,所述指令当被至少一个主机中的第三主机执行时使所述第三主机执行如权利要求7至12任一项所述的方法。
15.一种计算机网络,其特征在于,包括:
网络存储介质,用于存储数据;
第一主机,所述第一主机上运行有第一虚拟机和第二虚拟机,所述第一虚拟机上运行有服务器,所述第二虚拟机上运行有客户端,所述客户端通过所述服务器访问所述网络存储介质上的数据;
第二主机,为所述客户端要迁移到的目标主机,且所述第二主机上运行有第二虚拟交换机;
第三主机,用于获取所述第一虚拟机的镜像,在所述第二主机上安装并运行获取的所述镜像以生成第三虚拟机,在所述第三虚拟机上运行所述服务器;以及在所述第二虚拟交换机的转发流表中,增加第二转发流表项,所述第二转发流表项用于将所述客户端的数据访问请求指向所述服务器;
其中,所述第三主机为所述第一主机或第二主机,或者所述第三主机为不同于所述第一主机和第二主机的主机。
CN201610310830.3A 2016-05-11 2016-05-11 实现客户端所在虚拟机在不同主机间迁移的装置和方法 Active CN107368358B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610310830.3A CN107368358B (zh) 2016-05-11 2016-05-11 实现客户端所在虚拟机在不同主机间迁移的装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610310830.3A CN107368358B (zh) 2016-05-11 2016-05-11 实现客户端所在虚拟机在不同主机间迁移的装置和方法

Publications (2)

Publication Number Publication Date
CN107368358A true CN107368358A (zh) 2017-11-21
CN107368358B CN107368358B (zh) 2020-07-24

Family

ID=60304071

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610310830.3A Active CN107368358B (zh) 2016-05-11 2016-05-11 实现客户端所在虚拟机在不同主机间迁移的装置和方法

Country Status (1)

Country Link
CN (1) CN107368358B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110071880A (zh) * 2018-01-24 2019-07-30 北京金山云网络技术有限公司 报文转发方法、转发装置、服务器及存储介质
CN110309120A (zh) * 2018-03-06 2019-10-08 阿里巴巴集团控股有限公司 数据处理方法和数据处理装置
WO2019237588A1 (zh) * 2018-06-13 2019-12-19 平安科技(深圳)有限公司 Linux虚拟服务器的创建方法、装置、计算机设备及存储介质
CN110688202A (zh) * 2019-10-09 2020-01-14 腾讯科技(深圳)有限公司 服务进程调度方法、装置、设备及存储介质
CN111277619A (zh) * 2018-12-05 2020-06-12 阿里巴巴集团控股有限公司 基于容器的编排文件的方法和装置
CN111414231A (zh) * 2020-03-18 2020-07-14 上海云轴信息科技有限公司 一种虚拟机镜像与容器镜像相互转换的方法及设备
CN112416517A (zh) * 2020-11-20 2021-02-26 北京优炫软件股份有限公司 一种虚拟化计算组织控制管理系统及方法
CN113301004A (zh) * 2020-06-17 2021-08-24 阿里巴巴集团控股有限公司 数据处理方法、装置、通信方法和单网卡虚拟机
CN113900774A (zh) * 2021-12-06 2022-01-07 浙江云针信息科技有限公司 云操作系统的虚拟机控制方法、装置以及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103856417A (zh) * 2012-11-30 2014-06-11 中兴通讯股份有限公司 软件定义网络报文转发方法和系统
CN104468150A (zh) * 2013-09-12 2015-03-25 阿里巴巴集团控股有限公司 一种虚拟主机实现故障迁移的方法及虚拟主机业务装置
US9047108B1 (en) * 2012-09-07 2015-06-02 Symantec Corporation Systems and methods for migrating replicated virtual machine disks
CN105208048A (zh) * 2014-05-30 2015-12-30 株式会社日立制作所 全局迁移管理器、网关、虚拟机迁移系统及其方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9047108B1 (en) * 2012-09-07 2015-06-02 Symantec Corporation Systems and methods for migrating replicated virtual machine disks
CN103856417A (zh) * 2012-11-30 2014-06-11 中兴通讯股份有限公司 软件定义网络报文转发方法和系统
CN104468150A (zh) * 2013-09-12 2015-03-25 阿里巴巴集团控股有限公司 一种虚拟主机实现故障迁移的方法及虚拟主机业务装置
CN105208048A (zh) * 2014-05-30 2015-12-30 株式会社日立制作所 全局迁移管理器、网关、虚拟机迁移系统及其方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SHO KAWAHARA等: "《The Continuity of Out-of-band Remote Management》", 《2014 IEEE/ACM 7TH INTERNATIONAL CONFERENCE ON UTILITY AND CLOUD COMPUTING》 *
张彬彬等: "虚拟机全系统在线迁移", 《电子学报》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110071880A (zh) * 2018-01-24 2019-07-30 北京金山云网络技术有限公司 报文转发方法、转发装置、服务器及存储介质
CN110309120A (zh) * 2018-03-06 2019-10-08 阿里巴巴集团控股有限公司 数据处理方法和数据处理装置
CN110309120B (zh) * 2018-03-06 2023-04-07 阿里云计算有限公司 数据处理方法和数据处理装置
WO2019237588A1 (zh) * 2018-06-13 2019-12-19 平安科技(深圳)有限公司 Linux虚拟服务器的创建方法、装置、计算机设备及存储介质
CN111277619B (zh) * 2018-12-05 2022-06-03 阿里巴巴集团控股有限公司 基于容器的编排文件的方法和装置
CN111277619A (zh) * 2018-12-05 2020-06-12 阿里巴巴集团控股有限公司 基于容器的编排文件的方法和装置
CN110688202A (zh) * 2019-10-09 2020-01-14 腾讯科技(深圳)有限公司 服务进程调度方法、装置、设备及存储介质
CN110688202B (zh) * 2019-10-09 2024-06-21 腾讯科技(深圳)有限公司 服务进程调度方法、装置、设备及存储介质
CN111414231B (zh) * 2020-03-18 2022-11-29 上海云轴信息科技有限公司 一种虚拟机镜像与容器镜像相互转换的方法及设备
CN111414231A (zh) * 2020-03-18 2020-07-14 上海云轴信息科技有限公司 一种虚拟机镜像与容器镜像相互转换的方法及设备
CN113301004A (zh) * 2020-06-17 2021-08-24 阿里巴巴集团控股有限公司 数据处理方法、装置、通信方法和单网卡虚拟机
CN113301004B (zh) * 2020-06-17 2023-05-09 阿里巴巴集团控股有限公司 数据处理方法、装置、通信方法和单网卡虚拟机
CN112416517A (zh) * 2020-11-20 2021-02-26 北京优炫软件股份有限公司 一种虚拟化计算组织控制管理系统及方法
CN113900774A (zh) * 2021-12-06 2022-01-07 浙江云针信息科技有限公司 云操作系统的虚拟机控制方法、装置以及存储介质

Also Published As

Publication number Publication date
CN107368358B (zh) 2020-07-24

Similar Documents

Publication Publication Date Title
CN107368358A (zh) 实现客户端所在虚拟机在不同主机间迁移的装置和方法
CN106528327B (zh) 一种数据处理方法以及备份服务器
US10185637B2 (en) Preserving management services with distributed metadata through the disaster recovery life cycle
US11893264B1 (en) Methods and systems to interface between a multi-site distributed storage system and an external mediator to efficiently process events related to continuity
CN112099918A (zh) 容器化环境中的集群的实时迁移
CN109408115B (zh) 一种基于容器环境中迁移对象的方法及计算系统
US11662928B1 (en) Snapshot management across cloud provider network extension security boundaries
US8959173B1 (en) Non-disruptive load-balancing of virtual machines between data centers
US10157214B1 (en) Process for data migration between document stores
JP5946472B2 (ja) コンピュータ・システムにおけるアプリケーション処理の管理のための方法、システム、コンピュータ・プログラム
US10860375B1 (en) Singleton coordination in an actor-based system
US10983964B1 (en) Managing file system tailored for cluster deployment
US10922283B2 (en) File synchronization
US10498821B1 (en) Managing NAS server cloning in network attached storage (NAS) cluster
CN105635311A (zh) 一种云管理平台中资源池信息同步的方法
CN109254873B (zh) 数据备份方法、相关装置及系统
US11321283B2 (en) Table and index communications channels
US11947425B2 (en) Storage volume snapshot object management
US11809735B1 (en) Snapshot management for cloud provider network extensions
US10831718B1 (en) Managing data using network attached storage (NAS) cluster
US11340938B2 (en) Increasing the performance of cross the frame live updates
CN113411363A (zh) 一种镜像文件的上传方法、相关设备及计算机存储介质
CN105487946B (zh) 一种故障计算机自动切换方法及装置
US8838768B2 (en) Computer system and disk sharing method used thereby
CN114465877A (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