CN106371767B - 一种处理一致性业务的方法、装置和系统 - Google Patents
一种处理一致性业务的方法、装置和系统 Download PDFInfo
- Publication number
- CN106371767B CN106371767B CN201610796363.XA CN201610796363A CN106371767B CN 106371767 B CN106371767 B CN 106371767B CN 201610796363 A CN201610796363 A CN 201610796363A CN 106371767 B CN106371767 B CN 106371767B
- Authority
- CN
- China
- Prior art keywords
- consistency
- group
- server
- created
- storage system
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种在软件定义存储系统中创建一致性组的方法、装置和系统。方法包括,服务器接收主机发送的一致性组创建命令;所述一致性组创建命令中包括待创建一致性组的名称、所述待创建一致性组的组成员的个数和所述组成员在所述服务器中的标识;服务器根据所述组成员在所述服务器中的标识确定所述组成员均为可用状态;服务器创建所述一致性组,并向所述主机返回一致性组创建成功的通知消息。本发明实施例实现了在软件定义存储系统的中间件层服务器中创建一致性组,实现了服务器对本地存储系统的统一管理和分配,不再需要在单独的本地存储系统中创建一致性组。
Description
技术领域
本发明涉及软件定义存储技术领域,尤其涉及软件定义存储系统中处理一致性业务的方法、装置和系统。
背景技术
软件定义存储(Software defined storage)技术通过提供标准的接口、统一资源池、集成的自动化管理,虚拟的数据路径、控制面和数据面分离等功能使得存储功能独立于硬件存在,实现地理分散、类型异构、性能不同的存储系统的统一管理,并对外提供灵活的存储业务。
软件定义存储系统一般包括主机层、中间件层和存储系统层,如附图1所示。中间件层提供统一的接口和自动化管理、并将存储系统层资源池化来屏蔽存储系统层同构或异构存储系统的设备差异,统一管理所有的存储资源,对外提供统一的存储系统编址。
一致性组是指基于业务或者关联性将存储系统中多个存储单元组成一个组,将这些存储单元作为一个实体进行管理。存储单元一般是逻辑单元(英文:Logical Unit,LU)或者文件系统。
快照(snapshot),也称为虚拟快照(virtual snapshot)或时间点逻辑拷贝(point-in-time logical copy),是对指定数据集合的一个逻辑的完全可用拷贝,该拷贝为源数据在拷贝时间点的静态映像。快照支持源逻辑单元(英文:Logical Unit,LU)在某个时间点上的映像,在不中断正常业务的前提下,快速得到一份与源数据一致的副本。副本生成之后立即可用,并且对副本的读写操作不再影响源数据。
一致性快照是指基于一致性组创建的快照。一致性组中的每个存储单元都会在一致性快照中生成对应的单个快照,并且这些快照在同一个时间点生成,保证这些快照之间的数据一致性,这些有数据一致性的快照合起来即为一致性快照。
克隆是为数据对象建立一份某时刻的物理拷贝,可以为数据提供保护,用户可以灵活的创建多个时间点的副本。克隆过程中,将数据所在的卷称为主卷,生成的副本所在的卷称为从卷。用户通过对主卷和从卷执行同步操作或分裂操作来获取主卷的物理副本,在不中断正常业务的前提下,卷克隆会在物理上生成主卷在某个时间点的一份完整拷贝,并且对该份拷贝的读写操作不会影响主卷上的数据。
一致性克隆是指基于一致性组创建的克隆,其实现方式与前述一致性快照业务的实现方式相类似。
远程复制是容灾备份的核心技术,在物理位置上分离的存储系统上维护一套或多套数据副本。一旦灾难发生,分布在异地存储系统上的备份数据不会受到波及,从而实现容灾备份功能。远程复制包括同步远程复制和异步远程复制两种。同步远程复制旨在实时地同步数据,最大限度保证数据的一致性,以减少灾难发生时的数据丢失量。异步远程复制旨在周期性地同步数据,最大限度减少由于数据远程传输的时延而造成的业务性能下降。
一致性远程复制是指基于一致性组来实现远程复制,同样的,其实现方式与前述一致性快照业务的实现方式相类似。
下文为了方便描述,将使用一致性业务一词,用来表示一致性快照、一致性克隆或者一致性远程复制。
在现有的软件定义存储系统中,一致性组的建立和一致性业务的实现依赖于存储系统层中本地存储系统的一致性组功能。如果本地存储系统不支持一致性组功能,则无法在软件定义存储存储系统中实现一致性业务,限制了软件定义存储系统对存储系统层的兼容能力。即使本地存储系统支持一致性组功能,一致性业务的一致性组要分配到单个本地存储系统中,即只能在单个本地存储系统中实现一致性业务,这样会造成软件定义存储系统中各个本地存储系统的负载不均衡,利用效率低。
发明内容
本发明实施例提供了一种在软件定义存储系统中实现一致性业务的方法、装置和系统。所述技术方案如下:
第一方面,本发明提供了一种软件定义存储系统中位于中间件层的服务器创建一致性组的方法,所述方法包括:服务器接收主机发送的一致性组创建命令;所述一致性组创建命令中包括待创建一致性组的名称、所述待创建一致性组的组成员的个数和所述组成员在所述服务器中的标识;所述服务器根据所述组成员在所述服务器中的标识确定所述组成员均为可用状态时,创建一致性组,并向所述主机返回一致性组创建成功的通知消息。
本发明实施例所示的方案,服务器接收一致性组创建命令,在待创建一致性组的组成员为可用状态时,由服务器创建一致性组。无需把一致性组创建命令发送到存储系统层的单个本地存储系统来实现。这样,可以在存储系统层创建一致性组,实现了服务器对存储系统层中存储资源的统一管理和利用,提高了对存储系统层中存储资源的利用效率。
在第一方面的第一种可能的实现方式中,服务器创建所述一致性组具体为:服务器建立所述待创建一致性组的名称、所述组成员在所述服务器中的标识、所述组成员所属本地存储系统的标识和所述组成员在所属本地存储系统中的本地地址之间的对应关系。
本发明实施例所示的方案中,一致性组可以跨本地存储系统来创建,使得存储系统层中的本地存储系统提供统一的存储资源供服务器管理和分配,提高整个软件定义存储系统的效率。
在第一方面的第二种可能的实现方式中,所述组成员所属本地存储系统的标识为两个以上本地存储系统的标识。
本发明实施例所示的方案,明确表示一致性组是跨本地存储系统来创建的。
结合第一方面第一种和第二种可能实现方式,在第一方面的第三种可能的实现方式中,服务器接收主机发送的一致性组创建命令之前,所述方法还包括:服务器接收所述本地存储系统发送的所述组成员的状态信息。
本发明实施例所示的方案,本地存储系统中可以实现对组成员的存储空间进行利用,当使用状态有变化时,将状态信息上报给服务器,服务器修改组成员的状态信息,利于服务器对组成员的存储空间的充分利用。
结合第一方面第一种、第二种和第三个可能实现方式,在第一方面的第四种可能的实现方式中,所述方法还包括:所述服务器接收主机发送的一致性组修改命令,所述一致性组修改命令中包括待修改一致性组的名称、修改类型和所述待修改一致性组的组成员在所述服务器中的标识;所述服务器根据所述一致性组修改命令对所述待修改一致性组的组成员信息进行操作。
本发明实施例所示的方案,服务器创建一致性组后,还可以对创建的一致性组做相应的管理,例如修改一致性组的名称、删除或增加组成员等的修改操作,真正实现服务器对一致性组的全面管理。
结合第一方面第一种和第二种可能实现方式,在第一方面的第五种可能的实现方式中,所述方法还包括:服务器接收主机发送的第一一致性业务创建命令,所述第一一致性业务创建命令中包含有待创建一致性业务的一致性组的名称和待创建的一致性业务的业务名称;所述服务器根据所述第一一致性业务创建命令中携带的所述待创建一致性业务的一致性组的名称确定所述待创建一致性业务的一致性组的组成员,将所述第一一致性业务创建命令拆分为与所述待创建一致性业务的一致性组的组成员一一对应的第二一致性业务创建命令;所述服务器将所述第二一致性业务创建命令分别发送给所述待创建一致性业务的一致性组的组成员。
本发明实施例所示的方案,给出了软件定义存储系统中一种新的实现一致性业务的方法。由服务器来接收一致性业务创建指令,并将一致性业务创建指令拆分为与创建一致性业务的一致性组的组成员一一对应的一致性业务创建指令,分别发送给组成员创建一致性业务。这样服务器可以实现对存储系统层中各个本地存储系统中统一管理,可以在存储系统层实现一致性业务。
结合第一方面第五种可能实现方式,在第一方面的第六种可能的实现方式中,一致性业务为一致性快照、一致性克隆或者一致性远程复制。
本发明实施例所示的方案,软件定义存储系统可以支持一致性快照、一致性克隆或者一致性远程复制中的一种或者多种。
结合第一方面第五种和第六种可能实现方式,在第一方面的第七种可能的实现方式中,服务器将所述第二一致性业务创建命令发送给所述待创建一致性业务的一致性组的组成员具体为:所述服务器根据所述待创建一致性业务的一致性组的组成员所属本地存储系统的标识以及所述待创建一致性业务的一致性组的组成员在所述本地存储系统中的本地地址,将所述第二一致性业务创建命令分别发送给所述待创建一致性业务的一致性组的组成员。
本发明实施例所示的方案,服务器将一致性组创建命令拆分后发送给对应的组成员,由组成员所在的本地存储系统根据命令来实现一致性业务。这样,本地存储系统只需要支持基本的业务就可以在软件定义存储系统中实现一致性业务,并且跨本地存储系统实现一致性业务,可以充分利用本地存储系统的存储资源。
结合第一方面第五种、第六种和第七种可能实现方式,在第一方面的第八种可能的实现方式中,所述服务器接收所述待创建一致性业务的一致性组的组成员返回的一致性业务创建结果的消息;当所述一致性业务创建结果的消息均为一致性业务创建成功的消息时,所述服务器向所述主机返回所述一致性业务创建成功的消息;当所述一致性业务创建结果的消息中有一致性业务创建失败的消息时,所述服务器向所述主机返回所述一致性业务创建失败的消息,并向所述一致性组的组成员发送回退命令。
第二方面,提供一种位于软件定义存储系统中的服务器,所述服务器为所述软件定义存储系统的中间件层,所述服务器包括:命令元调度器,资源管理器、一致性组管理器和适配器;所述适配器用于所述服务器与本地存储系统之间的通信;所述命令元调度器用于接收主机发送的一致性组创建命令,并将所述一致性组创建命令发送给一致性组管理器;所述一致性组创建命令中包括待创建一致性组的名称、所述待创建一致性组的组成员的个数和所述待创建一致性组的组成员在所述服务器中的标识;所述一致性组管理器用于根据所述待创建一致性组的组成员在所述服务器的标识向所述资源管理器查询所述待创建一致性组的组成员的状态信息;所述一致性组管理器还用于当所述待创建一致性组的组成员均为可用状态时创建一致性组,向所述命令元调度器返回一致性组创建成功的通知消息;所述命令元调度器还用于向主机返回所述一致性组创建成功的通知消息。
本发明实施例所示的方案,服务器的一致性组管理器接收到一致性组创建命令后,根据待创建一致性组的组成员在所述服务器的标识向资源管理器查询所述待创建一致性组的组成员的状态信息;当所有的组成员均为可用状态时,创建一致性组。这样,在服务器中就可以创建一致性组,无需将一致性组创建命令发送给本地存储系统,实现了服务器对存储系统层的统一管理和利用,提高了利用效率。
在第二方面的第一种实现方式中,所述一致性组管理器还用于创建一致性组具体为:所述一致性组管理器还用于建立所述待创建一致性组的名称、所述待创建一致性组的组成员在所述服务器中的标识、所述待创建一致性组的组成员所属本地存储系统的标识和所述待创建一致性组的组成员在所属本地存储系统中的本地地址之间的对应关系,将所述对应关系发送给所述资源管理器,并通知所述资源管理器更新所述一致性组的组成员的状态信息;所述资源管理器用于存储所述对应关系,并在接收到通知之后更新所述一致性组的组成员的状态信息。
本发明实施例所示的方案,一致性组管理器创建一致性组即是建立创建一致性组的名称、所述待创建一致性组的组成员在所述服务器中的标识、所述待创建一致性组的组成员所属本地存储系统的标识和所述待创建一致性组的组成员在所属本地存储系统中的本地地址之间的对应关系。
结合第二方面的第一种实现方式,在第二方面的第二种实现方式中,待创建一致性组的组成员所属本地存储系统的标识为两个以上本地存储系统的标识。
本发明实施例所示的方案,明确指出创建的一致性组的组成员可以属于不同的本地存储系统,实现了跨本地存储系统创建一致性组。使得本地存储系统的存储资源成为一个整体供服务器统一管理和分配使用,实现本地存储系统之间的负载均衡,提高使用效率。
结合第二方面的第一种和第二种实现方式,在第二方面的第三种实现方式中,所述适配器接收所述本地存储系统发送的所述一致性组的组成员的状态信息,并将所述一致性组的组成员的状态信息发送给资源管理器;所述资源管理器还用于接收所述一致性组的组成员的状态信息之后更新存储的所述一致性组的组成员的状态信息。
本发明实施例所示的方案,本地存储系统把一致性组的组成员的状态信息发送给服务器,由服务器的资源管理器存储。服务器在创建一致性组的时候可以查询资源是否可用,并因此决定是否可以创建一致性组。这样在服务器中实现了一致性组的建立,无需发送给本地存储系统实现。
结合第二方面的第一种、第二种和第三种实现方式,在第二方面的第四种实现方式中,所述服务器还包括元一致性业务管理器;
所述命令元调度器还用于接收主机发送的第一一致性业务创建命令,并将所述第一一致性业务创建命令发送给一致性组管理器;所述第一一致性业务创建命令中包含有待创建一致性业务的一致性组的名称和待创建的一致性业务的业务名称;所述一致性组管理器根据所述待创建一致性业务的一致性组的名称在所述第一一致性业务创建命令中添加所述待创建一致性业务的一致性组的组成员所属本地存储系统的标识和所述待创建一致性业务的一致性组的组成员在所属本地存储系统中的本地地址信息,并将添加了所述信息的第一一致性业务创建命令发送给所述元一致性业务管理器;所述元一致性业务管理器用于将所述添加了所述信息的第一一致性业务创建命令拆分为与所述待创建一致性业务的一致性组的组成员一一对应的第二一致性业务创建命令,并将所述第二一致性业务创建命令发送给所述适配器;所述适配器还用于将所述第二一致性业务创建命令分别发送给所述待创建一致性业务的一致性组的组成员。
本发明实施例所示的方案,服务器可以实现一致性业务,本地存储系统中需要具备基本的业务能力,接收到服务器的指令后,实现业务即可。
结合第二方面的第四种实现方式,在第二方面的第五种实现方式中,元一致性业务管理器为元一致性快照管理器、元一致性克隆管理器或者元一致性远程复制管理器。
本发明实施例所示的方案,服务器可以实现相应的一致性快照、一致性克隆和一致性远程复制业务中的一种或者多种,提高了软件定义存储系统的灵活性。
结合第二方面的第四种和第五种实现方式,在第二方面的第六种实现方式中,所述适配器还用于将所述第二一致性业务创建命令分别发送给所述待创建一致性业务的一致性组的组成员具体为;所述适配器根据所述待创建一致性业务的一致性组的组成员所属本地存储系统的标识和所述待创建一致性业务的一致性组的组成员在所属本地存储系统中的本地地址将所述二一致性业务创建命令分别发送给所述一致性组的组成员。
本发明实施例所示的方案,服务器将拆分后的一致性业务创建命令分别发送给创建一致性业务的一致性组的组成员,由所述组成员来实现一致性业务。这样,所述组成员所在的本地存储系统只需要支持基本的业务能力即可,并且一个业务可以跨本地存储系统实现,提高了软件定义存储系统的效率。
结合第二方面的第四种、第五种和第六种实现方式,在第二方面的第七种实现方式中,所述适配器还用于接收所述待创建一致性业务的一致性组的组成员返回的一致性业务创建结果的消息,并将所述一致性业务创建结果的消息发送给一致性业务管理器;所述一致性业务管理器还用于,当所述一致性组的组成员返回的均为一致性业务创建成功的消息时,向所述命令元调度器返回所述一致性业务创建成功的消息;当所述一致性组的组成员返回有一致性业务创建失败的消息时,向所述命令元调度器返回所述一致性业务创建失败的消息,并向所述一致性组的组成员发送回退命令;所述命令元调度器还用于向所述主机返回所述一致性业务创建成功的消息或所述一致性业务创建失败的消息。
第三方面,本发明实施例提供一种软件定义存储系统,所述软件定义存储系统包括主机、本地存储系统及如前所述的服务器;所述本地存储系统用于提供存储资源,由所述服务器统一分配管理。
本发明实施例所示的方案,由服务器来创建一致性组、实现一致性业务,可以跨本地存储系统实现一致性业务,利于软件定义存储系统中本地存储系统之间实现负载均衡,提高整个软件定义存储系统的效率。
在第三方面的第一种可能的实现方式中,本地存储系统支持快照业务、远程复制业务或者克隆业务。
本发明实施例所示的方案,本地存储系统需要支持基本的快照业务、远程复制业务或者克隆业务。这样本地存储系统在接收到一致性业务创建命令之后,在对应的组成员中创建一致性业务。
附图说明
图1为现有技术中的软件定义存储系统的系统架构图;
图2为本发明实施例提供的一种软件定义存储系统的系统架构图;
图3为本发明实施例提供的一种服务器创建一致性组的流程图;
图4为本发明实施例提供的一种服务器创建一致性业务的流程图;
图5为本发明实施例提供的一种服务器结构示意图;
图6为本发明实施例提供的另一种服务器结构示意图;
图7A为本发明实施例提供的一种一致性组创建命令的数据格式;
图7B为本发明实施例提供的又一种一致性组创建命令的数据格式;
图8为本发明实施例提供的一种一致性业务创建命令的数据格式;
图9为本发明实施例提供的一种资源管理器中存储的成员状态和信息;
图10为本发明实施例提供的一种处理器示意图。
具体实施方式
下面通过附图和实施例,对本发明实施例的技术方案做进一步的详细描述。
本发明实施例提供了一种创建一致性组、可实现一致性业务的软件定义存储系统,如附图2所示。所述一致性业务可以是一致性快照、一致性克隆或者一致性远程复制。
如附图2所示,软件定义存储系统包括主机层、中间件层和存储系统层。主机层与中间件层之间,中间件层与存储系统层之间可以通过网络连接。所述主机层可以包括多个主机,所述多个主机中的任意一个都包括有至少一个主机应用。在本发明的实施例中,所述主机应用可以向中间件层发出操作命令,并接收所述中间件层返回的结果。述存储层包括多个存储系统,所述多个存储系统用于存储数据。多个存储系统可以是相同结构,也可以是不同的结构。为了与软件定义存储系统相区别,下文将存储层的存储系称为本地存储系统。所述中间件层可以为服务器,执行主机发送的操作命令,并对本地存储系统的存储资源进行统一的管理。所述软件定义存储系统建立后,服务器获取本地存储系统的分配情况。可以由本地存储系统向服务器定期上报分配情况,也可以由服务器定时向本地存储系统查询分配情况。
在本发明实施例的软件定义存储系统中,一致性组的建立以及一致性业务的实现可以不依赖于本地存储系统,由服务器来实现。这样,服务器统一管理所有的本地存储系统的存储资源,在向主机层的主机分配存储资源时,可以跨本地存储系统。这样可以实现本地存储系统的负载均衡,提高整个软件定义存储系统的工作效率。
本发明实施例的一致性业务的实现需要以一致性组为基础,本发明实施例提供的软件定义存储系统中服务器创建一致性组的流程如附图3所示,软件定义存储系统的结构如附图2所示。
步骤301,服务器接收主机发送的一致性组创建命令,所述一致性组创建命令中包含待创建一致性组的名称(GroupName)、所述待创建一致性组的组成员的个数(MemberNumber)和所述待创建一致性组的组成员在所述服务器中的标识(MemberID)。
服务器对本地存储系统的存储资源统一管理,将存储资源分配给主机使用,主机中存储有服务器分配的存储资源的信息,例如分配的资源资源在服务器中的标识。当主机需要创建一致性组时,将待创建一致性组的组成员的个数、待创建一致性组的组成员在所述服务器中的标识包含在一致性组创建命令中发送给服务器。待
这里的待创建一致性组组成员可以是本地赶集系统中的一个逻辑单元(英文:Logical Unit,LU)或一个文件系统。主机创建一致性组,即是基于业务或者关联性将本地存储系统中的多个逻辑单元组成一个组。
步骤303:服务器根据所述组成员在所述服务器中的标识确定所述待创建一致性组的组成员均为可用状态。服务器接收到主机一致性组创建命令,根据所述待创建一致性组的组成员在所述服务器中的标识确定所述待创建一致性组的组成员是否为可用状态。
服务器在向主机分配逻辑单元时,会相应的分配ID,并存储各个逻辑单元的使用状态。当服务器收到主机发送的一致性组创建命令时,根据一致性组创建命令中携带的待创建一致性组的组成员在所述服务器中的标识就可以确定待创建一致性组的组成员的状态,即确定是否可以创建一致性组。
在本发明实施例中,由于一致性组的创建不依赖于本地存储系统,因此所述待创建一致性组的组成员可以属于同一个本地存储系统,也可以属于不同的本地存储系统。
步骤305:当所述待创建一致性组的组成员均为可用状态时,服务器创建一致性组,并向主机反返回一致性组创建成功的通知消息。当待创建一致性组的组成员中有组成员不是处于可用状态,则不创建一致性组,直接向主机返回一致性组创建失败的通知消息。
在发明实施例中,服务器对本地存储系统中的逻辑单元进行统一的管理,因此,服务器创建一致性组时,在本地建立所述待创建一致性组的名称、所述组成员在所述服务器中的标识、所述组成员所属本地存储系统的标识和所述组成员在所属本地存储系统中的本地地址之间的对应关系即可,不需要将一致性组创建命令发送给对应的本地存储系统,也不需要本地存储系统来创建一致性组。服务器创建一致性组后,更新待创建一致性组的组成员的可用状态信息。
在一致性组创建之后,主机可以对一致性组的组成员进行添加或者删除的操作,本方法实施例还可以包括以下步骤:
步骤307:所述服务器接收主机发送的一致性组修改命令,所述一致性组修改命令中包括待修改一致性组的名称、修改类型和所述待修改一致性组的组成员在所述服务器中的标识,所述服务器根据所述一致性组修改命令对所述待修改一致性组的组成员信息进行操作。修改类型可以为一致性组的组成员的添加或者删除。服务器接收到一致性组修改命令后,根据待修改一致性组的名称和所述修改一致性组的组成员在服务器中的标识,将所述组成员加入到一致性组中或者从一致性组中删除。
在本发明实施例中,服务器可以完成对一致性组的组成员的添加或者删除的操作,无需下发给本地存储系统来实现。这样,一致性组的组成员可以同时位于不同的本地存储系统。
可选的,主机也可以在服务器还未分配存储资源时向服务器发送一致性组创建命令,与前述方法不同之处在于:
主机发送给服务器的一致性组创建命令中只包含待创建一致性组的名称和所述待创建一致性组的组成员的个数。
服务器接收到一致性组创建命令后,根据所述待创建一致性组的组成员的个数为所述主机分配同样数量的卷,在确认所述卷均为可用状态时,建立一致性组。具体来讲,服务器为分配的卷分配其在服务器中的标识,并在所述卷均为可用状态时,建立所述待创建一致性组的名称,所述卷在服务器中标识、所述卷所属的本地存储系统的标识以及所述卷在所属的本地存储系统中的本地地址之间的对应关系,并更新所述卷的状态信息。服务器建议一致性组之后,将建立的一致性组的信息返回给主机,主机就可以实现相应的业务了。
一致性组建立之后,可以在一致性组的基础上实现一致性组业务。在本发明实施例中,一致性业务可以为一致性快照、一致性克隆或者一致性远程复制,其实现原理相同。具体实现流程如附图4所示:
步骤401:服务器接收主机发送的一致性业务创建命令,所述一致性业务创建命令中包含有待创建一致性业务的一致性组的名称和待创建的一致性业务的业务名称。为了便于和区分,这里的一致性业务创建命令称为第一一致性业务创建命令。
步骤403:服务器根据所述第一一致性业务创建命令中携带的所述待创建一致性业务的一致性组的名称确定所述待创建一致性业务的一致性组的组成员,将所述第一一致性业务创建命令拆分为与所述待创建一致性业务的一致性组的组成员一一对应的第二一致性业务创建命令。服务器接收到第一一致性业务创建命令后,根据第一一致性业务创建命令中携带的待创建一致性业务的一致性组的名称查找到组成员,根据组成员的数量,将第一一致性业务创建命令拆分为与组成员一一对应的第二一致性业务创建命令。也就是说,待创建一致性业务的一致性组的组成员有多少个,服务器即将第一一致性业务创建命令拆分为多个第二一致性业务创建命令。
步骤405:服务器将所述第二一致性业务创建命令分别发送给所述待创建一致性业务的一致性组的组成员。服务器将第一一致性业务创建命令拆分后,根据待创建一致性业务的一致性组的组成员所属的本地存储系统的标识和所述待创建一致性业务的一致性组的组成员在所属本地存储系统中的本地地址,将拆分后的一致性业务创建命令分别发送给所述待创建一致性业务的一致性组的组成员。
可选的,本方法实施例还可以包括以下步骤:步骤407:服务器接收所述待创建一致性业务的一致性组的组成员返回的一致性业务创建结果的消息。当所述一致性业务创建结果的消息均为一致性业务创建成功的消息时,所述服务器向所述主机返回所述一致性业务创建成功的消息;当所述一致性业务创建结果的消息中有一致性业务创建失败的消息时,所述服务器向所述主机返回所述一致性业务创建失败的消息,并向所述一致性组的组成员发送回退命令。
本发明实施例中的本地存储系统需要具备实现基本的一致性业务的能力,这样一致性业务才能在本地存储系统中实现。如果有一个一致性组的组成员,没有成功创建一致性业务,则一致性业务创建失败。服务器需要通知其他的一致性组的组成员删除本地已经建立的一致性业务。
在实现一致性业务时,只需要本地存储系统具备基本的一致性业务的能力,一致性业务就可以在整个存储系统层由服务器统一分配,可以充分利用存储系统层,提高整个软件定义存储系统的利用率。具体的,服务器创建一致性组实现一致性业务的细节在下文进一步描述。
服务器位于软件定义存储系统的中间件层,服务器包含命令元调度器,资源管理器、一致性组管理器和适配器,如附图5所示。
适配器用于所述服务器与本地存储系统之间的通信。适配器可以与本地存储系统一一对应,也可以一个适配器对应多个本地存储系统。共用适配器的本地存储系统一般是相同结构。与本地存储系统1对应的适配器称为存储系统1适配器;与本地存储系统2对应的适配器称为存储系统2适配器;与本地存储系统3对应的适配器称为存储系统3适配器。
命令元调度器用于接收主机发送的一致性组创建命令,并将所述一致性组创建命令发送给一致性组管理器,所述一致性组创建命令中包含待创建一致性组的名称、所述待创建一致性组的组成员的个数和所述待创建一致性组的组成员在所述服务器中的标识。命令元调度器用于接收主机发送的命令,在本实施例中,命令元调度器用于接收主机发送的一致性组创建命令。
而在现有技术中,一致性组的组成员必须位于一个本地存储系统中。在本发明实施例中,服务器统一管理所有的本地存储系统,所述待创建一致性组的组成员所属本地存储系统的标识为两个以上本地存储系统的标识,也就是说,待创建一致性组的组成员可以属于不同的本地存储系统。这样,可以使本地存储系统的负载均衡,提高整个软件定义存储系统的利用率。
一致性组管理器用于根据所述待创建一致性组的组成员在所述服务器的标识向所述资源管理器查询所述待创建一致性组的组成员的状态信息。一致性组管理器还用于当所述待创建一致性组的组成员均为可用状态时创建一致性组,向所述命令元调度器返回一致性组创建成功的通知消息。
具体的,一致性组管理器创建一致性组具体为建立所述待创建一致性组的名称、所述待创建一致性组的组成员在所述服务器中的标识、所述待创建一致性组的组成员所属本地存储系统的标识和所述待创建一致性组的组成员在所属本地存储系统中的本地地址之间的对应关系,并向主机返回一致性组创建成功的消息。一致性组管理器还用于将所述对应关系发送给所述资源管理器,并通知所述资源管理器更新所述一致性组的组成员的状态信息。
在现有的软件定义存储系统中,一致性组需要在某个本地存储系统内部建立,因此,服务器接收到一致性组创建命令后,会将一致性组创建命令发送给某个本地存储系统,由该本地存储系统在内部建立一致性组。而本发明实施例提供的软件定义存储系统,可以跨本地存储系统创建一致性组,实现了存储资源的最优使用。
所述资源管理器用于存储所述对应关系。资源管理器接收到查询信息后,确认所述待创建一致性组的组成员在本地存储系统中的地址对应的存储空间是否为可用状态。状态信息可以为可用或不可用两种状态。本地存储系统可以定时向服务器上报存储资源的状态信息,也可以由服务器定时要求本地存储系统上报存储资源的状态信息。所述资源管理器还用于在接收到一致性组管理器发送的通知之后更新所述一致性组的组成员的状态信息。
可选的,当命令元调度器接收主机发送的一致性组创建命令中未包含待创建一致性组的组成员在服务器中的标识时,即主机并未确定对哪些LUN创建一致性组时,所述命令元调度器将一致性组创建命令发送给一致性组管理器,此时一致性组管理器还用于预分配待创建一致性组的组成员对应的存储资源,即为所述待创建一致性组的组成员预分配本地存储系统中的存储空间,即确认所述待创建一致性组的组成员对应的本地存储系统和所述待创建一致性组的组成员在本地存储系统中的地址。在本发明实施例中,由于一致性组的创建不依赖于本地存储系统的属性,一致性组管理器在预分配存储资源时,可以为待创建一致性组的组成员分配不同本地存储系统的存储空间,这样可以提高本地存储系统的利用率,利用实现整个本地存储系统层的负载均衡。在所述预分配的存储资源均为可用状态时,所述一致性组管理器还用于建立所述待创建一致性组的名称、所述待创建一致性组的组成员在所述服务器中的标识、所述待创建一致性组的组成员所属本地存储系统的标识和所述待创建一致性组的组成员在所属本地存储系统中的本地地址之间的对应关系;一致性组管理器还用于将所述对应关系发送给所述资源管理器,通知所述资源管理器更新所述一致性组的组成员的状态信息;一致性组管理器还用于将所述对应关系返回给主机。
当所述命令元调度器接收到的是一致性组修改命令时,将接收到的一致性组修改命令转发给一致性组管理器。所述一致性组修改命令中包括待修改一致性组的名称、修改类型和所述待修改一致性组的组成员在所述服务器中的标识;修改类型可以为更改一致性组的名称、增加一致性组的组成员或者删除一致性组的组成员。一致性组管理器还用于对一致性组进行修改操作,并在操作成功后通知资源管理器。具体的修改操作的方法在前面已进行了描述,在此不再详述。
所述服务器中还可以包括元一致性业务管理器,如附图6所示。元一致性业务管理器可以为元一致性快照管理器、元一致性克隆管理器或者元一致性远程复制管理器,相应的,元一致性业务分别为元一致性快照业务、元一致性克隆业务和元一致性远程复制业务。服务器中可以同时包含元一致性业务管理器可以为元一致性快照管理器、元一致性克隆管理器和元一致性远程复制管理器,也可以只包括其中的一个或者任意两个,根据业务需求来确定。
服务器实现一致性业务的具体方案如下:
所述命令元调度器还用于接收主机发送的第一一致性业务创建命令,并将所述第一一致性业务创建命令发送给一致性组管理器;所述第一一致性业务创建命令中包含有待创建一致性业务的一致性组的名称和待创建的一致性业务的业务名称。
所述一致性组管理器根据所述待创建一致性业务的一致性组的名称在所述第一一致性业务创建命令中添加所述待创建一致性业务的一致性组的组成员所属本地存储系统的标识和所述待创建一致性业务的一致性组的组成员在所属本地存储系统中的本地地址信息,并将添加了所述信息的第一一致性业务创建命令发送给所述元一致性业务管理器。
所述元一致性业务管理器用于将所述添加了所述信息的第一一致性业务创建命令拆分为与所述待创建一致性业务的一致性组的组成员一一对应的第二一致性业务创建命令,并将所述第二一致性业务创建命令发送给所述适配器。
所述适配器还用于将所述第二一致性业务创建命令分别发送给所述待创建一致性业务的一致性组的组成员。具体的,适配器根据所述待创建一致性业务的一致性组的组成员所属本地存储系统的标识和所述待创建一致性业务的一致性组的组成员在所属本地存储系统中的本地地址将所述二一致性业务创建命令分别发送给所述一致性组的组成员。
适配器还用于接收所述待创建一致性业务的一致性组的组成员返回的一致性业务创建结果的消息,并将所述一致性业务创建结果的消息发送给一致性业务管理器。
所述一致性业务管理器还用于,当所述一致性组的组成员返回的均为一致性业务创建成功的消息时,向所述命令元调度器返回所述一致性业务创建成功的消息;当所述一致性组的组成员返回有一致性业务创建失败的消息时,向所述命令元调度器返回所述一致性业务创建失败的消息,并向所述一致性组的组成员发送回退命令。
所述命令元调度器还用于向所述主机返回所述一致性业务创建成功的消息或所述一致性业务创建失败的消息。
本发明实施例还提供了一种软件定义存储系统,如附图5所示。软件定义存储系统包括主机层、本地存储系统层和服务器。所述服务器建立一致性组、实现一致性业务已在前文做了详细的描述,在此不再另行说明。本地存储系统支持快照业务、远程复制业务或者克隆业务。
所述本地存储系统具备基本的一致性业务功能。当所述本地存储系统接收服务器发送的一致性业务创建命令时,通过所述本地存储系统中的一致性业务引擎根据一致性业务创建命令中待创建一致性业务的一致性组的组成员在所属本地存储系统中的本地地址在指定的空间创建一致性业务,并将创建的一致性业务的结果返回至服务器。返回的创建一致性业务的结果根据业务类型的不同反馈的信息亦不同,具体可参考已有的一致性业务的创建。
本发明实施例提供的软件定义存储系统,由服务器来实现创建一致性组业务、实现一致性业务,对本地存储系统的存储资源进行统一的管理和分配,可以跨本地存储系统创建一致性组、实现一致性业务,充分利用本地存储系统的资源,实现整个软件定义存储系统的负载均衡,提高效率。
可选的,本发明实施例还提供另外一种软件定义存储系统,包括主机层、服务器(中间件层)和本地存储系统层。所述本地存储系统中可以有至少一个本地存储系统具备完整的一致性业务功能,即可独立创建一致性组、实现一致性业务。所述服务器将一致性组创建命令或者一致性业务创建命令转发给所述具备完整一致性业务功能的本地存储系统,由本地存储系统来实现一致性业务。此时本地存储系统实现一致性业务的方式与前述服务器实现一致性业务的方法相似,在此不再另行描述。本发明实施例中的软件定义存储系统,虽然由本地存储系统分担了服务器的一部份业务,整个本地存储系统的资源还是由服务器进行统一的管理和分配的。同样可以跨本地存储系统创建一致性组、实现一致性业务,充分利用本地存储系统的资源,实现整个软件定义存储系统的负载均衡,提高效率。
下面通过一个例子对本发明作更加具体的介绍。附图2为本发明实施例提供的一种软件定义存储系统架构图。如附图2所示,所述软件定义存储系统包括主机层、中间件层和存储层。
所述主机层包括主机1、主机2和主机M,所述每个主机中都包括相应主机应用。所述主机通过主机应用向所述中间件层发送命令。在本发明的实施例中,所述主机应用向服务器发送的命令可以包括一致性组创建命令、一致性组修改命令、一致性组查询命令、一致性组删除命令,以及一致性业务创建命令和一致性业务查询命令等。一致性业务可以为一致性快照、一致性克隆或者一致性远程复制。下文中以一致性快照为例进行说明。
附图7A为本发明实施例提供的一种一致性组创建命令的数据格式。如图7A所示,一致性组创建命令包括1个头结点和3个子结点。所述头结点中包括该一致性组的标识、一致性组的名称和一致性组中的组成员的个数。一致性组标识用于区别于其它的一致性组,以方便查找。3个子结点分别为组成员1、组成员2和组成员3,每个子节点中包括组成员在服务器中的标识、所述组成员所属本地存储系统的标识和所述组成员在所属本地存储系统中的本地地址。通过所述组成员标识能够确定组成员、该组成员所对应的存储空间所属的本地存储系统的标识、所述存储空间在所属的本地存储系统中的逻辑地址以及所述组成员是否可以创建一致性组。可以理解的是,一致性组创建命令中的子结点的数量可以根据业务需求的不同而设置。
附图7B为本发明实施例提供的另一种一致性组创建命令的数据格式。如附图7B所示,在本发明实施例中,一致性组创建命令包括1个头结点和3个子结点。所述头结点中包括该一致性组的标识、一致性组的名称和一致性组中的组成员的个数。3个子结点分别为组成员1、组成员2和组成员3,每个子节点中包括组成员标识。服务器接收到一致性组创建命令之后,分别为3个组成员分配存储资源,并在存储资源可以创建一致性组时,将分配的存储空间所属的本地存储系统的标识和所述存储空间在所属的本地存储系统中的逻辑地址添加到一致性组创建命令中,并存储所述一致性组创建命令的数据格式。
在一个例子中,所述主机发送的一致性组创建命令格式可以是:
createConsistencyGroup
<ConsistencyGroupName>,<N>,<memberID1>,<memberID2>,…,<memberIDN>
该命令中“createConsistencyGroup”为命令名,“<ConsistencyGroup Name>”表示待创建一致性组的名称。“<N>”表示待创建一致性组中包含的组成员的个数,“<memberID1>,<memberID2>,…,<memberIDN>”表示待创建一致性组中的组成员在服务器中的标识。
在一个例子中,所述主机发送的一致性组的修改命令可以是:
updateConsistencyGroup
<OldConsistencyGroupName>,<NewConsistencyGroupName>,<add/del>,<memberID1>,<memberID2>,…<memberIDM>
该命令中“updateConsistencyGroup”为命令名,“<OldConsistencyGroup Name>”表示待更新一致性组的名称。“<NewConsistencyGroupName>”表示更新之后一致性组的名称,如果要更新一致性组名称,则使用该参数,否则忽略。“<add/del>”表示要对一致性组成员进行增加/删除操作。如果要对成员添加或者删除操作,则需要使用该参数,否则忽略。
“<memberID1>,<memberID2>,…,<memberIDM>”表示需要添加或者删除的组成员在服务器中的标识,如果要对成员添加或者删除操作,则需要使用该参数,否则忽略。
附图8为本发明实施例提供的一种一致性业务创建命令的数据格式。如附图8所示,在本发明实施例中,一致性业务创建命令包括1个头结点和3个子结点。所述头结点中包括该一致性组的标识、一致性业务的标识、一致性业务的名称和一致性业务包含的子业务的个数3个子结点分别为一致性业务1、一致性业务2和一致性业务3,每个子节点中包括一致性业务标识、一致性业务的组成员所属的本地存储的标识和一致性业务的组成员在所属本地存储系统中的本地地址。
在一个例子中,所述主机发送的一致性快照创建命令可以是:
createConsistentSnapshot<ConsistencyGroupName><SnapshotName>
该命令中,“createConsistentSnapshot”为命令名,“<ConsistencyGroup Name>”表示待创建一致性快照的一致性组名称。“<SnapshotName>”表示待创建的一致性快照名称。
在本发明实施例中,所述主机1向所述中间件层发送了一致性组创建命令,所述一致性组创建命令为:
createConsistencyGroup<1456>,<3>,<A>,<B>,<C>。此命令为创建名称为1456的一致性组,1456一致性组包括3个成员,这三个成员在服务器中的标识为A,B,C。
所述中间件层为服务器,包括命令元调度器、一致性组管理器和资源管理器。
所述命令元调度器接收主机1发送的所述一致性组创建命令1456。根据命令名“createConsistencyGroup”,确定所述命令为创建一致性组。所述命令元调度器将所述一致性组创建命令发送至一致性组管理器。
所述一致性组管理器向所述资源管理器发送命令,以查询标识为A、B、C的成员的状态信息,以判定该成员目前是否能用于创建一致性组。资源管理器中存储有各组成员的状态信息,如表一所示,组成员A、B、C的状态信息记录均为0,即可以创建一致性组。资源管理器向所述一致性组管理器返回结果,即组成员A、B、C可以创建一致性组。一致性组管理器根据查询结果创建一致性组,并向主机1返回一致性组创建成功的通知消息。资源管理器中还存储有各个组成员所属本地存储系统的标识,以及各个组成员在所属本地存储系统中的地址,一致性组管理器创建一致性组,即建立一致性组名称、组成员在服务器中的标识、组成员在所属本地存储系统中的地址之间的对应关系,以及组成员的状态信息,如表一所示。组成员A属于本地存储系统1,组成员B属于本地存储系统1,组成员C属于本地存储系统2。可以理解的是,创建的一致性组的组成员可以属于同一个本地存储系统,也可以属于不同的存储系统,是由服务器统一分配的。
表一
在另一个例子中,主机1向服务器发送了命令,所述命令为:
createConsistentSnapshot<1456><Y1456>。此命令为在一致性组1456上创建名称为Y1456的一致性快照。如前所述,即是在一致性组组成员A、B、C上创建一致性快照。
服务器中还包括了一致性快照管理器。命令元调度器接收所述命令,根据所述命令中的命令名“createConsistentSnapshot”,确定所述命令为一致性快照创建命令。所述命令元调度器将所述一致性快照创建命令发送至一致性组管理器。所述一致性组管理器获取待创建快照的一致性组的组成员,将所述待创建快照的一致性组的组成员所属本地存储系统的标识和所述待创建一致性业务的一致性组的组成员在所属本地存储系统中的本地地址信息加入到命令中,并将添加了待创建快照的一致性组的组成员所属本地存储系统的标识和所述待创建一致性业务的一致性组的组成员在所属本地存储系统中的本地地址信息的一致性快照创建命令发送给元快照管理器。元快照管理器将接收到的一致性快照创建命令拆分为针对与所述待创建一致性快照的一致性组的组成员一一对应的第二一致性快照创建命令。在该例子中,所述元快照管理器将接收到的一致性快照创建命令拆分为与组成员一一对应的第二一致性快照创建命令。在本例子中,元快照管理器将接收到的一致性快照创建命令拆分为与组成员A、组成员B、组成员C分别对应的三条第二一致性快照创建命令,拆分出后的第二一致性快照创建命令中,分别包括对应的组成员所属本地存储系统的标识和所述组成员在所属本地存储系统中的本地地址。如前所述,组成员A属于本地存储系统1,组成员B属于本地存储系统1,组成员C属于本地存储系统2,因此,元快照管理器将与组成员A对应的第二一致性快照创建命令通过适配器1向本地存储系统1发送,将与组成员B对应的第二一致性快照创建命令通过适配器1向本地存储系统1发送;将与组成员C对应的第二一致性快照创建命令通过适配器2向本地存储系统2发送。本地存储系统接收到第二一致性快照创建命令后,对组成员创建一致性快照,具体实现方法可以利用已有的一致性快照的创建方法,在此不再另行说明。若组成员的一致性快照成功创建,则本地存储系统通过适配器向服务器返回一致性快照创建成功的消息。当所有的组成员均反馈一致性快照创建成功的消息时,服务器向主机反馈一致性快照创建成功的消息。若有组成员向服务器反馈的是一致性快照创建失败的消息时,则一致性快照创建失败,服务器向主机反馈一致性快照创建失败的消息。当一致性快照创建失败时,为了回收存储资源,服务器还可以向组成员发送回退消息,通知各个组成员放弃已经创建的一致性快照。
一致性克隆和一致性远程复制的实现方式与一致性快照的实现方式相同,在此不再另行描述。
在本发明的实施例中,在将针对一致性组成员的快照命令发送到相对应的存储系统的同时,所述服务器还将暂停针对需要进行快照操作的成员的输入输出(Input/Output,IO)操作,从而保证各个成员之间数据的一致。
在一个例子中,图9为本发明实施例提供的一种资源管理器中存储的成员状态和信息。如图9所示,资源管理器中包括多个成员,每个成员具有不同的成员标识、状态、所在存储系统、存储系统中逻辑地址等。所述一个成员对应一个存储空间,所述成员标识用于对不同的成员进行区别。所述成员状态用于确定该成员当前是否可被用于创建一致性组。所述所在存储系统用于表示该成员所述对应的存储空间所在的存储系统。所述存储系统中逻辑地址用于表示该成员所在存储系统对应的存储空间所在的逻辑地址。
所述存储系统还通过网络向所述服务器发送所述成员状态和信息,所述服务器根据接收的程序的状态和信息在所述资源管理器中建立成员信息。在本发明的实施例中,所述存储系统周期性的向所述服务器发送成员状态信息,以修改成员的状态或存储系统中逻辑地址等信息。
图10为本发明实施例提供的一种处理器示意图。如图10所示,所述设备包括:处理器1001、存储器1002、通信接口1003和总线1004。其中,处理器1001、存储器1002和通信接口1003通过总线1004实现彼此之间的通信连接。
处理器1001可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现前述本发明方法实施例所提供的技术方案。
存储器1002可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器1002可以存储操作系统和其他应用程序。在通过软件或者固件来实现本发明实施例提供的技术方案时,用于实现本发明前述方法实施例提供的任一可选技术方案的程序代码保存在存储器1002中,并由处理器1001来执行。通信接口1003用以与其他多个主机或多个存储系统通信。
总线1004可包括一通路,在设备各个部件(例如处理器1001、存储器1002和通信接口1003)之间传送信息。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (19)
1.一种在软件定义存储系统中创建一致性组的方法,其特征在于,所述方法应用于所述软件定义存储系统中间件层的服务器,所述方法包括:
所述服务器接收主机发送的一致性组创建命令;所述一致性组创建命令中包括待创建一致性组的名称、所述待创建一致性组的组成员的个数和所述组成员在所述服务器中的标识;
所述服务器根据所述组成员在所述服务器中的标识确定所述组成员均为可用状态;
所述服务器创建所述一致性组,并向所述主机返回一致性组创建成功的通知消息。
2.根据权利要求1所述的方法,其特征在于,所述服务器创建所述一致性组具体为:
所述服务器建立所述待创建一致性组的名称、所述组成员在所述服务器中的标识、所述组成员所属本地存储系统的标识和所述组成员在所属本地存储系统中的本地地址之间的对应关系。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述组成员所属本地存储系统的标识为两个以上本地存储系统的标识。
4.根据权利要求1-3任一所述的方法,其特征在于,所述服务器接收主机发送的一致性组创建命令之前,所述方法还包括:
所述服务器接收本地存储系统发送的所述组成员的状态信息。
5.根据权利要求2-3任一所述的方法,其特征在于,所述方法还包括:
所述服务器接收主机发送的一致性组修改命令,所述一致性组修改命令中包括待修改一致性组的名称、修改类型和所述待修改一致性组的组成员在所述服务器中的标识;
所述服务器根据所述一致性组修改命令对所述待修改一致性组的组成员信息进行操作。
6.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述服务器接收主机发送的第一一致性业务创建命令,所述第一一致性业务创建命令中包含有待创建一致性业务的一致性组的名称和待创建的一致性业务的业务名称;
所述服务器根据所述第一一致性业务创建命令中携带的所述待创建一致性业务的一致性组的名称确定所述待创建一致性业务的一致性组的组成员,将所述第一一致性业务创建命令拆分为与所述待创建一致性业务的一致性组的组成员一一对应的第二一致性业务创建命令;
所述服务器将所述第二一致性业务创建命令分别发送给所述待创建一致性业务的一致性组的组成员。
7.根据权利要求6所述的方法,其特征在于:所述一致性业务为一致性快照、一致性克隆或者一致性远程复制。
8.根据权利要求7所述的方法,其特征在于,所述服务器将所述第二一致性业务创建命令发送给所述待创建一致性业务的一致性组的组成员具体为:
所述服务器根据所述待创建一致性业务的一致性组的组成员所属本地存储系统的标识以及所述待创建一致性业务的一致性组的组成员在所述本地存储系统中的本地地址,将所述第二一致性业务创建命令分别发送给所述待创建一致性业务的一致性组的组成员。
9.根据权利要求7-8任一所述的方法,其特征在于,所述方法还包括:
所述服务器接收所述待创建一致性业务的一致性组的组成员返回的一致性业务创建结果的消息;
当所述一致性业务创建结果的消息均为一致性业务创建成功的消息时,所述服务器向所述主机返回所述一致性业务创建成功的消息;
当所述一致性业务创建结果的消息中有一致性业务创建失败的消息时,所述服务器向所述主机返回所述一致性业务创建失败的消息,并向所述一致性组的组成员发送回退命令。
10.一种位于软件定义存储系统中的服务器,所述服务器为所述软件定义存储系统的中间件层,其特征在于,所述服务器包括:命令元调度器,资源管理器、一致性组管理器和适配器;
所述适配器用于所述服务器与本地存储系统之间的通信;
所述命令元调度器用于接收主机发送的一致性组创建命令,并将所述一致性组创建命令发送给一致性组管理器;所述一致性组创建命令中包括待创建一致性组的名称、所述待创建一致性组的组成员的个数和所述待创建一致性组的组成员在所述服务器中的标识;
所述一致性组管理器用于根据所述待创建一致性组的组成员在所述服务器的标识向所述资源管理器查询所述待创建一致性组的组成员的状态信息;
所述一致性组管理器还用于当所述待创建一致性组的组成员均为可用状态时创建一致性组,向所述命令元调度器返回一致性组创建成功的通知消息;
所述命令元调度器还用于向主机返回所述一致性组创建成功的通知消息。
11.根据权利要求10所述的服务器,其特征在于,所述一致性组管理器还用于创建一致性组具体为:
所述一致性组管理器还用于建立所述待创建一致性组的名称、所述待创建一致性组的组成员在所述服务器中的标识、所述待创建一致性组的组成员所属本地存储系统的标识和所述待创建一致性组的组成员在所属本地存储系统中的本地地址之间的对应关系,将所述对应关系发送给所述资源管理器,并通知所述资源管理器更新所述一致性组的组成员的状态信息;
所述资源管理器用于存储所述对应关系,并在接收到通知之后更新所述一致性组的组成员的状态信息。
12.根据权利要求10或11所述的服务器,其特征在于,所述待创建一致性组的组成员所属本地存储系统的标识为两个以上本地存储系统的标识。
13.根据权利要求10或11所述的服务器,其特征在于,
所述适配器接收所述本地存储系统发送的所述一致性组的组成员的状态信息,并将所述一致性组的组成员的状态信息发送给资源管理器;
所述资源管理器还用于接收所述一致性组的组成员的状态信息之后更新存储的所述一致性组的组成员的状态信息。
14.根据权利要求10-11任一所述的服务器,其特征在于,所述服务器还包括元一致性业务管理器;
所述命令元调度器还用于接收主机发送的第一一致性业务创建命令,并将所述第一一致性业务创建命令发送给一致性组管理器;所述第一一致性业务创建命令中包含有待创建一致性业务的一致性组的名称和待创建的一致性业务的业务名称;
所述一致性组管理器根据所述待创建一致性业务的一致性组的名称在所述第一一致性业务创建命令中添加所述待创建一致性业务的一致性组的组成员所属本地存储系统的标识和所述待创建一致性业务的一致性组的组成员在所属本地存储系统中的本地地址信息,并将添加了所述信息的第一一致性业务创建命令发送给所述元一致性业务管理器;
所述元一致性业务管理器用于将所述添加了所述信息的第一一致性业务创建命令拆分为与所述待创建一致性业务的一致性组的组成员一一对应的第二一致性业务创建命令,并将所述第二一致性业务创建命令发送给所述适配器;
所述适配器还用于将所述第二一致性业务创建命令分别发送给所述待创建一致性业务的一致性组的组成员。
15.根据权利要求14所述的服务器,其特征在于,所述元一致性业务管理器为元一致性快照管理器、元一致性克隆管理器或者元一致性远程复制管理器。
16.根据权利要求15所述的服务器,其特征在于,所述适配器还用于将所述第二一致性业务创建命令分别发送给所述待创建一致性业务的一致性组的组成员具体为;所述适配器根据所述待创建一致性业务的一致性组的组成员所属本地存储系统的标识和所述待创建一致性业务的一致性组的组成员在所属本地存储系统中的本地地址将所述二一致性业务创建命令分别发送给所述一致性组的组成员。
17.根据权利要求10-11,15-16任一所述的服务器,其特征在于,
所述适配器还用于接收所述待创建一致性业务的一致性组的组成员返回的一致性业务创建结果的消息,并将所述一致性业务创建结果的消息发送给一致性业务管理器;
所述一致性业务管理器还用于,当所述一致性组的组成员返回的均为一致性业务创建成功的消息时,向所述命令元调度器返回所述一致性业务创建成功的消息;当所述一致性组的组成员返回有一致性业务创建失败的消息时,向所述命令元调度器返回所述一致性业务创建失败的消息,并向所述一致性组的组成员发送回退命令;
所述命令元调度器还用于向所述主机返回所述一致性业务创建成功的消息或所述一致性业务创建失败的消息。
18.一种软件定义存储系统,其特征在于,所述软件定义存储系统包括主机、本地存储系统及如权利要求10-17任一所述的服务器;所述本地存储系统用于提供存储资源,由所述服务器统一分配管理。
19.如权利要求18所述的软件定义存储系统,其特征在于,所述本地存储系统支持快照业务、远程复制业务或者克隆业务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610796363.XA CN106371767B (zh) | 2016-08-31 | 2016-08-31 | 一种处理一致性业务的方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610796363.XA CN106371767B (zh) | 2016-08-31 | 2016-08-31 | 一种处理一致性业务的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106371767A CN106371767A (zh) | 2017-02-01 |
CN106371767B true CN106371767B (zh) | 2019-08-20 |
Family
ID=57899085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610796363.XA Active CN106371767B (zh) | 2016-08-31 | 2016-08-31 | 一种处理一致性业务的方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106371767B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391314A (zh) * | 2017-07-31 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种支持双活的数据一致性保持方法与装置 |
CN109582496B (zh) * | 2018-10-25 | 2024-05-28 | 平安科技(深圳)有限公司 | 一致性快照组的创建方法、装置及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1773463A (zh) * | 2004-11-12 | 2006-05-17 | 国际商业机器公司 | 用于一致性组形成中的数据传送管理的方法和系统 |
CN103842954A (zh) * | 2013-12-05 | 2014-06-04 | 华为技术有限公司 | 一种存储系统中的数据处理方法、装置和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10296428B2 (en) * | 2010-05-17 | 2019-05-21 | Veritas Technologies Llc | Continuous replication in a distributed computer system environment |
US8825603B2 (en) * | 2010-05-19 | 2014-09-02 | International Business Machines Corporation | Ordering volumes and tracks for data transfer based on usage characteristics |
US9569310B2 (en) * | 2013-02-27 | 2017-02-14 | Netapp, Inc. | System and method for a scalable crash-consistent snapshot operation |
-
2016
- 2016-08-31 CN CN201610796363.XA patent/CN106371767B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1773463A (zh) * | 2004-11-12 | 2006-05-17 | 国际商业机器公司 | 用于一致性组形成中的数据传送管理的方法和系统 |
CN103842954A (zh) * | 2013-12-05 | 2014-06-04 | 华为技术有限公司 | 一种存储系统中的数据处理方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106371767A (zh) | 2017-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105095317B (zh) | 分布式数据库服务管理系统 | |
US7971089B2 (en) | Switching connection of a boot disk to a substitute server and moving the failed server to a server domain pool | |
US20060095705A1 (en) | Systems and methods for data storage management | |
US7779368B2 (en) | Systems and methods for presenting managed data | |
CN103078965B (zh) | 虚拟机的ip地址管理方法 | |
ITTO20010196A1 (it) | Sistema e procedimento per gestire risorse di memorizzazione in un ambiente di elaborazione a grappolo. | |
JP2009003719A (ja) | 連携して動作する複数のアプリケーションが使用するデータのバックアップ環境の設定を行う計算機及び方法 | |
CN101799743A (zh) | 用于逻辑卷管理的方法和装置 | |
CN105635311A (zh) | 一种云管理平台中资源池信息同步的方法 | |
CN110830574B (zh) | 一种基于docker容器实现内网负载均衡的方法 | |
CN105518641A (zh) | 点对点数据复制方法、设备和系统以及主节点切换方法、设备和系统 | |
CN105404542A (zh) | 云计算系统及在其上运行高性能计算的方法 | |
CN103414712A (zh) | 一种分布式虚拟桌面管理系统和方法 | |
CN102437933A (zh) | 一种服务器故障容错系统及方法 | |
CN104023058A (zh) | 一种存储资源的管理和分配方法和系统 | |
CN112600903B (zh) | 一种弹性虚拟网卡迁移方法 | |
CN101834904A (zh) | 一种数据备份方法和设备 | |
CN105187502A (zh) | 一种基于分布式弹性块存储的方法和系统 | |
CN106790713A (zh) | 云计算环境下的跨数据中心虚拟机迁移方法 | |
CN103475734A (zh) | 一种Linux集群用户备份迁移的方法 | |
CN107682411A (zh) | 一种大规模sdn控制器集群及网络系统 | |
CN107291395A (zh) | 一种lun在线扩容方法及系统 | |
CN103414764A (zh) | 一种云平台弹性存储系统及其弹性存储实现方法 | |
CN106371767B (zh) | 一种处理一致性业务的方法、装置和系统 | |
US10019182B2 (en) | Management system and management method of computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |