CN104094229B - 用于基于扩展的主机信道适配器(hca)模型支持虚拟机的动态迁移的***和方法 - Google Patents
用于基于扩展的主机信道适配器(hca)模型支持虚拟机的动态迁移的***和方法 Download PDFInfo
- Publication number
- CN104094229B CN104094229B CN201380008048.0A CN201380008048A CN104094229B CN 104094229 B CN104094229 B CN 104094229B CN 201380008048 A CN201380008048 A CN 201380008048A CN 104094229 B CN104094229 B CN 104094229B
- Authority
- CN
- China
- Prior art keywords
- migration
- vhca
- virtual machine
- queue
- hca
- 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
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
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/76—Routing in software-defined topologies, e.g. routing between virtual machines
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
- H04L41/0897—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
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)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
一种***和方法可以支持网络中的虚拟机动态迁移。结构适配器可以与多个虚拟主机信道适配器(HCA)相关联,并且其中每个所述虚拟主机信道适配器(vHCA)与单独的队列对(QP)空间相关联。至少一个虚拟机操作来执行从第一主机到第二主机的动态迁移,其中所述至少一个虚拟机连接到与所述队列对(QP)空间中的队列对(QP)相关联的所述虚拟主机信道适配器(vHCA),并且其中所述队列对(QP)操作来向对等方QP发送关于动态迁移的信号并且向所述对等方QP提供迁移之后的地址信息。
Description
版权通知
本专利文件的公开的一部分包含受版权保护的材料。版权所有者不反对任何人对专利文件或专利公开的传真复制,因为它出现在专利商标局专利文档或记录中,但在别的方面保留所有任何版权。
技术领域
本发明一般涉及计算机***,并且具体地涉及支持计算机***虚拟化。
背景技术
随着引入大型云计算架构,与传统网络和存储相关联的执行和管理瓶颈已经变为显著问题。无限带(IB)技术已被视为增加的部署作为用于云计算结构的基础。这是本发明的实施例意欲解决的一般领域。
发明内容
这里描述的是用于支持网络中虚拟机动态迁移的***和方法。结构适配器可以与多个虚拟主机信道适配器(vHCA)相关联,并且其中每个所述虚拟主机信道适配器(vHCA)与单独的队列对(QP)空间相关联。至少一个虚拟机操作来执行从第一主机到第二主机的动态迁移,其中所述至少一个虚拟机连接到与所述队列对(QP)空间中的队列对(QP)相关联的所述虚拟主机信道适配器(vHCA),并且其中所述队列对(QP)操作来向对等方QP发送关于动态迁移的信号并且向所述对等方QP提供迁移之后的地址信息。
附图说明
图1示出根据本发明的实施例的虚拟接口架构(VIA)网络设备的例示。
图2示出根据本发明的实施例的与虚拟接口(VI)相关联的不同状态的例示。
图3示出根据本发明的实施例的与队列对(QP)相关联的不同状态的例示。
图4示出根据本发明的实施例的从网络和路由角度的虚拟机 (VM)动态迁移的例示。
图5示出根据本发明的实施例的在虚拟机(VM)动态迁移之前虚拟化环境的例示。
图6示出根据本发明的实施例的在虚拟机(VM)动态迁移之后虚拟化环境的例示。
图7示出了根据本发明的实施例的用于支持在虚拟化环境中虚拟机的动态迁移的示范性流程图。
图8示出根据本发明的实施例的无限带架构(IBA)网络设备的例示。
图9示出根据本发明的实施例的支持迁移的队列对(QP)与远程对等方QP之间的通信的例示。
图10示出了根据本发明的实施例的用于支持基于扩展的vHCA 模型的虚拟机的动态迁移的示范性流程图。
图11示出根据本发明的实施例的支持虚拟化环境中的局部标识符(LID)分配的例示。
具体实施方式
本发明通过示例方式而不是通过限制方式来在附图的图示中示出,其中相似的参考指示相似的元件。应当注意,在此公开中的参考“一”或“一个”实施例或“一些”实施例不一定是指相同的实施例,并且此类参考意味着至少一个。
下述发明的描述使用无限带(IB)网络作为高性能网络的示例。对本领域技术人员来说,显而易见可以无限制地使用其它类型的高性能网络。同样,下述发明的描述使用Xen虚拟化模型作为虚拟化模型的示例。对本领域技术人员来说,显而易见可以无限制地使用其它类型的虚拟化模型。
这里描述的是可以支持网络中虚拟机(VM)动态迁移的***和方法。
根据本发明的实施例,虚拟化可以有益于在云计算中高效的资源利用和弹性的资源分配。动态迁移可以通过以应用透明的方式在物理服务器之间移动虚拟机(VM)来优化资源使用。因此,虚拟化可以实现资源的强化、按需提供、和通过动态迁移的弹性。
无限带(IB)架构
IB架构是串行点对点全双工技术。IB网络可以被称为子网,其中子网由利用交换机和点到点链路互连的一组主机构成。IB子网可以包括至少一个子网管理器(SM),其负责初始化和提出网络,包括子网中的所有交换机、路由器和主机信道适配器(HCA)的配置。
IB支持丰富的传输服务集合,以便提供远程直接存储器存取 (RDMA)和传统的发送/接收语义。独立于使用的传输服务,IB HCA 利用队列对(QP)进行通信。QP在通信建立期间创建,并且可以具有诸如QP数目、HCA端口、目的地LID、队列大小、和提供的传输服务之类的初始属性集合。HCA可以处理许多QP,每个QP由一对队列构成,诸如发送队列(SQ)和接收队列(RQ),并且存在一个这样的对呈现在参与通信的每个终端节点处。发送队列保存要被传送到远程节点的工作请求,而接收队列保存关于对从远程节点接收的数据做什么的信息。除了QP之外,每个HCA具有与发送和接收队列的集合相关联的一个或多个完成队列(CQ)。CQ保存用于发布给发送和接收队列的工作请求的完成通知。即使通信的复杂度对用户隐藏,QP状态信息也被保存在HCA中。
每个物理IB设备被分配双地址:LID和全球唯一标识符 (GUID)。LID用于在子网内路由IB分组,而GUID是唯一地表示物理IB设备的硬件地址。64位GUID与局部(64位)子网前缀组合以形成全局标识符。128位全局标识符用于在IB子网之间路由IB分组。
输入/输出(I/O)虚拟化
I/O虚拟化(IOV)可以通过允许VM访问下层物理资源提供I/O 的可用性。存储业务和服务器间通信的组合施加增加的负载,可能压垮单个服务器的I/O资源,在它们等待数据时导致积压和空闲的处理器。随着I/O请求的数目增加,IOV可以提供可用性;并且可以改善(虚拟化的)I/O资源的性能、可分级性和灵活性以匹配在现代CPU 虚拟化中看到的性能水平。
可以存在不同类型IOV技术,诸如仿真、半虚拟化、直接分配 (DA)、和单一根-I/O虚拟化(SR-IOV)。在这些IOV技术当中, SR-IOV可以扩展快速PCI(PCIe)规范,意味着允许从多个VM直接存取单个物理设备同时维持接近固有性能。因此,SR-IOV可以提供良好性能和可分级性。
SR-IOV允许PCIe设备暴露可以通过将一个虚拟设备分配到每个访客在多个访客之间共享的多个虚拟设备。每个SR-IOV设备具有至少一个物理功能(PF)和一个或多个关联的虚拟功能(VF)。PF 是由虚拟机监控器(VMM)、或超控制器控制的正常PCIe功能,而 VF是轻型PCIe功能。每个VF具有它自己的基局部址(BAR)并且被分配有使得I/O存储器管理单元(IOMMU)在业务流与不同的VF 之间进行区分的唯一的请求者ID。IOMMU也在PF与VF之间应用存储器和中断转换。
可以存在不同类型的SR-IOV模型,例如共享端口模型和虚拟交换机模型。在共享端口模型中,所有VF可以共享单个端口地址和单个QP名称空间,并且仅仅单个HCA端口暴露于网络。在虚拟交换机模型中,每个VF是包含唯一端口地址和唯一QP名称空间的虚拟 HCA,并且用于设备上的每个VF的一个HCA暴露于网络。因此,虚拟交换机模型可以简化具有多个复杂硬件的IOV。
SR-IOV能力设备的使用可以输出接近固有的性能和改善的可分级性。另一方面,SR-lOV可以不是与动态迁移和检查点/重新开始机制完全不兼容的。
动态迁移的硬件解决方案
根据本发明的实施例,硬件解决方案可以基于灵活、高性能和可升级的虚拟化的IO架构,以应用透明的方式支持物理服务器之间的虚拟机(VM)的动态迁移。此外,硬件解决方案可以增加迁移的透明性并且改善IB与SR-IOV之间的互操作性。另外,***可以可应用于诸如虚拟接口架构(VIA)和Myrinet之类的其它高速无损联网技术。
利用硬件解决方案,IB主机信道适配器(HCA)可以将每个物理功能(VF)区分为具有用于QP的它自己的资源池的虚拟端点。此外,诸如QPN之类的QP属性可以在迁移之后被重复使用。同样,IB HCA可以基于用于暂停和重新开始通信的QP状态支持VM动态迁移。
另外,***可以避免可以用来在迁移的QP与迁移的QP对等方之间静默的握手机制。因此,***允许虚拟机(VM)的动态迁移以将服务停止时间减少到与IB中可靠连接的重试超时可比较的级别。
此外,***可以表示支持VM动态迁移的一般解决方案,包括具有严格定时要求的情况和应用。例如,在高可用性集群中,由有故障的物理服务器托管的VM可以在有限时间内被迁移到另一个服务器。迁移可以在故障被发现之后,但是在有故障的服务器变为不可恢复的错误之前发生。软件方法不足以完成低服务停止时间的此需要,因为它们遭受开销。此外,软件方法就开发费用而言是昂贵的。
虚拟端点
根据本发明的实施例,虚拟接口架构(VIA)硬件可以集成PCI 虚拟交换机以区分从每个VF创建的VI。在虚拟交换机后面,多个独立的虚拟端点可以由网络管理器发现。
图1示出根据本发明的实施例的虚拟接口架构(VIA)网络设备的例示。如图1所示,虚拟接口架构(VIA)网络设备100可以包括硬件层110、虚拟机监控器120和一个或多个虚拟机,例如VM 101-102。在这里,VM101可以基于内核代理107支持与固定的存储器105相关联的用户进程103。VM102可以基于内核代理108支持与固定的存储器106相关联的用户进程104。
虚拟交换机130可以被提供在硬件层110上。虚拟交换机130 可以与一个或多个虚拟功能(VF),例如VF111-119相关联。VF 111-119的每一个可以创建并管理一个或多个虚拟接口(VI)。
根据本发明的实施例,利用虚拟交换机模型,每个VF111-119 可以被隔离为可以分配给例如VM101或VM102的访客VM的专用的PCI端点。此外,VF111-119的每一个可以具有它专用的VI名称空间121-129并且可以被认为是完成的VI端点。VI名称空间隔离可以提供虚拟化的环境中的保护和灵活性。每个VF可以被限制为访问分区内的VI资源,其扩展了用于IO操作的VM的保护和隔离性质。此外,VI属性可以在迁移之后被重复使用。
例如,硬件层110可以基于诸如IB架构之类的高速网络架构。 VF111-119的每一个可以是虚拟主机信道适配器(vHCA),其包含唯一的端口地址和唯一的QP名称空间。另外,一个vHCA可以暴露于用于IB设备上的每个VF的网络。此外,每个vHCA可以与它自己的QP名称空间相关联并且可以创建并管理一个或多个队列对 (QP),诸如IB架构中的QP131和132。如图1所示,队列对(QP) 131-132的每一个可以包括发送器队列和接收器队列。
此外,VIA设备100可以利用IO存储器管理单元(IOMMU) 功能的优势。VI属性可以被存储在经由由IOMMU翻译的IO虚拟存储器访问的存储器区域中。当新的VF被重新附接到VM时,在没有明确地再创建新的VI的情况下,超控制器可以改变IOMMU以将IO 虚拟存储器重新映射到新的物理存储器集合。与共享的VI名称空间模型相比,虚拟交换机模型简化资源迁移并且避免使用映射表重新映射VI属性以便保持用于正在运行的应用的透明性。
队列对(QP)暂停状态
图2示出根据本发明的实施例的与虚拟接口(VI)相关联的不同状态的例示。如图2所示,VI的生命周期可以包括多个状态,诸如:空闲状态201、待定连接状态202、连接状态203、错误状态204、和暂停状态205。
暂停状态205指示正在进行的通信被临时中止以便让VI处于静默状态,例如在动态迁移期间。连接状态203与暂停状态205之间的转变可以由软件发起的请求或通过VI事件请求驱动。例如,在迁移期间,软件接口可以将迁移的VI从连接状态203修改到暂停状态205。
当VI进入暂停状态205时,VI可以完成任何先前发起的消息传输并且将任何剩余消息刷到硬件发送器队列上而不处理它们。硬件可以保证剩余消息在刷它们之前由用于用户进程的发送器队列高速缓存。在暂停状态205中,任何新消息可以在发送器队列和接收器队列中被排队,并且保持被发布而不被处理。
此外,如果输入消息把暂停的VI作为目标,则SuspendRequest (暂停请求)事件可以由暂停的VI生成以将对等方VI转变成为暂停状态205。在这种情况下,先前发起的消息可以在接收的 ResumeRequest(重新开始请求)事件之后被重新发送并且可以不对未完成的传输生成超时错误。
在新的VF附接于迁移的VM之后和在迁移的VM被在新位置重新开始之前,停止和复制阶段可以将IO虚拟存储器寄存到IOMMU 中新设置的物理存储器。然后,软件接口可以将迁移的VM的VI状态修改到连接状态203。然后,***可以触发转发到对等方VI的ResumeRequest事件。对等方VI然后可以在不生成ResumeRequest 事件的情况下转变回到连接状态203。因此,暂停状态205可以提供VM的动态迁移期间的平滑转变,并且VI可以处于静默状态。
根据本发明的实施例,为了减少在VM动态迁移期间的停止时间,具有最小延迟的方法是暂停VI或正好在所有未完成的操作已经完成之前分离VF。因此,扩展可以改善超时并且重试作为暂停状态 205处理的一部分的由可靠传输协议提供的处理。在不引起对于或者对等方VI或者迁移VI的致命错误的情况下,扩展的重试和超时逻辑可以将VI转变到暂停状态205。
因此,VI可以在迁移之后不具有对VI的可用性的困难的实时约束的情况下被迁移。此方法也可以覆盖其中由于网络中的延迟在VI 之间没有生成事件报告(SuspendRequest和ResumeRequest)的情况。另外,在具有多个VI的情况中,每个VI可以同时执行以上操作。
图3示出根据本发明的实施例的与队列对(QP)相关联的不同状态的例示。如图3所示,QP的生命周期300包括多个状态,诸如:复位状态301、初始化(INT)状态302、准备接收(RTR)状态303、准备发送(RTS)状态304、SQ误差(SQE)状态305、错误状态306、 SQ排出(SQD)状态307、和暂停(SUS)状态308。
暂停状态SUS308可以临时中止正在进行的通信以在迁移期间静默QP。RTS304与SUS308之间的转变可以由软件发起的请求或通过事件请求触发。在迁移期间,软件接口可以将迁移的QP从RTS 304状态转变到SUS308状态。当QP进入暂停状态205时,它可以完成任何先前发起的消息并且将任何剩余消息刷到SQ中而不处理它们。硬件也可以保证剩余消息在刷它们之前由用户进程缓冲器高速缓存。在暂停状态205中,任何新消息可以在SQ和RQ中被排队,但是保持被发布而不被处理。
VM动态迁移的联网和路由角度
图4示出根据本发明的实施例的从网络和路由角度的虚拟机 (VM)动态迁移的例示。如图4所示,虚拟化环境400可以包括多个vHCA,例如vHCA A-C401-403。vHCA A-C401-403的每一个可以用作完成的IB端点,其可以提供用于虚拟化的透明性。
另外,虚拟化环境400可以包括网络管理器410。网络管理器可以发现IB交换机A-B431-432后面的vHCA A-C401-403,并且可以基于不同的LID和vGUID识别vHCA A-C401-403的每一个。例如, vHCA A401可以被分配有LID A411和vGUID A421,而vHCA A 402可以被分配有LID B412和vGUID B422,并且vHCA C403可以被分配有LID C413和vGUID C423。
根据本发明的实施例,在VM迁移期间,网络管理器410可以注意到例如vHCA B402的IB端点在IB交换机A431后面停止(即暂停),并且在IB交换机B432后面的网络(如vHCAB404)的另一端重新出现,具有例如LID B412和vGUID B422的相同地址,被传送到新的位置。
在迁移之后,网络管理器410可以更新路由表420以在它移位之后反映LID的新的重新布置。此外,可以实施局部地修改LID的新的路由算法以便减少整个网络的重新路由时间。另外,网络管理器410 也可以保证新的LID布置是无死锁的。
此外,高速网络可以具有有限的局部地址资源。例如,当每个 vHCA被分配它自己的LID并且在1000个节点群中的每个节点托管多个VM时,可以使用16位的LID的IB网络可能快速用尽地址空间。
根据本发明的实施例,***可以使用不同的方法处理虚拟化环境中的可分级性问题。例如,***可以将LID寻址空间扩展到32位,或组合vGUID与LID以执行vHCA之间的路由。第一解决方案不需要在网络管理器中任何架构修改;但是,它不向后兼容旧的硬件。
虚拟机角度
图5示出根据本发明的实施例的在虚拟机(VM)动态迁移之前虚拟化环境的例示。如图5所示,IB网络500可以包括多个主机,例如主机A-B501-502。主机A501包括使用HCA517的VMM A515,并且可以支持特权域(或管理域),Dom0 511,其管理例如DomU513 的访客域。同样,主机B包括使用HCA518的VMM B516,并且可以支持管理DomU514的Dom0 512。
此外,在主机A501上的VMa503可以与例如VF505的VF连接,其连接到例如QPa507的队列对。另外,VMa503可以与VMb504 通信,VMb504与QPb508相关联。
根据本发明的实施例,例如在主机A501上的Dom0 511的特权域不需要例如VF505的设备在迁移期间被分离。***可以仅需要例如QPa507的有效QP在停止和复制阶段处暂停。
如图5所示,在主机A501上的特权域Dom0 511可以发起VMa 503迁移到主机B102(如在图6中的VMa604)。在VMa503的迁移之前,***可以执行将它置于暂停状态的状态转移操作。此外,在从QPb508接收输入分组之后,暂停的QPa507可以指示QPb508 也进入暂停状态。
然后,例如基于远程直接存储器存取(RDMA)连接520,可以通过在源与目的地服务器之间同步包括I/O虚拟存储器的脏页(存储器)来执行VM迁移。
图6示出根据本发明的实施例的在虚拟机(VM)动态迁移之后虚拟化环境的例示。如图6所示,IB网络600可以包括多个主机,例如主机A-B601-602。(另外,在图6中具有与图5中相同数字的元件可以提供相同的功能)。
在迁移到主机B602之后,VMa603可以与新的VF连接,例如 VF616,其连接到例如QPa’607的队列对。在这里,QPa’607与图5 中的QPa507在逻辑上是相同的并且具有在VMa503(或VMa603) 的虚拟存储器中相同的上下文信息。
此外,在VMa603被取消暂停之前,特权域Dom0 612可以对QPa’607执行状态转移,其可以将QPa’607放置回到RTS状态。此外,QPa’607可以重新开始与主机A601上的QPb608进行通信。
因此,用于迁移的服务停止时间可以等效于停止和复制阶段的持续时间。同样,利用RDMA操作执行迁移还可以减小服务停止时间和总迁移时间。
图7示出了根据本发明的实施例的用于支持在虚拟化环境中虚拟机的动态迁移的示范性流程图。如图7所示,在步骤701处,***可以将虚拟交换机与多个虚拟功能(VF)相关联,其中每个所述虚拟功能(VF)与单独的队列对(QP)空间相关联。此外,在步骤702 处,***可以将所述虚拟功能(VF)与至少一个虚拟机连接,其中所述虚拟功能(VF)与虚拟接口(VI)相关联。然后,在步骤703处,所述至少一个虚拟机可以执行从第一主机到与所述虚拟功能(VF)连接的第二主机的动态迁移。
扩展的HCA模型
图8示出根据本发明的实施例的无限带架构(IBA)网络设备的例示。如图8所示,无限带架构(IBA)网络设备800可以包括硬件层810、虚拟机监控器820和一个或多个虚拟机,例如VM801-802。 VM801可以支持基于内核807和用户库837与固定的存储器805相关联的应用803。VM802可以支持基于内核代理808和用户库838 与固定的存储器806相关联的应用804。
硬件层810可以包括结构适配器,诸如IB HCA830,其连接到 IB子网840。此外,IBHCA830可以与多个vHCA实例,例如vHCA 811-819相关联。
根据本发明的实施例,例如物理HCA830的结构适配器可以实施虚拟交换机模型、扩展的HCA模型、或两个模型的结合。此外,利用扩展的HCA模型,可以存在仅仅物理的HCA830而没有交换机。虚拟HCA811-819表示物理HCA模型的扩展,并且一个或多个虚拟 HCA实例811-819可以经由物理HCA830端口从例如IB子网840的结构中可访问。
根据本发明的实施例,硬件层810可以支持以下特征以便保护用于执行VM动态迁移的分配的IB资源。
1.QP上下文(例如QP数目)可以通过允许每个vHCA具有私有QP空间被保护。
2.存储器区域数目可以通过允许每个vHCA具有私有存储器区域数目空间被保护。
3.寄存的存储器可以通过允许每个vHCA实施用于访问局部物理主机局部存储器的私有虚拟地址空间被保护。
可以利用或者上述部分讨论的基于虚拟交换机的模型、或者通过利用扩展的HCA模型实施私有QP空间。扩展HCA规范的扩展的 HCA模型允许定义多个vHCA实例811-819,每个可以具有私有QP 空间。如图8所示,vHCA811-819的每一个可以支持队列对(QP),例如QP821-829,其可以通过与例如应用803或804的应用相关联的、用于发送并且接收分组的发送器/接收器缓冲器使用。
此外,扩展的HCA规范可以具有不依赖于更复杂的结构拓扑的优势。另外,对于每个vHCA可以基于与用于私有QP空间的相同的替换物实施私有存储器区域数目空间。
根据本发明的实施例,用于局部物理存储器的私有虚拟地址空间可以被独立于vHCA方案是否基于虚拟交换机模型或扩展的HCA模型而实施。
实施私有虚拟地址空间的一种方法是通过利用服务器平台,其中由物理HCA观察的局部存储器地址空间表示虚拟存储器。此虚拟存储器可以由具体地用于每个SRIOV VF,即vHCA811-819的每一个的主机平台实施。
实施私有虚拟地址空间的另一个方式是通过包括由例如VMM 820的平台超控制器控制的***MMU的集合内的物理HCA的存储器管理单元(MMU)。因此,特定于VM的地址空间可以在不同的物理主机之间迁移而不改变任何虚拟地址,其中虚拟地址到物理地址的映射根据需要被更新。(例如,私有虚拟地址空间可以通过让*** MMU在物理HCA与局部物理存储器之间来实施)。
根据本发明的实施例,连接状态可以被保存在被迁移的VM的局部存储器中。同样,连接状态可以在迁移之后被对于新的vHCA重建(或重新使用),而不需要分配任何新资源。
此外,暂停状态(如图3所示)可以应用于迁移的QP和连接到迁移的QP的远程对等方QP二者。因此,***可以保证在VM迁移期间没有超时可以发生,并且***可以允许迁移操作独立于由迁移的 VM的对等方实施的IB连接有关的超时值花费任意数量的时间。此外,为了允许与连接相关联的IB地址由于迁移而改变,***可以更新用于暂停状态中的QP的地址信息。
与远程QP对等方的通信
根据本发明的实施例,***可以使用用于支持对等方之间的通信的特殊报头信息和/或非征求性消息。***允许VM动态迁移被发起而不在远程对等方之间执行静默操作。此外,***允许远程对等方知道迁移并且以异步事件驱动方式进入暂停状态。
例如,可以支持vHCA路由报头(VRH),并且在IB网络中可以使用基于VRH的vHCA寻址而不是基于全局路由报头(GRH)的寻址。包含VRH的分组可以被传送到在VRH中指定的目的地vHCA 索引(DVI),例如如果在VRH中的目的地vHCA标签(DVT)不是零并且报头中的DVT与由VRH中的DVI标识的vHCA标签表条目中的DVT相同。当不存在定义VRH存在的线路协议扩展时,***可以经由LID策略指定哪些分组预期包含VRH。可替换地,***可以定义对于所有vHCA公共的QP数字范围,并且其中不同的范围可以与VRH或其它协议策略的使用相关联。此外,VRH可以不经由 QP上下文被指定,因为QP上下文不是已知的,直到vHCA索引已从VRH中检索。
图9示出根据本发明的实施例的支持迁移的队列对(QP)与远程对等方QP之间的通信的例示。如图9所示,虚拟化环境900可以包括多个主机,例如主机A-C901-903,每个可以包括软件栈,例如 SW911-913中的一个。(软件栈可以驻留在内核空间、用户空间或两者中)。
此外,在QPa910迁移到主机C903(如QPa930)之前,主机 A901上的QPa910可以与主机B902上的QPb920通信。QPa910 可以被设置在暂停状态以实现迁移,在该时间期间QPb920可以将分组(UD,UC或RC)发送到QPa910。目标是主机A901上的无效 vHCA931的此分组可以使用或者GRH或者基于VRH/LID映射的地址。
在接收到目标为无效vHCA931的分组之后,主机A901可以生成局部异步事件并且可选地将非征求性响应分组发送到vHCA932上的QPb920。此外,当QPb920接收非征求性响应分组时,它可以生成包含来自于非征求性响应的信息的局部异步事件。然后,如果QPb 920是启动的可靠连接的(RC)或不可靠的连接(UC)QP,则QPb 920可以自动地执行转变到暂停状态(如图3所示)。
根据本发明的实施例,由IBA提供的动词接口可以包括用于将队列对(QP)转移到暂停状态和从暂停状态转移的ModifyQP和 ModifyAddressHandle选项。此外,当暂停状态被对于RC QP复位时,重试计数和计时器可以被复位到初始值(即在进入暂停状态之前耗费的任何“重试预算”可以被“遗忘”)。虽然在暂停状态中,对于RC或UC QP,路径信息可以被更新。QP和地址处理可以保持在暂停状态中,直到例如SW A-C911-913的局部软件明确地复位暂停状态。在这里,在复位暂停状态之前,局部软件可以获得可以包括目的地LID和VRH信息的更新的路径信息。
根据本发明的实施例,每当由它的vGUID标识的vHCA端口开始在IB网络中操作时,可以经由用于相关物理HCA端口的vGUID 和vHCA信息报告给vHCA端口。在VM/vHCA迁移的情况下,目的地节点物理HCA端口的vGUID和vHCA信息和SMA信息可以在迁移的vHCA开始操作时被更新。在VM迁移之后,具有暂停的QP 或地址处理的远程对等方可以观察有关信息并且在已经更新相关路径信息之后复位暂停状态。
此外,当在新的位置处重新开始迁移的VM和vHCA时,通信对等方可以不知道迁移的vHCA。例如,当例如QPa930的迁移的 RC QP将请求发送到它的对等方时,QPb920、QPa930可以具有正确的路径信息,因为QPb920有可能没有在相同时间帧在被迁移。同样,如果QPb920不具有更新的路径信息,则对来自于迁移的QPa930 的输入请求的确认和响应可能被发送给旧的目的地。然后,旧的目的地可以将非征求性响应发送到QPb920,使得QPb920意识到路径信息已经被更新。
另外,在例如主机C903的新位置处开始的迁移的vHCA,例如 vHCA933,可以依赖对等方以以及时方式更新路径信息,以便避免输出的请求变得超时。例如,当QPb920不具有正确的路径信息时,从迁移的vHCA933输出的请求由于确认和响应没能回来的事实而可能超时。
为了保证来自于迁移的QPa930的原始请求分组可以通知对等方QPb920迁移已经发生,***可以使得迁移信息可从请求分组中的报头内容中检测。例如,代替依赖于对等方检测源地址信息中的任何相关变化,VRH可以包含迁移计数字段。迁移计数字段可以在迁移的vHCA930再次在新位置(主机C903)处开始操作之前被更新。此外,相对于在对等方QP状态中记录的,迁移计数的变化可以引起识别对等方节点上的状况的异步事件。因此,通过经由VRH迁移计数字段明确地通知远程对等方,***可以在大多数情况下避免迁移的 HCA端的QP的超时。
根据本发明的实施例,为了完全避免对于对等方的实时依赖性以更新路径信息,迁移的vHCA可以在非暂停待定状态中以QP开始。非暂停待定QP状态与暂停状态相似,除了允许输出请求。此外,在迁移之后重新开始vHCA之后生成的对请求的响应或确认从远程对等方接收到之后,非暂停待定状态可以被复位并且QP可以正常行为。
此外,***的实施方式(HW、FW或SW)可以使用超时和重试以解决分组的丢失,而QP本身的超时行为可以与在暂停状态中一样(即,由于超时而不进入到错误状态)。另外,非暂停待定状态可以用于对于没有被迁移的vHCAs/QPs得体地执行从暂停状态中的转变。
可替换地,在其中VRH不被使用的情况中,迁移的信令可以经由非征求性消息完成。例如,非征求性消息可以在迁移之后的重新开始之后潜在地与正常消息被交织发送。此外,来自于远程对等方QP 的请求或响应的接收可以消除对发送此类非征求性消息的需要。在这里,非征求性消息的使用允许信令独立于QP/连接上的任何其它通信活动发生。
因此,利用附加报头信息和/或非征求性消息,***允许迁移的 QP自动地向它的对等方QP发关于迁移发生的信号并且向它的对等方QP提供包含的新地址信息。地址信息的任何相关更新可以与子网管理器的有关信息的通告和报告并行发生并且可以进一步减小用于使得连接回到完全操作状态的延迟。
图10示出了根据本发明的实施例的用于基于扩展的vHCA模型支持虚拟机的动态迁移的示范性流程图。如图10所示,在步骤1001 处,***可以将结构适配器与多个虚拟主机信道适配器(HCA)关联,并且其中每个所述虚拟主机信道适配器(vHCA)与单独的队列对(QP)空间相关联。在这里,结构适配器可以实施虚拟交换机模型、扩展的主机信道适配器(HCA)模型、或两个模型的结合。此外,在步骤1002处,至少一个虚拟机可以执行从第一主机到第二主机的动态迁移,其中所述至少一个虚拟机连接到与所述队列对(QP)空间中的队列对(QP)相关联的所述虚拟主机信道适配器(vHCA)。然后,在步骤1003处,所述队列对(QP)可以在迁移之后向对等方QP发送关于动态迁移的信号并且向所述对等方QP提供地址信息。
可升级的寻址方案
根据本发明的实施例,作为层3(L3)地址的一部分、与VM相关联的虚拟GUID可以通过动态迁移被保护并且虚拟GUID可以用于从通信对等方的角度、以及从子网管理器的角度唯一地识别VM。
不像存在更新与被迁移的远程连接对等方相关联的地址信息的固有需要的软件方法,扩展的HCA模型允许与VM相关联的地址信息被跨迁移保护。因此,没有更新用于连接对等方的地址信息的固有需要,因为***可以保护IB层2(L2)、或局部路由报头(LRH),除了L3、或全局路由报头(GRH)、地址之外,地址信息可以被保护。
根据本发明的实施例,***可以实现IB子网内的可分级性和灵活性。例如,IB子网可以被限于48K LID值。***支持忽略LMC 特征,其允许HCA基于IB子网中的子网管理器决定使用来便于将分组转发到相关HCA端口(物理端口或vHCA端口)的无论任何LID 值被寻址。例如,HCA端口可以不被迫使具有专用的LID或基于二的连续LID范围(如HCA端口LID掩码,即LMC值所定义的)的专用能力。
另外,***可以支持管理LID的范围的使用,其表示子网管理器将不使用作为用于物理端口的静态分配的LID/LID范围的LID值。此外,子网管理器可以在VM创建时间,或者动态地在VM生命期期间,将管理LID分配到需要唯一LID用于寻址的VM。
图11示出根据本发明的实施例的在虚拟化环境中支持局部标识符(LID)分配的例示。如图11所示,虚拟化环境1100可以包括子网管理器(SM)1101,其可以负责分配用于各个网络设备的LID,诸如物理HCA端口1111-1112,和虚拟HCA端口1121-1123。
SM1101可以支持如下策略接口,其中管理LID1120的范围可以被储存。每个管理LID在SM1101可以不将此值分配到任何端口除非经由策略输入指示的意义上是特殊的。
此外,SM1101可以支持如下策略接口,其中vGUID可以与一个或多个此类管理LID相关联并且其中vGUID迁移意味着用于对应 LID的路由被设置到相关物理HCA端口。另外,如果vGUID与管理 LID相关联,则SM1101可以不允许将vGUID与不支持忽略LMC 特征的物理HCA端口关联。
根据本发明的实施例,管理LID的路由可以基于此刻对SM101 有效的路由算法和策略。用于与管理LID相关联的vGUID的路径信息可以根据由SM101限定的策略反映分配的管理LID。
因此,独立于VM动态迁移操作,***可以使用忽略LMC和管理LID特征以提供用于在IB子网之内寻址的可分级性和灵活性。一般,这些特征可以用于便于可以用于到达IB子网内的任何物理或虚拟HCA端口的一个或多个附加LID的动态创建。
此外,动态服务质量(QoS)、高可用性(HA)、和/或其它基于多地址的属性可以在运行时间被动态地建立。这些特征可以被施加于任何具体的物理或虚拟HCA端口而不需要子网重新初始化,或引起对IB子网内的正在进行的通信的任何其它负面影响。
可以使用一个或多个传统的通用或专门数字计算机、计算设备、机器或微处理器方便地实现本发明,包括一个或多个处理器、存储器和/或根据本公开的教导编程的计算机可读存储介质。合适的软件编码能够容易地由熟练的程序员基于本公开的教导来准备,这对软件领域的技术人员将是明显的。
在一些实施例中,本发明包括计算机程序产品,其是上面或其中存储指令的存储介质或计算机可读介质(介质),指令可以用于编程计算机来执行本发明的处理中的任何一个。存储介质能够包括以下中的一个或多个:任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微驱动器、和磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、 VRAM、闪速存储器件、磁或光卡、纳米***(包括分子存储器IC) 或适合于存储指令和/或数据的任何类型的介质或设备,但是不局限于此。
本发明的上面的描述是为了说明和描述的目的而提供的。它不意欲是穷举的或将本发明限制于公开的精确的形式。许多修改和变化能够对本领域的实践者是明显的。选择并且描述实施例以便最佳地说明本发明的原理和它的实际应用,从而使得本领域技术人员能够理解用于各个实施例中的并且具有适合于预期的特定使用的各种修改的本发明。预期本发明的范围由以下权利要求书和它们的等价物定义。
Claims (19)
1.一种用于支持网络中的虚拟机动态迁移的***,包括:
一个或多个微处理器;
结构适配器,与所述一个或多个微处理器相关联,其中所述结构适配器与多个虚拟主机信道适配器HCA相关联,并且其中每个所述虚拟主机信道适配器vHCA与单独的队列对QP空间相关联;
在第一主机上操作的虚拟机,其中所述虚拟机连接到与所述队列对QP空间中的队列对QP相关联的第一虚拟主机信道适配器vHCA,其中所述虚拟机被分配用于寻址所述第一vHCA的唯一局部标识符LID,
其中所述虚拟机操作来执行从所述第一主机到第二主机的动态迁移;
其中在所述动态迁移之后,所述虚拟机连接到与所述队列对QP相关联的第二虚拟主机信道适配器vHCA,其中所述虚拟机使用相同的所述唯一LID来寻址所述第二vHCA;以及
其中所述队列对QP操作来向对等方QP发送关于动态迁移的信号并且向所述对等方QP提供迁移之后的地址信息。
2.根据权利要求1所述的***,还包括:
至少一个虚拟机监控器,其管理一个或多个虚拟机,其中每个所述虚拟机与私有虚拟地址空间相关联。
3.根据权利要求1所述的***,其中:
所述结构适配器实施虚拟交换机模型和扩展的主机信道适配器(HCA)模型中的至少一个。
4.根据权利要求1所述的***,其中:
暂停状态能够应用于迁移的QP和连接到迁移的QP的远程对等方QP二者。
5.根据权利要求1所述的***,其中:
特殊报头信息和/或非征求性消息能够用于支持对等方之间的通信和通信状态更新。
6.根据权利要求1所述的***,其中:
当在主机处接收到以无效vHCA为目标的输入分组时,所述主机能够生成局部异步事件并且将非征求性分组发送到输入分组的源,并且其中与输入分组的源相关联的队列对(QP)能够自动地执行到暂停状态的转变。
7.根据权利要求1所述的***,其中:
从迁移的vHCA发送的分组能够包含迁移计数字段,所述迁移计数字段能够在迁移的vHCA在新的位置处再次变为操作之前被更新。
8.根据权利要求1所述的***,其中:
迁移的vHCA能够在非暂停待定状态中以QP开始。
9.根据权利要求1所述的***,还包括:
子网管理器,其能够为HCA端口分配LID值,所述子网管理器决定使用所述LID值来便于将分组转发到相关的HCA端口,而独立于已经与HCA端口相关联的任何其它LID值。
10.一种用于支持网络中的虚拟机动态迁移的方法,包括:
将结构适配器与多个虚拟主机信道适配器HCA相关联,并且其中每个所述虚拟主机信道适配器vHCA与单独的队列对QP空间相关联;
执行虚拟机的从第一主机到第二主机的动态迁移,其中:
在迁移之前,所述虚拟机连接到与所述队列对QP空间中的队列对QP相关联的第一虚拟主机信道适配器vHCA,并且所述虚拟机被分配用于寻址所述第一vHCA的唯一局部标识符LID;以及
在迁移之后,所述虚拟机连接到与所述队列对QP相关联的第二虚拟主机信道适配器vHCA,并且所述虚拟机使用相同的所述唯一LID来寻址所述第二vHCA;以及
经由所述队列对QP向对等方QP发送关于动态迁移的信号并且向所述对等方QP提供迁移之后的地址信息。
11.根据权利要求10所述的方法,还包括:
提供管理一个或多个虚拟机的至少一个虚拟机监控器,其中每个所述虚拟机与私有虚拟地址空间相关联。
12.根据权利要求10所述的方法,还包括:
允许所述结构适配器实施虚拟交换机模型和扩展的主机信道适配器(HCA)模型中的至少一个。
13.根据权利要求10所述的方法,还包括:
将暂停状态应用于迁移的QP和连接到迁移的QP的远程对等方QP二者。
14.根据权利要求10所述的方法,还包括:
利用特殊报头信息和/或非征求性消息来支持对等方之间的通信和通信状态更新。
15.根据权利要求10所述的方法,还包括:
配置主机以生成局部异步事件并且将非征求性分组发送到以无效vHCA为目标的输入分组的源,并且其中与输入分组的源相关联的队列对(QP)能够自动地执行到暂停状态的转变。
16.根据权利要求10所述的方法,还包括:
在从迁移的vHCA发送的分组中包含迁移计数字段,所述迁移计数字段能够在迁移的vHCA在新的位置处再次变为操作之前被更新。
17.根据权利要求10所述的方法,还包括:
配置迁移的vHCA以在非暂停待定状态中以QP开始。
18.根据权利要求10所述的方法,还包括:
配置子网管理器以为 HCA 端口分配 LID 值, 所述 LID 值独立 于已经与所述 HCA端口相关联的任何其它 LID 值并且子网管理器决定使用所述 LID 值来便于将分组转发到相关的 HCA 端口。
19.一种非瞬时机器可读存储介质,在其上存储有指令,所述指令在被执行时使得***执行如下步骤:
将结构适配器与多个虚拟主机信道适配器HCA相关联,并且其中每个所述虚拟主机信道适配器vHCA与单独的队列对QP空间相关联;
执行虚拟机的从第一主机到第二主机的动态迁移,其中:
在迁移之前,所述虚拟机连接到与所述队列对QP空间中的队列对QP相关联的第一虚拟主机信道适配器vHCA,并且所述虚拟机被分配用于寻址所述第一vHCA的唯一局部标识符LID;以及
在迁移之后,所述虚拟机连接到与所述队列对QP相关联的第二虚拟主机信道适配器vHCA,并且所述虚拟机使用相同的所述唯一LID来寻址所述第二vHCA;以及
经由所述队列对QP向对等方QP发送关于动态迁移的信号并且向所述对等方QP提供迁移之后的地址信息。
Applications Claiming Priority (13)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261615731P | 2012-03-26 | 2012-03-26 | |
US61/615,731 | 2012-03-26 | ||
US201261693703P | 2012-08-27 | 2012-08-27 | |
US61/693,703 | 2012-08-27 | ||
US13/838,121 US9450885B2 (en) | 2012-03-26 | 2013-03-15 | System and method for supporting live migration of virtual machines in a virtualization environment |
US13/837,922 | 2013-03-15 | ||
US13/838,502 US9311122B2 (en) | 2012-03-26 | 2013-03-15 | System and method for providing a scalable signaling mechanism for virtual machine migration in a middleware machine environment |
US13/837,922 US9397954B2 (en) | 2012-03-26 | 2013-03-15 | System and method for supporting live migration of virtual machines in an infiniband network |
US13/838,275 US9432304B2 (en) | 2012-03-26 | 2013-03-15 | System and method for supporting live migration of virtual machines based on an extended host channel adaptor (HCA) model |
US13/838,121 | 2013-03-15 | ||
US13/838,502 | 2013-03-15 | ||
US13/838,275 | 2013-03-15 | ||
PCT/US2013/033754 WO2013148600A1 (en) | 2012-03-26 | 2013-03-25 | System and method for supporting live migration of virtual machines based on an extended host channel adaptor (hca) model |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104094229A CN104094229A (zh) | 2014-10-08 |
CN104094229B true CN104094229B (zh) | 2017-12-22 |
Family
ID=49213417
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380008050.8A Active CN104094230B (zh) | 2012-03-26 | 2013-03-25 | 用于支持虚拟化环境中的虚拟机的动态迁移的***和方法 |
CN201380008060.1A Active CN104094231B (zh) | 2012-03-26 | 2013-03-25 | 用于支持无限带网络中的虚拟机的动态迁移的***和方法 |
CN201380008048.0A Active CN104094229B (zh) | 2012-03-26 | 2013-03-25 | 用于基于扩展的主机信道适配器(hca)模型支持虚拟机的动态迁移的***和方法 |
CN201380009011.XA Active CN104115121B (zh) | 2012-03-26 | 2013-03-25 | 在中间件机器环境中对虚拟机迁移提供可扩展的信令机制的***和方法 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380008050.8A Active CN104094230B (zh) | 2012-03-26 | 2013-03-25 | 用于支持虚拟化环境中的虚拟机的动态迁移的***和方法 |
CN201380008060.1A Active CN104094231B (zh) | 2012-03-26 | 2013-03-25 | 用于支持无限带网络中的虚拟机的动态迁移的***和方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380009011.XA Active CN104115121B (zh) | 2012-03-26 | 2013-03-25 | 在中间件机器环境中对虚拟机迁移提供可扩展的信令机制的***和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9311122B2 (zh) |
EP (4) | EP2831732B1 (zh) |
JP (4) | JP6185045B2 (zh) |
CN (4) | CN104094230B (zh) |
IN (1) | IN2014CN04933A (zh) |
WO (4) | WO2013148598A1 (zh) |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5852677B2 (ja) * | 2011-12-26 | 2016-02-03 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | レジスタ・マッピング方法 |
US9432304B2 (en) | 2012-03-26 | 2016-08-30 | Oracle International Corporation | System and method for supporting live migration of virtual machines based on an extended host channel adaptor (HCA) model |
US10025638B2 (en) * | 2012-07-02 | 2018-07-17 | Vmware, Inc. | Multiple-cloud-computing-facility aggregation |
US9990238B2 (en) * | 2012-11-05 | 2018-06-05 | Red Hat, Inc. | Event notification |
US9141416B2 (en) | 2013-03-15 | 2015-09-22 | Centurylink Intellectual Property Llc | Virtualization congestion control framework for modifying execution of applications on virtual machine based on mass congestion indicator in host computing system |
US9990221B2 (en) | 2013-03-15 | 2018-06-05 | Oracle International Corporation | System and method for providing an infiniband SR-IOV vSwitch architecture for a high performance cloud computing environment |
US10230794B2 (en) | 2013-03-15 | 2019-03-12 | Oracle International Corporation | System and method for efficient virtualization in lossless interconnection networks |
US9729660B2 (en) * | 2013-07-24 | 2017-08-08 | Netapp, Inc. | Method and system for detecting virtual machine migration |
US10389577B2 (en) | 2013-08-14 | 2019-08-20 | Centurylink Intellectual Property Llc | Ethernet carrier group alarm (CGA) |
US10904201B1 (en) * | 2013-10-11 | 2021-01-26 | Cisco Technology, Inc. | Updating distributed caches in network devices in the event of virtual machine changes in a virtualized network environment |
US9864623B2 (en) * | 2013-11-21 | 2018-01-09 | Centurylink Intellectual Property Llc | Physical to virtual network transport function abstraction |
US9436751B1 (en) * | 2013-12-18 | 2016-09-06 | Google Inc. | System and method for live migration of guest |
US9548890B2 (en) | 2014-03-17 | 2017-01-17 | Cisco Technology, Inc. | Flexible remote direct memory access resource configuration in a network environment |
US10397105B2 (en) * | 2014-03-26 | 2019-08-27 | Oracle International Corporation | System and method for scalable multi-homed routing for vSwitch based HCA virtualization |
US20150288767A1 (en) | 2014-04-03 | 2015-10-08 | Centurylink Intellectual Property Llc | Network Functions Virtualization Interconnection Hub |
US9552217B2 (en) | 2014-06-28 | 2017-01-24 | Vmware, Inc. | Using active/active asynchronous replicated storage for live migration |
US9672120B2 (en) * | 2014-06-28 | 2017-06-06 | Vmware, Inc. | Maintaining consistency using reverse replication during live migration |
US9900391B2 (en) * | 2014-08-05 | 2018-02-20 | Microsoft Technology Licensing, Llc | Automated orchestration of infrastructure service blocks in hosted services |
US10225327B2 (en) | 2014-08-13 | 2019-03-05 | Centurylink Intellectual Property Llc | Remoting application servers |
US9898318B2 (en) | 2014-08-15 | 2018-02-20 | Centurylink Intellectual Property Llc | Multi-line/multi-state virtualized OAM transponder |
US10198288B2 (en) * | 2014-10-30 | 2019-02-05 | Oracle International Corporation | System and method for providing a dynamic cloud with subnet administration (SA) query caching |
CN107645407B (zh) * | 2014-12-08 | 2021-02-12 | 华为技术有限公司 | 一种适配QoS的方法和装置 |
CN104753816A (zh) * | 2015-03-27 | 2015-07-01 | 华为技术有限公司 | 一种rdma连接的报文处理方法及相关装置 |
US9588791B2 (en) * | 2015-04-27 | 2017-03-07 | Altera Corporation | Flexible physical function and virtual function mapping |
WO2016206012A1 (en) * | 2015-06-24 | 2016-12-29 | Intel Corporation | Systems and methods for isolating input/output computing resources |
US10228969B1 (en) * | 2015-06-25 | 2019-03-12 | Amazon Technologies, Inc. | Optimistic locking in virtual machine instance migration |
US10970110B1 (en) | 2015-06-25 | 2021-04-06 | Amazon Technologies, Inc. | Managed orchestration of virtual machine instance migration |
US9825851B2 (en) | 2015-06-27 | 2017-11-21 | Nicira, Inc. | Distributing routing information in a multi-datacenter environment |
US9882833B2 (en) | 2015-09-28 | 2018-01-30 | Centurylink Intellectual Property Llc | Intent-based services orchestration |
CN108139937B (zh) | 2015-10-13 | 2021-08-13 | 华为技术有限公司 | 多根i/o虚拟化*** |
CN106997306B (zh) * | 2016-01-26 | 2021-03-09 | 阿里巴巴集团控股有限公司 | 物理机数据迁移至云端的方法、装置和*** |
JP2019503598A (ja) * | 2016-01-27 | 2019-02-07 | オラクル・インターナショナル・コーポレイション | 高性能コンピューティング環境においてスケーラブルなビットマップに基づくP_Keyテーブルをサポートするためのシステムおよび方法 |
US10200308B2 (en) | 2016-01-27 | 2019-02-05 | Oracle International Corporation | System and method for supporting a scalable representation of link stability and availability in a high performance computing environment |
US11271870B2 (en) | 2016-01-27 | 2022-03-08 | Oracle International Corporation | System and method for supporting scalable bit map based P_Key table in a high performance computing environment |
US10594547B2 (en) | 2016-01-27 | 2020-03-17 | Oracle International Corporation | System and method for application of virtual host channel adapter configuration policies in a high-performance computing environment |
US10616118B2 (en) | 2016-01-28 | 2020-04-07 | Oracle International Corporation | System and method for supporting aggressive credit waiting in a high performance computing environment |
US10374926B2 (en) | 2016-01-28 | 2019-08-06 | Oracle International Corporation | System and method for monitoring logical network traffic flows using a ternary content addressable memory in a high performance computing environment |
US10659340B2 (en) * | 2016-01-28 | 2020-05-19 | Oracle International Corporation | System and method for supporting VM migration between subnets in a high performance computing environment |
US10630816B2 (en) | 2016-01-28 | 2020-04-21 | Oracle International Corporation | System and method for supporting shared multicast local identifiers (MILD) ranges in a high performance computing environment |
US10666611B2 (en) | 2016-01-28 | 2020-05-26 | Oracle International Corporation | System and method for supporting multiple concurrent SL to VL mappings in a high performance computing environment |
US10536334B2 (en) | 2016-01-28 | 2020-01-14 | Oracle International Corporation | System and method for supporting subnet number aliasing in a high performance computing environment |
US10171353B2 (en) * | 2016-03-04 | 2019-01-01 | Oracle International Corporation | System and method for supporting dual-port virtual router in a high performance computing environment |
CN107305506A (zh) * | 2016-04-20 | 2017-10-31 | 阿里巴巴集团控股有限公司 | 动态分配内存的方法、装置及*** |
US10379745B2 (en) * | 2016-04-22 | 2019-08-13 | Samsung Electronics Co., Ltd. | Simultaneous kernel mode and user mode access to a device using the NVMe interface |
US10678578B2 (en) * | 2016-06-30 | 2020-06-09 | Microsoft Technology Licensing, Llc | Systems and methods for live migration of a virtual machine based on heat map and access pattern |
US10565008B2 (en) | 2016-07-28 | 2020-02-18 | International Business Machines Corporation | Reducing service downtime during service migration |
US10423444B2 (en) | 2016-08-09 | 2019-09-24 | Red Hat Israel, Ltd. | Routing table preservation for virtual machine migration with assigned devices |
JP6929863B2 (ja) | 2016-08-23 | 2021-09-01 | オラクル・インターナショナル・コーポレイション | 高性能コンピューティング環境における高速ハイブリッド再構成をサポートするためのシステムおよび方法 |
CN107992352A (zh) * | 2016-10-26 | 2018-05-04 | 阿里巴巴集团控股有限公司 | 用于虚拟化场景的数据交互方法及设备 |
US10558250B2 (en) * | 2016-12-23 | 2020-02-11 | Oracle International Corporation | System and method for coordinated link up handling following switch reset in a high performance computing network |
CN115344551A (zh) * | 2017-06-26 | 2022-11-15 | 华为技术有限公司 | 一种数据迁移的方法以及数据节点 |
US11469953B2 (en) | 2017-09-27 | 2022-10-11 | Intel Corporation | Interworking of legacy appliances in virtualized networks |
CN111133417A (zh) * | 2017-10-24 | 2020-05-08 | 英特尔公司 | 硬件辅助的虚拟交换机 |
TWI645293B (zh) * | 2017-11-30 | 2018-12-21 | 財團法人工業技術研究院 | 在多根輸入輸出虛擬化環境中虛擬機器即時遷移的方法、系統及其計算主機 |
CN109918172A (zh) * | 2019-02-26 | 2019-06-21 | 烽火通信科技股份有限公司 | 一种虚拟机热迁移方法及*** |
US11537406B2 (en) * | 2020-02-18 | 2022-12-27 | Juniper Networks, Inc. | Automatic formation of a virtual chassis using zero touch provisioning |
US11882000B2 (en) | 2020-04-06 | 2024-01-23 | VMware LLC | Network management system for federated multi-site logical network |
US11088902B1 (en) | 2020-04-06 | 2021-08-10 | Vmware, Inc. | Synchronization of logical network state between global and local managers |
US11870679B2 (en) | 2020-04-06 | 2024-01-09 | VMware LLC | Primary datacenter for logical router |
US11088916B1 (en) * | 2020-04-06 | 2021-08-10 | Vmware, Inc. | Parsing logical network definition for different sites |
US11777793B2 (en) | 2020-04-06 | 2023-10-03 | Vmware, Inc. | Location criteria for security groups |
US11343227B2 (en) | 2020-09-28 | 2022-05-24 | Vmware, Inc. | Application deployment in multi-site virtualization infrastructure |
CN113326101B (zh) * | 2021-08-02 | 2022-04-12 | 阿里云计算有限公司 | 基于远程直接数据存储的热迁移方法、装置及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1704921A (zh) * | 2004-04-15 | 2005-12-07 | 雷西昂公司 | 高性能计算***和方法 |
US7493409B2 (en) * | 2003-04-10 | 2009-02-17 | International Business Machines Corporation | Apparatus, system and method for implementing a generalized queue pair in a system area network |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030208572A1 (en) * | 2001-08-31 | 2003-11-06 | Shah Rajesh R. | Mechanism for reporting topology changes to clients in a cluster |
US7093024B2 (en) * | 2001-09-27 | 2006-08-15 | International Business Machines Corporation | End node partitioning using virtualization |
US6988161B2 (en) * | 2001-12-20 | 2006-01-17 | Intel Corporation | Multiple port allocation and configurations for different port operation modes on a host |
US7484208B1 (en) | 2002-12-12 | 2009-01-27 | Michael Nelson | Virtual machine migration |
US8776050B2 (en) * | 2003-08-20 | 2014-07-08 | Oracle International Corporation | Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes |
US7555002B2 (en) | 2003-11-06 | 2009-06-30 | International Business Machines Corporation | Infiniband general services queue pair virtualization for multiple logical ports on a single physical port |
US7581021B2 (en) | 2005-04-07 | 2009-08-25 | International Business Machines Corporation | System and method for providing multiple virtual host channel adapters using virtual switches |
JP4883979B2 (ja) * | 2005-10-11 | 2012-02-22 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置および通信制御方法 |
US20080189432A1 (en) * | 2007-02-02 | 2008-08-07 | International Business Machines Corporation | Method and system for vm migration in an infiniband network |
US8645974B2 (en) * | 2007-08-02 | 2014-02-04 | International Business Machines Corporation | Multiple partition adjunct instances interfacing multiple logical partitions to a self-virtualizing input/output device |
US20090055831A1 (en) * | 2007-08-24 | 2009-02-26 | Bauman Ellen M | Allocating Network Adapter Resources Among Logical Partitions |
US8798056B2 (en) * | 2007-09-24 | 2014-08-05 | Intel Corporation | Method and system for virtual port communications |
JP2010039730A (ja) * | 2008-08-05 | 2010-02-18 | Fujitsu Ltd | ネットワーク設定プログラム,ネットワーク設定方法及びネットワーク設定装置 |
US7996484B2 (en) | 2008-12-11 | 2011-08-09 | Microsoft Corporation | Non-disruptive, reliable live migration of virtual machines with network data reception directly into virtual machines' memory |
US8862538B2 (en) | 2008-12-18 | 2014-10-14 | International Business Machines Corporation | Maintaining a network connection of a workload during transfer |
US7970913B2 (en) | 2008-12-31 | 2011-06-28 | International Business Machines Corporation | Virtualizing sockets to enable the migration of a system environment |
WO2010099407A1 (en) * | 2009-02-27 | 2010-09-02 | Broadcom Corporation | Method and system for virtual machine networking |
US8429647B2 (en) | 2009-05-06 | 2013-04-23 | Vmware, Inc. | Virtual machine migration across network by publishing routes to the associated virtual networks via virtual router after the start of migration of the virtual machine |
US8150971B2 (en) | 2009-05-31 | 2012-04-03 | Red Hat Israel, Ltd. | Mechanism for migration of client-side virtual machine system resources |
US8489744B2 (en) | 2009-06-29 | 2013-07-16 | Red Hat Israel, Ltd. | Selecting a host from a host cluster for live migration of a virtual machine |
EP2309680B1 (en) * | 2009-10-08 | 2017-07-19 | Solarflare Communications Inc | Switching API |
US8370560B2 (en) | 2009-11-16 | 2013-02-05 | International Business Machines Corporation | Symmetric live migration of virtual machines |
US9507619B2 (en) * | 2010-01-12 | 2016-11-29 | International Business Machines Corporation | Virtualizing a host USB adapter |
JP5548489B2 (ja) * | 2010-03-11 | 2014-07-16 | 株式会社日立製作所 | 計算機システム、仮想化機構、および計算機システムの障害回復方法 |
JP5190084B2 (ja) * | 2010-03-30 | 2013-04-24 | 株式会社日立製作所 | 仮想マシンのマイグレーション方法およびシステム |
US8700811B2 (en) | 2010-05-25 | 2014-04-15 | Microsoft Corporation | Virtual machine I/O multipath configuration |
US8489699B2 (en) | 2010-08-13 | 2013-07-16 | Vmware, Inc. | Live migration of virtual machine during direct access to storage over SR IOV adapter |
US20120173757A1 (en) | 2011-01-05 | 2012-07-05 | International Business Machines Corporation | Routing optimization for virtual machine migration between geographically remote data centers |
US8407182B1 (en) | 2011-01-21 | 2013-03-26 | Symantec Corporation | Systems and methods for facilitating long-distance live migrations of virtual machines |
US9015709B2 (en) | 2011-03-08 | 2015-04-21 | Rackspace Us, Inc. | Hypervisor-agnostic method of configuring a virtual machine |
US8935506B1 (en) | 2011-03-31 | 2015-01-13 | The Research Foundation For The State University Of New York | MemX: virtualization of cluster-wide memory |
JP4894963B2 (ja) * | 2011-04-01 | 2012-03-14 | 株式会社日立製作所 | データ処理システム |
US20120287931A1 (en) | 2011-05-13 | 2012-11-15 | International Business Machines Corporation | Techniques for securing a virtualized computing environment using a physical network switch |
US20120291024A1 (en) * | 2011-05-13 | 2012-11-15 | International Business Machines Corporation | Virtual Managed Network |
US9201679B2 (en) | 2012-05-31 | 2015-12-01 | Red Hat Israel, Ltd. | Multiple destination live migration |
CN102968344A (zh) * | 2012-11-26 | 2013-03-13 | 北京航空航天大学 | 一种多虚拟机迁移调度的方法 |
-
2013
- 2013-03-15 US US13/838,502 patent/US9311122B2/en active Active
- 2013-03-25 JP JP2015503438A patent/JP6185045B2/ja active Active
- 2013-03-25 WO PCT/US2013/033752 patent/WO2013148598A1/en active Application Filing
- 2013-03-25 CN CN201380008050.8A patent/CN104094230B/zh active Active
- 2013-03-25 WO PCT/US2013/033753 patent/WO2013148599A1/en active Application Filing
- 2013-03-25 JP JP2015503439A patent/JP6195900B2/ja active Active
- 2013-03-25 EP EP13721423.5A patent/EP2831732B1/en active Active
- 2013-03-25 JP JP2015503440A patent/JP6122483B2/ja active Active
- 2013-03-25 EP EP13715546.1A patent/EP2831729B1/en active Active
- 2013-03-25 JP JP2015503441A patent/JP6285906B2/ja active Active
- 2013-03-25 EP EP13717612.9A patent/EP2831731A1/en not_active Ceased
- 2013-03-25 CN CN201380008060.1A patent/CN104094231B/zh active Active
- 2013-03-25 CN CN201380008048.0A patent/CN104094229B/zh active Active
- 2013-03-25 CN CN201380009011.XA patent/CN104115121B/zh active Active
- 2013-03-25 WO PCT/US2013/033754 patent/WO2013148600A1/en active Application Filing
- 2013-03-25 WO PCT/US2013/033755 patent/WO2013148601A1/en active Application Filing
- 2013-03-25 IN IN4933CHN2014 patent/IN2014CN04933A/en unknown
- 2013-03-25 EP EP13715547.9A patent/EP2831730B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7493409B2 (en) * | 2003-04-10 | 2009-02-17 | International Business Machines Corporation | Apparatus, system and method for implementing a generalized queue pair in a system area network |
CN1704921A (zh) * | 2004-04-15 | 2005-12-07 | 雷西昂公司 | 高性能计算***和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104115121A (zh) | 2014-10-22 |
EP2831732A1 (en) | 2015-02-04 |
US9311122B2 (en) | 2016-04-12 |
EP2831732B1 (en) | 2021-06-09 |
JP6185045B2 (ja) | 2017-08-23 |
WO2013148599A1 (en) | 2013-10-03 |
CN104094230B (zh) | 2017-10-17 |
EP2831729B1 (en) | 2019-01-09 |
JP2015514271A (ja) | 2015-05-18 |
IN2014CN04933A (zh) | 2015-09-18 |
JP2015514270A (ja) | 2015-05-18 |
US20130254424A1 (en) | 2013-09-26 |
WO2013148600A1 (en) | 2013-10-03 |
JP6195900B2 (ja) | 2017-09-13 |
EP2831730A1 (en) | 2015-02-04 |
CN104094231A (zh) | 2014-10-08 |
JP6122483B2 (ja) | 2017-04-26 |
CN104094231B (zh) | 2017-12-01 |
CN104115121B (zh) | 2018-04-03 |
EP2831730B1 (en) | 2019-07-31 |
JP2015518602A (ja) | 2015-07-02 |
JP6285906B2 (ja) | 2018-02-28 |
WO2013148601A1 (en) | 2013-10-03 |
EP2831731A1 (en) | 2015-02-04 |
EP2831729A1 (en) | 2015-02-04 |
WO2013148598A1 (en) | 2013-10-03 |
JP2015515683A (ja) | 2015-05-28 |
CN104094230A (zh) | 2014-10-08 |
CN104094229A (zh) | 2014-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104094229B (zh) | 用于基于扩展的主机信道适配器(hca)模型支持虚拟机的动态迁移的***和方法 | |
US9893977B2 (en) | System and method for supporting live migration of virtual machines in a virtualization environment | |
CN104871493B (zh) | 用于高性能计算网络中的通信信道故障切换的方法和设备 | |
US20200183724A1 (en) | Computing service with configurable virtualization control levels and accelerated launches | |
CN103733574B (zh) | 用于在虚拟化网络和非虚拟化实体之间通信的方法和网关 | |
KR101242908B1 (ko) | 가상화된 컴퓨터 시스템들에 대한 분배된 가상 스위치 | |
US9535798B1 (en) | Systems and methods for maintaining virtual component checkpoints on an offload device | |
US20080189432A1 (en) | Method and system for vm migration in an infiniband network | |
US10552080B2 (en) | Multi-target post-copy guest migration | |
CN105144105A (zh) | 用于可扩展的崩溃一致的快照操作的***和方法 | |
US20150113114A1 (en) | Network interface adapter registration method, driver, and server | |
JP5869133B2 (ja) | ライブマイグレーションされた仮想計算機のネットワーク接続を復元する仮想計算機システム | |
JP5662949B2 (ja) | 仮想ネットワーク環境におけるコピーの迂回 | |
WO2018015983A1 (en) | Communication apparaus, system, rollback method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |