CN104917800A - 建立用于虚拟机的冗余连接的方法及装置 - Google Patents
建立用于虚拟机的冗余连接的方法及装置 Download PDFInfo
- Publication number
- CN104917800A CN104917800A CN201410095303.6A CN201410095303A CN104917800A CN 104917800 A CN104917800 A CN 104917800A CN 201410095303 A CN201410095303 A CN 201410095303A CN 104917800 A CN104917800 A CN 104917800A
- Authority
- CN
- China
- Prior art keywords
- node
- memory
- virtual machine
- memory node
- computing node
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000004044 response Effects 0.000 claims description 18
- 238000013507 mapping Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000007858 starting material Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
- 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/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/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
-
- 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]
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- 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
-
- 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/5072—Grid computing
-
- 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
-
- 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/5083—Techniques for rebalancing the load in a distributed system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- 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
-
- 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/45579—I/O management, e.g. providing access to device drivers or storage
-
- 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/45595—Network integration; Enabling network access in virtual machine instances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
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)
- Mathematical Physics (AREA)
- Hardware Redundancy (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种建立用于虚拟机的冗余连接的方法,其包括:获取存储虚拟机的相同的虚拟机镜像的多个存储节点;从所述多个存储节点中确定至少两个存储节点,以使得安装所述虚拟机的计算节点与所述至少两个存储节点的各个之间的连接的相关性最小;以及在所述计算节点与所述至少两个存储节点之间分别建立连接。此外,本发明还公开了相应的装置。
Description
技术领域
本发明涉及虚拟化技术,具体地,涉及建立用于虚拟机的冗余连接的方法及装置。
背景技术
在例如云计算网络的分布式网络中,通常有两种类型的节点,即计算节点和存储节点。计算节点可提供安装虚拟机所需的计算资源,例如CPU和内存,而存储节点可存储并提供虚拟机镜像。相对于存储节点,计算节点是客户端设备。
当在计算节点上安装虚拟机时,需要载入虚拟机镜像以完成虚拟机系统的初始配置。因此,在计算节点与存储节点之间需要建立连接以传输虚拟机镜像。
在现有技术中,可以使用因特网小型计算机系统接口(Internet SmallComputer System Interface,缩写为iSCSI)协议来建立计算节点与存储节点之间的连接。iSCSI协议能够实现在IP网络上的主机系统(启动器)和存储设备(目标器)之间进行大量数据的封装和可靠传输。
为了虚拟机的高可用性,通常,在多个存储节点上存储有相同的虚拟机镜像。计算节点可选择任意一个存储节点来建立iSCSI连接,从而访问该存储节点以获取虚拟机镜像。
然而,这样的连接容易受到网络的影响。如果连接中的任意一个节点出现故障,都会导致该连接中断,从而造成虚拟机崩溃。
此外,在存储相同的虚拟机镜像的多个存储节点可用时,如何选择最合适的存储节点来提供虚拟机镜像也是重要的问题。
发明内容
本发明的实施例提供了一种建立用于虚拟机的冗余连接的方法及装置。
根据本发明的一个方面,提供了一种建立用于虚拟机的冗余连接的方法,包括:获取存储虚拟机的相同的虚拟机镜像的多个存储节点;至少两个存储节点从所述多个存储节点中确定至少两个存储节点,以使得安装所述虚拟机的计算节点与所述至少两个存储节点的各个之间的连接的相关性最小;以及在所述计算节点与所述至少两个存储节点之间分别建立连接。
根据本发明的另一个方面,提供了一种建立用于虚拟机的冗余连接的装置,包括:节点获取模块,其被配置为获取存储虚拟机的相同的虚拟机镜像的多个存储节点;选择模块,其被配置为从所述多个存储节点中确定至少两个存储节点,以使得安装所述虚拟机的计算节点与所述至少两个存储节点的各个之间的连接的相关性最小;以及连接建立模块,其被配置为在所述计算节点与所述至少两个存储节点之间分别建立连接。
根据本发明的实施例的方法及装置能够为安装在计算节点上的虚拟机提供冗余的连接以防止由于连接的断开而导致虚拟机的崩溃,从而提高连接的可靠性。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图;
图2是根据本发明的一个实施例的建立用于虚拟机的冗余连接的方法的流程图;
图3是图2所示的实施例中选择存储节点的步骤的流程图;
图4是根据本发明的另一个实施例的建立用于虚拟机的冗余连接的方法的流程图;
图5是根据本发明的一个实施例的建立用于虚拟机的冗余连接的装置的示意性方框图;
图6是根据本发明的另一个实施例的建立用于虚拟机的冗余连接的装置的示意性方框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
图2示出了根据本发明的一个实施例的建立用于虚拟机的冗余连接的方法的流程图。以下结合附图,对本实施例进行详细描述。
本实施例的方法可以应用于诸如云计算网络的分布式网络,并可由分布式网络中的计算节点或者独立于计算节点和存储节点的另一个节点执行。如前所述,计算节点可用于提供安装虚拟机所需的计算资源,例如CPU和内存。存储节点可用于存储并提供虚拟机的虚拟机镜像。此外,用于同一个虚拟机的相同的虚拟机镜像可分别存储在多个存储节点上。
如图2所示,首先,在步骤S210,获取存储虚拟机的相同的虚拟机镜像的多个存储节点。在该步骤中,可向分布式网络中的存储节点发送查询消息,然后,接收了查询消息的存储节点报告其存储有哪些虚拟机的虚拟机镜像。由此,可获得存储了将要在计算节点上安装的虚拟机的相同的虚拟机镜像的多个存储节点。
接着,在步骤S220,从多个存储节点中确定至少两个存储节点,作为将要与安装虚拟机的计算节点(在以下的描述中使用“计算节点”)建立连接的目的存储节点。在本实施例中,目的存储节点的选择需要考虑将要建立的连接的高可用性和可靠性,并且使得计算节点与所确定的至少两个目的存储节点之间的连接的相关性最小。
在一个实施例中,至少两个连接的相关性可以体现为从计算节点到至少两个目的存储节点的至少两个路由路径是否经过相同的中间路由设备。图3示出了目的存储节点的选择的一个实施例的流程图。如图3所示,在步骤S301,获取多个存储节点的IP地址。在存储节点报告所存储的虚拟机镜像时,该存储节点的IP地址也一起提供。这样,可从来自存储节点的消息中获取该存储节点的IP地址。接着,在步骤S305,基于存储节点的IP地址,可确定从计算节点到各个存储节点的路由路径,从而可获得每个路由路径所经过的中间路由设备。然后,在步骤S310,可判断在所确定的多个路由路径中是否存在不经过相同的中间路由设备的至少两个路由路径。如果存在至少两个路由路径不经过相同的中间路由设备(步骤S310的“是”),则在步骤S315,选择不经过相同的中间路由设备的至少两个路由路径。然后在步骤S320,确定与这至少两个路由路径对应的至少两个存储节点,作为目的存储节点。由于从计算节点到这样选择的目的存储节点的路由路径不经过相同的中间路由设备,因此,即使在计算节点与这些目的存储节点之间建立的连接的任意一个连接断开,其它连接也不会断开,从而能够确保高可用性和冗余的可靠性。
进一步地,在步骤S315中,还可以确定不经过相同的中间路由设备且响应时间最短的至少两个路由路径。
此外,如果在多个路由路径中不存在不经过相同的中间路由设备的至少两个路由路径(步骤S310的“否”),则在这种情况下,至少两个连接的相关性可以体现为路由路径的响应时间。在本实施例中,响应时间是指从计算节点发送请求开始直到接收到来自存储节点的响应为止所经过的时间。因此,在步骤S318,可根据每个路由路径的响应时间,从多个路由路径中选择响应时间最短的至少两个路由路径。然后,在步骤S320,确定与这至少两个路由路径对应的至少两个存储节点,作为目的存储节点。
在另一个实施例中,可以预先建立网段-位置区映射表,其记录了分布式网络可使用的IP地址的网段与位置区标识符的对应关系。在这种情况下,至少两个连接的相关性可以体现为至少两个目的存储节点是否位于相同的位置区。分布式网络可使用的IP地址可被划分成多个网段,并且每个网段可被分配一个位置区标识符。可选地,也可以为几个网段分配相同的位置区标识符。在选择目的存储节点时,首先,从来自多个存储节点的消息可获取相应的存储节点的IP地址。根据所获取的存储节点的IP地址,可确定该存储节点的IP地址所属的网段。然后,通过查找网段-位置区映射表,可以获得存储节点的位置区标识符。然后,从多个存储节点中确定位置区标识符不同的至少两个存储节点,作为目的存储节点。
返回到图2,在步骤S230,在计算节点与作为目的存储节点的至少两个存储节点之间分别建立连接。在本实施例中,连接是指按照基于IP网络的存储协议而建立的用于在计算节点与目的存储节点之间传输数据的连接。基于IP网络的存储协议可以是iSCSI协议或者以太网光纤通道(Fibre Channel overEthernet,缩写为FCoE)协议。因此,连接可以是iSCSI连接或者FCoE连接。在建立iSCSI连接时,计算节点作为启动器,而所选择的存储节点作为目标器。
通过以上描述可以看出,本实施例的建立用于虚拟机的冗余连接的方法能够在计算节点与存储了相同的虚拟机镜像的至少两个存储节点之间建立连接,以提供连接的冗余,防止由于连接的断开而导致计算节点上的虚拟机的崩溃。另外,本实施例的方法通过优先选择位于不同网段的存储节点作为目的存储节点,提高了连接的高可用性和冗余的可靠性。
图4示出了根据本发明的另一个实施例的建立用于虚拟机的冗余连接的方法的流程图。以下结合附图,对本实施例进行详细描述,其中,对于与前面实施例相同的部分,使用相同的附图标记,并适当省略其说明。
在本实施例的方法中,除了包括图3所示的步骤S210至S230之外,还包括冗余连接的维护。
如图4所示,在建立了至少两个连接(步骤S230)之后,在步骤S410,响应于所建立的连接的任意一个连接断开,查看在步骤S210中获取的多个存储节点中是否存在除了用于当前建立的连接的存储节点之外的剩余存储节点。
如果存在剩余存储节点,则在步骤S420,从剩余存储节点中确定一个存储节点,作为新的目的存储节点。在该步骤中,可以使用前面描述的根据路由路径或者位置区标识符确定目的存储节点的方法,也可以确定任意一个剩余存储节点作为目的存储节点。然后,在步骤S430,在计算节点与所确定的一个存储节点之间建立新的连接。
进一步地,如果没有剩余存储节点,则在步骤S440,在计算节点的本地磁盘上创建虚拟机镜像的本地副本。在建立了连接之后,存储节点上的虚拟机镜像可以通过连接传输到计算节点以用于创建本地副本。然后,在步骤S450,基于所创建的虚拟机镜像的本地副本,在计算节点上建立指向该本地副本的新的连接。在该步骤中,在连接是iSCSI连接的情况下,存储了虚拟机镜像的本地副本的本地磁盘可作为目标器,从而能够在计算节点上建立iSCSI连接。由于本地磁盘相对于存储节点具有较高的可靠性,因此,指向本地副本的连接也具有较高的可靠性。
为了节约本地磁盘的使用,当在计算节点上安装的虚拟机终止时,计算节点将清除在本地磁盘上创建的虚拟机镜像的本地副本。
此外,进一步地,当没有剩余存储节点时,还可以获取存储有所需的虚拟机镜像的副本的另一个计算节点。该步骤可通过向其它计算节点发送查询消息,然后,其它计算节点报告其存储了哪些虚拟机镜像的副本。该步骤也可与前面所述的步骤S210同时执行,即,可向分布式网络中的存储节点和计算节点都发送查询消息,然后响应于接收查询消息,存储节点和计算节点报告其存储的虚拟机镜像或虚拟机镜像的副本。由此,可获得存储了所需的虚拟机镜像的多个存储节点或计算节点。然后,在计算节点与存储有所需的虚拟机镜像的另一个计算节点之间建立新的连接。如果没有其它计算节点存储有所需的虚拟机镜像的副本,则可执行步骤S440。
通过以上描述可以看出,本实施例的建立用于虚拟机的冗余连接的方法能够进一步在已建立的连接断开时维护连接的冗余,并且按照存储节点优先于计算节点的本地磁盘的策略来建立新的连接。此外,本实施例的方法在没有剩余存储节点的情况下,还通过在本地创建虚拟机镜像的本地副本或者利用存储有所需的虚拟机镜像的副本的另一个计算节点,建立新的连接。
在相同的发明构思下,图5示出了根据本发明的一个实施例的建立用于虚拟机的冗余连接的装置500的示意性框图。以下结合附图,对本实施例进行详细描述,其中,对于与前面实施例相同的部分,适当省略其说明。
如图5所示,本实施例的装置500可包括:节点获取模块501,其被配置为获取存储虚拟机的相同的虚拟机镜像的多个存储节点;确定模块502,其被配置为从通过节点获取模块501获取的多个存储节点中确定至少两个存储节点,以使得安装虚拟机的计算节点与所确定的至少两个存储节点各自之间的连接的相关性最小;以及连接建立模块503,其被配置为在计算节点与由确定模块502确定的至少两个存储节点之间分别建立连接。
在本实施例的装置500中,首先,节点获取模块501可通过向分布式网络中的存储节点发送查询消息来获取存储了所需的虚拟机镜像的多个存储节点。
接着,确定模块502从通过节点获取模块501获得的多个存储节点中,确定至少两个合适的存储节点,作为目的存储节点。在确定目的存储节点时,考虑计算节点与至少两个目的存储节点之间的至少两个连接的相关性最小。
在一个实施例中,至少两个连接的相关性可以体现为从计算节点到至少两个目的存储节点的至少两个路由路径是否经过相同的中间路由设备。在这种情况下,在确定模块502中,地址获取单元5021获取多个存储节点的IP地址。如前所述,在存储节点报告其所存储的虚拟机镜像时,其IP地址也一并提供。由此,地址获取单元5021可从来自存储节点的消息中获取该存储节点的IP地址。接着,路径确定单元5022可根据各个存储节点的IP地址,确定从计算节点到每个存储节点的路由路径,并进而可以确定每个路由路径中的中间路由设备。然后,路径选择单元5023从所确定的多个路由路径中选择不经过相同的中间路由设备的至少两个路由路径,并由节点确定单元5024确定与这至少两个路由路径对应的至少两个存储节点,作为目的存储节点。
进一步地,路径选择单元5023可从多个路由路径中选择不经过相同的中间路由设备且响应时间最短的至少两个路由路径。然后,节点确定单元5024确定与至少两个路由路径对应的至少两个存储节点,作为目的存储节点。
此外,如果在多个路由路径中不存在不经过相同的中间路由设备的至少两个路由路径,则在这种情况下,至少两个连接的相关性可以体现为路由路径的响应时间。此时,路径选择单元5023从多个路由路径中选择响应时间最短的至少两个路由路径。然后,节点确定单元5024确定与至少两个路由路径对应的至少两个存储节点,作为目的存储节点。
在另一个实施例中,在选择模块502中,地址获取单元可从来自多个存储节点的消息中获取存储节点的IP地址。接着,网段确定单元根据存储节点的IP地址,确定该IP地址所属的网段。位置区标识符获取单元根据预先建立的网段-位置区映射表,获取多个存储节点的位置区标识符。在该实施例中,网段-位置区映射表是记录了分布式网络可使用的IP地址的网段与位置区标识符的对应关系的表,其可以预先建立。分布式网络可使用的IP地址可被划分成多个网段,并且每个网段可被分配一个位置区标识符。可选地,也可以为几个网段分配相同的位置区标识符。在这种情况下,至少两个连接的相关性可以体现为至少两个目的存储节点是否位于相同的位置区。因此,节点确定单元从多个存储节点中确定位置区标识符不同的至少两个存储节点,作为目的存储节点。
在通过确定模块502确定了目的存储节点之后,连接建立模块503在计算节点与所确定的至少两个存储节点之间分别建立连接。在本实施例中,连接可以是基于iSCSI协议的连接,或者是基于FCoE协议的连接。
应当注意,本实施例的装置500能够在操作上实现图2和图3所示的实施例的建立用于虚拟机的冗余连接的方法。此外,本实施例的装置500可以包括在计算节点中或者是单独的装置。
图6示出了根据本发明的另一个实施例的建立用于虚拟机的冗余连接的装置600的示意性框图。以下结合附图,对本实施例进行详细描述,其中,对于与前面实施例相同的部分,适当省略其说明。
如图6所示,本实施例的装置600除了包括图5所示的节点获取模块501、确定模块502和连接建立模块503之外,还包括查看模块601。
在本实施例的装置600中,响应于通过连接建立模块503建立的连接中的任意一个连接断开,查看模块601查看由节点获取模块501获取的多个存储节点中是否存在除了用于当前建立的连接的存储节点之外的剩余存储节点。如果存在剩余存储节点,则确定模块502从剩余存储节点中确定一个存储节点,作为新的目的存储节点。然后,连接建立模块503在计算节点与所确定的新的目的存储节点之间建立连接。
此外,本实施例的装置600还可包括副本创建模块602。如果没有剩余存储节点,则副本创建模块602在计算节点的本地磁盘上创建虚拟机镜像的本地副本,然后连接建立模块503基于本地副本,在计算节点上建立指向该本地副本的连接。
此外,在本实施例的装置600中,如果没有剩余存储节点,还可以由节点获取模块501获取存储有所需的虚拟机镜像的副本的另一个计算节点。在实现时,节点获取模块501可同时获得存储有所需的虚拟机镜像的副本的其它计算节点和存储节点。然后,连接建立模块503在计算节点与另一个计算节点之间建立连接。
应当注意,本实施例的装置600能够在操作上实现图4所示的实施例的建立用于虚拟机的冗余连接的方法。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (16)
1.一种建立用于虚拟机的冗余连接的方法,包括:
获取存储虚拟机的相同的虚拟机镜像的多个存储节点;
从所述多个存储节点中确定至少两个存储节点,以使得安装所述虚拟机的计算节点与所述至少两个存储节点的各个之间的连接的相关性最小;以及
在所述计算节点与所述至少两个存储节点之间分别建立连接。
2.根据权利要求1所述的方法,其中,从所述多个存储节点中确定至少两个存储节点,以使得安装所述虚拟机的计算节点与所述至少两个存储节点的各个之间的连接的相关性最小包括:
获取所述多个存储节点的IP地址;
确定从所述计算节点到所述多个存储节点的多个路由路径;
从所述多个路由路径中选择不经过相同的中间路由设备的至少两个路由路径;以及
确定与所述至少两个路由路径对应的至少两个存储节点。
3.根据权利要求2所述的方法,其中,从所述多个存储节点中确定至少两个存储节点,以使得安装所述虚拟机的计算节点与所述至少两个存储节点的各个之间的连接的相关性最小还包括:
如果在所述多个路由路径中不存在不经过相同的中间路由设备的至少两个路由路径,则从所述多个路由路径中选择响应时间最短的至少两个路由路径;以及
确定与所述至少两个路由路径对应的至少两个存储节点。
4.根据权利要求2所述的方法,其中,从所述多个路由路径中选择不经过相同的中间路由设备的至少两个路由路径包括:
选择不经过相同的中间路由设备且响应时间最短的至少两个路由路径。
5.根据权利要求1所述的方法,其中,从所述多个存储节点中确定至少两个存储节点,以使得安装所述虚拟机的计算节点与所述至少两个存储节点的各个之间的连接的相关性最小包括:
获取所述多个存储节点的IP地址;
确定所述多个存储节点的所述IP地址所属的网段;
根据预先建立的网段-位置区映射表,获取所述多个存储节点的位置区标识符;以及
从所述多个存储节点中确定所述位置区标识符不同的至少两个存储节点。
6.根据权利要求1所述的方法,还包括:
响应于所述连接的任意之一断开,查看所述多个存储节点中是否存在除了所确定的至少两个存储节点以外的剩余存储节点;
从所述剩余存储节点中确定一个存储节点;以及
在所述计算节点与所确定的一个存储节点之间建立连接。
7.根据权利要求6所述的方法,还包括:
如果所述多个存储节点中没有剩余存储节点,则在所述计算节点的本地磁盘上创建所述虚拟机镜像的本地副本;以及
在所述计算节点上建立指向所述本地副本的连接。
8.根据权利要求6所述的方法,还包括:
如果所述多个存储节点中没有剩余存储节点,则在所述计算节点处,获取存储有所述虚拟机镜像的副本的另一个计算节点;以及
在所述计算节点与所述另一个计算节点之间建立连接。
9.一种建立用于虚拟机的冗余连接的装置,包括:
节点获取模块,其被配置为获取存储虚拟机的相同的虚拟机镜像的多个存储节点;
确定模块,其被配置为从所述多个存储节点中确定至少两个存储节点,以使得安装所述虚拟机的计算节点与所述至少两个存储节点的各个之间的连接的相关性最小;以及
连接建立模块,其被配置为在所述计算节点与所述至少两个存储节点之间分别建立连接。
10.根据权利要求9所述的装置,其中,所述确定模块包括:
地址获取单元,其被配置为获取所述多个存储节点的IP地址;
路径确定单元,其被配置为确定从所述计算节点到所述多个存储节点的多个路由路径;
路径选择单元,其被配置为从所述多个路由路径中选择不经过相同的中间路由设备的至少两个路由路径;以及
节点确定单元,其被配置为确定与所述至少两个路由路径对应的至少两个存储节点。
11.根据权利要求10所述的装置,其中,所述路径选择单元进一步被配置为如果在所述多个路由路径中不存在不经过相同的中间路由设备的至少两个路由路径,则从所述多个路由路径中选择响应时间最短的至少两个路由路径。
12.根据权利要求10所述的装置,其中,所述路径选择单元进一步被配置为从所述多个路由路径中选择不经过相同的中间路由设备且响应时间最短的至少两个路由路径。
13.根据权利要求9所述的装置,其中,所述选择模块包括:
地址获取单元,其被配置为获取所述多个存储节点的IP地址;
网段确定单元,其被配置为确定所述多个存储节点的所述IP地址所属的网段;
位置区标识符获取单元,其被配置为根据预先建立的网段-位置区映射表,获取所述多个存储节点的位置区标识符;以及
节点确定单元,其被配置为从所述多个存储节点中确定所述位置区标识符不同的至少两个存储节点。
14.根据权利要求9所述的装置,还包括:
查看模块,其被配置为响应于所述连接的任意之一断开,查看所述多个存储节点中是否存在除了所确定的至少两个存储节点以外的剩余存储节点;
其中,所述确定模块进一步被配置为从所述剩余存储节点中确定一个存储节点;
所述连接建立模块进一步被配置为在所述计算节点与所确定的一个存储节点之间建立连接。
15.根据权利要求14所述的装置,还包括:
副本创建模块,其被配置为如果所述多个存储节点中没有剩余存储节点,则在所述计算节点的本地磁盘上创建所述虚拟机镜像的本地副本;
其中,所述连接建立模块进一步被配置为在所述计算节点上建立指向所述本地副本的连接。
16.根据权利要求14所述的装置,其中,所述节点获取模块进一步被配置为如果所述多个存储节点中没有剩余存储节点,则获取存储有所述虚拟机镜像的副本的另一个计算节点;
所述连接建立模块进一步被配置为在所述计算节点与所述另一个计算节点之间建立连接。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410095303.6A CN104917800B (zh) | 2014-03-14 | 2014-03-14 | 建立用于虚拟机的冗余连接的方法及装置 |
US14/657,901 US9626214B2 (en) | 2014-03-14 | 2015-03-13 | Establishing redundant connections for virtual machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410095303.6A CN104917800B (zh) | 2014-03-14 | 2014-03-14 | 建立用于虚拟机的冗余连接的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104917800A true CN104917800A (zh) | 2015-09-16 |
CN104917800B CN104917800B (zh) | 2018-03-27 |
Family
ID=54068983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410095303.6A Expired - Fee Related CN104917800B (zh) | 2014-03-14 | 2014-03-14 | 建立用于虚拟机的冗余连接的方法及装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9626214B2 (zh) |
CN (1) | CN104917800B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108268207A (zh) * | 2016-12-30 | 2018-07-10 | 杭州海康威视数字技术股份有限公司 | 一种基于云存储的元数据管理方法及装置 |
CN112363671A (zh) * | 2020-10-23 | 2021-02-12 | 中国电子科技网络信息安全有限公司 | 一种基于融合架构云平台的虚拟机模板镜像存储方法 |
CN113377530A (zh) * | 2021-05-31 | 2021-09-10 | 阿里巴巴新加坡控股有限公司 | 负载均衡方法、系统及装置 |
CN113986450A (zh) * | 2021-09-28 | 2022-01-28 | 新华三大数据技术有限公司 | 一种虚拟机备份方法及装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10855791B2 (en) * | 2014-11-25 | 2020-12-01 | Netapp, Inc. | Clustered storage system path quiescence analysis |
CN113220092A (zh) * | 2021-06-02 | 2021-08-06 | 英业达科技有限公司 | 服务器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8086840B2 (en) * | 2009-01-28 | 2011-12-27 | Lenovo (Singapore) Pte. Ltd. | Apparatus, system, and method for improving user boot via a storage area network |
CN102629941A (zh) * | 2012-03-20 | 2012-08-08 | 武汉邮电科学研究院 | 云计算系统中虚拟机镜像缓存的方法 |
CN102981929A (zh) * | 2012-11-05 | 2013-03-20 | 曙光云计算技术有限公司 | 磁盘镜像的管理方法和系统 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6088330A (en) * | 1997-09-09 | 2000-07-11 | Bruck; Joshua | Reliable array of distributed computing nodes |
US6952792B2 (en) * | 2002-03-19 | 2005-10-04 | International Business Machines Corporation | Failover system for storage area network |
US7760626B2 (en) | 2004-03-31 | 2010-07-20 | Intel Corporation | Load balancing and failover |
US7356729B2 (en) * | 2004-06-14 | 2008-04-08 | Lucent Technologies Inc. | Restoration of network element through employment of bootable image |
JP2007265116A (ja) * | 2006-03-29 | 2007-10-11 | Hitachi Ltd | ストレージシステム、管理ホスト、ストレージアクセス制限方法、管理ホストによるアクセス制限方法およびアクセス制限方法プログラム |
US20080147821A1 (en) * | 2006-12-19 | 2008-06-19 | Dietrich Bradley W | Managed peer-to-peer content backup service system and method using dynamic content dispersal to plural storage nodes |
US8769055B2 (en) * | 2009-04-24 | 2014-07-01 | Microsoft Corporation | Distributed backup and versioning |
US8112659B2 (en) * | 2009-06-19 | 2012-02-07 | Oracle International Corporation | Reducing recovery time for business organizations in case of disasters |
US8843624B2 (en) | 2009-12-11 | 2014-09-23 | Deutsche Telekom Ag | Computer cluster and method for providing a disaster recovery functionality for a computer cluster |
US8805967B2 (en) * | 2010-05-03 | 2014-08-12 | Panzura, Inc. | Providing disaster recovery for a distributed filesystem |
US8738961B2 (en) * | 2010-08-17 | 2014-05-27 | International Business Machines Corporation | High-availability computer cluster with failover support based on a resource map |
US8745234B2 (en) * | 2010-12-23 | 2014-06-03 | Industrial Technology Research Institute | Method and manager physical machine for virtual machine consolidation |
US9122535B2 (en) * | 2011-11-22 | 2015-09-01 | Netapp, Inc. | Optimizing distributed data analytics for shared storage |
US9268590B2 (en) * | 2012-02-29 | 2016-02-23 | Vmware, Inc. | Provisioning a cluster of distributed computing platform based on placement strategy |
JP5982909B2 (ja) * | 2012-03-19 | 2016-08-31 | 富士通株式会社 | 制御装置、ストレージ装置、ストレージ装置の試験方法及びストレージ装置の試験プログラム |
US8782008B1 (en) * | 2012-03-30 | 2014-07-15 | Emc Corporation | Dynamic proxy server assignment for virtual machine backup |
US9354915B2 (en) * | 2012-07-27 | 2016-05-31 | Hitachi, Ltd. | Method and apparatus of redundant path validation before provisioning |
US20140095925A1 (en) * | 2012-10-01 | 2014-04-03 | Jason Wilson | Client for controlling automatic failover from a primary to a standby server |
US8995827B2 (en) * | 2012-12-17 | 2015-03-31 | Futurewei Technologies, Inc. | System and method for finding partially disjoint paths for spare capacity allocation in shared backup path protection for dual fiber cuts |
US9092395B2 (en) * | 2012-12-20 | 2015-07-28 | International Business Machines Corporation | Provide an appliance like test vehicle for IT disaster recovery |
US10346259B2 (en) * | 2012-12-28 | 2019-07-09 | Commvault Systems, Inc. | Data recovery using a cloud-based remote data recovery center |
US9483361B2 (en) * | 2013-05-08 | 2016-11-01 | Commvault Systems, Inc. | Information management cell with failover management capability |
US20150095597A1 (en) * | 2013-09-30 | 2015-04-02 | American Megatrends, Inc. | High performance intelligent virtual desktop infrastructure using volatile memory arrays |
-
2014
- 2014-03-14 CN CN201410095303.6A patent/CN104917800B/zh not_active Expired - Fee Related
-
2015
- 2015-03-13 US US14/657,901 patent/US9626214B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8086840B2 (en) * | 2009-01-28 | 2011-12-27 | Lenovo (Singapore) Pte. Ltd. | Apparatus, system, and method for improving user boot via a storage area network |
CN102629941A (zh) * | 2012-03-20 | 2012-08-08 | 武汉邮电科学研究院 | 云计算系统中虚拟机镜像缓存的方法 |
CN102981929A (zh) * | 2012-11-05 | 2013-03-20 | 曙光云计算技术有限公司 | 磁盘镜像的管理方法和系统 |
Non-Patent Citations (1)
Title |
---|
R. JHAWAR: "Fault Tolerance Management in IaaS Clouds", 《SATELLITE TELECOMMUNICATIONS (ESTEL), 2012 IEEE FIRST AESS EUROPEAN CONFERENCE ON》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108268207A (zh) * | 2016-12-30 | 2018-07-10 | 杭州海康威视数字技术股份有限公司 | 一种基于云存储的元数据管理方法及装置 |
CN112363671A (zh) * | 2020-10-23 | 2021-02-12 | 中国电子科技网络信息安全有限公司 | 一种基于融合架构云平台的虚拟机模板镜像存储方法 |
CN112363671B (zh) * | 2020-10-23 | 2022-07-05 | 中国电子科技网络信息安全有限公司 | 一种基于融合架构云平台的虚拟机模板镜像存储方法 |
CN113377530A (zh) * | 2021-05-31 | 2021-09-10 | 阿里巴巴新加坡控股有限公司 | 负载均衡方法、系统及装置 |
CN113986450A (zh) * | 2021-09-28 | 2022-01-28 | 新华三大数据技术有限公司 | 一种虚拟机备份方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104917800B (zh) | 2018-03-27 |
US9626214B2 (en) | 2017-04-18 |
US20150261562A1 (en) | 2015-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3605323B1 (en) | Method for generating network slice template and for applying network slice template, and apparatus | |
US12130706B2 (en) | Redundancy reduction in blockchains | |
CN104917800A (zh) | 建立用于虚拟机的冗余连接的方法及装置 | |
CN109861839B (zh) | 业务不中断的虚拟交换机升级方法以及相关设备 | |
CN110673941B (zh) | 多机房中微服务的迁移方法、电子设备及存储介质 | |
US11509527B1 (en) | Assisted and context-driven network changes | |
CN110633175B (zh) | 基于微服务的多机房数据处理方法、电子设备及存储介质 | |
CN107666493B (zh) | 一种数据库配置方法及其设备 | |
CN107665141B (zh) | 一种数据库配置方法及其设备 | |
US10341181B2 (en) | Method and apparatus to allow dynamic changes of a replica network configuration in distributed systems | |
CN103973470A (zh) | 用于无共享集群的集群管理方法和设备 | |
CN110730133B (zh) | 路由通告方法和系统 | |
US9720755B2 (en) | Information processing device | |
CN110012111B (zh) | 一种数据服务集群系统及数据处理方法 | |
CN113448770A (zh) | 用于恢复数据的方法、电子设备和计算机程序产品 | |
CN113434089B (zh) | 数据搬移方法、装置及pcie系统 | |
US20090006829A1 (en) | Method and apparatus for changing a configuration of a computing system | |
US9715477B2 (en) | Shared-bandwidth multiple target remote copy | |
CN108683586B (zh) | 即时通讯系统中的数据处理方法、装置、介质和计算设备 | |
US11381665B2 (en) | Tracking client sessions in publish and subscribe systems using a shared repository | |
CN106462421B (zh) | 电信设备以及用于更新电信设备中的软件的方法 | |
US10795721B2 (en) | Transferring tasks from failing devices using IoT | |
CN109656674B (zh) | 一种计算机设备、虚拟化芯片及数据传输方法 | |
CN103631532B (zh) | 用于在数据存储系统中访问数据的方法和设备 | |
CN114979128A (zh) | 跨区域通信方法、装置及电子设备 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180327 |