CN114281240A - 存储系统及其控制方法 - Google Patents

存储系统及其控制方法 Download PDF

Info

Publication number
CN114281240A
CN114281240A CN202110196110.XA CN202110196110A CN114281240A CN 114281240 A CN114281240 A CN 114281240A CN 202110196110 A CN202110196110 A CN 202110196110A CN 114281240 A CN114281240 A CN 114281240A
Authority
CN
China
Prior art keywords
storage
node
redundancy group
standby
program
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
Application number
CN202110196110.XA
Other languages
English (en)
Inventor
伊藤晋太郎
山本贵大
田岛幸惠
扬妻匡邦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN114281240A publication Critical patent/CN114281240A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2023Failover techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1096Parity calculation or recalculation after configuration or reconfiguration of the system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2035Error 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 without idle spare hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2046Error 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 where the redundant components share persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Abstract

本发明提供一种存储系统和存储系统构建方法,在避免资源消耗的集中的同时,确保两台以上的存储节点发生了故障时的可用性。各冗余组由一个激活程序(激活程序的存储控制程序)和N(N为2以上的整数)个待机程序构成。该N个待机程序分别关联作为FO(故障转移)目的地确定的优先顺序。在同一冗余组中进行基于优先顺序从激活程序向待机程序的FO。关于配置于同一节点的多个冗余组中的包含激活程序和因FO而变为激活的待机程序的多个存储控制程序,将各程序配置于能够成为FO目的地的待机的存储控制程序彼此不同的节点。

Description

存储系统及其控制方法
技术领域
本发明涉及存储系统及其控制方法,例如,优选适用于具备分别安装有一或多个SDS(Software Defined Storage:软件定义存储)的多个存储节点的信息处理系统。
背景技术
目前,在信息处理系统中,为了提高可用性和可靠性,大多采用服务器装置的冗余结构。
例如,专利文献1中公开了通过将属于某个冗余组的现用系统(激活)的存储控制软件和属于其它冗余组的待机系统(待机)的存储控制软件配置于相同的服务器,有效地利用服务器,并且提高存储控制软件的可用性的技术。
现有技术文献
专利文献
专利文献1:日本特开2019-101703号公报
发明内容
发明所要解决的问题
为了确保在两台以上的服务器中发生了故障时的可用性,考虑将各冗余组中的待机的存储控制软件的数量设为2以上,即将构成各冗余组的存储控制软件的数量设为3以上。在该情况下,在两台服务器发生了故障的情况下,一台服务器能够使三个激活的存储控制软件运行。作为结果,存在负载集中于一台服务器而I/O性能降低这一问题、以及存储器消耗变大这一问题。
为了避免这样的问题,考虑在第二台服务器发生了故障时,预先将两个已运行的激活的存储控制软件转移到其它服务器的这一方法。但是,在该方法中,由于存储控制软件的转移处理,不能开始发生了故障的服务器的激活控制软件的故障转移,从而I/O停止时间延长。
作为其它的方法,考虑在某个冗余组中仅剩一个待机的存储控制软件的情况下,预先将处于存在该待机控制软件的服务器的激活控制软件转移到其它服务器的方法。但是,在该方法中,由于存储控制软件的转移处理,未发生故障的服务器的I/O性能降低。
另外,作为其它的方法,考虑在服务器发生了故障时,基于其它的各服务器中的激活的存储控制软件的数量,选择将发生了故障的服务器中的包含激活的存储控制软件的冗余组内的多个待机的存储控制软件中的任一个待机的存储控制软件激活的方法。但是,在该方法中,在存储节点发生了故障时,需要用于检测其它各存储器中的激活的存储控制软件的数量的节点间通信,直到故障转移的结束耗费时间,作为结果,I/O停止时间延长。
用于解决问题的技术方案
关于由(N+1)的存储控制程序构成的各冗余组,一个存储控制程序是作为激活的存储控制程序的激活程序,其余的N个存储控制程序均是作为待机的存储控制程序的待机程序,所述N个待机程序分别关联被决定为故障转移目的地的优先顺序。在配置有激活程序的存储节点发生了故障的情况下,进行从该激活程序向优先顺序为最优先的待机程序的在所述冗余组内的故障转移。其中冗余组α的配置条件是,该冗余组α中的N个待机程序中,在关于冗余组α的所有的冗余组β的影响节点中的第k以内的影响节点中最多配置k个。关于冗余组α的冗余组β是包含配置于冗余组α的第m影响节点的激活程序的冗余组,其中m为自然数且m<N。冗余组α的第m影响节点是配置有冗余组α中的优先顺序m的待机程序的存储节点。配置有冗余组α中的激活程序的存储节点为第0影响节点。配置有关于冗余组α的冗余组β中的优先顺序k的待机程序的存储节点为冗余组α的第(m+k)影响节点,其中k为自然数且1≤k≤(N-m)。
发明效果
根据本发明,能够在避免资源消耗的集中的同时确保在两台以上的存储节点发生了故障时的可用性。
附图说明
图1表示第一实施方式的信息处理系统的结构例。
图2表示第一实施方式的存储节点的物理结构例。
图3表示第一实施方式的存储节点的逻辑结构例。
图4表示存储于第一实施方式的存储节点的程序和数据的一例。
图5表示第一实施方式的存储控制部的配置方式的一例。
图6表示第一实施方式的存储控制部的配置的一例。
图7表示发生故障的第一台存储节点为存储节点1的情况。
图8表示发生故障的第二台存储节点为存储节点3的情况。
图9表示发生故障的第二台存储节点为存储节点2的情况。
图10表示发生故障的第二台存储节点为存储节点0的情况。
图11表示第一实施方式的一比较例。
图12表示第一实施方式的一比较例。
图13表示第一实施方式的一比较例。
图14表示第一实施方式的存储控制部的配置的一例。
图15表示第一实施方式的存储控制部的配置方式的一例。
图16表示第一实施方式的存储控制部的配置的一例。
图17表示第二实施方式的存储节点的逻辑结构例。
图18表示第二实施方式中的影响节点的概念和存储控制部的配置方法的例。
图19表示第二实施方式的存储控制部的配置的一例。
图20表示第二实施方式的存储控制部的配置的一例。
图21表示第二实施方式的存储控制部的配置的一例。
图22表示第二实施方式的存储控制部的配置的一例。
图23表示第三实施方式的存储控制部的配置的一例。
图24表示第三实施方式的存储控制部的配置的一例。
具体实施方式
在以下的说明中,“接口装置”可以为一个以上的接口设备。该一个以上的接口设备可以为下述中的至少一个。
·一个以上的I/O(Input/Output:输入输出)接口设备。I/O(Input/Output)接口设备为对于I/O设备和远程显示用计算机中的至少一个的接口设备。对于显示用计算机的I/O接口设备可以为通信接口设备。至少一个I/O设备也可以为用户接口设备、例如键盘和点击设备那样的输入设备和显示设备那样的输出设备中的任一个。
·一个以上的通信接口设备。一个以上的通信接口设备可以为一个以上的同种的通信接口设备(例如一个以上的NIC(Network Interface Card:网络接口卡)),也可以为两个以上的异种的通信接口设备(例如,NIC和HBA(Host Bus Adapter:主机总线适配器))。
另外,在以下的说明中,“存储器”为一个以上的存储器设备,典型而言可以为主存储设备。存储器中的至少一个存储器设备可以为易失性存储器设备,也可以为非易失性存储器设备。
另外,在以下的说明书中,“存储装置”为一个以上的永久存储设备。永久存储设备典型而言可以为非易失性的存储设备(例如辅助存储设备),具体而言,例如,也可以为HDD(Hard Disk Drive:硬盘驱动器)、SSD(Solid State Drive:固态硬盘)、NVME(Non-Volatile Memory Express:非易失性存储器标准)驱动、或SCM(Storage Class Memory:存储级内存)。
另外,在以下的说明中,“处理器”可以为一个以上的处理器设备。至少一个处理器设备典型而言可以为CPU(Central Processing Unit:中央处理器)那样的微处理器设备,但也可以为GPU(Graphics Processing Unit:图形处理器)那样的其它种类的处理器设备。至少一个处理器设备可以为单核心,也可以为多核心。至少一个处理器设备也可以为处理器核心。至少一个处理器设备也可以是按照硬件描述语言进行一部分处理或全部处理的作为门矩阵的集合体的电路(例如,FPGA(Field-Programmable Gate Array:现场可编程门阵列)、CPLD(Complex Programmable Logic Device:复杂可编程逻辑器件)或ASIC(Application Specific Integrated Circuit:专用集成电路))之类的广义的处理器设备。
另外,在以下的说明中,有时将“程序”作为主语对处理进行说明,但程序通过利用处理器执行,从而在适当使用存储装置和/或接口装置等的同时进行确定的处理,因此,处理的主语也可以为处理器(或具有该处理器的控制器那样的设备)。程序也可以从源程序安装于计算机那样的装置。源程序例如也可以为程序分发服务器或计算机能够读取的(例如非暂时的)记录介质。另外,在以下的说明中,两个以上的程序可以作为一个程序来实现,一个程序也可以作为两个以上的程序来实现。
另外,在以下的说明中,有时在未区别同种要素并进行说明的情况下,使用参照标记,在区别同种的要素并进行说明的情况下,使用分配给该要素的识别信息(例如标记或编号)。
以下,关于附图,对本发明的几个实施方式进行详细描述。
(1)第一实施方式
(1-1)本实施方式的信息处理系统的结构
图1表示本实施方式的信息处理系统的结构例。
该信息处理系统例如具有经由由光纤通道(Fibre Channel)、以太网(注册商标)或LAN(Local Area Network:局域网)等构成的网络102而相互连接的多个主机装置101、多个存储节点103、管理节点104而构成。
主机装置101是按照用户操作和/或来自安装的应用程序的请求,对存储节点103发送读请求或写请求(以下适当将它们统称为I/O(Input/Output)请求)的通用的计算机装置。此外,主机装置101也可以为虚拟机那样的虚拟的计算机装置。
具体而言,例如,存储节点103是对主机装置101提供用于读写数据的存储区域的物理服务器装置,如图2所示,具备CPU(Central Processing Unit)1031、存储器1032、多个存储设备1033和通信装置1034而构成。CPU1031为处理器的一例。多个存储设备1033为存储装置的一例。通信装置1034为接口装置的一例。
CPU1031为管理存储节点103整体的动作控制的设备。另外,存储器1032由SRAM(Static RAM(Random Access Memory:随机存取存储器))或DRAM(Dynamic RAM)等易失性的半导体存储器构成,用于暂时保存各种程序和必要的数据。通过CPU1031执行存储于存储器1032的程序,执行作为后述的存储节点103整体的各种处理。
存储设备1033由SSD(Solid State Drive)、SAS(Serial Attached SCSI(SmallComputer System Interface))硬盘驱动器或SATA(Serial ATA(Advanced TechnologyAttachment))硬盘驱动器等一种或多种大容量的非易失性存储装置构成,根据来自主机装置101(图1)的写/读请求(以下将其称为I/O(Input/Output)请求),提供用于读/写数据的物理的存储区域。
通信装置1034为用于存储节点103经由网络102(图1)与主机装置101、以及其它存储节点103或管理节点104进行通信的接口,例如由NIC(Network Interface Card)或FC(Fibre Channel)卡等构成。通信装置1034进行与主机装置101、其它存储节点103或管理节点104的通信时的协议控制。
管理节点104是用于系统管理员管理本信息处理系统整体的计算机装置。管理节点104也可以作为将多个存储节点103称为“集群”的组来管理。此外,图1中,表示仅设置有一个集群的例子,但也可以在信息处理系统内设置多个集群。另外,管理节点104例如也可以具备接口装置、存储装置、存储器以及与它们连接的处理器。存储装置或存储器也可以存储结构信息51之类的信息、用于实现配置控制部53的程序。结构信息5例如也可以包含每个节点的识别编号和后述的每个冗余组的识别编号。也可以通过处理器执行程序来实现配置控制部53。配置控制部53也可以基于结构信息51,确定将哪一个存储控制部配置于哪一个存储节点103,并将存储控制部配置于确定为配置目的地的存储节点103。代替配置控制部53基于结构信息51自动地配置存储控制部,也可以是配置控制部53响应于来自用户(例如管理员)的操作来配置存储控制部。
图3表示存储节点103的逻辑结构例。
如该图3所示,各存储节点103具备前端驱动器1081和后端驱动器1087、一个或多个存储控制部1083以及容量控制部1086。
前端驱动器1081是具有控制通信装置1034(图2),并对存储控制部1083将与主机装置101、其它存储节点103或管理节点104的通信时的抽象的接口提供给CPU1031(图2)的功能的软件。另外,后端驱动器1087是具有控制本存储节点103内的各存储设备1033(图2),并将与这些存储设备1033通信时的抽象的接口提供给CPU1031的功能的软件。
存储控制部1083是用作SDS(Software Defined Storage)的控制器的软件,为存储控制程序的一例。存储控制部1083接收来自主机装置101的I/O请求,并将与该I/O请求对应的I/O命令发行到容量控制部1086。
在本实施方式的情况下,安装于存储节点103的各存储控制部1083被管理为与配置于另外两个以上的存储节点103的另外的两个以上的存储控制部1083一起构成冗余结构的组。以下,将该组称为“冗余组”。
此外,图3中,表示由三个存储控制部1083构成一个冗余组的情况,以下对由三个存储控制部1083(即被三重化的存储控制部1083)构成冗余组的情况进行说明。
在冗余组中,一个存储控制部1083被设定为能够接收来自主机装置101的I/O请求的状态(为现用系统的状态,以下将其称为激活模式),其余的存储控制部1083分别被设定为未接收来自主机装置101的读请求和写请求的状态(待机系统的状态,以下将其称为待机模式)。
而且,在冗余组中,在设定为激活模式的存储控制部1083(以下将其称为激活存储控制部1083)或配置有该激活存储控制部1083的存储节点103发生了故障的情况等下,将迄今为止设定为待机模式的存储控制部1083(以下将其称为待机存储控制部1083)的状态切换为激活模式。在包含该激活存储控制部1083的冗余组中,进行从激活存储控制部1083到待机存储控制部1083的故障转移。由此,在激活存储控制部1083不能工作的情况下,能够通过待机存储控制部1083接替该激活存储控制部1083执行的I/O处理。
容量控制部1086是具有对各冗余组分配本存储节点103内或其它存储节点103内的存储设备1033所提供的物理存储区域,并且,根据从存储控制部1083赋予的上述I/O命令,向对应的存储设备1033读/写指定的数据的功能的软件。
该情况下,容量控制部1086在对冗余组分配其它存储节点103内的存储设备1033所提供的物理的存储区域时,与安装于该其它存储节点103的容量控制部1086协作,在与该容量控制部1086之间经由网络102交换数据,由此,根据从该冗余组的激活存储控制部1083赋予的I/O命令,向该存储区域读/写该数据。
在具有以上的结构的本信息处理系统中,如图4所示,容量控制部1086将各存储节点103内的存储设备1033各自提供的物理的存储区域分别分割成规定大小的物理存储区域(以下将其称为物理块)进行管理。
另外,容量控制部1086将专用的池与各冗余组分别对应,并对这些池适宜分配与物理块相同大小的逻辑存储区域(以下将其称为逻辑块),并将一个或多个物理块与该逻辑块对应。
进而,在各冗余组的池上定义一个或多个虚拟逻辑卷(以下将其称为虚拟卷),并将这些虚拟卷提供给主机装置101。
而且,主机装置101在将数据写入该虚拟卷的情况下,将指定了该数据的写目的地的虚拟卷(以下将其称为写对象虚拟卷)的识别符(LUN(Logical Number Unit))和该写对象虚拟卷中的该数据的写目的地的区域(以下将其称为写目的地区域)的写请求发送到对应的集群内的任一个存储节点103。
接收到该写请求的存储节点103的前端驱动器1081经由接收到的写请求中指定的写对象虚拟卷和池向配置有对应的冗余组的激活存储控制部1083(图3)或待机存储控制部1083的各存储节点103的前端驱动器1081传送该写请求和与该写请求一同从主机装置101发送来的写对象的数据(以下将其称为写数据)。
另外,接收到该写请求和写数据的存储节点103的前端驱动器1081将这些写请求和写数据经由写请求中指定的写对象虚拟卷和池交接给对应的冗余组的存储控制部1083。
而且,交接了这些写请求和写数据的存储控制部1083中的激活存储控制部1083根据需要从构成与写对象虚拟卷对应的池的逻辑块向该写对象虚拟卷内的写目的地区域分配存储区域(以下将其称为逻辑区域)。
另外,该激活存储控制部1083生成将写请求中指定的写对象虚拟卷内的写目的地区域的地址转换为对该写目的地区域分配了逻辑区域的逻辑块的块编号和该逻辑区域的偏移位置的I/O命令,并将所生成的I/O命令与写数据一起发送到本存储节点103内的容量控制部1086。
而且,容量控制部1086在接收到I/O命令和写数据时,在分别提供由该I/O命令指定的逻辑块所对应的各物理块的各存储设备1033内的相关偏移位置的存储区域分别存储数据。
这样,在本信息处理系统中,来自主机装置101的数据被冗余地存储在与对应的逻辑块对应的多个物理块中。因此,分配给逻辑块的物理块的数量根据该信息处理系统中的冗余方式的设置内容来确定。
例如,在将数据多重化成三重以上并存储的设定的情况、或进行如Erasure-Coding那样从数据创建冗余数据并存储的设定的情况下,将三个以上的必要数量的物理块与一个逻辑块对应。
此外,在多个物理块与一个逻辑块对应,且将数据多重存储于这多个物理块中的情况下,将一个物理块从多个物理块中设置为“主”,将其余的物理块全部设置为“从”。然后,如后所述,来自物理块的数据读取从设定为“主”的物理块进行。另外,在EC(ErasureCoding)的情况下,多个物理块与一个逻辑块对应,且在这些多个物理块中以规定模式存储主数据和冗余数据。
另一方面,主机装置101在从虚拟卷读出数据时,将指定了该虚拟卷(以下将其称为读对象虚拟卷)的LUN和该读对象虚拟卷中的该数据的读目的地的存储区域(以下将其称为读目的地区域)的读请求发送到包括该读目的地虚拟卷的集群中的任意一个存储节点103。
接收到该读请求的存储节点103的前端驱动器1081经由在接收到的读请求中指定的读对象虚拟卷和池向配置有对应的冗余组的激活存储控制部1083或待机存储控制部1083的各存储节点103分别传送该读请求。
另外,接收到该读请求的该存储节点103的前端驱动器1081将该读请求经由在该读请求中指定的读对象虚拟卷和池交接给对应的冗余组的存储控制部1083。
这样,交接了该读请求的该存储控制部1083中的激活存储控制部1083生成将读对象虚拟卷内的读目的地区域的地址转换为对该读目的地区域分配了逻辑区域的逻辑块的块编号和该逻辑区域的偏移位置的I/O命令,并将所生成的I/O命令发送到本存储节点103内的容量控制部1086。
容量控制部1086在接收到I/O命令时,从与由该I/O命令指定的逻辑块对应的各物理块中的设定为“主”的物理块内的由I/O命令指定的偏移位置的存储区域读出数据,并将读出的数据作为读数据传送到I/O命令的发送源的激活存储控制部1083。这样,该读数据之后通过该激活存储控制部1083经由网络102被传送到读请求的发送源的主机装置101。
(1-2)物理块对逻辑块的分配
但是,如上所述,在采用将多个物理块与一个逻辑块对应,通过在这些物理块中分别存储数据而使数据冗余的冗余方式的情况下,从数据保护的观点来看,期望分别从不同的存储节点103提供的物理块中选择与一个逻辑块对应的多个物理块。这是因为,例如,在将相同的存储节点103内的多个物理块与一个逻辑块对应的情况下,在存储节点103因故障等而不能进行数据的读出时会发生数据丢失。
因此,在本信息处理系统中,容量控制部1086向冗余组分配逻辑块,在将多个物理块与该逻辑块对应时,分别从互不相同的多个存储节点103提供的物理块中选择这些多个物理块。
另一方面,在从与配置有激活存储控制部1083的存储节点103不同的存储节点103内的物理块中选择了与逻辑块对应的物理块的情况下,在接收到来自该激活存储控制部1083的I/O命令的容量控制部1086(与激活存储控制部1083相同的存储节点103内的容量控制部1086)向该物理块读/写数据时,需要进行与提供该物理块的存储节点103之间的通信,相应地存在作为系统整体的响应性能变差的问题。因此,在将多个物理块与逻辑块对应时,从系统整体的响应性能的观点来看,也期望从配置有激活存储控制部1083的存储节点103内的存储设备1033提供的物理块中选择该物理块中的一个。
另外,在冗余组中的配置有激活存储控制部1083的存储节点103发生了故障的情况下,如果考虑待机存储控制部1083切换到激活模式,则根据与上述相同的理由,从系统整体的响应性能的观点出发,与逻辑块对应的物理块中的一个也从配置有待机存储控制部1083的存储节点103内的存储设备1033提供的物理块中选择。
因此,在该信息处理系统中,容量控制部1086中搭载有容量优先分配功能,该容量优先分配功能,在容量控制部1086向冗余组分配逻辑块而将多个物理块与该逻辑块对应时,将配置有该冗余组的激活存储控制部1083的存储节点103内的存储设备1033提供的物理块,和配置有该冗余组的待机存储控制部1083的存储节点103内的存储设备1033提供的物理块,优先地对应于该逻辑块。
但是,存在如下问题:在从配置有构成该冗余组的激活存储控制部1083或待机存储控制部1083的存储节点103对于分配给一个冗余组的池内的逻辑块无限制地对应物理块时,对于在该存储节点103配置有激活存储控制部1083或待机存储控制部1083的其他冗余组的逻辑块,不能从该存储节点103内的存储设备1033对应物理块。
因此,在该容量优先分配功能中,也包含对于冗余组抑制从配置有该冗余组的激活存储控制部1083的存储节点103和配置有该冗余组的待机存储控制部1083的存储节点103分配的物理块的容量的功能。
接下来,描述本实施方式中的存储控制部1083的配置方式和故障转移目的地待机选择方式。
此后,将存储控制部表现为“SC”,将属于冗余组α(例如α=X、Y、…)的SC表现为“SC-α”(α为任意的冗余组的标记或编号),将激活SC表现为“SC(A)”,将待机SC表现为“SC(S)”,将以待机(i)模式动作的SC(S)表现为“SC(Si)”。在各冗余组中,“i”是分配给SC(S)的编号(以下为待机编号),相当于成为故障转移目的地的优先顺序。在本实施方式中,由于SC(S)为两个,所以对于每个冗余组,存在SC(S1)和SC(S2)。对于各冗余组,在SC(S1)和SC(S2)存在于正常的两个存储节点中的情况下,SC(S1)为最先的优先顺序SC(S),即故障转移目的地SC(S)。对于各冗余组,在存在SC(S2)的存储节点中没有发生故障,但在存在SC(S1)的存储节点中发生故障的情况下(即,SC(S1)不成为故障转移目的地的情况下),SC(S2)为最先的优接顺序SC(S)。这样,对于各冗余组,SC(S)的待机编号相当于该SC(S)成为故障转移目的地的优先顺序的一例。
图5表示本实施方式中的SC配置方式。
根据本实施方式中的配置方式,在SC-X(A)和SC-Y(S1)被配置于存储节点P时,在配置有SC-X(S1)的存储节点Q以外的存储节点130配置SC-Y(S2)。
另外,根据本实施方式的故障转移目的地待机选择方式,在各冗余组中,动作中的SC(S)(即存在于正常的存储节点的SC(S))中的待机编号最小的SC(S)被作为故障转移目的地选择。
通过采用这样的配置方式和故障转移目的地待机选择方式,无论以怎样的顺序在两台存储节点130上发生故障,都能够不伴随之前和/或之后的SC的转移而维持SC(A)在三个以上相同的存储节点130上不能动作的状态。
图6表示SC配置的一例。在以下的说明中,mod为获得除法余数的符号。另外,在存储节点130上,分配节点编号h(h为整数且连续编号(0,1,…)作为识别编号。另外,在冗余组中,分配组编号n(n为整数且连续编号(0,1,…)作为识别编号。结构信息51包含表示存储节点的数量(或各存储节点的节点编号h)、冗余组的数量(或各冗余组的组编号n)、各冗余组的SC(S)的数量(在本实施方式中SC(S)的数量为2)的信息。
配置控制部53基于结构信息51,将SC-n(A)配置在节点编号n(h=n)的存储节点上。接着,配置控制部53基于结构信息51,将SC-n(S1)配置在节点编号((n+1)mod 4)的存储节点上,将SC-n(S2)配置在节点编号((n-1)mod 4)的存储节点上。由此,实现图6中示例的SC配置。在该段落中,“mod 4”的“4”是存储节点的数量的一例。
图7~图10表示图6所示的配置例中的两台节点故障的模式。示出了即使以任何顺序发生两台节点故障,都能够不伴随之前或之后的SC的转移而维持三个以上的SC(A)在一个存储节点上不动作的状态。
图7表示发生了故障的第一台存储节点是存储节点1的情况。SC-1(A)因存储节点1的故障而使其余的两个SC-1(S1)和SC-1(S2)中分配了待机编号小的SC-1(S1)进行来自SC-1(A)的故障转移(能够将SC(Si)的状态从待机模式变为激活模式且交接属于相同冗余组的SC(A)的处理表现为“故障转移到SC(Si)”)。在该时刻,在存储节点2上,本来动作的SC2(A)和重新切换模式的SC-1(A)动作。
图8~图10表示发生了故障的第二台存储节点是存储节点0、2或3的情况。无论哪一种情况,都对动作中的SC(S)中最小的待机编号SC(S)进行交接处理的故障转移,但在各个存储节点上动作的SC(A)的数量为最大2。在该段落中,“最大2”的“2”是允许存在于一个存储节点中的SC(A)的上限的一例。
图11表示本实施方式的一比较例。
在该比较例中,将SC-n(A)配置于存储节点n(h=n)这一点、以及将SC-n(S1)配置于节点编号((n+1)mod 4)的存储节点这一点与图6所示的示例相同。
但是,SC-n(S2)配置于节点编号((n+2)mod 4)的存储节点。即,在该比较例中,SC-0(A)和SC-3(S1)配置于同存储节点0,且SC-0(S1)和SC-3(S2)配置于同存储节点1。从另一方面来说,存在成为故障转移起始地的存储节点和成为故障转移目的地的存储节点的节点对相同,且冗余组分别不同的多个SC对。“SC对”是故障转移起始地的SC和故障转移目的地的SC对,具体而言,是SC(A)与SC(S1)的对和SC(Si)与SC(S(i+1)的对。根据图12的例子,冗余组1中的SC-1(A)与SC-1(S1)的对和冗余组0中的SC-0(S1)与SC-0(S2)的对分别是冗余组不同且节点对相同(均是存储节点1成为故障转移起始地,存储节点2成为故障转移目的地的节点对)的SC对。
因此,在该比较例中,当第二台存储节点发生故障时,在同存储节点上存在三个SC(A)动作的情况。图12~图13表示该情况的例子。即,如果存储节点1首先成为故障(图12),接着存储节点0成为故障(图13),则SC(A)在存储节点2上有三个动作。具体而言,在存储节点1发生了故障的情况下,通过进行从SC-1(A)到SC-1(S1)的故障转移,在存储节点2上,SC-1(S1)成为SC-1(A),作为结果,在存储节点2上存在两个SC(A)。之后,在存储节点0发生了故障的情况下,由于SC-0(S1)存在于故障节点1上,所以进行从SC-0(A)到SC-0(S2)的故障转移,在存储节点2上,SC-0(S2)成为SC-0(A),作为结果,在存储节点2上存在三个SC(A)。因此,如果在第一台存储节点1发生了故障后或在第二台存储节点0发生了故障后不转移SC(A),则不能避免三个SC(A)在一个存储节点2上动作的问题(即存储器量那样的资源消耗较大不的过载)。
另一方面,参照图6~图10说明的本实施方式的SC配置方法在存储节点数量为4以上的任意的存储节点数中有效。图14表示节点数6的情况下的SC配置的例子。在该例中,首先将SC-n(A)配置于存储节点n(h=n)上。另外,SC-n(S1)配置于节点编号((n+1)mod 6)的存储节点上,SC-n(S2)配置于节点编号((n-1)mod 6)的存储节点上。
从另一方面来说,可以交接配置于节点上的多个SC的SC被分别配置于其它节点上。例如,在冗余组各自不同且配置故障转移起始地的SC的节点相同的多个SC对中,配置故障转移目的地的SC的节点各自不同。以图6~图10为例,就SC-1(A)与SC-1(S1)的对和SC-0(S1)与SC-0(S2)的对而言,故障转移起始地的SC均配置于存储节点1上,但故障转移目的地的SC分别配置于存储节点2和3上。如果更一般地表现图6~图10和图14所示的SC配置例,则例如如下。在下文中,C是存储节点的数量。
·SC-n(A)配置于存储节点n(h=n)上。
·SC-n(S1)配置于节点编号((n+X1)mod C)的存储节点上,SC-n(S2)配置于节点编号((n+X2)mod C)的存储节点上。在上述例中,X1=1、X2=-1。
本实施方式的SC配置方法的例子不限于上述例。例如,图15表示X1=1且X2=3的例子,图16表示X1=2且X2=1的例子。在存储节点数C=4或更多的情况下均满足参照图5说明的配置条件。
参照图5说明本实施方式的SC配置方法的效果的一例。首先,在节点P发生了第一个节点故障时,进行从节点P上存在的SC-X(A)到节点Q上存在的SC-X(S1)的故障转移。因此,成为在节点Q上存在两个SC(A)的状态。在此状态下,在本信息处理系统的所有节点中,不能进行向均存在于节点P和节点Q上的SC(S)的故障转移。这是因为,节点P发生故障,节点Q上存在的SC(A)的数量达到上限(容许数)“2”(在该例中,SC(A)的数量的上限为“(K-1)”(K是配置于一个存储节点上的SC的数量)。能够进行节点P和Q以外的节点的向SC(S)的故障转移。因此,对于各冗余组,除存储节点P和Q之外的存储节点上可以有一个SC(S)即可。
根据本实施方式的SC配置方式,在发生了第一台节点故障的存储节点P上存在SC(A)的冗余组X以外的各冗余组即冗余组Y中,在存储节点P和Q以外的存储节点上配置SC-Y(S),因此,在第一台故障后残留的SC-Y待机中维持可故障转移的状态。
(2)第二实施方式
说明第二实施方式。此时,主要说明与第一实施方式的不同点,省略或简化与第一实施方式的共同点的说明。
在本实施方式中,各冗余组由被四重化的SC构成。即,在本实施方式中,由一个SC(A)和三个SC(S)构成冗余组。
图17表示第二实施方式的存储节点103的逻辑结构例。与图3不同的是各SC由四个构成的冗余组这一点。在各节点存在四个SC。
在此,对各SC定义下一个“影响节点”的概念。以下,N为SC(S)的数量。在本实施方式中,N=3。另外,以下,m为待机编号。α或β=X、Y、Z、…。
·配置有SC-α(A)的存储节点为SC-α的第0影响节点(0次影响节点)。
·配置有SC-α(Sm)的存储节点为SC-α的第m影响节点。
·在存储节点P为SC-α的第m影响节点(其中m<N)的情况下,在存储节点P上配置有存在SC(A)的SC-β(Sk)(其中1≤k≤(N-m))的存储节点为SC-α的第(m+k)影响节点。
在本实施方式的SC配置方法中,对于各冗余组,该冗余组α中的k个SC-α(S)在关于该冗余组α的所有冗余组β的第k以内的影响节点中最多配置k个待机。
图18表示本实施方式中的影响节点的概念和SC配置方法的例子。
SC-X的影响节点有四个。即,配置SC-X(A)的节点P为SC-X的第0影响节点。配置SC-X(S1)的节点Q为SC-X的第一影响节点。配置冗余组Y(在SC-X的第一影响节点Q上配置SC(A)的冗余组)的SC-Y(S)(作为例子为SC-Y(S1))的节点R为SC-X的第二影响节点。配置SC-X(S2)的节点S也同样为SC-X的第二影响节点。根据本实施方式的SC配置方法,所有的SC-Z在SC-X的上述四个影响节点P、Q、R和S上配置0以上2以下的SC-Z(S)。
说明本实施方式的效果的一例。SC-X的第一影响节点为在SC-X的第0影响节点(即配置有SC-X(A)的节点)发生了故障的情况下,SC(A)可能成为两个以上的节点。SC-X的第二影响节点为在SC-X的第一影响节点发生了故障的情况下,SC(A)可能成为两个以上的节点。如果一般地表现,则SC-X的第k影响节点为因SC-X的第(k-1)影响节点的故障而SC(A)可能成为两个以上的节点。
接着,定义故障根节点的概念。如果发生了节点故障的存储节点是第一台,则将该故障节点设为第一故障根节点。在发生了节点故障的存储节点P为已存在的第k故障根节点Q的第k以内的影响节点的情况下,不是使节点P为故障根节点,而是增大该第k故障根节点Q的排序数(次数),变为第(k+1)故障根节点。在节点故障时,在该节点不是任何故障根节点的影响节点的情况下,将该节点设为第一故障根节点。
各故障根节点和将该故障根节点的排序数(次数)设为s时的第s以内的影响节点可能是故障节点、或可能是存在两个SC(A)的节点,且可能不能进行故障转移。
在信息处理系统中的第t台的节点故障后,在该系统内存在多个故障根节点,这些故障根节点的排序数(次数)的合计为t。在此,对于各个故障根节点,如果将其排序数设为s,则在该故障根节点的第s以内的影响节点上配置的SC(S)的数量对于全部SC为s个。因此,在系统合计中,SC(S)为t个。因此,对于全部SC,配置于故障根节点的影响节点且可能不能进行故障转移的SC(S)的数量为t个。因此,如果故障节点的数量为(N-1)以下,则保证对于各冗余组残留(N-故障节点数)量的可故障转移的SC(S)。
图19~图21是本实施方式中的具体的配置例。与第一实施方式相同,SC(S)的配置目的地节点编号在将节点数设为C的情况下,例如可以进行如下述的表现。
·SC-n(A)的配置目的地为节点编号n(h=n)的存储节点。
·SC-n(Si)的配置目的地为节点编号(((n+Xi)mod C)的存储节点。
图19是X1=1、X2=3、X3=5的例子。图20表示作为一例节点2成为第二故障根节点的情况。带有圆的SC表示在发生了故障的节点处的SC(A)或成为该故障转移目的地的SC(S)。配置于存在带有圆的SC(S)的存储节点上的没有带圆的SC(S)可能成为不能故障转移的SC(S)。以冗余组2(SC-2)为例,存储节点2、3、4和5成为关于冗余组2的影响节点。因为没有在该4节点上配置有三个以上的SC(S)的冗余组,所以满足本实施方式中的SC配置条件。图19所示的配置方法也可以一般化为五重以上,通过将Xi的值设为Xi=i*2-1,满足本实施方式的配置条件。
图21表示X1=3、X2=2、X3=1的例子。图22表示节点2成为第二故障根节点的情况(带有圆的SC的意义与图20相同)。以冗余组2(SC-2)为例,存储节点2、4、5和8成为关于冗余组2的影响节点。因为没有在该4节点中配置有三个以上的SC(S)的冗余组,所以满足本实施方式中的SC配置条件。
(3)第三实施方式
说明第三实施方式。此时,主要说明与第一和第二实施方式的不同点,对于与第一和第二实施方式的共同点省略或简化说明。
在第三实施方式中,采用五重的冗余组。
图23表示第三实施方式的SC配置的例子。SC(S)有四个,根据图23的例子,X1=4、X2=3、X3=2、X4=1。图24表示节点2成为第三故障根节点的情况的例子。其影响节点为7节点(节点1、2、4、5、6、9和10),由于没有在该7节点上配置有四个以上的SC(S)的冗余组,所以满足本实施方式中的SC配置条件。图21和图23所示的配置方法可被一般化为N重,通过将Xi的值设为Xi=N-i+1,满足实施方式的配置条件。
作为以上说明的总结的一例,可以有以下表现。即,具有多个存储节点和存储装置。由分别被多重化的SC构成的多个冗余组配置于多个存储节点。各冗余组如下。
·构成该冗余组而进行存储控制的多重化后的SC即三个以上的SC被配置于多个存储节点中的各自不同的存储节点上。
·该多重的SC中的一个以上的SC为SC(A),剩下的两个以上的SC分别为成为SC(A)的故障转移目的地的SC(S)。
·该两个以上的SC(S)中的每一个与被确定为SC(A)的故障转移目的地的优先顺序相关联。
·在配置有SC(A)的存储节点发生了故障的情况下,进行从该SC(A)基于优先顺序向SC(S)的该冗余组内的故障转移。
·对于配置于同一存储节点的多个冗余组中的包括SC(A)和由于故障转移而变化为激活的SC(S)的多个SC,将各SC配置于可成为故障转移目的地的SC(S)分别不同的节点上。
以上说明了一些实施方式,这些是用于说明本发明的示例,不是仅将本发明的范围限定于这些实施方式的内容。例如,可以采用其他物理资源来代替存储节点,也可以采用其他逻辑资源来代替SC。例如,也可以在多个驱动器上冗余数据,且将它们中的一者设为可访问的激活,将另一者仅在激活的故障时设为访问的待机,构成由这些相同数据的拷贝即激活和待机构成的冗余组。或者,也可以采用将多个网络开关或线路等路径捆绑起来进行冗余,激活通信主体平时访问的路径,使其它待机的冗余组。
附图标记说明
103…存储节点。

Claims (8)

1.一种包括多个存储节点和存储装置的存储系统,其中所述多个存储节点各自具有存储器和处理器,所述存储系统的特征在于:
各自由(N+1)重的存储控制程序构成的多个冗余组配置于所述多个存储节点,其中N为2以上的整数,
其中,构成所述冗余组的、各自被处理器执行而进行存储控制的(N+1)重的存储控制程序配置于所述多个存储节点中的不同的(N+1)个存储节点,
所述(N+1)重的存储控制程序中的一个存储控制程序是作为激活的存储控制程序的激活程序,其余的N个存储控制程序均是作为待机的存储控制程序的待机程序,
所述N个待机程序分别关联被决定为故障转移目的地的优先顺序,
在配置有激活程序的存储节点发生了故障的情况下,进行从该激活程序向优先顺序为最优先的待机程序的在所述冗余组内的故障转移,
其中冗余组α的配置条件是,该冗余组α中的N个待机程序中的k个待机程序,在关于冗余组α的所有的冗余组β的影响节点中的第k以内的影响节点中最多配置k个,
关于冗余组α的冗余组β是包含配置于冗余组α的第m影响节点的激活程序的冗余组,其中m为自然数且m<N,
冗余组α的第m影响节点是配置有冗余组α中的优先顺序m的待机程序的存储节点,
配置有冗余组α中的激活程序的存储节点为第0影响节点,
配置有关于冗余组α的冗余组β中的优先顺序k的待机程序的存储节点为冗余组α的第(m+k)影响节点,其中k为自然数且1≤k≤(N-m)。
2.根据权利要求1所述的存储系统,其特征在于:
N=2。
3.根据权利要求2所述的存储系统,其特征在于:
在冗余组α的第0影响节点中配置有冗余组β的优先顺序1的待机程序,该冗余组β的优先顺序2的待机程序配置于该冗余组α的第1影响节点以外的任意的存储节点。
4.根据权利要求1所述的存储系统,其特征在于:
在N≥3的情况下,关于冗余组α,满足待机程序数(N-1)的情况下的配置条件。
5.根据权利要求1所述的存储系统,其特征在于:
存储节点的数量与冗余组的数量相同。
6.根据权利要求1所述的存储系统,其特征在于:
在各存储节点分配有作为连续编号的节点编号h,
在各冗余组分配有作为连续编号的组编号n,
关于冗余组n,激活程序的配置目的地为节点编号n的存储节点,其中h=n,优先顺序m的待机程序的配置目的地为节点编号((n+Xm)mod C)的存储节点,C为存储节点数。
7.一种存储系统构建方法,其特征在于:
计算机参考表示关于多个存储节点的结构的结构信息,
计算机基于该结构信息,将各自由(N+1)重的存储控制程序构成的多个冗余组配置于所述多个存储节点,其中N为2以上的整数,
其中,构成所述冗余组的、各自被处理器执行而进行存储控制的(N+1)重的存储控制程序配置于所述多个存储节点中的不同的(N+1)个存储节点,
所述(N+1)重的存储控制程序中的一个存储控制程序是作为激活的存储控制程序的激活程序,其余的N个存储控制程序均是作为待机的存储控制程序的待机程序,
所述N个待机程序分别关联被决定为故障转移目的地的优先顺序,
在配置有激活程序的存储节点发生了故障的情况下,进行从该激活程序向优先顺序为最优先的待机程序的在所述冗余组内的故障转移,
其中冗余组α的配置条件是,该冗余组α中的N个待机程序中的k个待机程序,在关于冗余组α的所有的冗余组β的影响节点中的第k以下的影响节点中最多配置k个,
关于冗余组α的冗余组β是包含配置于冗余组α的第m影响节点的激活程序的冗余组,其中m为自然数且m<N,
冗余组α的第m影响节点是配置有冗余组α中的优先顺序m的待机程序的存储节点,
配置有冗余组α中的激活程序的存储节点为第0影响节点,
配置有关于冗余组α的冗余组β中的优先顺序k的待机程序的存储节点为冗余组α的第(m+k)影响节点,其中k为自然数且1≤k≤(N-m)。
8.一种包括多个存储节点和存储装置的存储系统,其中所述多个存储节点各自具有存储器和处理器,所述存储系统的特征在于:
各自由多重的存储控制程序构成的多个冗余组配置于所述多个存储节点,
其中,作为构成所述冗余组的、各自被处理器执行而进行存储控制的多重的存储控制程序的三个以上的存储控制程序,配置于所述多个存储节点中的各自不同的存储节点,
所述多重的存储控制程序中的一个以上的存储控制程序是作为激活的存储控制程序的激活程序,其余的两个以上的存储控制程序均是作为成为所述激活的存储控制程序的故障转移目的地的待机的存储控制程序的待机程序,
所述两个以上的待机程序分别关联被决定为激活程序的故障转移目的地的优先顺序,
在配置有激活程序的存储节点发生了故障的情况下,进行从该激活程序基于优先顺序向待机程序的所述冗余组内的故障转移,
对于配置于同一个存储节点的多个冗余组中的包含激活程序和因故障转移而变为激活的待机程序的多个存储控制程序,将各存储控制程序配置于能够成为故障转移目的地的待机程序彼此不同的节点。
CN202110196110.XA 2020-09-28 2021-02-22 存储系统及其控制方法 Pending CN114281240A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020162490A JP7149313B2 (ja) 2020-09-28 2020-09-28 記憶システム及びその制御方法
JP2020-162490 2020-09-28

Publications (1)

Publication Number Publication Date
CN114281240A true CN114281240A (zh) 2022-04-05

Family

ID=80821223

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110196110.XA Pending CN114281240A (zh) 2020-09-28 2021-02-22 存储系统及其控制方法

Country Status (3)

Country Link
US (2) US11481292B2 (zh)
JP (2) JP7149313B2 (zh)
CN (1) CN114281240A (zh)

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6880051B2 (en) * 2002-03-14 2005-04-12 International Business Machines Corporation Method, system, and program for maintaining backup copies of files in a backup storage device
DE102004005128B3 (de) 2004-02-02 2005-01-05 Fujitsu Siemens Computers Gmbh Anordnung mehrerer Rechner und Verfahren zum Betreiben einer Anordnung mehrerer Rechner bei einem Rechnerausfall
JP4315016B2 (ja) 2004-02-24 2009-08-19 株式会社日立製作所 コンピュータシステムの系切替方法
US20060015773A1 (en) * 2004-07-16 2006-01-19 Dell Products L.P. System and method for failure recovery and load balancing in a cluster network
JP2007226400A (ja) * 2006-02-22 2007-09-06 Hitachi Ltd 計算機管理方法、計算機管理プログラム、実行サーバの構成を管理する待機サーバ及び計算機システム
EP2139205B1 (en) * 2008-06-27 2012-10-31 Alcatel Lucent Method of redundant data storage
US8688773B2 (en) 2008-08-18 2014-04-01 Emc Corporation System and method for dynamically enabling an application for business continuity
US8775544B2 (en) * 2009-02-04 2014-07-08 Citrix Systems, Inc. Methods and systems for dynamically switching between communications protocols
JP5839774B2 (ja) * 2010-01-06 2016-01-06 三菱重工業株式会社 計算機及び計算機管理方法並びに計算機管理プログラム
US8566636B2 (en) 2011-01-27 2013-10-22 International Business Machines Corporation Application recovery in a file system
WO2014098872A1 (en) * 2012-12-20 2014-06-26 Hewlett-Packard Development Company, L.P. Raid storage processing
US9015122B2 (en) * 2012-12-21 2015-04-21 Zetta, Inc. Systems and methods for minimizing network bandwidth for replication/back up
JP2014130387A (ja) 2012-12-27 2014-07-10 Fujitsu Ltd ストレージコントローラ選択システム、ストレージコントローラ選択方法、およびストレージコントローラ選択プログラム
US9027098B2 (en) * 2013-03-14 2015-05-05 Genband Us Llc Systems, methods, and computer program products for recording service status of applications
US9672124B2 (en) 2014-06-13 2017-06-06 International Business Machines Corporation Establishing copy pairs from primary volumes to secondary volumes in multiple secondary storage systems for a failover session
US9734007B2 (en) * 2014-07-09 2017-08-15 Qualcomm Incorporated Systems and methods for reliably storing data using liquid distributed storage
JP2016177578A (ja) 2015-03-20 2016-10-06 株式会社日立製作所 管理システム、サーバ装置、およびデータ管理方法
US9985875B1 (en) 2015-03-31 2018-05-29 Juniper Networks, Inc. Route signalling based resilient application overlay network
US10437686B2 (en) 2017-09-29 2019-10-08 Ca, Inc. Failover service to support high availability of monolithic software applications
JP6668309B2 (ja) 2017-11-30 2020-03-18 株式会社日立製作所 記憶システム及びその制御方法
JP6791834B2 (ja) * 2017-11-30 2020-11-25 株式会社日立製作所 記憶システム及び制御ソフトウェア配置方法
US11467866B2 (en) 2018-01-29 2022-10-11 Salesforce.Com, Inc. Scheduling framework for organization migrations
US10769032B2 (en) * 2018-03-16 2020-09-08 EMC IP Holding Company LLC Automation and optimization of data recovery after a ransomware attack
US10503612B1 (en) 2018-06-25 2019-12-10 Rubrik, Inc. Application migration between environments
JP6850771B2 (ja) 2018-07-31 2021-03-31 株式会社日立製作所 情報処理システム、情報処理システムの管理方法及びプログラム
JP6974281B2 (ja) 2018-09-21 2021-12-01 株式会社日立製作所 ストレージシステム及びストレージ制御方法
US11074143B2 (en) 2018-10-05 2021-07-27 Rubrik, Inc. Data backup and disaster recovery between environments

Also Published As

Publication number Publication date
US20220100617A1 (en) 2022-03-31
US11615005B2 (en) 2023-03-28
JP2022145964A (ja) 2022-10-04
JP7149313B2 (ja) 2022-10-06
US20220100616A1 (en) 2022-03-31
JP2022055102A (ja) 2022-04-07
US11481292B2 (en) 2022-10-25
JP7419456B2 (ja) 2024-01-22

Similar Documents

Publication Publication Date Title
US11137940B2 (en) Storage system and control method thereof
CN109857445B (zh) 存储系统和控制软件配置方法
JP6814764B2 (ja) 情報処理システム及びパス管理方法
US8639898B2 (en) Storage apparatus and data copy method
US11068367B2 (en) Storage system and storage system control method
US8010753B2 (en) Systems and methods for temporarily transferring use of portions of partitioned memory between host computers
JP2008112399A (ja) ストレージ仮想化スイッチおよびコンピュータシステム
WO2017167106A1 (zh) 存储系统
US20210303178A1 (en) Distributed storage system and storage control method
US20200174683A1 (en) Method and system for delivering message in storage system
JP2020047215A (ja) ストレージシステム及びストレージ制御方法
JP2014010540A (ja) 仮想サーバ環境のデータ移行制御装置、方法、システム
CN112543922A (zh) 一种提高存储系统可靠性的方法和相关装置
CN110674539B (zh) 一种硬盘保护设备、方法及系统
US20160182638A1 (en) Cloud serving system and cloud serving method
CN114281240A (zh) 存储系统及其控制方法
US10691564B2 (en) Storage system and storage control method
WO2017026070A1 (ja) ストレージシステム及びストレージ管理方法
JP2021124796A (ja) 分散コンピューティングシステム及びリソース割当方法
RU2810634C2 (ru) Способ повышения надежности систем хранения данных и соответствующее устройство
JP6905611B2 (ja) 記憶システム及びその制御方法
US11775182B2 (en) Expanding raid systems
JP7057408B2 (ja) 記憶システム及びその制御方法
JP2023151189A (ja) ストレージシステム及びその制御方法
JP2023094302A (ja) 情報処理システム及び構成管理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination