CN118260222A - 信息处理系统以及信息处理方法 - Google Patents
信息处理系统以及信息处理方法 Download PDFInfo
- Publication number
- CN118260222A CN118260222A CN202310222127.7A CN202310222127A CN118260222A CN 118260222 A CN118260222 A CN 118260222A CN 202310222127 A CN202310222127 A CN 202310222127A CN 118260222 A CN118260222 A CN 118260222A
- Authority
- CN
- China
- Prior art keywords
- storage
- data
- server
- controller
- storage controller
- 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
- 230000010365 information processing Effects 0.000 title claims abstract description 39
- 238000003672 processing method Methods 0.000 title claims abstract description 11
- 238000012545 processing Methods 0.000 claims abstract description 75
- 230000015654 memory Effects 0.000 claims abstract description 55
- 238000000034 method Methods 0.000 claims description 49
- 230000008569 process Effects 0.000 claims description 32
- 238000012544 monitoring process Methods 0.000 claims description 21
- 238000012546 transfer Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 13
- 238000011084 recovery Methods 0.000 description 7
- 230000004913 activation Effects 0.000 description 5
- 230000005012 migration Effects 0.000 description 5
- 238000013508 migration Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2089—Redundant storage control functionality
- G06F11/2092—Techniques of failing over between control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
- G06F11/1662—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/203—Failover techniques using migration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种信息处理系统以及信息处理方法,其能够承受以据点为单位的故障,可用性高。形成包含配置于不同据点的多个存储控制器的冗余化组,冗余化组包含对数据进行处理的激活状态的存储控制器、在激活状态的存储控制器发生了故障的情况下接管数据的处理的待机状态的存储控制器,激活状态的存储控制器执行如下处理:将来自配置于相同据点的上位应用的数据存储在配置于该据点的存储装置,并且将用于复原存储于相同据点的存储装置的数据的冗余化数据存储在配置有相同冗余化组的待机状态的存储控制器的其他据点所配置的存储装置。
Description
技术领域
本发明涉及信息处理系统以及信息处理方法,例如优选适用于分布式存储系统。
背景技术
近年来,随着云的利用扩大,管理云上的数据的存储装置的需求提高。特别是,云由多个据点(以下,适当地将其称为可用区(Availability Zone))构成,要求能够承受以可用区为单位的故障的高可用的存储系统。
此外,作为使存储系统高可用化的技术,例如,在专利文献1中公开了在数据中心内/数据中心间分层地将数据冗余化的技术。另外,在专利文献2中,公开了在与用户数据的存储目的地不同的1个以上的存储节点存储数据恢复用的代码(奇偶校验)的技术。
然而,通常,云的各可用区在地理上是分离的,若跨越可用区而构成分布式存储系统,则发生可用区间的通信,存在因该通信延迟而对I/O性能造成影响的问题。另外,由于可用区间根据通信量产生收费,因此还存在通信量多时成本变高的问题。
专利文献1:日本特开2019-071100号公报
专利文献2:日本特开2020-107082号公报
发明内容
本发明是考虑以上的问题点而完成的,本发明的主要目的在于,提出能够承受以据点(可用区)为单位的故障的高可用的信息处理系统以及信息处理方法,本发明的另一目的在于,还提出能够抑制以伴随据点间的通信的通信延迟为原因的I/O性能的降低、由据点间的通信引起的成本的产生的信息处理系统以及信息处理方法。
为了解决该课题,在本发明中,在具有在通过网络连接的多个据点分别配置有多个的存储服务器的信息处理系统中,设置有:存储装置,其分别配置在所述据点,存储数据;以及存储控制器,其安装于所述存储服务器,对上位应用提供逻辑卷,对经由所述逻辑卷读写到所述存储装置的数据进行处理,形成包含配置于不同的据点的多个所述存储控制器的冗余化组,所述冗余化组包含:激活状态的存储控制器,其对数据进行处理;以及待机状态的存储控制器,其在所述激活状态的存储控制器发生了故障的情况下,接管所述数据的处理,所述激活状态的存储控制器执行如下处理:将来自配置于相同的所述据点的上位应用的所述数据存储在配置于该据点的所述存储装置中,并且将用于复原存储于相同的据点的存储装置的数据的冗余化数据存储到配置有相同的冗余化组的待机状态的存储控制器的其他所述据点所配置的所述存储装置中。
另外,在本发明中,一种在信息处理系统中执行的信息处理方法,所述信息处理系统具有在通过网络连接的多个据点分别配置有多个的存储服务器,所述信息处理系统具有:存储装置,其分别配置在所述据点,存储数据;以及存储控制器,其安装于所述存储服务器,对上位应用提供逻辑卷,对经由所述逻辑卷读写到所述存储装置的数据进行处理,形成包含配置于不同的据点的多个所述存储控制器的冗余化组,所述冗余化组包含:激活状态的存储控制器,其对数据进行处理;以及待机状态的存储控制器,其在所述激活状态的存储控制器发生了故障的情况下,接管所述数据的处理,所述激活状态的存储控制器执行如下处理:将来自配置于相同的所述据点的上位应用的数据存储在配置于该据点的所述存储装置中,并且将用于复原存储于相同的所述据点的存储装置的数据的冗余化数据存储到配置了相同的冗余化组的待机状态的存储控制器的其他所述据点所配置的所述存储装置中。
根据本发明的信息处理系统以及信息处理方法,能够在确保数据局部性的同时,将冗余化数据存储到其他据点。因此,即使在配置有激活状态的存储控制器的据点发生了以据点为单位的故障的情况下,也能够通过构成相同的冗余化组的待机状态的存储控制器来接管此前激活状态的存储控制器所进行的处理。
根据本发明,能够实现可承受以据点为单位的故障的高可用的信息处理系统以及信息处理方法。
附图说明
图1是表示第一实施方式的存储系统的整体结构的框图。
图2是表示存储服务器的硬件结构的框图。
图3是表示存储服务器的逻辑结构的框图。
图4是表示存储结构管理表的图表。
图5是用于说明冗余化组(Redundancy group)的概念图。
图6是用于说明块组(chunk group)的概念图。
图7是用于说明存储系统中的用户数据的冗余化的概念图。
图8是表示存储控制器管理表的图表。
图9是表示块组管理表的图表。
图10是用于说明从应用向主机卷(host volume)的访问控制方式的概念图。
图11是表示主机卷管理表的图表。
图12是用于说明发生以数据中心为单位的故障时的失效备援(failover)的概念图。
图13是用于说明伴随应用的移动的向主机卷的访问路径的切换的概念图。
图14是表示服务器故障恢复处理的处理顺序的流程图。
图15是表示主机卷生成画面的画面结构例的图。
图16是表示主机卷生成处理的处理顺序的流程图。
图17是表示服务器容量扩展处理的处理顺序的流程图。
图18是表示服务器使用容量监视处理的处理顺序的流程图。
图19是表示卷移动处理的处理顺序的流程图。
图20是表示第二实施方式的存储系统的整体结构的框图。
图21是表示第二实施方式中的存储服务器的逻辑结构的框图。
图22是表示第二实施方式的主机卷生成处理的处理顺序的流程图。
符号说明
1、70云系统;2、2A~2C、71,71A~71C数据中心;4、72管理服务器;6用户终端;7、74、75存储服务器;8网络驱动器;9主机服务器;10、73存储系统;30、76存储控制器;31、77数据平面;32、78控制平面;33应用;36冗余化组;37物理块;38块组;50主机卷组;51路径;60主机卷生成画面;HVOL主机卷。
具体实施方式
以下,参照附图对本发明的一实施方式进行详细说明。此外,以下的记载以及附图是用于说明本发明的一个例子,并不限定本发明的技术范围。另外,在各图中,对共同的结构标注相同的参照编号。
在以下的说明中,有时通过“表格”、“表”、“列表”、“队列”等表现来说明各种信息,但各种信息也可以通过这些以外的数据结构来表现。为了表示不依赖于数据结构,有时将“XX表格”、“XX列表”等称为“XX信息”。在说明各信息的内容时,使用“识别信息”、“识别符”、“名”、“ID”、“编号”等表现,但它们能够相互置换。
另外,在以下的说明中,在不区分同种要素而进行说明的情况下,使用参照符号或参照符号中的共用编号,在区分同种要素而进行说明的情况下,有时使用该要素的参照符号或代替参照符号而使用分配给该要素的ID。
另外,在以下的说明中,有时对执行程序而进行的处理进行说明,但程序由至少1个以上的处理器(例如CPU)执行,由此适当地使用存储资源(例如存储器)和/或接口设备(例如通信端口)等来进行所确定的处理,因此处理的主体也可以为处理器。同样地,执行程序而进行的处理的主体也可以是具有处理器的控制器、装置、系统、计算机、节点、存储系统、存储装置、服务器、管理计算机、客户端或主机。执行程序而进行的处理的主体(例如处理器)也可以包含进行处理的一部分或全部的硬件电路。例如,执行程序而进行的处理的主体也可以包括执行加密和解密、或者压缩和解压缩的硬件电路。处理器按照程序进行工作,由此作为实现预定的功能的功能部工作。包含处理器的装置以及系统是包含这些功能部的装置以及系统。
程序也可以从程序源安装到计算机那样的装置中。程序源例如也可以是程序分发服务器或者计算机可读取的存储介质。在程序源为程序分发服务器的情况下,程序分发服务器包括处理器(例如CPU)和存储资源,存储资源还可以存储分发程序和作为分发对象的程序。然后,通过程序分发服务器的处理器执行分发程序,程序分发服务器的处理器可以将分发对象的程序分发给其他计算机。另外,在以下的说明中,既可以将2个以上的程序作为1个程序来实现,也可以将1个程序作为2个以上的程序来实现。
(1)本实施方式的存储系统的结构
(1-1)本实施方式的存储系统的结构
在图1中,1作为整体表示本实施方式的云系统。该云系统1构成为具备分别设置于不同的可用区的第一、第二以及第三数据中心2A、2B、2C。此外,以下,在不需要特别区分第一~第三数据中心2A~2C的情况下,将它们统称为数据中心2。
这些数据中心2之间经由专用网络3相互连接。另外,在专用网络3上连接有管理服务器4,并且在管理服务器4上经由因特网等网络5连接有用户终端6。另外,在各数据中心2A~2C分别配置有构成分布式存储系统的1台或多台存储服务器7和1台或多台网络驱动器8。对于存储服务器7的结构,予以后述。
网络驱动器8由SAS(Serial Attached SCSI(Small Computer SystemInterface:小型计算机系统接口))、SSD(Solid State Drive:固态硬盘)、NVMe(NonVolatile Memory express:非易失性快速存储器)或SATA(Serial ATA(AdvancedTechnology Attachment:高技术附加装置))等大容量且非易失性的存储装置构成。各网络驱动器8分别与相同的数据中心2内的某个存储服务器7逻辑连接,对连接目的地的存储服务器7分别提供物理存储区域。
网络驱动器8可以收容在各存储服务器7内,也可以与存储服务器7分开设置,以下,如图3所示,设为与存储服务器7分开设置。各存储服务器7经由LAN(Local AreaNetwork:局域网)等数据中心内网络34(图3)分别与相同数据中心2内的各网络驱动器8物理连接。
另外,在各数据中心2还配置有安装了数据库应用等应用33(图3)的主机服务器(host server)9。主机服务器9由物理计算机装置或作为虚拟计算机装置的虚拟机等构成。
管理服务器4由内置有CPU(Central Processing Unit:中央处理单元)、存储器以及通信装置等的通用的计算机装置构成,通过由分别配置于各数据中心2的各存储服务器7和管理服务器4构成的存储系统10的管理者用于管理该存储系统10。
管理服务器4例如将与管理者的操作输入、经由用户终端6的来自存储系统10的利用者(用户)的请求对应的命令发送到各数据中心2的存储服务器7等,来进行针对这些存储服务器7的各种设定及其设定的变更,或者从各数据中心2的存储服务器7收集必要的信息。
用户终端6是存储系统10的用户利用的通信终端装置,由通用的计算机装置构成。用户终端6经由网络5向管理服务器4发送与用户的操作对应的请求等,或者显示从管理服务器4发送来的信息。
图2表示存储服务器7的物理结构。存储服务器7是具有如下功能的通用的服务器装置:根据来自安装于主机服务器9的应用33(图3)的I/O请求,向网络驱动器8提供的存储区域读取/写入(读写)用户数据。
如图2所示,存储服务器7构成为分别具备1个以上的经由内部网络20相互连接的CPU21、数据中心内通信装置22以及数据中心间通信装置23、以及与CPU21连接的存储器24。
CPU21是负责存储服务器7的动作控制的处理器。另外,数据中心内通信装置22是用于存储服务器7与相同的数据中心2内的其他存储服务器7进行通信、或者访问相同的数据中心2内的网络驱动器8的接口,例如由LAN卡、NIC(Network Interface Card:网络接口卡)等构成。
数据中心间通信装置23是用于存储服务器7经由专用网络3(图1)与其他数据中心2内的存储服务器7进行通信的接口,例如由NIC、光纤通道卡等构成。
存储器24例如由SRAM(Static RAM(Random Access Memory:随机存取存储器))、DRAM(Dynamic RAM:动态RAM)等易失性的半导体存储器构成,用于暂时保持各种程序、需要的数据。CPU21执行存储在存储器24中的程序,由此执行作为后述的存储服务器7整体的各种处理。后述的存储控制软件25也存储并保持在该存储器24中。
图3表示存储服务器7的逻辑结构。如该图3所示,配置于各数据中心2的各存储服务器7分别具备构成SDS(Software Defined Storage:软件定义存储)的1个或多个存储控制器(storage controller)30。存储控制器30是通过CPU21(图2)执行存储在存储器24(图2)中的存储控制软件25(图2)而具体化的功能部。该存储控制器30包括数据平面(dataplane)31和控制平面(control plane)32。
数据平面31是具有如下功能的功能部:根据来自安装于主机服务器9的应用33的写入请求、读取请求(以下,适当地将它们统称为I/O(Input/Output:输入/输出)请求),经由数据中心内网络34向网络驱动器8读取/写入用户数据。
实际上,在本存储系统10中,对于安装在主机服务器9中的应用33,将网络驱动器8提供的物理存储区域在存储服务器7内虚拟化的虚拟逻辑卷(以下,将其称为主机卷)HVOL作为用于读取/写入用户数据的存储区域而提供。另外,该主机卷HVOL与生成了该主机卷HVOL的存储服务器7内的某一个存储控制器30相对应。
然后,数据平面31在从主机服务器9的应用33提供了指定了与具备自身的存储控制器(以下,将其称为本存储控制器)30建立了对应的主机卷HVOL内的写入目的地的写入请求和作为写入对象的用户数据的情况下,对该主机卷HVOL内的被指定为该写入目的地的虚拟的存储区域,动态地分配与安装了本存储控制器30的存储服务器7逻辑连接的网络驱动器8所提供的物理存储区域,将该用户数据存储在该物理区域中。
另外,数据平面31在从主机服务器9的应用33提供了指定主机卷HVOL内的读取目的地的读取请求的情况下,从分配给主机卷HVOL内的该读取目的地的对应的网络驱动器8所对应的物理区域读出用户数据,将读出的用户数据发送给该应用33。
控制平面32是具有管理存储系统10的结构的功能的功能部。例如,控制平面32利用图4所示的存储结构管理表35来管理在各数据中心2分别配置有什么样的存储服务器7、在这些存储服务器7上逻辑连接有什么样的网络驱动器8这样的信息。
如该图4所示,存储结构管理表35构成为具备数据中心ID栏35A、服务器ID栏35B以及网络驱动器ID栏35C。
而且,在数据中心ID栏35A中存储有对各数据中心2分别赋予的该数据中心2所固有的识别符(数据中心ID)。另外,服务器ID栏35B与配置于对应的数据中心2的存储服务器7分别对应地被划分,存储有赋予给与划分出的各栏(以下,将它们称为服务器栏)分别对应的存储服务器7的该存储服务器7所固有的识别符(服务器ID)。
并且,网络驱动器ID栏35C与各服务器ID栏35B分别对应地被划分,分别存储有与对应的服务器ID栏35B中存储服务器ID的存储服务器7逻辑连接的(该存储服务器7能够利用的)所有网络驱动器8的识别符(网络驱动器ID)。
因此,在图4的例子的情况下,表示出例如在被赋予了“000”这样的数据中心ID的数据中心2配置有被赋予了“000”这样的服务器ID的存储服务器7和被赋予了“001”这样的服务器ID的存储服务器7,在“000”这样的存储服务器7分别逻辑连接有被赋予了“000”这样的网络驱动器ID的网络驱动器8和被赋予了“001”这样的网络驱动器ID的网络驱动器8。
图5表示本存储系统10中的存储控制器30的冗余化结构的结构例。在本存储系统10中,安装于存储服务器7的各存储控制器30分别与安装于互不相同的数据中心2内的某个存储服务器7的1个或多个其他存储控制器30一起被管理为用于冗余化的1个组(以下,将其称为冗余化组)36。
另外,图5表示由互不相同的数据中心2内的3个存储控制器30构成1个冗余化组36的例子。以下也设为由这3个存储控制器30构成1个冗余化组36来进行说明,但也可以由2个或4个以上的存储控制器30构成冗余化组36。
在冗余化组36中,对各存储控制器30设定优先顺序。并且,优先顺序最高的存储控制器30被设定为其数据平面31(图3)能够受理来自主机服务器9的I/O请求的动作模式(现用系统的状态,以下将其称为激活模式(active mode)),剩余的存储控制器30被设定为其数据平面31不受理来自主机服务器9的I/O请求的动作模式(待机系统的状态,以下将其称为待机模式(standby mode))。在图5中,由“A”表示设定为激活模式的存储控制器30,由“S”表示设定为待机模式的存储控制器30。
而且,在冗余化组36中,在被设定为激活模式的存储控制器30或安装有该存储控制器30的存储服务器7发生了故障的情况下等,此前被设定为待机模式的剩余的存储控制器30中优先顺序最高的存储控制器30的动作模式被切换为激活模式。由此,即使在被设定为激活模式的存储控制器30无法工作的情况下,也能够通过此前被设定为待机模式的其他存储控制器30来接管该存储控制器30所执行的I/O处理(失效备援功能)。
为了实现这样的失效备援功能,属于相同的冗余化组36的存储控制器30的控制平面32始终保持相同内容的元数据。元数据是存储控制器30为了执行与容量虚拟化功能、使访问频度多的数据移动到响应速度更快的存储区域的分层存储控制功能、从所存储的数据中删除重复的数据的重复排除功能、压缩并存储数据的压缩功能、保持某时间点的数据的状态的快照功能、以及为了应对灾害而同步或者非同步地将数据复制到远程地的远程复制功能等各种功能相关的处理所需的信息。另外,元数据中还包含图4所述的存储结构管理表35、图8后述的存储控制器管理表40、图9后述的块组管理表41以及图11后述的主机卷管理表52等。
而且,在因结构变更等而构成冗余化组36的激活模式的存储控制器30的元数据被更新的情况下,通过该存储控制器30的控制平面32(图3),将更新前后的该元数据的差分作为差分数据转发至构成该冗余化组36的其他存储控制器30,基于该差分数据,在该其他存储控制器30中,该存储控制器30所保持的元数据被该存储控制器30的控制平面32更新。由此,构成冗余化组36的各存储控制器30的元数据始终维持同步的状态。
这样构成冗余化组36的各存储控制器30始终保持相同内容的元数据,由此即使在被设定为激活模式的存储控制器30、该存储控制器30工作的存储服务器7发生了故障的情况下,也能够通过与该存储控制器30构成相同的冗余化组36的其他存储控制器30立即接管至此为止该存储控制器30执行的处理。
另一方面,图6表示存储系统10中的存储区域的管理方法。在本存储系统10中,将各网络驱动器8提供的存储区域分割为固定大小(例如数100GB)的物理区域来进行管理。以下,将该物理区域称为物理块(Physical chunk)37。
将物理块37与分别在相互不同的数据中心2内的某一个网络驱动器8内定义的1个或多个其他物理块37一起,作为用于将用户数据冗余化的1个组(以下,将其称为块组)38进行管理。
在图6中示出了由分别存在于彼此不同的数据中心2内的3个物理块37(图中,用斜线表示的各物理块37)构成1个块组38的例子,以下也设为由分别存在于不同的数据中心2内的3个物理块37构成1个块组38来进行说明。
原则上,将构成相同的块组38的各物理块37分别分配给与构成相同的冗余化组36的该物理块37相同的数据中心2内的存储控制器30。
因此,例如,将构成某个块组38的第一数据中心2A内的物理块37分配给构成某个冗余化组36的第一数据中心2A内的存储控制器30。另外,将构成该块组38的第二数据中心2B内的物理块37分配给构成该冗余化组36的第二数据中心2B内的存储控制器30,将构成该块组38的第三数据中心2C内的物理块37分配给构成该冗余化组36的第三数据中心2C内的存储控制器30。
针对块组38的用户数据的写入是按照预先设定的数据保护策略来进行的。作为适用于本实施方式的存储系统10的数据保护策略,有镜像(Mirroring)以及纠删码(ErasureCoding,EC)。“镜像”是将与存储在某物理块37中的用户数据完全相同的用户数据存储到与该物理块37构成相同的块组38的其他物理块37的方式。另外,作为“EC”,存在不保证数据本地性(Data locality)的第一方式和保证数据本地性的第二方式,但在本实施方式中,应用保证数据中心2内的数据本地性的第二方式。
即,在本实施方式的存储系统10中,在指定镜像及EC中的任一个作为块组38中的数据保护策略的情况下,都将安装在主机服务器9中的应用33(图3)所使用的用户数据及与该用户数据相关的元数据保存在与所述应用33相同的数据中心2内。
参照图7,具体说明应用于这样的本存储系统10的EC的第二方法的一例。另外,在该例的EC的第二方式的情况下,不需要对构成冗余化组36的各存储控制器30分别分配构成相同的块组38的物理块37。
以下,如图7所示,第一数据中心2A内的主机服务器向第一存储服务器7A内的主机卷HVOL写入第一用户数据D1(由图中的“a”和“b”构成的数据),该第一用户数据D1存储在第一存储服务器7A内的第一物理块37A中。
另外,在第二数据中心2B内的第二存储服务器7B内,存在与第一物理块37A构成相同的块组38的第二物理块37B,在与第一物理块37中的存储有第一用户数据D1的存储区域相同的第二物理块37B内的存储区域存储有第二用户数据D2(由图中的“c”和“d”构成的数据)。
同样地,在第三数据中心2C内的第三存储服务器7C内,存在与第一物理块37A构成相同的块组38的第三物理块37C,在与第一物理块37A中的存储有第一用户数据D1的存储区域相同的第三物理块37C内的存储区域存储有第三用户数据D3。
在该结构中,安装于第一数据中心2A内的第一主机服务器9A的第一应用33A向分配给自身的第一主机卷HVOL1写入第一用户数据D1时,该第一用户数据D1通过对应的存储控制器30A的数据平面31A直接存储于第一物理块37A。
另外,该数据平面31A将该第一用户数据D1分割为“a”和“b”这样相同大小的2个部分数据D1A、D1B,将这些部分数据D1A中的一方的部分数据D1A(图中为“a”)转送到第二数据中心2B内的提供第二物理块37B的第二存储服务器7B,将另一方的部分数据D1B(图中为“b”)转送到第三数据中心2C内的提供第三物理块37C的第三存储服务器7C。
而且,该数据平面31A经由第二数据中心2B内的第二存储服务器7B的对应的存储控制器30B的数据平面31B,从第二物理块37B读出将第二用户数据D2分割为“c”和“d”这样相同大小的2个部分数据D2A、D2B中的一方的部分数据D2A(图中为“c”)。另外,数据平面31A经由第三数据中心2C内的第三存储服务器7C的对应的存储控制器30C的数据平面31C,从第三物理块37C读出将第三用户数据D3分割为“e”和“f”这样相同大小的2个部分数据D3A、D3B中的一方的部分数据D3A(图中为“e”)。然后,数据平面31A根据这些读出的“c”这样的部分数据D2A和“e”这样的部分数据D3A生成奇偶校验位(Parity)P1,将生成的奇偶校验位P1存储在第一物理块37A中。
与第二存储服务器7B内的第二物理块37B相对应的存储控制器30B的数据平面31B在从第一存储服务器7A转发“a”这样的部分数据D1A时,经由第三数据中心2C内的第三存储服务器7C的对应的存储控制器30C的数据平面31C,从第三物理块37C读出上述的“e”和“f”这样的部分数据D3A、D3B的一方(图中为“f”)。另外,该数据平面31B根据读出的“f”这样的部分数据D3B和从第一存储服务器7A转发来的“a”这样的部分数据D1A生成奇偶校验位P2,将生成的奇偶校验位P2存储在第二物理块37B中。
另外,与第三存储服务器7C内的第三物理块37C相对应的存储控制器30C的数据平面31C在从第一存储服务器7A转发来“b”这样的部分数据D1B时,经由配置于第二数据中心2B的第二存储服务器7B的对应的存储控制器30B的数据平面31B,从第二物理块37B读出上述的“c”和“d”这样的部分数据D2A、D2B中的一方(图中为“d”)。另外,该数据平面31B根据读出的“d”这样的部分数据D2B和从第一存储服务器7A转发来的“b”这样的部分数据D1B生成奇偶校验位P3,将生成的奇偶校验位P3存储在第三物理块37C中。
在第二数据中心2B中安装于第二主机服务器9B的第二应用33B向第二存储服务器7B的第二主机卷HVOL2写入了用户数据D2的情况下、在第三数据中心2C中安装于第三主机服务器9C的第三应用33C向第三存储服务器7C的第三主机卷HVOL3写入了用户数据D3的情况下,也同样地进行以上的处理。
通过这样的用户数据D1~D3的冗余化处理,能够将安装于第一~第三主机服务器9A~9C的第一~第三应用33A~33C所使用的第一~第三用户数据D1~D3冗余化,并且将该第一~第三用户数据D1~D3始终保持在与该第一~第三应用33A~33C相同的第一~第三数据中心2A~2C内。在主机服务器9发生了故障的情况下,能够使用奇偶校验位和成为该奇偶校验位的生成的基础且存储于其他主机服务器9的用户数据来复原存储于主机服务器9的用户数据。由此,能够防止第一应用33A~第三应用33C所使用的第一用户数据D1~第三用户数据D3在第一数据中心2A~第三数据中心2C之间的数据转发,能够避免由该数据转发引起的I/O性能的降低、通信成本的高成本化。另外,用户数据数、奇偶校验位数不限于2D1P,能够设定任意的数。
为了管理这样的冗余化组36(图5)或块组38(图6),各存储控制器30的控制平面32将如图8所示的存储控制器管理表40与如图9所示的块组管理表41作为上述元数据的一部分进行管理。
存储控制器管理表40是用于管理由管理者、用户等设定的上述的冗余化组36的表,如图8所示,构成为具备冗余化组ID栏40A、激活服务器ID栏40B以及待机服务器ID栏40C。存储控制器管理表40中,1行对应于1个冗余化组36。
而且,在冗余化组ID栏40A中存储对所对应的冗余化组36赋予的、该冗余化组36所固有的识别符(冗余化组ID),在激活服务器ID栏40B中存储安装有在对应的冗余化组36中设定为激活模式的存储控制器30的存储服务器7的服务器ID。另外,在待机服务器ID栏40C中存储有分别安装有在该冗余化组36中设定为待机模式的存储控制器30的存储服务器7的服务器ID。
因此,在图8的例子的情况下,示出了在被赋予了“1”这样的冗余化组ID的冗余化组36中,将被设定为激活模式的存储控制器30安装在被赋予了“100”这样的服务器ID的存储服务器7中,将被设定为待机模式的剩余的2个存储控制器30分别安装在被赋予了“200”这样的服务器ID的存储服务器7和被赋予了“300”这样的服务器ID的存储服务器7中。
另外,块组管理表41是用于管理由管理者、用户等设定的上述块组38的表,如图9所示,具备块组ID栏41A、数据保护策略栏41B及物理块ID栏41C而构成。在块组管理表41中,1行对应于1个块组38。
而且,在块组ID栏41A中存储对所对应的块组38赋予的该块组38所固有的识别符(块组ID),在数据保护策略栏41B中存储对该块组38设定的数据保护策略。作为数据保护策略,有存储相同数据的“镜像”以及“EC的第二方式”等。在这些方式中,由于将用户数据存储于本数据中心2内的存储服务器7,因此能够不进行可用区间通信地读取用户数据,因此读取性能高并且网络负荷低。
因此,在图9的例子的情况下,被赋予了“0”这样的块组ID的块组38的数据保护策略是“镜像”,表示由被赋予了“100”这样的物理块ID的物理块37、被赋予了“200”这样的物理块ID的物理块37、被赋予了“300”这样的物理块ID的物理块37构成该块组38。即,将数据存储在本数据中心2内,并且将镜像数据转发到其他数据中心2并存储。
例如在某一个冗余化组36中发生失效备援等而冗余化组36的结构变更的情况下、或新的网络驱动器8与存储服务器7逻辑连接的情况下等,通过该存储控制器管理表40、保持块组管理表41的存储控制器30的控制平面32来更新这些存储控制器管理表40、块组管理表41。
图10表示从安装于主机服务器9的应用33向存储服务器7内的主机卷HVOL的访问控制方法。在本存储系统10中,与构成冗余化组36的各存储控制器30分别对应地,在安装有该存储控制器30的存储服务器7内分别生成主机卷HVOL。另外,这些主机卷HVOL作为同一主机卷HVOL提供给安装在主机服务器9中的应用33。以下,将与构成冗余化组36的各存储控制器30分别对应地生成的主机卷HVOL的集合体称为主机卷组50。
然后,应用33基于在登录到各存储服务器7内的各主机卷HVOL时从与该主机卷HVOL对应的存储控制器30通知的信息,将所提供的到各主机卷HVOL的路径51中的、到与在对应的冗余化组36中被设定为激活模式的存储控制器30对应的主机卷HVOL的路径51作为用于访问用户数据的路径51而设定为最优化(“Optimized”)路径,将除此以外的到主机卷HVOL的路径51设定为非最优化(“Non-Optimized”)路径。此外,应用33总是经由最优化路径访问用户数据。因此,始终对与被设定为激活模式的存储控制器30建立了对应的主机卷HVOL进行从应用33向主机卷HVOL的访问。
在该情况下,被设定为激活模式的存储控制器30如上述那样在与安装有该存储控制器30的存储服务器7连接的、相同的数据中心2内的网络驱动器8(图1)所提供的物理存储区域中存储用户数据,因此该用户数据始终存在于与该应用33相同的数据中心2内。由此,在应用33访问用户数据时不会发生数据中心2间的数据转发,能够避免由该数据转发引起的I/O性能的降低、通信成本的高成本化。
图11表示用于管理如上所述在存储服务器7中生成的主机卷HVOL的主机卷管理表52。该主机卷管理表52是用于管理作为同一主机卷HVOL提供给安装于主机服务器9的应用33的多个主机卷HVOL中的、与设定为激活模式的存储控制器30对应的主机卷(以下,将其称为所有者主机卷)HVOL的所在的表。
实际上,主机卷管理表52构成为具备主机卷(HVOL)ID栏52A、所有者数据中心ID栏52B、所有者服务器ID栏52C以及大小栏52D。在主机卷管理表52中,1行对应于提供给安装在主机服务器9中的应用33的1个所有者主机卷HVOL。
而且,在主机卷ID栏52A中存储向安装在主机服务器9中的应用33提供的主机卷(包含所有者主机卷)HVOL的卷ID,在大小栏52D中存储该主机卷HVOL的卷大小。另外,在所有者数据中心ID栏52B中存储有该主机卷HVOL中的所有者主机卷HVOL存在的数据中心(所有者数据中心)2的数据中心ID,在所有者服务器ID栏52C中存储有生成了该所有者主机卷HVOL的存储服务器(所有者服务器)7的服务器ID。
因此,在图11的例子中,表示了应用33用“1”这样的主机卷ID识别的主机卷HVOL的大小是“100GB”,该所有者主机卷HVOL生成在被赋予了“1”这样的数据中心ID的数据中心2内的被赋予了“100”这样的服务器ID的存储服务器7内。
(1-2)发生故障时的失效备援的流程
接着,对在该本实施方式的存储系统10中发生了以数据中心为单位的故障的情况下执行的失效备援的处理的流程进行说明。图12示出了从图5所示的平常状态在某一个数据中心2(在此设为第一数据中心2A)发生了以数据中心为单位的故障的情况下执行的失效备援的情形。
在本存储系统10中,各存储控制器30的控制平面32(图3)在与本存储控制器30构成相同的冗余化组36的其他存储控制器30的控制平面32之间以预定周期交换心跳信号(Heartbeat signal),由此进行分别安装有这些其他存储控制器30的各存储服务器7的生死监视。而且,控制平面32在一定期间内未能接收到来自监视目的地的存储服务器7的控制平面32的心跳信号的情况下,判断为该存储服务器7发生了故障,将该存储服务器(以下,将其称为故障存储服务器)7关闭。
另外,在关闭的故障存储服务器7中存在某一个冗余化组36的激活模式的存储控制器30的情况下,在该冗余化组36中,将优先顺序仅次于该存储控制器30的存储控制器30的动作模式切换为激活模式,将原来的激活模式的存储控制器(以下,将其称为原激活存储控制器)30执行的处理交接给新设定为激活模式的存储控制器(以下,将其称为新激活存储控制器)30。
例如,在图12的左端所示的冗余化组36、从左端起第四个冗余化组36中,表示由于配置于发生了故障的第一数据中心2A的存储控制器30为激活模式,因此构成相同冗余化组36的第二数据中心2B内的存储控制器30(图12的斜线所示的各存储控制器30)的动作模式被切换为激活模式的例子。因此,在该情况下,第二数据中心2B内的新激活存储控制器30继续执行安装于关闭的存储服务器7的原激活存储控制器30此前执行的I/O处理。
因此,接管了原激活存储控制器30的处理的新激活存储控制器30在应用于存储有用户数据的物理块37的数据保护策略为上述的EC的第二方式的情况下,通过存在于未发生故障的剩余的数据中心2B、2C的数据、奇偶校验位等来复原用户数据。另外,该新激活存储控制器30将复原后的用户数据存储在与原本保存有该用户数据的故障存储服务器内的主机卷(以下,将其称为故障主机卷)HVOL构成相同的主机卷组50(图10)的本存储服务器7内的主机卷HVOL所对应的物理块37(图6)中。在数据保护策略是镜像的情况下,使用镜像数据作为用户数据。在数据中心2不同的情况下,使成为用户数据的镜像数据移动到与新激活存储控制器30相同的数据中心2。
而且,管理服务器4在检测到在某一个数据中心2中发生了以数据中心为单位的故障、以存储服务器7为单位的故障的情况下,如图13所示,将与向发生了故障的存储服务器(故障存储服务器)7内的主机卷(故障主机卷)HVOL进行了用户数据的读取/写入的主机服务器9的应用33(以下,将其称为故障应用33)相同的应用33,在存在该新激活存储控制器30的数据中心2内的主机服务器9中启动,接管该应用33所涉及的故障应用33此前执行的处理。
而且,从接管了故障应用33的处理的应用33向与新激活存储控制器30建立了对应的主机卷HVOL的路径51被设定为最优化(“Optimized”)路径,除此以外的向该主机卷HVOL的路径51被设定为非最优化(“Non-Optimized”)路径。由此,接管了故障应用33的处理的应用33可以访问复原的用户数据。
这样,在本存储系统10中,在与故障发生时接管了原激活存储控制器30的处理的新激活存储控制器30相同的数据中心2内启动与故障应用33相同的应用33,该应用33能够继续处理,因此在由各数据中心2内的主机服务器9构成的组(以下,将其称为主机服务器组)内,各主机服务器9都保持相同的应用33以及该应用33执行处理所需的信息(以下,将其称为应用元信息)。
然后,在主机服务器组中,在更新了安装于任意一个主机服务器9的任意一个应用33的应用元信息的情况下,将更新前后的该应用元信息的差分作为差分数据转发到属于主机服务器组的其他主机服务器9。此外,该其他主机服务器9当被转发来该差分数据时,基于该差分数据更新由主机服务器9保持的应用元信息。由此,构成相同的主机服务器组的各主机服务器9分别保持的应用元信息的内容始终维持为相同的状态。
这样,构成主机服务器组的各主机服务器9始终保持相同内容的应用元信息,由此,即使在任意一个数据中心2的主机服务器9、存储服务器7因故障而无法工作的情况下,也能够通过安装于其他数据中心2的主机服务器9的相同的应用33立即接管安装于该主机服务器9的应用33此前所执行的处理。
图14表示存储控制器30的控制平面32在检测到安装有与该存储控制器30构成相同的冗余化组36的其他存储控制器30的存储服务器7的故障(包含以数据中心为单位的故障)的情况下执行的服务器故障恢复处理的流程。
控制平面32在一定时间内未能接收到来自与本存储控制器30构成相同的冗余化组36的其他存储控制器30的控制平面32的心跳信号的情况下,开始该图14所示的服务器故障恢复处理。
然后,控制平面32首先执行用于关闭安装有在一定时间内无法接收心跳信号的存储控制器30(以下,将其称为故障存储控制器30)的存储服务器7的关闭处理(S1)。在该关闭处理中,还包含例如针对图4所述的存储结构管理表35的更新等处理。
接着,控制平面32参照存储控制器管理表40(图8),判断故障存储控制器30是否是在本存储控制器30所属的冗余化组36中被设定为激活模式的存储控制器(S2)。
然后,控制平面32在该判断中得到肯定结果时,基于自身管理的元数据,判断在本存储控制器30所属的冗余化组36中,本存储控制器30的优先顺序是否仅次于故障存储控制器30(S3)。
然后,控制平面32在该判断中得到肯定结果时,执行用于将故障存储控制器30此前进行的处理交接给本存储控制器30的失效备援处理(S4)。该失效备援处理包括:将本存储控制器30的动作模式切换为激活模式;将本存储控制器30成为激活模式的情况通知给相同冗余化组36内的故障存储控制器30以外的存储控制器30;以及更新包含图8所述的存储控制器管理表40、图9所述的块组管理表41以及图11所述的主机卷管理表52在内的必要的元数据等。
接着,控制平面32将向与故障存储控制器30建立了对应的主机卷(以下,将其称为故障主机卷)HVOL构成相同的主机卷组50的、安装了本存储控制器30的存储服务器7内的主机卷(以下,将其称为失效备援目标主机卷)HVOL的路径设定为最优化(“Optimized”)路径(S5)。
其结果,之后,与在发生了故障的数据中心2中对故障主机卷HVOL读取/写入数据的应用33相同的应用33,在该控制平面32存在的数据中心2内被管理服务器4启动,该应用33登录到本存储控制器30时,该控制平面32通知该应用33将向本存储控制器30内的对应的主机卷HVOL的路径设定为最优化(“Optimized”)路径。由此,该应用33根据该通知将向该主机卷HVOL的路径设定为最优化(“Optimized”)路径。由此,该服务器故障恢复处理结束。
另一方面,控制平面32在步骤S2中得到否定结果的情况下,对本存储控制器30所属的冗余化组36中优先顺位最高的存储控制器30(此处为激活模式的存储控制器30)通知已将安装有故障存储控制器30的存储服务器7关闭(S6)。
其结果,接收到该通知的存储控制器30根据该通知的内容,执行对包含图8所述的存储控制器管理表40等的必要元数据进行更新等预定的处理。由此,该服务器故障恢复处理结束。
另外,控制平面32在步骤S3中得到否定结果的情况下,对本存储控制器30所属的冗余化组36中优先顺位仅次于故障存储控制器30的存储控制器30,通知已将安装有故障存储控制器30的存储服务器7关闭(S6)。
其结果,通过接收到该通知的存储控制器30的控制平面32,执行与步骤S4及步骤S5相同的处理。然后,该服务器故障恢复处理结束。
(1-3)主机卷的生成流程
接着,说明直到在用户所希望的数据中心2内生成所希望的卷大小的所有者主机卷HVOL为止的流程。
图15表示通过预定操作能够显示在用户终端6(图1)上的主机卷生成画面60的结构例。该主机卷生成画面60是用于用户生成向安装于主机服务器9的应用33提供的主机卷HVOL中的、与激活模式的存储控制器30对应的主机卷(所有者主机卷)HVOL的画面。
该主机卷生成画面60构成为具备卷编号指定栏61、卷大小指定栏62以及生成目的地数据中心指定栏63和确定按钮64。
并且,在主机卷生成画面60中,用户通过操作用户终端6,能够通过将此时要生成的所有者主机卷HVOL的卷ID(在此为编号)输入到卷编号指定栏61来进行指定,能够通过将该所有者主机卷HVOL的卷大小输入到卷大小指定栏62来进行指定。
另外,在主机卷生成画面60中,通过点击设置于生成目的地数据中心指定栏63右侧的下拉菜单65,能够显示登载了各数据中心2的数据中心ID的下拉菜单66。
然后,用户通过从该下拉菜单66显示的数据中心ID中点击所希望的数据中心2的数据中心ID来选择,从而能够将该数据中心2指定为所有者主机卷HVOL的生成目的地的数据中心2。此时,所选择的数据中心2的数据中心ID显示于生成目的地数据中心指定栏63。
并且,在主机卷生成画面60中,在如上述那样指定了所有者主机卷HVOL的卷ID、卷大小以及生成目的地的数据中心2的基础上点击确定按钮64,从而能够向管理服务器4指示应该在该数据中心2中生成该卷ID以及该卷大小的所有者主机卷HVOL。
实际上,当点击了主机卷生成画面60的确定按钮64时,在显示该主机卷生成画面60的用户终端6中生成包含此时用户在主机卷生成画面60上指定的卷ID、卷大小以及生成目的地的数据中心2的各信息的卷生成请求,并将生成的卷生成请求发送到管理服务器4(图1)。
然后,管理服务器4在被提供该卷生成请求时,按照图16所示的处理步骤,在所指定的数据中心2内的任意一个存储服务器7内生成所请求的卷ID以及卷大小的所有者主机卷HVOL。
实际上,管理服务器4在被提供该卷生成请求时,开始该图16所示的主机卷生成处理,首先,判断在卷生成请求中被指定为所有者主机卷HVOL的生成目的地的数据中心2(以下,将其称为指定数据中心2)内,是否存在具有能够生成由用户指定的卷大小的所有者主机卷HVOL的容量的存储服务器7(S10)。
具体而言,管理服务器4对分别安装于指定数据中心2的各存储服务器7的任一个存储控制器30分别询问该存储服务器7的容量和当前的使用容量。然后,管理服务器4根据针对该询问从这些存储控制器30的控制平面32分别通知的这些存储服务器7的容量和当前的使用容量,判定是否能够生成指定的卷大小的所有者主机卷HVOL。
然后,管理服务器4在该判断中得到肯定结果时,在能够生成这样的所有者主机卷HVOL的存储服务器7中,与上述所有者主机服务器HVOL的情况同样地,判定分别安装有与该所有者主机卷HVOL所对应的存储控制器30(例如现有的存储控制器30或新生成的存储控制器30)构成相同的冗余化组36的其他各存储控制器30的其他数据中心2内的各存储服务器7是否都能够生成所指定的卷大小的主机卷HVOL(S11)。
然后,管理服务器4在该判定中得到肯定结果时,从在步骤S10中判定为能够生成所有者主机卷HVOL的存储服务器7中的、在步骤S11中也得到肯定结果的存储服务器7中选择1个存储服务器7,对在该存储服务器7中与所有者主机卷HVOL对应起来的存储控制器30提供该所有者主机卷HVOL的生成指示(S15)。由此,通过该存储控制器30,在该存储服务器7内与该存储控制器30对应地生成所指定的卷大小的所有者主机卷HVOL。此外,该存储控制器30的动作模式被设置为激活模式。
另外,管理服务器4之后对与该存储控制器30构成相同的冗余化组36的其他数据中心2内的各存储控制器30也分别提供与该所有者主机卷HVOL相同卷大小的主机卷HVOL的生成指示(S16)。由此,通过这些存储控制器30将与该所有者主机卷HVOL相同的卷大小的主机卷HVOL与这些存储控制器30分别对应起来,分别生成在与这些存储控制器30相同的存储服务器7内。另外,这些存储控制器30的动作模式被设定为待机模式。
另外,在上述的步骤S15及步骤S16中,在各数据中心2内分别新生成的各主机卷HVOL(包含所有者主机卷HVOL)与存储控制器30的对应、与这些主机卷HVOL分别对应的存储控制器30的动作模式(激活模式或待机模式)的设定也可以由存储系统10的管理者或用户手动进行。以下也同样如此。
另一方面,管理服务器4在步骤S10或步骤S11的判断中得到否定结果的情况下,判断在指定数据中心2内的各存储服务器7中是否存在能够扩展容量直到能够生成指定主机卷HVOL的存储服务器7(S12)。
具体而言,管理服务器4对安装于指定数据中心2的任一个存储服务器7的任一个存储控制器30询问与指定数据中心2内的各存储服务器7分别逻辑连接的网络驱动器8(图1)的数量。这是因为能够与存储服务器7逻辑连接的网络驱动器8的数量是已决定的,因此确认是否能够对各存储服务器7追加连接网络驱动器8来扩展容量。
另外,管理服务器4还向这样的存储控制器30询问配置在指定数据中心2且未与任何存储服务器7逻辑连接的网络驱动器8的数量以及这些网络驱动器8的容量。然后,管理服务器4基于如上述那样得到的各信息,判定在指定数据中心2内是否存在能够通过追加连接指定数据中心2内的网络驱动器8来扩展容量直到能够生成指定主机卷HVOL的存储服务器7。
此时,管理服务器4在某个存储服务器7能够扩展的情况下,针对分别安装了与在该存储服务器7中要与所有者主机卷HVOL建立对应的存储控制器30构成冗余化组36的其他存储控制器30的其他数据中心2的存储服务器7,也判定是否能够扩展相同的容量。这是因为,对于这些存储服务器7也需要生成与所有者存储控制器30相同卷大小的主机卷HVOL。
然后,管理服务器4在步骤S12的判断中得到否定结果时,将错误通知发送到上述卷生成请求的发送源的用户终端6(S13),之后,结束该卷生成处理。其结果,基于该错误通知,在该用户终端6上显示表示不能生成指定主机卷HVOL的警告。
与此相对,管理服务器4在步骤S12的判断中得到肯定结果时,从在步骤S12中判定为能够扩展容量(包含其他数据中心2内的对应的存储服务器7的容量扩展)的指定数据中心2内的存储服务器7中选择1个存储服务器7,执行通过对所选择的存储服务器7(以下,将其称为选择存储服务器7)追加地逻辑连接网络驱动器8来扩展该选择存储服务器7的容量的服务器容量扩展处理(S14)。
另外,管理服务器4对想要与扩展了容量的选择存储服务器7内的所有者主机卷HVOL建立对应的存储控制器30,提供该所有者主机卷HVOL的生成指示(S15)。由此,由该存储控制器30指定的卷大小的所有者主机卷HVOL与该存储控制器30对应地在与该存储控制器30相同的存储服务器7内生成。此外,该存储控制器30的动作模式被设置为激活模式。
另外,之后,管理服务器4对与该存储控制器30构成相同的冗余化组36的其他数据中心2内的各存储控制器30也指示生成与该所有者主机卷HVOL相同的卷大小的主机卷HVOL(S16)。由此,通过这些存储控制器30,与所有者主机卷HVOL相同的卷大小的主机卷HVOL与这些存储控制器30分别对应地分别生成在与这些存储控制器30相同的存储服务器7内。另外,这些存储控制器30的动作模式被设定为待机模式。
然后,管理服务器4结束该主机卷生成处理。
另外,图17表示在该主机卷生成处理的步骤S14中由管理服务器4执行的服务器容量扩展处理的流程。
管理服务器4在进入图16的步骤S14时,开始该图17所示的服务器容量扩展处理,首先,分别决定分别安装有与构成上述的所有者主机卷HVOL所属的主机卷组50(图10)的各主机卷HVOL(包含所有者主机卷HVOL)分别建立对应的各存储控制器30的各数据中心2内的存储服务器7(以下,将这些存储服务器7称为容量扩展对象存储服务器7)的扩展容量(S20)。
接着,管理服务器4决定分别与这些容量扩展对象存储服务器7逻辑连接的网络驱动器8(S21),使得能够相等地扩展各容量扩展对象存储服务器7的容量,将所决定的网络驱动器8分别与对应的容量扩展对象存储服务器7逻辑连接(S22)。
具体而言,管理服务器4对将构成该主机卷组的各主机卷HVOL分别对应起来的各数据中心2的存储控制器30通知逻辑连接了该网络驱动器8。另外,管理服务器4对本存储系统10内的各冗余化组36的激活模式的存储控制器30发出如下指示:更新为在图4所述的存储结构管理表35的与容量扩展对象存储服务器7对应的网络驱动器ID栏35C中追加了此时逻辑连接的网络驱动器8的网络驱动器ID的状态。
接着,管理服务器4对本存储系统10内的各冗余化组36的激活模式的存储控制器30分别给予指示,以便在分别连接于各容量扩展对象存储服务器7的各网络驱动器8分别提供的存储区域间生成块组38(图6),并将所生成的块组38更新为登记于图9所述的块组管理表41中的状态(S23)。然后,管理服务器4结束该服务器容量扩展处理,进入主机卷生成处理的步骤S15。
(1-4)服务器使用容量监视处理的流程
另一方面,图18表示在各数据中心2中,由安装于某个存储服务器7的特定的存储控制器30的控制平面(以下,将其称为特定控制平面)32分别定期地执行的服务器使用容量监视处理的流程。
特定控制平面32按照该图18所示的处理顺序,监视本存储控制器30存在的数据中心(以下,将其称为本数据中心)2内的各存储服务器7的使用容量,在任一个存储服务器7的使用容量超过了预先设定的阈值(以下,将其称为使用容量阈值)的情况下,执行用于扩展该存储服务器7的容量的处理。
实际上,若开始该图18所示的服务器容量监视处理,则特定控制平面32首先从安装于本数据中心2内的各存储服务器7的某个存储控制器30分别取得该存储服务器7的容量和当前的使用容量。此时,还取得安装有本存储控制器30的存储服务器7的容量和当前的使用容量(S30)。
接着,特定控制平面32基于所取得的这些信息,判断本数据中心2内的某个存储服务器7的使用容量是否超过了上述的使用容量阈值(S31)。然后,特定控制平面32在该判断中得到否定结果时,结束该存储服务器使用容量监视处理。
与此相对,特定控制平面32在步骤S31的判断中得到否定结果时,与图16所述的主机卷生成处理的步骤S12同样地,判断使用容量超过了使用容量阈值的存储服务器7(以下,将其称为使用容量超过存储服务器7)是否能够扩展(S32)。
然后,特定控制平面32在该判断中得到肯定结果时,通过执行与图17所述的服务器容量扩展处理同样的处理,分别扩展该使用容量超过存储服务器7的容量、和安装有与安装于使用容量超过存储服务器7的存储控制器30构成冗余化组36的其他存储控制器30的存储服务器7的容量(S33),之后,结束该服务器使用容量监视处理。
与此相对,特定控制平面32在步骤S32的判断中得到否定结果时,执行使与使用容量超过存储服务器7相同或不同的数据中心2的存储服务器7、即具有能够移动使用容量超过存储服务器7内的某一个主机卷HVOL的空余容量的存储服务器7移动该主机卷HVOL的主机卷移动处理(S34),之后,结束该服务器使用容量监视处理。
另外,图19表示这样的主机卷移动处理的具体的处理内容。特定控制平面32在进入服务器使用容量监视处理的步骤S34时,开始该图19所示的主机卷移动处理。
然后,特定控制平面32首先基于在服务器使用容量监视处理的步骤S30中取得的本数据中心2内的各存储服务器7的容量和当前的使用容量,从本数据中心2内的存储服务器7中的、具有能够移动使用容量超过存储服务器7内的某一个主机卷HVOL的程度的空闲容量的存储服务器7中选择1个存储服务器7(S40)。
然后,特定控制平面32判断在该步骤S40中是否可以选择存储服务器7(S41),如果可以选择,则前进到步骤S43。
与此相对,特定控制平面32在步骤S41的判断中得到否定结果时,通过向与本数据中心2不同的各数据中心2内的某一个存储服务器7的某一个存储控制器30的控制平面32询问该数据中心2内的各存储服务器7的容量以及当前的使用容量来取得。然后,管理服务器4基于所取得的这些信息,从与本数据中心2不同的数据中心2内的存储服务器7中,选择具有能够移动使用容量超过存储服务器7内的某一个主机卷HVOL的空闲容量的存储服务器7(S42)。
接着,特定控制平面32从使用容量超过存储服务器7内的主机卷HVOL中选择向其他存储服务器7移动的移动对象的主机卷(以下,将其称为移动对象主机卷)HVOL,将选择出的移动对象主机卷HVOL的数据复制到在步骤S40或步骤S42中选择出的存储服务器7(S43)。
具体而言,特定控制平面32首先在移动对象主机卷HVOL的移动目的地存储服务器7内生成主机卷HVOL,将生成的主机卷HVOL与安装在该存储服务器7中的某一激活模式的存储控制器30建立对应。然后,特定控制平面32向该主机卷HVOL复制移动对象主机卷HVOL的数据。
另外,特定控制平面32将该存储控制器30和构成冗余化组36的其他数据中心2内的其他存储控制器(以下,将其称为关联存储控制器)30分别建立对应,分别生成与在安装有该关联存储控制器30的存储服务器7内也复制了该移动对象主机卷HVOL的数据的主机卷HVOL一起构成主机卷组50(图10)的主机卷HVOL。
然后,特定控制平面32将生成的这些主机卷HVOL分别与相同的存储服务器7内的关联存储控制器30建立对应。
接着,特定控制平面32将从到此为止在移动对象主机卷HVOL中读取/写入了用户数据的应用33到复制了移动对象主机卷HVOL的数据的主机卷(以下,将其称为数据复制目的地主机卷)HVOL的路径设定为最优化(“Optimized”)路径(S44)。
由此,之后,存在从该应用33向该数据复制目的地主机卷HVOL的登录时,向该应用33提供应该将该路径设定为最优化(“Optimized”)路径的意思的通知,基于该通知,该应用33将该路径设定为最优化(“Optimized”)路径,将其他路径设定为非最优化(“Non-Optimized”)路径。然后,管理服务器结束该卷移动处理。
此外,除了容量以外,也可以以使卷的负荷再平衡为目的,在数据中心2内在存储服务器7之间进行主机卷HVOL的移动处理。
(1-5)本实施方式的效果
根据具有以上结构的本实施方式的存储系统10,能够在确保数据局部性的同时,将冗余化数据存储于其他数据中心2(其他可用区),因此,即使在配置有激活模式的存储控制器30的数据中心2发生了以数据中心为单位(可用区为单位)的故障的情况下,也能够通过构成相同冗余化组36的设定为待机模式的存储控制器30来接管该存储控制器30此前所进行的处理。因此,根据本实施方式,能够实现可承受以可用区为单位的故障的高可用的存储系统10。
另外,根据本存储控制器30,能够使应用33和该应用33使用的用户数据始终存在于相同的可用区,因此能够抑制在激活模式的存储控制器30处理来自应用33的I/O请求时发生跨可用区的通信。因此,根据本存储系统10,能够抑制以伴随可用区间的通信的通信延迟为原因的I/O性能的降低、据点间的通信所导致的成本的产生。
而且,根据本存储系统10,即使在发生了以数据中心为单位的故障的情况下,不仅对存储控制器30进行失效备援,而且应用33、用户数据也移动到失效备援目的地的数据中心2,因此能够实现可承受以可用区为单位的故障的可用性高的系统构筑。为了失效备援,在通常运转时需要在数据中心2之间进行通信,但在本存储系统10中,使其通信量变少。
(2)第二实施方式
对与图1的对应部分标注相同标号而示出的图20示出了第二实施方式的云系统70。该云系统70构成为具备设置于相互不同的可用区的第一~第三数据中心71A、71B、71C。
这些第一~第三数据中心71A~71C之间经由专用网络3相互连接。另外,在专用网络3上连接有管理服务器72,由第一~第三数据中心71A~71C和管理服务器72构成存储系统73。此外,以下,在不需要特别区分第一~第三数据中心71A~71C的情况下,将它们统称为数据中心71。
在第一和第二数据中心71A、71B中分别配置有构成分布式存储系统的多台存储服务器74和多台网络驱动器8。另外,在第三数据中心71C未配置网络驱动器8,仅配置有至少1台存储服务器75。这些存储服务器74和75的硬件结构与图2所述的第一实施方式的存储服务器4相同,因此这里省略其说明。
对与图3的对应部分标注相同符号的图21表示分别配置于各数据中心71的存储服务器74、75的逻辑结构。如该图21所示,配置于第一以及第二数据中心71A、71B的各存储服务器74具有与第一实施方式的存储服务器7同样的逻辑结构。
实际上,存储服务器74具备具有数据平面77及控制平面78的1个或多个存储控制器76而构成。数据平面77是具有根据来自安装于主机服务器9的应用33的I/O请求,经由数据中心内网络34向网络驱动器8读取/写入用户数据的功能的功能部。另外,控制平面78是具有管理存储系统73(图20)的结构的功能的功能部。
这些数据平面77及控制平面78的动作与在第一实施方式的存储系统10中在1个数据中心2发生了以数据中心为单位的故障时,在剩余的2个数据中心2内的存储服务器7中分别安装的存储控制器30所执行的动作相同,因此省略此处的说明。另外,本实施方式中的用户数据的冗余化始终通过镜像来进行。
另一方面,配置于第三数据中心71C的存储服务器75构成为具备仅具有控制平面80的1个或多个存储控制器79。因此,在本实施方式的存储系统73中,第三数据中心71C的存储服务器75无法进行用户数据的I/O处理。因此,在第三数据中心71C中,主机服务器9和网络驱动器8都不存在,也不生成主机卷HVOL。即,在本存储系统73的情况下,在第三数据中心71C中无法保持用户数据。
存储控制器79的控制平面80具有如下功能:通过与安装于第一和第二数据中心71A、71B内的存储服务器74的构成相同的冗余化组36(图5)的存储控制器76的控制平面78之间交换心跳信号,进行这些第一和第二数据中心71A、71B内的存储服务器74的生死监视。
图22表示在本实施方式的存储系统73中,代替图16所述的第一实施方式的主机卷生成处理,由本实施方式的管理服务器72执行的主机卷生成处理的处理步骤。
在本存储系统73中,用户也使用图15所述的主机卷生成画面60,如上所述指定此时要生成的所有者主机卷HVOL的卷ID、卷大小以及生成目的地的数据中心71后,点击确认按钮64,指示管理服务器72生成该所有者主机卷HVOL。
其结果,在显示该主机卷生成画面60的用户终端6(图20)中生成包含用户指定的卷ID、卷大小以及生成目的地的数据中心71的各信息的卷生成请求,将生成的卷生成请求发送到管理服务器72。
管理服务器72在被提供该卷生成请求时,按照图22所示的处理步骤,在卷生成请求中被指定为所有者主机卷HVOL的生成目的地的数据中心(指定数据中心)71内的某一个存储服务器74内生成被请求的卷ID以及卷大小的所有者主机卷HVOL。
具体而言,管理服务器72在被提供该卷生成请求时,开始该图22所示的主机卷生成处理,首先,判断卷生成请求中的指定数据中心71是否是能够保持用户数据的数据中心71(S50)。
例如,通过向在卷生成请求中被指定为所有者主机卷HVOL的生成目的地的数据中心(指定数据中心)71内的某个存储控制器76的控制平面78、80,询问与该指定数据中心71内的各存储服务器74、75分别逻辑连接的网络驱动器8的数量等,能够判断该指定数据中心71是否是能够保持数据的数据中心。
然后,管理服务器72在该判断中得到否定结果时,将错误通知发送到卷生成请求的发送源的用户终端6(S54),之后,结束该主机卷生成处理。其结果是,在该用户终端6上显示在由用户指定的数据中心71不能生成主机卷HVOL的意思的警告。
与此相对,管理服务器72在步骤S50的判断中得到肯定结果时,与图16所述的第一实施方式的主机卷生成处理的步骤S10~步骤S16同样地执行步骤S51~步骤S57的处理。由此,在由用户指定的数据中心71内的某个存储服务器7等中生成由用户指定的主机卷ID以及卷大小的主机卷HVOL。然后,管理服务器72结束该主机卷生成处理。
根据具有以上结构的本实施方式的存储系统73,即使在2个数据中心2中进行用户数据的I/O处理的情况下,也能够得到与第一实施方式的存储系统10同样的效果。
(3)其他实施方式
另外,在上述的实施方式中,针对用于指定生成与现用系统的存储控制器30对应的主机卷HVOL的可用区的用户界面即图15,说明了提示上述的主机卷生成画面60的用户界面提示装置是用户终端6的情况,但本发明不限于此,也可以将该主机卷生成画面60显示在管理服务器4、72中,管理者根据来自用户的请求显示主机卷生成画面60。
另外,在上述的实施方式中,叙述了按每个数据中心2,作为监视该数据中心2内的各存储服务器7、74的使用容量的容量监视部而应用该数据中心2内的存储控制器30的情况,但本发明不限于此,也可以用监视服务器4、72代替具有作为这样的容量监视部的功能的容量监视装置,或者将这样的容量监视装置与存储服务器7独立地设置在各数据中心2内。另外,存储控制器30、这样的容量监视装置也可以不监视数据中心2内的各存储服务器7、74的使用容量,而监视各存储服务器7、74的剩余容量。
[产业上的可利用性]
本发明涉及信息处理系统,能够广泛应用于由分别配置在不同的可用区的多个存储服务器构成的分布式存储系统。
Claims (9)
1.一种信息处理系统,其具有在通过网络连接的多个据点分别配置有多个的存储服务器,其特征在于,所述信息处理系统具备:
存储装置,其分别配置在所述据点,存储数据;以及
存储控制器,其安装于所述存储服务器,对上位应用提供逻辑卷,对经由所述逻辑卷读写到所述存储装置的数据进行处理,
形成包含配置于不同据点的多个所述存储控制器的冗余化组,所述冗余化组包含:激活状态的存储控制器,其对数据进行处理;以及待机状态的存储控制器,其在所述激活状态的存储控制器发生了故障的情况下,接管所述数据的处理,
所述激活状态的存储控制器执行如下处理:
将来自配置于相同的所述据点的上位应用的所述数据存储在配置于该据点的所述存储装置中,并且
将用于复原存储于相同的据点的存储装置的数据的冗余化数据存储到配置有相同的冗余化组的待机状态的存储控制器的其他所述据点所配置的所述存储装置中。
2.根据权利要求1所述的信息处理系统,其特征在于,
所述存储控制器基于预定的条件,使所述逻辑卷移动到相同据点的其他存储控制器。
3.根据权利要求2所述的信息处理系统,其特征在于,
所述信息处理系统还具备管理所述存储服务器的管理服务器,
在配置有所述激活状态的存储控制器的据点发生了故障的情况下,
与发生了所述故障的据点的激活状态的存储控制器属于相同的所述冗余化组,且配置于其他据点的待机状态的存储控制器变化为激活状态而接管所述数据的处理,
使用存储于所述其他据点的存储装置的冗余化数据,在接管了所述存储控制器的处理的所述存储控制器所存在的所述据点的存储装置中复原存储于发生了所述故障的据点的存储装置的数据,
所述管理服务器在接管了所述存储控制器的处理的所述存储控制器所存在的所述据点,启动与所述上位应用相同的应用。
4.根据权利要求3所述的信息处理系统,其特征在于,
在从所述上位应用到各所述逻辑卷的路径中,与所述激活状态的存储控制器对应的所述路径被设定为用于该上位应用读写数据的最优化路径,
在所述据点发生故障,所述激活状态的存储控制器的处理被相同的所述冗余化组内的其他所述存储控制器接管的情况下,从所述上位应用到接管了该处理的所述存储控制器的路径被设定为用于为了接管该上位应用而启动的应用读写所述数据的路径。
5.根据权利要求4所述的信息处理系统,其特征在于,
所述信息处理系统还具备:用户界面提示部,其提示用户界面,该用户界面用于指定生成与所述激活状态的存储控制器对应的所述逻辑卷的所述据点。
6.根据权利要求1所述的信息处理系统,其特征在于,
所述信息处理系统还具备:容量监视部,其按每个所述据点监视该据点内的各所述存储服务器的使用容量或剩余容量,
所述容量监视部在某一个所述存储服务器的所述使用容量或所述剩余容量成为预定的条件的情况下,扩展对构成安装于该存储服务器的所述存储控制器所属的所述冗余化组的各所述存储控制器分别进行了安装的各所述存储服务器的容量。
7.根据权利要求6所述的信息处理系统,其特征在于,
所述容量监视部在无法扩展对构成安装于所述存储服务器的所述存储控制器所属的所述冗余化组的各所述存储控制器分别进行了安装的各所述存储服务器的容量的情况下,将所述存储服务器的存储控制器提供的逻辑卷移动到设置于相同的所述据点的其他所述存储服务器。
8.根据权利要求1所述的信息处理系统,其特征在于,
存储在配置于所述其他据点的存储装置中的冗余化数据是镜像数据、或者基于分别存储在不同据点的多个数据而生成的奇偶校验位,
所述激活状态的控制器为了生成所述镜像数据或者奇偶校验位,将存储在所述相同据点的存储装置中的数据转发到存储所述冗余化数据的其他所述据点,并将所述逻辑卷所涉及的数据存储在与该逻辑卷相同据点的存储装置中,由此能够与任意其他据点都不进行数据转发地进行数据的读出处理。
9.一种在信息处理系统中执行的信息处理方法,所述信息处理系统具有在通过网络连接的多个据点分别配置有多个的存储服务器,其特征在于,
所述信息处理系统具有:
存储装置,其分别配置在所述据点,存储数据;以及
存储控制器,其安装于所述存储服务器,对上位应用提供逻辑卷,对经由所述逻辑卷读写到所述存储装置的数据进行处理,
形成包含配置于不同的据点的多个所述存储控制器的冗余化组,所述冗余化组包含:激活状态的存储控制器,其对数据进行处理;以及待机状态的存储控制器,其在所述激活状态的存储控制器发生了故障的情况下,接管所述数据的处理,
所述信息处理方法具备以下步骤:
所述激活状态的存储控制器执行将来自配置于相同的所述据点的上位应用的所述数据存储在配置于该据点的所述存储装置中,并且将用于复原存储于相同的所述据点的存储装置的数据的冗余化数据存储到配置有相同的冗余化组的待机状态的存储控制器的其他所述据点所配置的所述存储装置中的处理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022-212311 | 2022-12-28 | ||
JP2022212311A JP2024095203A (ja) | 2022-12-28 | 情報処理システム及び情報処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118260222A true CN118260222A (zh) | 2024-06-28 |
Family
ID=91603064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310222127.7A Pending CN118260222A (zh) | 2022-12-28 | 2023-03-09 | 信息处理系统以及信息处理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240220378A1 (zh) |
CN (1) | CN118260222A (zh) |
-
2023
- 2023-03-09 CN CN202310222127.7A patent/CN118260222A/zh active Pending
- 2023-03-09 US US18/119,414 patent/US20240220378A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240220378A1 (en) | 2024-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857445B (zh) | 存储系统和控制软件配置方法 | |
US9600192B2 (en) | Managing metadata and data for a logical volume in a distributed and declustered system | |
EP1796004B1 (en) | Storage system and data processing system | |
US8312236B2 (en) | Apparatus and program storage device for providing triad copy of storage data | |
US9098466B2 (en) | Switching between mirrored volumes | |
US7941602B2 (en) | Method, apparatus and program storage device for providing geographically isolated failover using instant RAID swapping in mirrored virtual disks | |
US20050234916A1 (en) | Method, apparatus and program storage device for providing control to a networked storage architecture | |
EP3648405B1 (en) | System and method to create a highly available quorum for clustered solutions | |
US7849264B2 (en) | Storage area management method for a storage system | |
US7886186B2 (en) | Storage system and management method for the same | |
JP6974281B2 (ja) | ストレージシステム及びストレージ制御方法 | |
JP6653370B2 (ja) | ストレージシステム | |
JP6227771B2 (ja) | 論理ボリュームを管理するためのシステム及び方法 | |
US7293191B1 (en) | System and method for managing I/O errors in a storage environment employing asymmetric distributed block virtualization | |
CN118260222A (zh) | 信息处理系统以及信息处理方法 | |
US11269539B2 (en) | Methods for managing deletion of data objects by utilizing cold storage and devices thereof | |
US10768834B2 (en) | Methods for managing group objects with different service level objectives for an application and devices thereof | |
JP2024095203A (ja) | 情報処理システム及び情報処理方法 | |
JP7506707B2 (ja) | 記憶システム及び障害対処方法 | |
JP2016024656A (ja) | ストレージ制御装置、ストレージシステム及びストレージ制御プログラム | |
JP7057408B2 (ja) | 記憶システム及びその制御方法 | |
US20200097377A1 (en) | Storage control apparatus and recovery method of a failed track | |
JP2024049171A (ja) | ユニファイドストレージ及びユニファイドストレージの制御方法 | |
JP2023151189A (ja) | ストレージシステム及びその制御方法 | |
JP2024030968A (ja) | 情報処理システム及びバックアップ方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |