CN103154910A - 群集高速缓冲存储器相干性协议 - Google Patents
群集高速缓冲存储器相干性协议 Download PDFInfo
- Publication number
- CN103154910A CN103154910A CN2011800484080A CN201180048408A CN103154910A CN 103154910 A CN103154910 A CN 103154910A CN 2011800484080 A CN2011800484080 A CN 2011800484080A CN 201180048408 A CN201180048408 A CN 201180048408A CN 103154910 A CN103154910 A CN 103154910A
- Authority
- CN
- China
- Prior art keywords
- cache
- group
- caching logic
- trooping
- cluster caching
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- 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]
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5683—Storage of data provided by user terminals, i.e. reverse caching
Landscapes
- Engineering & Computer Science (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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
描述了与群集高速缓冲存储器相干性协议相关联的系统、方法和其它实施例。根据一个实施例,一种装置包括:非瞬态存储介质,被配置为与计算机器相关联的高速缓冲存储器。计算机器是共享对存储设备的访问的计算机器群集的成员。群集高速缓存逻辑与计算机器相关联。群集高速缓存逻辑被配置用于与和其它计算机器相关联的群集高速缓存逻辑通信以确定对存储设备中的数据执行高速缓存操作的群集高速缓存逻辑团体的操作状态。群集高速缓存逻辑也被配置用于至少部分基于群集高速缓存逻辑在团体中的成员资格状态有选择地启用在高速缓冲存储器中高速缓存来自存储设备的数据。
Description
相关申请的交叉引用
本公开内容要求对通过引用而完全结合于此、于2010年10月25日提交的第61/406,428号美国临时申请的权益。
技术领域
本发明总体上涉及高速缓冲存储器,特别地,本发明涉及群集高速缓冲存储器相干性协议。
背景技术
这里提供的背景技术描述是为了总体呈现公开内容的上下文。当前具名的发明人的工作在这一背景技术部分中描述该工作的程度上以及该描述的可以在提交时未另外限定为现有技术的方面既未被明示地也未被暗示地承认为相对于本公开内容的现有技术。
存储区域网络(SAN)提供可以由若干计算机器或者服务器的群集共享的大量存储容量。机器通常通过因特网(iSCSI)或者光纤信道连接使用SCSI协议与SAN通信。机器将经常将包括控制在机器与SAN之间的数据流动的控制器或者SCSI接口卡。在机器看来,SAN将表现为如同它本地连接到操作系统。由于群集中的所有机器具有对SAN中的共享存储器的访问,所以经常禁用个别机器上的高速缓存以避免难以维持在各种机器上的高速缓冲存储器之间的相干性。
发明内容
在一个实施例中,一种装置包括被配置为与计算机器相关联的高速缓冲存储器的非瞬态存储介质。计算机器是共享对存储设备的访问的计算机器群集的成员。群集高速缓存逻辑与计算机器相关联。群集高速缓存逻辑被配置用于与和其它计算机器相关联的群集高速缓存逻辑通信以确定对存储设备中的数据执行高速缓存操作的群集高速缓存逻辑团体(clique)的操作状态。群集高速缓存逻辑也被配置用于至少部分基于群集高速缓存逻辑在团体中的成员资格状态有选择地启用在高速缓冲存储器中高速缓存来自存储设备的数据。
在一个实施例中,群集高速缓存逻辑被配置用于在群集高速缓存逻辑是团体的成员时启用高速缓存来自存储设备的数据并且在群集高速缓存逻辑不是团体的成员时禁用高速缓存。在一个实施例中,群集高速缓存逻辑被配置用于在团体的健康状态被劣化时禁用高速缓存来自存储设备的数据。在一个实施例中,群集高速缓存逻辑被配置用于在计算机器中止主控具有在高速缓冲存储器中高速缓存的虚拟盘文件的虚拟机器时使计算机器的在高速缓冲存储器中的数据无效。
在另一实施例中,一种方法包括:确定高速缓存来自共享存储设备的数据的高速缓存逻辑团体中的成员资格;并且如果建立了团体中的成员资格,则启用在高速缓冲存储器中高速缓存来自共享存储设备的数据。
在一个实施例中,该方法还包括:向其它团体成员广播健康检查消息;监视来自其它团体成员的响应;并且如果未从其它团体成员接收响应,则广播指示团体的健康状态被劣化的团体劣化消息。在一个实施例中,该方法包括:如果删除虚拟机器则使高速缓冲存储器中的与虚拟机器的虚拟盘对应的数据无效。在一个实施例中,该方法包括:如果虚拟机器向不同主机计算机器移动则使高速缓冲存储器中的与虚拟机器的虚拟盘对应的数据无效。在一个实施例中,该方法包括:响应于接收从团体的成员接收的团体劣化消息禁用高速缓存。
在一个实施例中,该方法包括:检测来自团体中的请求群集高速缓存逻辑的持续保留消息,请求群集高速缓存逻辑保留对共享存储器设备的独占访问;在保留共享存储器设备之时记录由请求群集高速缓存逻辑写入的存储器块的列表;检测来自请求群集高速缓存逻辑的撤销消息;向团体中的群集高速缓存逻辑广播存储器块的列表;并且如果未从团体的所有成员接收响应则广播指示团体的健康状态被劣化的团体劣化消息。
在另一实施例中,一种设备包括被配置用于耦合到物理计算机器的群集高速缓冲存储器控制器。群集高速缓冲存储器控制器被配置用于:评估高速缓存来自共享存储设备的数据的群集高速缓冲存储器控制器团体的健康状态;确定群集高速缓冲存储器控制器的关于团体的成员资格状态;并且如果群集高速缓冲存储器控制器是团体的成员并且团体的健康状态未被劣化,则启用在与物理计算机器相关联的高速缓冲存储器中高速缓存。
附图说明
并入于说明书中并且构成说明书的部分的附图图示公开内容的各种系统、方法和其它实施例。将理解,图中的所示单元边界(例如,框、框组或者其它形状)代表边界的一个示例。本领域普通技术人员将理解,在一些示例中可以将一个单元设计为多个单元或者可以将多个单元设计为一个单元。在一些示例中,可以将如下单元实施为外部部件,将该单元示出为另一单元的内部部件,并且反之亦然。另外,单元可以未按比例绘制。
图1图示与用于群集卷的群集高速缓冲存储器相干性协议相关联的系统的一个实施例。
图2图示与群集高速缓冲存储器相干性协议相关联的方法的一个实施例。
图3图示与群集高速缓冲存储器相干性协议相关联的方法的一个实施例。
图4图示与群集高速缓冲存储器相干性协议相关联的方法的一个实施例。
图5图示与群集高速缓冲存储器相干性协议相关联的方法的一个实施例。
图6图示与群集高速缓冲存储器相干性协议相关联的系统的一个实施例。
具体实施方式
随着CPU能力增加,虚拟机器的使用已经变得普遍。操作系统(比如Vmware和Windows Hyper-V)允许单个物理机器运行操作系统的多个实例,每个实例表现为完全独立的机器。虚拟机器的操作系统实例访问以经常在SAN中存储的文件这一形式的虚拟“盘”。在SAN上存储虚拟机器的虚拟盘文件允许在物理机器之间无缝移动虚拟机器。只要SAN可由虚拟化群集中的两个或者更多物理机器访问,就可以在机器之间移动虚拟机器。
访问SAN通常涉及到高延时,由此造成需要高速缓存虚拟机器虚拟盘文件。然而,应当用访问相同SAN的多个物理机器的虚拟化群集解决高速缓冲存储器相干性。如果虚拟机器从一个物理机器(A)向另一物理机器(B)移动,则需要在B可以开始高速缓存来自移动的虚拟机器的数据之前使用于虚拟机器的机器A上的高速缓冲存储器无效。由虚拟机器使用的储存器可以是以在块设备(SAN)上面的文件(例如在vmfs上的vmdk文件)这一形式。(在这样的情况下,通常用群集认知文件系统(比如vmfs)格式化块设备。)物理机器的通常在块层上面操作的高速缓冲存储器可能不能标识哪些块与任何给定的虚拟机器的文件相关联,并且因此将不能标识应当使哪些块无效。
这里描述与群集高速缓冲存储器相干性协议相关联的示例系统、方法和其它实施例。使用群集相干性协议,共享对存储设备的访问的计算机器群集可以执行本地高速缓存而又动态解决高速缓冲存储器相干性问题。相干性协议允许群集中的个别计算机器协作以有助于在计算机器之间的高速缓冲存储器相干性。在一些实施例中,计算机器群集是主控多个虚拟机器的计算机器的虚拟化群集。
使用群集高速缓冲存储器相干性协议,用于群集中的计算机器执行高速缓存操作的权限依赖于从相同共享存储设备高速缓存的机器团体中的成员资格。团体中的计算机器相互通信以确定团体“健康”(例如,在成员之间的通信是可能的)。团体的成员服从协议并且根据协议执行与高速缓存有关的操作。只要团体健康并且团体成员遵守协议,就可以维持在团体的成员之间的高速缓冲存储器相干性。
由于虚拟机器往往访问作为用于虚拟机器的虚拟盘来工作的专用存储块,所以虚拟机器通常不访问已经向其它虚拟机器分配的存储块。这使这里描述的群集高速缓冲存储器相干性协议很好地适合于在虚拟机器环境中使用,因为它有助于高速缓存虚拟机器的在主机机器上的虚拟盘文件而又允许向另一主机机器无缝移动虚拟机器。
参照图1,示出了与群集高速缓冲存储器相干性协议相关联的系统100的一个实施例。系统100包括共享对存储设备170的访问的三个计算机器110、130、150。计算机器110、130、150至少包括处理器(未示出)和被配置用于用作高速缓冲存储器115、135、155的本地存储器。尽管在图1中示出仅三个计算机器,但是这里描述的群集高速缓冲存储器相干性协议可以与任何数目的计算机器一起使用。为了有助于在机器之间的高速缓冲存储器相干性,在分别控制用于计算机器110、130、150的本地高速缓存的群集高速缓存逻辑120、140、160之间建立群集高速缓冲存储器相干性协议,
在一个实施例中,群集高速缓冲存储器相干性协议是带外(在数据路径以外)协议,该带外协议提供用于跨越虚拟化群集中的访问共享块存储设备(例如,SAN)的多个计算机器建立高速缓冲存储器相干性的语义。在一些实施例中,在计算机器中安装的SCSI接口卡上体现群集高速缓存逻辑120、140、160。可以将群集高速缓存逻辑实现为Microsoft操作系统中的“发起器”的一部分。可以在能够与其它高速缓存逻辑通信以及启用/禁用在物理计算机器上高速缓存来自共享存储设备的数据的任何逻辑单元中体现群集高速缓存逻辑。
出于以下描述的目的,将描述仅一个计算机器110、关联高速缓冲存储器115和群集高速缓存逻辑120的操作。计算机器130、150、关联高速缓冲存储器135、155和群集高速缓存逻辑140、160以对应方式操作。根据群集高速缓冲存储器相干性协议的一个实施例,群集高速缓存逻辑120在它是团体105的成员时并且在团体健康时启用高速缓冲存储器115中的高速缓存。群集高速缓存逻辑在它能够与团体的所有其它成员通信时是团体的成员。因此,在群集高速缓存逻辑120可以与团体105的其它成员(即群集高速缓存逻辑140、160)通信时,群集高速缓存逻辑120可以是团体的成员并且启用用于计算机器110的高速缓存操作。
在一个实施例中,假设在正常操作期间,群集中的每个物理计算机器访问来自共享存储设备170的存储器块。这是针对如下虚拟化群集的安全假设,在该虚拟化群集中,虚拟机器通常未共享存储器块,但是实际上各自访问被保留用于用作虚拟盘文件的存储器块集合。为了维护高速缓冲存储器相干性,团体105包括用于访问(并且可以高速缓存)来自共享存储设备170的数据的所有物理计算机器110、130、150的群集高速缓存逻辑120、140、160。根据协议,如果群集高速缓存逻辑不能与其它群集高速缓存逻辑通信,则它必须禁用用于来自共享存储设备170的数据的高速缓存操作并且使关联高速缓冲存储器中的来自共享存储设备的任何数据无效。通信故障可能由于由群集高速缓存逻辑用来相互通信的网络连接的中断而出现。
群集高速缓存逻辑(120,140,160)可以在任何时间向团体注册或者从团体取消注册。群集高速缓存逻辑(120,140,160)仅如果它当前是团体105的部分才可以进行用于共享存储设备170的高速缓存。在群集高速缓存逻辑从团体取消注册时,假设它不再执行用于共享存储设备170的高速缓存操作。如果群集高速缓存逻辑向团体105注册,则它被与团体的其它成员一视同仁。新注册的群集高速缓存逻辑将开始接收和处理用于团体105的消息。
图2图示在实践群集高速缓冲存储器相干性协议时执行的群集高速缓冲存储器相干性方法200的一个实施例。在一些实施例中,方法200由群集高速缓存逻辑120、140、160执行。在210,确定高速缓冲存储器控制器(例如,群集高速缓存逻辑)团体中的成员资格。在220,如果建立了团体中的成员资格,则启用高速缓存来自共享存储设备的数据。
在群集高速缓存逻辑启动时,它读取如下对等群集高速缓存逻辑的列表,这些对等群集高速缓存逻辑是对共享存储设备执行群集相干高速缓存的团体的一部分。群集高速缓存逻辑尝试通过遍历列表来向团体注册其本身。如果任何其它群集高速缓存逻辑答复来自群集高速缓存逻辑的消息,则群集高速缓存逻辑是团体的成员。从这一点继续,允许群集高速缓存逻辑启用高速缓存用于共享存储设备的数据。群集高速缓存逻辑也有望参加团体,这包括执行如下文将结合图4描述的健康检查和令牌传递。
图3图示在实践群集高速缓冲存储器相干性协议时执行的群集高速缓冲存储器相干性方法300的一个实施例。在一些实施例中,方法300由主控多个虚拟机器的虚拟化群集中的群集高速缓存逻辑120、140、160(图1)执行。在310,由于团体中的成员资格而启用高速缓存。在320,关于由关联物理计算机器主控的虚拟机器是否向另一主机移动进行确定。在330,关于是否删除由关联物理计算机器主控的虚拟机器进行确定。如果删除虚拟机器,则在340使高速缓冲存储器中的来自共享存储设备的数据无效。高速缓冲存储器中的数据的无效无需群集高速缓存逻辑禁用高速缓存操作,实际上,群集高速缓存逻辑只要它仍为团体的成员就可以继续高速缓存。
在350,关于是否已经接收劣化消息进行确定。如果已经接收劣化消息,则在360禁用高速缓存。如将分别结合图4和图5描述的那样,劣化消息可以作为健康检查失败的结果或者在处理持续保留(PERSISTANT RESERVATION)请求期间由团体成员广播。禁用高速缓存直至在370接收健康确认消息,此时可以启用高速缓存。
图4图示在实践群集高速缓冲存储器相干性协议时执行的群集高速缓冲存储器相干性方法400的一个实施例。在一些实施例中,方法400由群集高速缓存逻辑120、140、160执行。在410,从团体成员接收令牌。响应于接收令牌,在420向团体的所有成员广播健康检查消息。在430,关于是否所有团体成员已经对健康检查消息做出响应进行确定。如果所有其它团体成员未做出响应,则在440向所有团体成员发送劣化消息。如果其它团体成员确实做出响应,则在445向所有健康成员发送健康确认消息。在450,向下一团体成员传递令牌以对团体执行下一健康检查。
图5图示在实践群集高速缓冲存储器相干性协议时执行的群集持续保留方法500的一个实施例。在一些实施例中,方法500由作为虚拟化群集的元数据主控器(master)来服务的群集高速缓存逻辑执行。元数据主控器用群集文件系统格式化共享存储设备。元数据主控器负责对群集文件系统的元数据修改。在一些境况中,群集中的群集高速缓存逻辑可以向共享存储设备发出SCSI持续保留请求。通常执行这一请求以允许更新在创建或者在物理机器之间移动虚拟机器时必须的元数据。按照请求,群集高速缓存逻辑通常将执行写入I/O请求以更新元数据以反映虚拟机器存在于新物理机器上。在这些写入操作期间,无其它群集高速缓存逻辑可以访问存储设备。
一旦更新元数据,保留群集高速缓存逻辑发出持续保留的撤销,并且高速缓存操作可以针对与虚拟机器的先前主机无关的群集高速缓存逻辑而恢复。如上文已经结合图3讨论的那样,按照群集高速缓冲存储器相干性协议,群集高速缓存逻辑使高速缓冲存储器中的用于从与群集高速缓存逻辑相关联的物理机器移动或者删除的任何虚拟机器的数据无效。
回顾方法500,在510,与元数据主控器相关联的群集高速缓存逻辑检测持续保留消息。消息可以已经由群集中的任何群集高速缓存逻辑发出,但是与元数据主控器相关联的群集高速缓存逻辑执行方法500。在520,记录在保留期间写入到的存储器块的列表直至在530检测到撤销消息。在540,在广播消息中向团体的所有成员发送在保留期间写入到的块的列表。消息将提示团体的所有成员使它们的用于在保留期间重写的元数据块的高速缓冲存储器无效。在550,关于团体的所有成员是否已经接收响应进行确定。如果已经接收响应,则该方法结束。如果并非团体的所有成员接收响应,则在560向团体的成员广播劣化消息。
在一个实施例中,群集高速缓冲存储器相干性协议允许群集高速缓存逻辑和/或群集高速缓冲存储器控制器加入团体、退出团体、执行团体健康检查、更新团体状态、使高速缓冲存储器中的存储器块范围无效、使共享高速缓冲存储器无效、停止高速缓存、开始高速缓存和传递令牌。群集高速缓冲存储器相干性协议使对等通信能够维持虚拟化群集中的高速缓冲存储器相干性而无需以任何方式修改共享存储设备的操作。
图6图示与群集高速缓冲存储器相干性协议相关联的群集虚拟化环境600的一个实施例。在虚拟化环境600中,存在两个物理计算机器610、630。物理计算机器610充当用于虚拟机器VM1和VM2的主机机器,而机器630充当用于虚拟机器VM3和VM4的主机。向两个机器610、630导出共享LUN 670。计算机器610充当这一虚拟化环境中的元数据主控器。元数据主控器用群集文件系统格式化LUN 670。元数据主控器负责对群集文件系统的元数据修改。
每个虚拟机器将它自己的虚拟盘创建为LUN 670上的文件。用LUN 670中的对应编号标注用于每个机器的虚拟盘文件(“md”指示元数据,而“u”指示未分配的块)。在元数据主控器已经创建虚拟盘文件之后,个别虚拟机器保持这些文件的完全所有权。然而,元数据主控器(即机器610)处理与群集文件系统的元数据有关的任何改变(例如,添加/删除/扩展虚拟盘)。每个计算机器610、630包括由群集高速缓冲存储器控制器620、640控制的高速缓冲存储器615、635。群集高速缓冲存储器控制器是如下设备,这些设备是与块存储设备交互的接口卡的一部分并且执行与如上文关于图1和5描述的以及如下的由群集高速缓存逻辑执行的操作相似的操作。
在稳态读取/写入场景中,每个虚拟机器访问它的在LUN 670中的相应存储器块。在这里描述的群集高速缓冲存储器相干性协议之下,群集高速缓冲存储器控制器允许从LUN高速缓存将依赖于如通过在群集高速缓冲存储器控制器之间的通信来建立的它们在团体中的成员资格。
如果虚拟机器VM1从计算机器610向计算机器630移动,则群集高速缓冲存储器控制器620将接收用于虚拟机器VM1的虚拟化操作系统已经发起VM移动操作这样的信号。作为响应,群集高速缓冲存储器控制器620将使它的用于LUN 670的本地高速缓冲存储器615无效。元数据主控器(计算机器610)将发出用于保留LUN 670的持续保留,从而使得可以更新元数据。在持续保留生效之时,群集高速缓冲存储器控制器将记录向LUN 670写入的存储器块标识符。被写入的块应当主要为元数据,从而使计算机器630在它需要元数据时从LUN重新读取上传的元数据。在获得用于撤销保留的SCSI消息时,群集高速缓冲存储器控制器620将先向群集高速缓冲存储器控制器640(团体的仅有其它成员)发出消息以使在保留期间写入的块无效。这保证高速缓冲存储器635将不会包含过时元数据。在这一过程完成之后,群集高速缓冲存储器控制器620将允许撤销保留。
如果计算机器610创建新虚拟机器,则它将发出用于保留LUN670的持续保留请求、更新元数据以创建新虚拟盘文件并且向它分配来自未分配的块的块范围。在持续保留生效之时,群集高速缓冲存储器控制器620将记录向LUN 670写入的存储器块标识符。被写入的块应当主要为元数据,从而使计算机器630在它需要元数据时从LUN重新读取上传的元数据。在获得用于撤销保留的SCSI消息时,群集高速缓冲存储器控制器620将先向群集高速缓冲存储器控制器640(团体的仅有其它成员)发出消息以使在保留期间写入的块无效。这保证高速缓冲存储器635将不会包含过时元数据。在这一过程完成之后,群集高速缓冲存储器控制器620将允许撤销保留。
下文包括这里运用的所选术语的定义。定义包括落入术语的范围内并且可以用于实施的部件的各种示例和/或形式。示例并非旨在于限制。术语的单数和复数形式二者可以在定义内。
引用“一个实施例”、“实施例”、“一个示例”、“示例”等指示这样描述的实施例或者示例可以包括特定特征、结构、特性、性质、元素或者限制,但是并非每个实施例或者示例必然包括该特定特征、结构、特性、性质、元素或者限制。另外,反复使用短语“在一个实施例中”虽然可以、但是未必指代相同实施例。
“逻辑”如这里所用包括但不限于用于执行功能或者动作和/或引起来自另一逻辑、方法和/或系统的功能或者动作的硬件、固件、在非瞬态介质上存储或者在机器上执行的指令和/或各项的组合。逻辑可以包括软件控制的微处理器、分立逻辑(例如,ASIC)、模拟电路、数字电路、编程的逻辑器件、包含指令的存储器设备等。逻辑可以包括一个或者多个门、门组合或者其它电路部件。在描述多个逻辑时,可以有可能向一个物理逻辑中并入多个逻辑。类似地,在描述单个逻辑时,可以有可能在多个物理逻辑之间分布该单个逻辑。可以使用逻辑单元中的一个或者多个逻辑单元来实施这里描述的部件和功能中的一个或者多个部件和功能。
尽管出于说明简化的目的而示出和描述所示方法为一系列块。但是方法不受块的顺序限制,因为一些块可以按与示出和描述的顺序不同的顺序和/或与其它块并行发生。另外,少于所有所示块可以用来实施示例方法。可以组合块或者将块分离成多个部件。另外,附加和/或备选方法可以运用附加的未图示的块。
在具体实施方式或者权利要求中运用措词“包括(include)”的程度上,它旨在于以与措词“包括(comprise)”相似的方式有包含意义,因为该措词在运用时解释为权利要求中的过渡词。
尽管已经通过描述示例来举例说明示例系统、方法等并且尽管已经以相当多的细节描述示例,但是申请人的意图并非是约束或者以任何方式使所附权利要求的范围限于这样的细节。当然不可能出于描述这里描述的系统、方法等的目的而描述每个可设想的部件或者方法组合。因此,公开内容不限于示出和描述的具体细节、有代表性的装置和示例示例。因此,本申请旨在于涵盖落入所附权利要求的范围内的变更、修改和变型。
Claims (21)
1.一种装置,包括:
非瞬态存储介质,被配置为与计算机器相关联的高速缓冲存储器;其中所述计算机器是共享对存储设备的访问的计算机器群集的成员;以及
群集高速缓存逻辑,与所述计算机器相关联,其中所述高速缓存逻辑被配置用于:
与和其它计算机器相关联的群集高速缓存逻辑通信,以确定对所述存储设备中的数据执行高速缓存操作的群集高速缓存逻辑团体的操作状态;以及
至少部分基于所述群集高速缓存逻辑在所述团体中的成员资格状态,有选择地启用在所述高速缓冲存储器中高速缓存来自所述存储设备的数据。
2.根据权利要求1所述的装置,其中所述群集高速缓存逻辑被配置用于在所述群集高速缓存逻辑是所述团体的成员时启用高速缓存来自所述存储设备的数据,并且在所述群集高速缓存逻辑不是所述团体的成员时禁用高速缓存。
3.根据权利要求1所述的装置,其中所述群集高速缓存逻辑被配置用于在所述团体的健康状态被劣化时禁用高速缓存来自所述存储设备的数据。
4.根据权利要求3所述的装置,其中所述群集高速缓存逻辑被配置用于通过向其它团体成员广播健康检查消息、并且如果未从所述团体的所述其它成员接收响应则随后广播指示所述团体的所述健康状态被劣化的团体劣化消息,来确定所述团体的所述健康状态。
5.根据权利要求1所述的装置,其中所述群集高速缓存逻辑被配置用于响应于接收团体劣化消息来禁用高速缓存。
6.根据权利要求1所述的装置,其中所述群集高速缓存逻辑被配置用于在所述计算机器中止主控具有在所述高速缓冲存储器中高速缓存的虚拟盘文件的虚拟机器时,使所述计算机器的所述高速缓冲存储器中的数据无效。
7.根据权利要求1所述的装置,其中所述群集高速缓存逻辑被配置用于:
检测来自所述团体中的请求群集高速缓存逻辑的持续保留消息,所述请求群集高速缓存逻辑保留对所述存储器设备的独占访问;
在保留所述存储器设备之时记录由所述请求群集高速缓存逻辑写入的存储器块的列表;
检测来自所述请求群集高速缓存逻辑的撤销消息;
向所述团体中的所述群集高速缓存逻辑广播所述存储器块的列表;以及
如果未从所述团体的所有成员接收响应,则广播指示所述团体的健康状态被劣化的团体劣化消息。
8.一种方法,包括:
确定高速缓存来自共享存储设备的数据的高速缓存逻辑团体中的成员资格;以及
如果建立了所述团体中的成员资格,则启用在高速缓冲存储器中高速缓存来自所述共享存储设备的数据。
9.根据权利要求8所述的方法,还包括:
向其它团体成员广播健康检查消息;
监视来自所述其它团体成员的响应;以及
如果未从所述其它团体成员接收响应,则广播指示所述团体的健康状态被劣化的团体劣化消息。
10.根据权利要求9所述的方法,还包括:
从另一群集高速缓存逻辑接收令牌,所述另一群集高速缓存逻辑是所述团体的成员;
响应于接收所述令牌来广播所述健康检查消息;以及
在从所有所述团体成员接收响应或者广播所述团体劣化消息之后,向所述团体的另一成员传递所述令牌。
11.根据权利要求8所述的方法,还包括如果删除虚拟机器,则使所述高速缓冲存储器中的与所述虚拟机器的虚拟盘对应的数据无效。
12.根据权利要求8所述的方法,还包括如果虚拟机器向不同主机计算机器移动,则使所述高速缓冲存储器中的与所述虚拟机器的虚拟盘对应的数据无效。
13.根据权利要求8所述的方法,还包括响应于接收从所述团体的成员接收的团体劣化消息来禁用高速缓存。
14.根据权利要求13所述的方法,还包括响应于从所述团体的成员接收的恢复高速缓存消息来恢复高速缓存。
15.根据权利要求8所述的方法,还包括:
检测来自所述团体中的请求群集高速缓存逻辑的持续保留消息,所述请求群集高速缓存逻辑保留对所述共享存储器设备的独占访问;
在保留所述共享存储设备之时,记录由所述请求群集高速缓存逻辑写入的存储器块的列表;
检测来自所述请求群集高速缓存逻辑的撤销消息;
向所述团体中的所述群集高速缓存逻辑广播所述存储器块的列表;以及
如果未从所述团体的所有成员接收响应,则广播指示所述团体的健康状态被劣化的团体劣化消息。
16.一种被配置用于耦合到物理计算机器的群集高速缓冲存储器控制器,其中所述群集高速缓冲存储器控制器被配置用于:
评估高速缓存来自共享存储设备的数据的群集高速缓冲存储器控制器团体的健康状态;
确定所述群集高速缓冲存储器控制器的关于所述团体的成员资格状态;以及
如果所述群集高速缓冲存储器控制器是所述团体的成员并且所述团体的所述健康状态未被劣化,则启用在与所述物理计算机器相关联的高速缓冲存储器中高速缓存。
17.根据权利要求16所述的群集高速缓冲存储器控制器,其中所述群集高速缓冲存储器控制器还被配置用于在执行高速缓存操作之前执行以下操作:
与至少一个群集高速缓冲存储器控制器建立带外连接,所述至少一个群集高速缓冲存储器控制器是所述团体的成员;以及
注册为所述团体的成员。
18.根据权利要求16所述的群集高速缓冲存储器控制器,其中所述群集高速缓冲存储器控制器还被配置用于:
向其它团体成员广播健康检查消息;
监视来自所述其它团体成员的响应;以及
如果未从所述其它团体成员中的每个其它团体成员接收响应,则广播指示所述团体的所述健康状态被劣化的团体劣化消息。
19.根据权利要求16所述的群集高速缓冲存储器控制器,其中所述群集高速缓冲存储器控制器还被配置用于在所述物理计算机器中止主控具有在所述高速缓冲存储器中高速缓存的虚拟盘文件的虚拟机器时,使所述高速缓冲存储器中的数据无效。
20.根据权利要求16所述的群集高速缓冲存储器控制器,其中所述群集高速缓冲存储器控制器还被配置用于响应于接收团体劣化消息来禁用高速缓存,并且使所述高速缓冲存储器中的数据无效。
21.根据权利要求16所述的群集高速缓冲存储器控制器,其中所述群集高速缓冲存储器控制器还被配置用于:
检测来自所述团体中的请求群集高速缓存逻辑的持续保留消息,所述请求群集高速缓存逻辑保留对所述共享存储器设备的独占访问;
在保留所述共享存储设备之时,记录由所述请求群集高速缓存逻辑写入的存储器块的列表;
检测来自所述请求群集高速缓存逻辑的撤销消息;
向所述团体中的所述群集高速缓存逻辑广播所述存储器块的列表;以及
如果未从所述团体的所有成员接收响应,则广播指示所述团体的所述健康状态被劣化的团体劣化消息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US40642810P | 2010-10-25 | 2010-10-25 | |
US61/406,428 | 2010-10-25 | ||
PCT/US2011/057222 WO2012061035A1 (en) | 2010-10-25 | 2011-10-21 | Cluster cache coherency protocol |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103154910A true CN103154910A (zh) | 2013-06-12 |
Family
ID=44993172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011800484080A Pending CN103154910A (zh) | 2010-10-25 | 2011-10-21 | 群集高速缓冲存储器相干性协议 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20120102137A1 (zh) |
KR (1) | KR20130123387A (zh) |
CN (1) | CN103154910A (zh) |
WO (1) | WO2012061035A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765036A (zh) * | 2018-07-27 | 2020-02-07 | 伊姆西Ip控股有限责任公司 | 在控制设备处管理元数据的方法、设备和计算机程序产品 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8683111B2 (en) | 2011-01-19 | 2014-03-25 | Quantum Corporation | Metadata storage in unused portions of a virtual disk file |
US9069587B2 (en) * | 2011-10-31 | 2015-06-30 | Stec, Inc. | System and method to cache hypervisor data |
US20130268930A1 (en) * | 2012-04-06 | 2013-10-10 | Arm Limited | Performance isolation within data processing systems supporting distributed maintenance operations |
US9232005B1 (en) | 2012-06-15 | 2016-01-05 | Qlogic, Corporation | Methods and systems for an intelligent storage adapter used for both SAN and local storage access |
WO2014018025A2 (en) * | 2012-07-25 | 2014-01-30 | Empire Technology Development Llc | Management of chip multiprocessor cooperative caching based on eviction rate |
US8984234B2 (en) | 2013-01-11 | 2015-03-17 | Lsi Corporation | Subtractive validation of cache lines for virtual machines |
US9460049B2 (en) * | 2013-07-18 | 2016-10-04 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Dynamic formation of symmetric multi-processor (SMP) domains |
US9454305B1 (en) | 2014-01-27 | 2016-09-27 | Qlogic, Corporation | Method and system for managing storage reservation |
US9423980B1 (en) | 2014-06-12 | 2016-08-23 | Qlogic, Corporation | Methods and systems for automatically adding intelligent storage adapters to a cluster |
US9436654B1 (en) | 2014-06-23 | 2016-09-06 | Qlogic, Corporation | Methods and systems for processing task management functions in a cluster having an intelligent storage adapter |
US9477424B1 (en) | 2014-07-23 | 2016-10-25 | Qlogic, Corporation | Methods and systems for using an intelligent storage adapter for replication in a clustered environment |
US9792050B2 (en) * | 2014-08-13 | 2017-10-17 | PernixData, Inc. | Distributed caching systems and methods |
US9460017B1 (en) | 2014-09-26 | 2016-10-04 | Qlogic, Corporation | Methods and systems for efficient cache mirroring |
KR20160046235A (ko) * | 2014-10-20 | 2016-04-28 | 한국전자통신연구원 | 컨텐츠 캐시의 그룹 형성 방법 및 컨텐츠 제공 방법 |
US9483207B1 (en) | 2015-01-09 | 2016-11-01 | Qlogic, Corporation | Methods and systems for efficient caching using an intelligent storage adapter |
US10362143B2 (en) * | 2016-09-29 | 2019-07-23 | International Business Machines Corporation | Dynamically transitioning the file system role of compute nodes for provisioning a storlet |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6839752B1 (en) * | 2000-10-27 | 2005-01-04 | International Business Machines Corporation | Group data sharing during membership change in clustered computer system |
CN1679004A (zh) * | 2002-07-04 | 2005-10-05 | 索尼株式会社 | 高速缓存设备、高速缓存数据管理方法和计算机程序 |
US20070022138A1 (en) * | 2005-07-22 | 2007-01-25 | Pranoop Erasani | Client failure fencing mechanism for fencing network file system data in a host-cluster environment |
US20080091884A1 (en) * | 2006-10-17 | 2008-04-17 | Arm Limited | Handling of write access requests to shared memory in a data processing apparatus |
US7552122B1 (en) * | 2004-06-01 | 2009-06-23 | Sanbolic, Inc. | Methods and apparatus facilitating access to storage among multiple computers |
US20100199042A1 (en) * | 2009-01-30 | 2010-08-05 | Twinstrata, Inc | System and method for secure and reliable multi-cloud data replication |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7007042B2 (en) * | 2002-03-28 | 2006-02-28 | Hewlett-Packard Development Company, L.P. | System and method for automatic site failover in a storage area network |
-
2011
- 2011-10-21 WO PCT/US2011/057222 patent/WO2012061035A1/en active Application Filing
- 2011-10-21 US US13/278,453 patent/US20120102137A1/en not_active Abandoned
- 2011-10-21 KR KR1020137010492A patent/KR20130123387A/ko not_active Application Discontinuation
- 2011-10-21 CN CN2011800484080A patent/CN103154910A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6839752B1 (en) * | 2000-10-27 | 2005-01-04 | International Business Machines Corporation | Group data sharing during membership change in clustered computer system |
CN1679004A (zh) * | 2002-07-04 | 2005-10-05 | 索尼株式会社 | 高速缓存设备、高速缓存数据管理方法和计算机程序 |
US7552122B1 (en) * | 2004-06-01 | 2009-06-23 | Sanbolic, Inc. | Methods and apparatus facilitating access to storage among multiple computers |
US20070022138A1 (en) * | 2005-07-22 | 2007-01-25 | Pranoop Erasani | Client failure fencing mechanism for fencing network file system data in a host-cluster environment |
US20080091884A1 (en) * | 2006-10-17 | 2008-04-17 | Arm Limited | Handling of write access requests to shared memory in a data processing apparatus |
US20100199042A1 (en) * | 2009-01-30 | 2010-08-05 | Twinstrata, Inc | System and method for secure and reliable multi-cloud data replication |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765036A (zh) * | 2018-07-27 | 2020-02-07 | 伊姆西Ip控股有限责任公司 | 在控制设备处管理元数据的方法、设备和计算机程序产品 |
CN110765036B (zh) * | 2018-07-27 | 2023-11-10 | 伊姆西Ip控股有限责任公司 | 在控制设备处管理元数据的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2012061035A1 (en) | 2012-05-10 |
KR20130123387A (ko) | 2013-11-12 |
US20120102137A1 (en) | 2012-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103154910A (zh) | 群集高速缓冲存储器相干性协议 | |
EP3762826B1 (en) | Live migration of virtual machines in distributed computing systems | |
US10817333B2 (en) | Managing memory in devices that host virtual machines and have shared memory | |
US8447943B2 (en) | Reduction of I/O latency for writable copy-on-write snapshot function | |
CN103890728B (zh) | 虚拟机热迁移的方法和服务器 | |
JP6882662B2 (ja) | マイグレーションプログラム、情報処理装置およびマイグレーション方法 | |
US20110138102A1 (en) | Data storage management using a distributed cache scheme | |
US9063793B2 (en) | Virtual server and virtual machine management method for supporting zero client by providing host interfaces from classified resource pools through emulation or direct connection modes | |
US9836402B1 (en) | Guest ordering of host file system writes | |
CN105612498B (zh) | 虚拟机热迁移的方法、虚拟机内存数据处理方法、服务器和虚拟机系统 | |
US11809901B2 (en) | Migrating the runtime state of a container between two nodes | |
JP6192660B2 (ja) | ステージング・エリアを管理するためのコンピュータ実施プロセス、コンピュータ・プログラム製品、装置 | |
CN103793258A (zh) | 基于管理程序的服务器复制系统及其方法 | |
US20170344298A1 (en) | Application aware memory resource management | |
JP2017227969A (ja) | 制御プログラム、システム、及び方法 | |
US20180088975A1 (en) | Virtual Machine Live Migration Using Intelligent Order Of Pages To Transfer | |
US10936499B2 (en) | Method, device and computer programme product for storage management | |
KR101601877B1 (ko) | 분산 파일시스템에서 클라이언트가 데이터 저장에 참여하는 장치 및 방법 | |
CN103856502B (zh) | 实现虚拟机镜像文件热迁移的方法和nas集群系统 | |
US20150242224A1 (en) | Disk resize of a virtual machine | |
US8489829B2 (en) | Reduction of communication and efficient failover processing in distributed shared memory-based application | |
US11093275B2 (en) | Partial surprise removal of a device for virtual machine migration | |
US10031668B2 (en) | Determining status of a host operation without accessing the host in a shared storage environment | |
US10846116B2 (en) | Correcting a volume chain after a volume creation failure is detected | |
CN103559103A (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 | ||
ASS | Succession or assignment of patent right |
Owner name: TOSHIBA K.K. Free format text: FORMER OWNER: MAWIER INTERNATIONAL TRADE CO., LTD. Effective date: 20140611 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20140611 Address after: Tokyo, Japan, Japan Applicant after: Toshiba Corp Address before: Babado J San Mega Le Applicant before: Mawier International Trade Co., Ltd. |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130612 |