CN114327250A - 存储系统和存储系统的控制方法 - Google Patents
存储系统和存储系统的控制方法 Download PDFInfo
- Publication number
- CN114327250A CN114327250A CN202110188674.9A CN202110188674A CN114327250A CN 114327250 A CN114327250 A CN 114327250A CN 202110188674 A CN202110188674 A CN 202110188674A CN 114327250 A CN114327250 A CN 114327250A
- Authority
- CN
- China
- Prior art keywords
- storage
- port
- control information
- controller
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003860 storage Methods 0.000 title claims abstract description 373
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000015654 memory Effects 0.000 claims abstract description 201
- 230000008569 process Effects 0.000 claims abstract description 31
- 238000012545 processing Methods 0.000 claims description 49
- 238000006243 chemical reaction Methods 0.000 claims description 43
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims 2
- 238000013508 migration Methods 0.000 description 55
- 230000005012 migration Effects 0.000 description 55
- 238000010586 diagram Methods 0.000 description 32
- 238000007726 management method Methods 0.000 description 25
- 238000009434 installation Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 102100039250 Essential MCU regulator, mitochondrial Human genes 0.000 description 1
- 101000813097 Homo sapiens Essential MCU regulator, mitochondrial Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- 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/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- 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/0647—Migration 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- 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]
-
- 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/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
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)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提供一种存储系统和存储系统的控制方法,其在多控制器存储系统中,能够不中断且不使冗余性和性能降低地更新硬件和软件。该存储系统具有节点和存储驱动器,该节点包括具有处理器、存储器和端口的多个存储控制部,该存储驱动器具有保存数据的存储介质,多个存储控制部的每一个存储控制部经由多个端口与主机进行数据访问请求和数据的收发,多个处理器处理来自主机的输入输出数据,多个存储器保存用于访问存储驱动器的数据的控制信息,存储系统将存储器中存储的控制信息发送到其他节点并保存在其存储控制部的存储器中,在要使其他节点能够执行与控制信息相关的数据访问时,考虑节点的存储控制部与端口的关系地设定其他节点的端口。
Description
技术领域
本发明涉及使用闪存或磁盘作为存储(存储介质)装置的存储系统的存储控制器替换和升级。
背景技术
近年来,因为NAND型闪存的大容量化而在存储系统中保存大量的数据。另外,对于存储系统,要求能够不对上级应用造成业务影响地、将硬件和软件更换为最新的。通常,存储系统的更换中,新存储系统一方的设定和数据迁移过程需要时间。
专利文献1中,示出了用于不中断地更新存储系统的软件的发明。在软件更新之后,新数据格式和旧数据格式双方存在,新数据中包括指向旧数据格式的数据的参照。数据被更新时,以新数据格式写入,由此能够不停止数据的读写地、更新至新数据格式。
专利文献2中,示出了用于进行多个存储系统之间的不中断数据迁移的发明。为了从主机识别为单一的存储系统,而构成跨多个存储的虚拟存储系统、虚拟端口和虚拟逻辑单元(LUN)。通过使迁移源的物理端口的端口名和端口地址与迁移目标系统的虚拟端口名和端口地址关联,能够不中断地完成向新存储系统的迁移。
双控制器的存储系统中,存在用于不中断地更新存储系统的硬件的方式。根据该方式,能够不移动所连接的驱动器的数据地更新至新控制器。另外,可以维持存储系统的结构信息等。通过每次单方地顺次更换存储控制器,而实现更换至新硬件。这是作为存储系统中的控制器的更换流程的一般的方法。
现有技术文献
专利文献
专利文献1:美国专利第9959043号说明书。
专利文献2:美国专利第9098211号说明书。
发明内容
专利文献1中,对于逻辑卷内的各数据,更新了数据格式的情况下,通过具有从新数据格式向旧数据的参照,而维持旧数据格式地,与新软件中的新数据格式对应。但是,一般而言存储系统在表示数据保存目标的控制信息之外,也具有硬件和LUN的结构信息以及内部状态的管理信息等各种控制信息。专利文献1中,并没有公开关于这些控制信息、不中断地变换至与新软件对应的格式的方式。
专利文献2中,准备与迁移源的控制器的各物理端口地址对应的虚拟端口地址,并与迁移目标的控制器的物理端口关联,由此不中断地切换受理主机命令的端口。但是,存储系统一般而言为了冗余化而具有多个控制器,各控制器中存在物理端口。专利文献2中,并没有公开关于在迁移目标存储装置中,使哪个物理端口与哪个虚拟端口对应的技术。
本发明中,解决不中断地更新存储系统的硬件和软件时的以下问题。
关于更新后的物理端口地址,需要以各LUN与更新前设定的多路径结构的冗余度对应的方式,设定关联的虚拟端口地址。具体而言,对于各LUN,在更新前,分为2个控制器以上设定了多路径结构的情况下,在更新后必须使该多路径的虚拟端口不与同一控制器的物理端口关联。
示出为了解决上述问题中的至少一项而在本申请中公开的发明的代表性的一例,如下所述。即,一种存储系统,其具有节点和存储驱动器,所述节点包括具有处理器、存储器和端口的多个存储控制部,所述存储驱动器具有保存数据的存储介质,所述存储系统的特征在于:所述多个存储控制部的每一个存储控制部,经由多个所述端口,与主机进行数据访问请求和数据的收发,多个所述处理器处理主机要对所述存储驱动器进行输入输出的数据,多个所述存储器保存为了访问保存在所述存储驱动器的数据而供所述处理器参照的控制信息,所述存储系统将所述存储控制部的存储器所存储的控制信息发送到具有多个存储控制部的其他节点并保存在该其他节点的存储控制部的存储器中,在要使所述其他节点能够执行关于所述控制信息的数据访问时,考虑所述节点的存储控制部与端口的关系地进行所述其他节点的端口的设定。
根据本发明的一个方式,在多控制器存储系统中,能够不中断且不使冗余性和性能降低地,更新至新硬件和新软件。
上述以外的问题、结构和效果将通过以下实施例的说明而说明。
附图说明
图1是表示本发明的实施例中的存储系统的结构的框图。
图2是表示本发明的实施例中的存储控制器的升级的流程的概要的说明图。
图3是表示本发明的实施例中的存储控制器的虚拟端口地址切换的说明图。
图4是表示本发明的实施例中的存储控制器所保存的控制信息的格式变换的流程的说明图。
图5是表示本发明的实施例中的存储控制器所具有的存储器的结构的说明图。
图6是表示本发明的实施例中的存储控制器的存储器内的程序区域的结构的说明图。
图7是表示本发明的实施例中的存储控制器的存储器内的本地存储器的结构的说明图。
图8是表示本发明的实施例中的存储控制器的存储器内的共享存储器的结构的说明图。
图9是表示本发明的实施例中的存储控制器的存储器中保存的控制信息结构信息的结构的说明图。
图10是表示本发明的实施例中的存储控制器的存储器中保存的控制表管理信息的结构的说明图。
图11是表示本发明的实施例中的存储控制器的存储器中保存的控制信息地址变换参数的结构的说明图。
图12是表示本发明的实施例中的存储控制器的存储器中保存的软件版本结构信息的结构的说明图。
图13是表示本发明的实施例中的存储控制器的存储器中保存的安装控制器管理信息的结构的说明图。
图14是表示本发明的实施例中的存储控制器的存储器中保存的硬件结构信息的结构的说明图。
图15是表示本发明的实施例中的存储控制器的存储器中保存的FE端口结构信息的结构的说明图。
图16是表示本发明的实施例中的存储控制器的存储器中保存的LUN结构信息的结构的说明图。
图17是表示本发明的实施例中的存储控制器执行的控制器更新处理的整体的流程图。
图18是表示本发明的实施例中的存储控制器执行的控制信息格式变换处理的流程图。
图19是表示本发明的实施例中的存储控制器执行的新控制器增设处理的流程图。
图20是表示本发明的实施例中的存储控制器执行的CPU处理控制权切换处理的流程图。
图21是表示本发明的实施例中的存储控制器执行的FE端口切换处理的流程图。
图22是表示本发明的实施例中的存储控制器执行的旧控制器减设处理的流程图。
图23是表示本发明的实施例中的存储控制器执行的控制信息地址变换处理的流程图。
附图标记的说明
100 存储系统
101A、101B 存储节点
102A~102D 存储控制器
103A~103H 前端网络端口(FE端口)
104A~104D CPU
105A~105D 存储器
106A~106D 后端网络端口(BE端口)
107A~107D 互联网络端口(IC端口)
108 互联交换机
109A、109B 驱动器盒
110A、110B 主机
111 网络交换机
112 管理装置
113 管理网络
具体实施方式
以下,基于附图说明本发明的实施例。在附图中,有时用同一编号表示功能上相同的要素。附图示出了符合本发明的原理的具体的实施方式和实施例。这些实施方式和实施例是为了理解本发明的,并不用于限定性地解释本发明。
进而,本发明的实施方式如后所述可以用在通用计算机中运转的软件实现,也可以用专用硬件实现,或者也可以用软件与硬件的组合实现。
以下有时以“程序”为主语(动作主体)对于本发明的实施方式中的各处理进行说明。程序通过被处理器执行而使用存储器和通信端口(通信控制装置)进行规定的处理,所以也可以改为以处理器为主语的说明。程序的一部分或全部可以用专用硬件实现,也可以模块化。各种程序可以用程序发布服务器和存储介质安装在各计算机中。
以下说明中,“接口部”可以包括用户接口部和通信接口部中的至少一者。用户接口部可以包括1个以上I/O设备(例如输入设备(例如键盘和指点设备)和输出设备(例如显示设备))和显示用计算机中的至少1个I/O设备。通信接口部可以包括1个以上通信接口设备。1个以上通信接口设备可以是1个以上相同种类的通信接口设备(例如1个以上NIC(Network Interface Card)),也可以是2个以上不同种类的通信接口设备(例如NIC和HBA(Host Bus Adapter))。
另外,以下说明中,“存储器部”包括1个以上存储器。至少1个存储器可以是易失性存储器,也可以是非易失性存储器。存储器部主要在处理器部进行的处理时使用。
另外,以下说明中,“处理器部”包括1个以上处理器。至少1个处理器典型而言是CPU(Central Processing Unit)。
另外,以下说明中,用“xxx表”这样的表达说明信息,但信息也可以用任意的数据结构表达。即,为了表示信息并不依赖于数据结构,而能够将“xxx表”称为“xxx信息”。另外,以下说明中,各表的结构是一例,1个表可以分割为2个以上表,2个以上表的全部或一部分也可以是1个表。
另外,以下说明中,在不区分相同种类的要素进行说明的情况下,使用参考符号中的共通符号,在区分相同种类的要素的情况下,有时使用参考符号(或要素的ID(例如识别编号))。例如,不区分多个存储控制器的情况下,记载为“存储控制器102”,区分各存储控制器的情况下,记载为“存储控制器102A”、“存储控制器102B”。其他要素(例如后述的存储节点101、前端网络端口103、CPU104、存储器105、后端网络接口106、互联网络接口107、驱动器盒109、主机110等)也是同样的。
另外,以下说明中,“存储系统”包括1个以上存储装置,至少1个存储装置可以是通用的物理计算机。另外,至少1个存储装置可以是虚拟的存储装置,可以执行SDx(Software-Defined anything)。作为SDx,例如能够采用SDS(Software Defined Storage)(虚拟的存储装置的一例)或SDDC(Software-defined Datacenter)。
此处,说明用于解决上述3个问题的本发明的实施例的概要。
作为本发明的对象的存储系统是为了冗余性而具有多个存储控制器、相互用PCIe或InfiniBand等宽带宽、低延迟的网络连接,相互共享控制信息的紧密结合多控制器系统。控制信息为了冗余化而保存在2个以上控制器中。
本发明中,通过在旧软件与新软件之间保存兼容性地共享控制信息,而解决上述问题。
说明解决第一问题的方法。更新软件的情况下,一般而言,考虑追加新功能、或扩展能够管理的资源数。即,在旧软件的控制信息的格式中,没有定义新软件中使用的控制信息用的区域。于是,首先,增设新存储控制器,在新软件开始运行之前,旧软件继续进行I/O,同时将旧格式的控制信息改写为新格式的控制信息。变换至新格式的控制信息完成之后,新软件访问变换后的新格式的控制信息。改写为新格式的控制信息之后,旧软件访问旧格式的控制信息的情况下,通过地址变换,取得对应的新格式的控制信息的地址,并访问格式变换后的控制信息。
说明解决第二问题的方法。使处理切换至新存储控制器之后,将与旧存储控制器的物理端口名和物理端口地址对应的虚拟端口名和虚拟端口地址分配至新存储器的物理端口(切换是第二次以后的情况下,代替旧存储控制器的物理端口名和物理端口地址,进一步将虚拟端口名和虚拟端口地址分配至新存储器)。此时,对于在旧存储控制器之间为了冗余化而定义了多路径的LUN,以在迁移之后也关联不同的存储控制器的物理端口的方式,生成与虚拟端口的关联。
最简单的方法,是以在旧存储系统中不同的存储控制器中的物理端口、在新存储系统中也与不同的存储控制器关联的方式,确定虚拟端口与物理端口的对应。控制器的数量在迁移前后不变的情况下,保存控制器与端口的关系地设定迁移后的端口,控制器的数量增加的情况下,以不产生从迁移前的多个控制器继承端口的控制器的方式设定端口。如果进行了不是与同一LUN关联的虚拟端口的确认,则也可以使迁移前与不同控制器关联的虚拟端口在迁移后与同一控制器关联。由此,能够选择第二问题即维持迁移后的冗余性的端口的切换目标,在新存储系统中,也能够继承旧存储系统所具有的负载分散和故障时的故障转移的功能。
说明解决第三问题的方法。旧存储系统在将自身的存储控制器之间连接的互联之外,也具有与新存储控制器连接用的空闲互联网络端口。在更新时,不减设旧存储控制器地,使用网络端口,连接新存储系统的存储控制器。此时,网络端口可以与存储控制器直接连接,也可以存在于Fabric网络交换机中。另外,存放存储装置的存储驱动器盒也同样地具有与新存储控制器连接用的空闲后端网络端口。与存储控制器连接时,也将驱动器盒与新存储控制器之间连接,由此对于与旧存储控制器连接的存储装置,能够不经由旧存储控制器地,从新存储控制器进行访问。
因此,例如对于旧存储控制器,增设新存储系统,形成1个多控制器存储系统。之后,处理和控制信息的迁移完成后,使旧存储控制器停止,减设旧存储控制器。由此,第三问题即不减少存储控制器数和物理端口数地更新存储器的硬件和软件完成。
新存储系统增设后的、多控制器存储系统结构中,在新存储控制器内运行的新存储软件与在旧存储控制器内运行的旧软件,经由存储控制器间网络,透明地访问共通的控制信息。另外,在控制器之间通信地进行的处理中,新软件以满足与旧软件的兼容性的方式运行。这样,关于存储系统中实施的各处理,能够在旧控制器和新控制器的任意一方中实施,能够不停止I/O地,逐渐切换为用新存储控制器实施各处理。另外,也能够灵活且迅速地应对进行升级中的维护的用例和中断并恢复为原本状态的用例等。同时,也能够将更新前设定的LUN等结构信息、复制等的状态和存储介质的分层等中使用的访问频度信息等保存原样地继承至新控制器中实施的处理。
以下,基于附图说明用于解决上述问题的本发明的实施例。
图1是表示本发明的实施例中的存储系统的结构的框图。
本实施例的存储系统100具有多个存储控制器102、1个以上互联交换机108和1个以上驱动器盒109。图1中,作为多个存储控制器102的例子,示出存储控制器102A~102D。其中存储控制器102A和102B是之后要减设的旧存储控制器,构成一个存储节点101A。另一方面,存储控制器102C和102D是增设的新存储控制器,构成一个存储节点101B。
各存储控制器102具有CPU104、存储器105、前端网络端口(以下也记作FE端口)103、后端网络端口(以下也记作BE端口)106和互联网络端口(以下也记作IC端口)107。图1的例子中一个存储控制器102具有一个CPU104、一个存储器105、两个FE端口103、一个BE端口106和一个IC端口107,但这些数量是一例,实际的数量是任意的。
FE端口103与网络交换机111连接。网络交换机111与1个以上主机110(图1的例子中是主机110A和110B)连接。存储控制器102经由FE端口103和网络交换机111从主机110接受用户数据的写入和读取等命令,返回对于它们的回应。
BE端口106与驱动器盒109连接。存储控制器102经由BE端口106进行对驱动器盒109的用户数据的写入和读取等。
驱动器盒109包括保存由主机110写入的数据的存储介质。该存储介质例如可以是磁盘或闪存等大容量的非易失性存储介质。
IC端口107与互联交换机108连接。互联交换机108与各存储控制器102的IC端口107连接。存储控制器102能够经由IC端口107和互联交换机108与存储系统100内的其他存储控制器102通信,例如收发控制信息等。
CPU104通过执行存储器105中保存的程序,而实现存储控制器102的各种功能。由CPU实现的功能的详情在后文中叙述。
存储器105包括存储由CPU104执行的程序的区域、存储存储控制器102的控制信息的区域、存储主机110写入或读取的对象的数据的区域等。这些区域的详情在后文中叙述。
进而,各存储控制器102经由管理网络113与管理装置112连接。
图2是表示本发明的实施例中的存储控制器102的升级的流程的概要的说明图。
图2中的(A)表示存储控制器102的升级开始前的存储系统100。此时,存储系统100具有旧存储控制器102A和102B,不具有新存储控制器102C和102D。此时,用两个存储控制器102A和102B确保了冗余性。
图2中的(B)表示存储控制器102的升级正在执行时的存储系统100。此时,存储系统100在旧存储控制器102A和102B之外,也具有增设的新存储控制器102C和102D。此时,用四个存储控制器102A~102D确保了冗余性。
图2中的(C)表示存储控制器102的升级结束后的存储系统100。此时,旧存储控制器102A和102B已被减设,存储系统100具有新存储控制器102C和102D。此时,用两个存储控制器102C和102D确保了冗余性。
通过上述流程,正在执行升级时,确保与升级开始前和结束后至少同等的冗余性。
另外,本发明也能够应用于新存储控制器102C和102D与旧存储控制器102A和102B是同一机型的情况等、为了升级以外的目的而替换存储控制器的情况。但是,本实施例中,说明将旧存储控制器102A和102B例如升级至对它们追加了新功能的后继机型等、不同品种的新存储控制器102C和102D用的替换。
图3是表示本发明的实施例中的存储控制器102的虚拟端口地址切换的说明图。
主机110访问的FE端口103的地址(例如World Wide Name:WWN)通过替换而从旧存储控制器继承至新存储控制器。此时,以不同的旧存储控制器的FE端口103的地址被继承至不同的新存储控制器的FE端口103的方式(换言之以不继承至同一新存储控制器的FE端口103的方式)选择继承目标。
图3的例子中,旧存储控制器102A的两个FE端口103A和103B的WWN“AAAA”和“BBBB”被作为新存储控制器102C的两个FE端口103E和103F的虚拟WWN继承。同样地,旧存储控制器102B的两个FE端口103C和103D的WWN“CCCC”和“DDDD”被作为新存储控制器102D的两个FE端口103G和103H的虚拟WWN继承。由此,在替换后也确保与替换前至少同等的冗余性。另外,主机110在替换后也能够与替换前同样地访问存储系统100。
图4是表示本发明的实施例中的存储控制器102保存的控制信息的格式变换的流程的说明图。
旧存储节点101A的旧存储控制器102A的存储器105A保存旧格式的控制信息401A。此处,控制信息指的是后述的共享存储器503(参考图5)中保存的各种信息、以及表示驱动器盒109的结构的信息、表示逻辑卷(逻辑单元)的状态的信息、表示复制或快照等的状态的信息等、存储控制器102按照来自主机110的命令执行对驱动器盒109的数据的输入输出(I/O)所需的信息。
CPU104A在存储控制器的替换开始前,基于旧格式的控制信息401A执行各种处理。存储控制器的替换开始时,CPU104A进行旧格式的控制信息401A的格式变换(步骤402A),生成新格式的控制信息403A。此处,新格式指的是适合替换旧存储控制器(本例中是旧存储控制器102A)的新存储控制器(本例中是新存储控制器102C)中运行的软件的格式。
此时,CPU104A取得新格式的控制信息403A的保存目标地址,将进行旧格式的控制信息401A的格式变换而生成的新格式的控制信息403顺次保存在保存目标地址中。对于旧格式的控制信息401A的全部区域,向新格式的控制信息403A的变换和保存结束之后,旧存储控制器102A接收了来自主机110的写入或读取等命令的情况下,CPU104A对于基于旧存储控制器102A参照的旧格式的控制信息401A的地址,基于上述保存目标地址进行变换,由此参照新格式的控制信息403A,执行该命令。这些处理的详情在后文中叙述(参考图18)。
但是,不需要变更全部控制信息的格式。适合旧软件的控制信息也直接适合新软件的情况下,能够不变更控制信息的格式而是直接使用。
之后,进行保存目标的切换(步骤404A)。具体而言,CPU104A经由IC端口107A和互联交换机108将新格式的控制信息403A传输至新存储控制器102C。新存储控制器102C的CPU104C将经由IC端口107C接收的控制信息作为新格式的控制信息405A保存在存储器105C内的变换后的地址中。
旧存储控制器102B中的控制信息的格式变换和向新存储控制器102D的控制信息的迁移也与上述同样地进行。即,旧存储节点101A的旧存储控制器102B的存储器105B保存旧格式的控制信息401B。存储控制器的替换开始时,CPU104B进行旧格式的控制信息401B的格式变换(步骤402B),生成新格式的控制信息403B。之后,进行保存目标的切换(步骤404B)。具体而言,CPU104B经由IC端口107B和互联交换机108将新格式的控制信息403B传输至新存储控制器102D。新存储控制器102D的CPU104D将经由IC端口107D接收的控制信息作为新格式的控制信息405B保存在存储器105D内的变换后的地址中。
通过如上述图3所示地FE端口103的地址和控制信息从旧存储控制器102A等迁移至新存储控制器102C等,主机110在存储控制器102替换后也能够与替换前同样地执行对存储系统100的用户数据的写入和读取。另外,以下说明中,也将旧存储控制器102记载为迁移源存储控制器102,将新存储控制器102记载为迁移目标存储控制器102。
图5是表示本发明的实施例中的存储控制器102具有的存储器105的结构的说明图。
存储器105包括程序区域501、本地存储器502和共享存储器503作为存储区域。它们的详情在后文中叙述。
图6是表示本发明的实施例中的存储控制器102的存储器105内的程序区域501的结构的说明图。
在程序区域501中,保存不中断控制器更新序列控制部601、控制信息格式变换部602、控制信息地址变换部603、控制器增设部604、控制权移动部605、FE端口切换部606和控制器减设部607。它们都是保存在存储器105中的由CPU104执行的程序。以下说明中,上述各部执行的处理,实际上是CPU104按照程序执行的。
不中断控制器更新序列控制部601控制本实施例的存储控制器102的替换的序列。控制信息格式变换部602进行从旧格式的控制信息向新格式的控制信息的格式变换(图4的步骤402A、402B)。控制信息地址变换部603进行存储器105中的、从保存旧格式的控制信息的区域的地址向保存新格式的控制信息的区域的地址的变换。
控制器增设部604进行新存储控制器102增设时的处理。控制权移动部605进行关于存储控制器102的控制权的移动的处理。FE端口切换部606进行关于接受来自主机110的命令的FE端口103的切换的处理。控制器减设部607进行旧存储控制器102减设时的处理。
图7是表示本发明的实施例中的存储控制器102的存储器105内的本地存储器502的结构的说明图。
本地存储器502包括程序使用区域701和共享存储器缓存区域702。程序使用区域701是CPU104执行程序时使用的区域。共享存储器缓存区域702是为了存储器访问高速化而将共享存储器503中的数据预先缓存在本地存储器502中用的区域。
图8是表示本发明的实施例中的存储控制器102的存储器105内的共享存储器503的结构的说明图。
在共享存储器503中,保存控制信息结构信息801、控制表管理信息802、控制信息地址变换参数803、软件版本结构信息804、安装控制器管理信息805、硬件结构信息806、FE端口结构信息807和LUN结构信息808。它们的详情在后文中叙述(参考图9~图16)。
图9是表示本发明的实施例中的存储控制器102的存储器105中保存的控制信息结构信息801的结构的说明图。
控制信息结构信息801包括第一控制信息保存目标控制器ID901、第一控制信息格式902、第一控制信息保存目标起始地址903、第二控制信息保存目标控制器ID904、第二控制信息格式905、第二控制信息保存目标起始地址906、第三控制信息保存目标控制器ID907、第三控制信息格式908和第三控制信息保存目标起始地址909。
第一控制信息保存目标控制器ID901、第一控制信息格式902和第一控制信息保存目标起始地址903分别是第一控制信息所保存在的存储控制器的识别信息、第一控制信息的格式和第一控制信息保存在的存储器105内的区域的起始地址。在第二控制信息保存目标控制器ID904至第三控制信息保存目标起始地址909中,对于第二控制信息和第三控制信息,保存与上述同样的信息。
例如,第一控制信息可以是图4所示的旧格式的控制信息401A,第二控制信息可以是旧格式的控制信息401B。该情况下,第一控制信息保存目标控制器ID901是控制信息401A保存在的存储控制器102A的识别信息,第一控制信息格式902是控制信息401A的格式,第一控制信息保存目标起始地址903是控制信息401A保存在的存储器105A的区域的起始地址。同样地,第二控制信息保存目标控制器ID904、第二控制信息格式905和第二控制信息保存目标起始地址906是关于旧格式的控制信息401B的信息。
第三控制信息用作格式变换和保存目标控制器切换用的暂时的保存目标。格式变换和复制中,进行从第一向第三控制信息的写入。切换完成后,将第三控制信息复制至切换对象的第一或第二控制信息,并清除第三控制信息。
图10是表示本发明的实施例中的存储控制器102的存储器105中保存的控制表管理信息802的结构的说明图。
控制表管理信息802包括旧格式控制表管理信息1000和新格式控制表管理信息1010。
旧格式控制表管理信息1000包括控制表ID1001和控制表起始地址1002。例如,存储控制器102A保存的控制表管理信息802的情况下,旧格式的控制信息401A中包括的控制表的识别信息和起始地址被作为控制表ID1001和控制表起始地址1002保存。
新格式控制表管理信息1010包括控制表ID1011和控制表起始地址1012。例如,存储控制器102A保存的控制表管理信息802的情况下,变换格式后的新格式的控制信息401C中包括的控制表的识别信息和起始地址被作为控制表ID1011和控制表起始地址1012保存。
实际上控制信息可能包括各种控制表,所以对于这些控制表中的每一个保存上述控制表ID和控制表起始地址。
图11是表示本发明的实施例中的存储控制器102的存储器105中保存的控制信息地址变换参数803的结构的说明图。
控制信息地址变换参数803包括控制表ID1101、地址变换参数ID1102、地址变换对象地址范围1103和地址变换用计算参数1104。
控制表ID1101是各控制表的识别信息。地址变换参数ID1102是变换各控制表的地址用的计算参数的识别信息。地址变换对象地址范围1103是变换的对象的地址的范围。地址变换用计算参数1104是变换各控制表的地址用的计算参数。
图12是表示本发明的实施例中的存储控制器102的存储器105中保存的软件版本结构信息804的结构的说明图。
软件版本结构信息804包括控制器ID1201、软件版本1202和控制信息格式1203。
控制器ID1201是各存储控制器102的识别信息。软件版本1202是各存储控制器102中使用的软件的版本。控制信息格式1203是被该版本的软件使用的控制信息的格式。
图13是表示本发明的实施例中的存储控制器102的存储器105所保存的安装控制器管理信息805的结构的说明图。
安装控制器管理信息805包括安装控制器ID1301。安装控制器ID1301是存储系统100中安装的、处于能够执行数据的输入输出(I/O)等处理的状态的存储控制器102的识别信息。
例如,如图2中的(A)所示增设新存储控制器102C和102D之前的状态下,旧存储控制器102A和102B的识别信息被作为安装控制器ID1301保存。如图2中的(B)所示安装新存储控制器102C和102D且正在执行升级处理时,存储控制器102A~102D的识别信息被作为安装控制器ID1301保存。如图2中的(C)所示减设旧存储控制器102A和102B之后的状态下,新存储控制器102C和102C的识别信息被作为安装控制器ID1301保存。
图14是表示本发明的实施例中的存储控制器102的存储器105中保存的硬件结构信息806的结构的说明图。
硬件结构信息806包括控制器ID1401、安装FE端口ID1402、安装BE端口ID1403、安装CPUID1404、安装互联端口ID1405和安装存储器ID1406。
控制器ID1401是各存储控制器102的识别信息。安装FE端口ID1402、安装BE端口ID1403、安装CPUID1404、安装互联端口ID1405和安装存储器ID1406分别是各存储控制器102中安装的FE端口103、BE端口106、CPU104、IC端口107和存储器105的识别信息。
图15是表示本发明的实施例中的存储控制器102的存储器105中保存的FE端口结构信息807的结构的说明图。
FE端口结构信息807是表示各FE端口103的结构的信息。各存储控制器102保存关于该存储控制器102具有的全部FE端口的FE端口结构信息807。FE端口结构信息807包括FE端口ID1501、物理FE端口名1502、物理FE端口地址1503、LUNID1504、虚拟FE端口名1505和虚拟FE端口地址1506。
FE端口ID1501是各FE端口103的识别信息。物理FE端口名1502和物理FE端口地址1503是各FE端口103的物理的识别信息,按照搭载槽位置确定。
LUNID1504是识别设定了经由各FE端口通向主机110的路径的逻辑单元的信息。可以对于一个FE端口103设定通向多个逻辑单元的路径,该情况下,保存多个值作为LUNID1504。
虚拟FE端口名1505和虚拟FE端口地址1506是对于主机110提供的各FE端口103的识别信息,能够根据需要设定任意的值。
例如,图3所示的旧存储节点101A的FE端口103A~103D的WWN可以是物理FE端口名1502或物理FE端口地址1503,也可以是虚拟FE端口名1505或虚拟FE端口地址1506。新存储节点101B的FE端口103E~103H的WWN是虚拟FE端口名1505或虚拟FE端口地址1506。
图16是表示本发明的实施例中的存储控制器102的存储器105中保存的LUN结构信息808的结构的说明图。
LUN结构信息808是表示各逻辑单元的结构的信息,对于一个逻辑单元保存一个LUN结构信息808。LUN结构信息808包括LUNID1601、第一FE端口ID1602、第二FE端口ID1603、第nFE端口ID1604和控制权CPUID1605。
LUNID1601是各逻辑单元的识别信息。第一FE端口ID1602~第nFE端口ID1604是设定了通向各逻辑单元的路径的FE端口的识别信息。控制权CPUID1605是为了I/O处理高速化、而独占地访问与对各逻辑单元的I/O处理相关的控制信息的CPU104的识别信息。
各逻辑单元为了负载分散和故障时的故障转移的目的,而与多个不同的存储控制器下属的FE端口关联。
接着,参考流程图说明存储控制器102执行的处理。以下处理是通过存储控制器102的CPU104执行存储器105内的程序区域501中保存的程序而实现的。
图17是表示本发明的实施例中的存储控制器102执行的控制器更新处理的整体的流程图。
首先,存储控制器102执行控制信息格式变化处理(步骤1701)。该处理的详情在后文中叙述(参考图18)。
接着,存储控制器102执行新控制器增设处理(步骤1702)。该处理的详情在后文中叙述(参考图19)。
接着,存储控制器102执行CPU处理控制权切换处理(步骤1703)。该处理的详情在后文中叙述(参考图20)。
接着,存储控制器102执行FE端口切换处理(步骤1704)。该处理的详情在后文中叙述(参考图21)。
接着,存储控制器102执行控制信息保存目标切换处理(步骤1705)。这相当于图4的保存目标切换(步骤404A、404B),变换格式后的控制信息被保存在新存储控制器102中。
接着,存储控制器102执行旧控制器减设处理(步骤1706)。该处理的详情在后文中叙述(参考图22)。
图18是表示本发明的实施例中的存储控制器102执行的控制信息格式变换处理的流程图。
图18所示的控制信息格式变换处理,由迁移源即旧存储控制器102(图4的例子中是存储控制器102A和102B)执行。首先,存储控制器102参照控制信息结构信息801和控制表管理信息802,取得格式变换后的控制信息的保存目标地址(步骤1801)。例如,如果控制信息结构信息801的第三控制信息保存目标起始地址是旧存储控制器102的存储器105中的格式变换后的控制信息(图4的例子中是新格式的控制信息403A或403B)的保存目标起始地址,则存储控制器102可以取得该地址。
接着,存储控制器102按照步骤1801中取得的地址,对地址进行变换,同时变换控制信息的格式并保存在存储器105内(步骤1802)。这相当于图4的步骤402A和402B。
存储控制器102在变换格式并保存在存储器105内的处理对于控制信息的全部区域结束时,切换控制信息的访问目标和控制信息的格式(步骤1803)。以后,旧存储控制器102从主机110接受了写入等命令的情况下,为了执行该命令而访问新格式的控制信息。此时执行的处理在后文中叙述(参考图23)。
通过以上所述,控制信息格式变换处理结束。
图19是表示本发明的实施例中的存储控制器102执行的新控制器增设处理的流程图。
首先,存储控制器102取得本存储控制器102的硬件结构信息(步骤1901)。具体而言,存储控制器102从本存储控制器102内的FE端口103、CPU104、存储器105、BE端口106和IC端口107等硬件结构要素取得相当于硬件结构信息806的各项目的信息。
接着,存储控制器102进行网络连接检查(步骤1902)。例如,存储控制器102确认与网络交换机111、互联交换机108和驱动器盒109等的连接。
接着,存储控制器102判定网络连接检查的结果是否正常(步骤1903)。结果并非正常的情况下,存储控制器102中断新控制器增设处理(步骤1904)。
网络连接检查的结果是正常的情况下,存储控制器102设定硬件结构信息(步骤1905)。具体而言,存储控制器102将步骤1901中取得的信息作为硬件结构信息806保存在存储器105中。
接着,存储控制器102登录增设方CPU能够处理(步骤1906)。由此,在共享存储器503中的安装控制器管理信息805的安装控制器ID1301中追加该存储控制器102的识别信息。
通过以上所述,新控制器增设处理结束。
图20是表示本发明的实施例中的存储控制器102执行的CPU处理控制权切换处理的流程图。
首先,迁移源即旧存储控制器102(图4的例子中是存储控制器102A和102B)停止从主机110受理新的I/O处理(步骤2001)。
接着,旧存储控制器102等待已受理并持续中的I/O处理完成(步骤2002)。
持续中的I/O处理完成时,存储控制器102设定控制权CPU的移动(步骤S2003)。具体而言,将存储控制器102保存的LUN结构信息808中的、与迁移源的存储控制器102的CPU104具有控制权的逻辑单元相关的LUN结构信息808的控制权CPUID1605的值改写为迁移目标的存储控制器102的CPU104的识别信息。例如,如果迁移源是存储控制器102A,迁移目标是存储控制器102C,则控制权CPUID1605的值被从CPU104A的识别信息改写为CPU104C的识别信息。
通过以上所述,CPU处理控制权切换处理结束。
图21是表示本发明的实施例中的存储控制器102执行的FE端口切换处理的流程图。
首先,存储控制器102选择迁移源和迁移目标的存储控制器102的识别信息(步骤2101、2102)。例如进行图2~图4所示的替换的情况下,可以选择存储控制器102A作为迁移源、选择存储控制器102C作为迁移目标,也可以选择存储控制器102B作为迁移源、选择存储控制器102D作为迁移目标。
接着,存储控制器102确定与迁移源存储控制器102的各FE端口103对应的迁移目标存储控制器102的FE端口(步骤2103)。例如,如上所述进行图2~图4所示的替换的情况下,可以分别确定与FE端口103A~103D对应的FE端口103E~103H。
该情况下,同一迁移源存储控制器102A的FE端口103A和103B被关联至同一迁移目标存储控制器102C的FE端口103E和103F。然后,与迁移源存储控制器102A不同的迁移源存储控制器102B的FE端口103C和103D被关联至与迁移目标存储控制器102C不同的迁移目标存储控制器102D的FE端口103G和103H。
这样,不同的迁移源存储控制器102中安装的FE端口103被关联至不同的迁移目标存储控制器102中安装的FE端口103。即,不同的迁移源存储控制器102中安装的FE端口103不会被关联至同一迁移目标存储控制器102中安装的FE端口103。由此,在迁移目标中也确保与迁移源至少同等的冗余性。
接着,存储控制器102对于各迁移目标FE端口103的虚拟FE端口名1505和虚拟FE端口地址1506,设定对应的迁移源FE端口103的虚拟FE端口名1505和虚拟FE端口地址1506(步骤2104)。因为通过设定端口而确定各端口负责的逻辑单元,所以通过如上所述地继承端口的设定,而将迁移源的各端口负责的逻辑单元分别继承至迁移目标的各端口。由此,关于对逻辑单元的数据I/O,能够实现负载分散处理或故障时的继承中的至少一者。
另外,各存储控制器102保存的硬件结构信息806和FE端口结构信息807,包括将各存储控制器102与其中安装的FE端口103的识别信息关联的信息。因此,基于这些信息,能够使不同的迁移源存储控制器102中安装的FE端口103关联至不同的迁移目标存储控制器102中安装的FE端口103。
例如,如图3所示,与迁移源FE端口103A~103D的WWN相同的值分别被设定为迁移源FE端口103E~103H的虚拟WWN。由此,主机110能够将迁移目标FE端口103识别为和与其对应的迁移源FE端口103相同的端口。另外,在迁移源FE端口中设定了虚拟FE端口名1505和虚拟FE端口地址1506、主机110识别它们的情况下,对于各迁移目标FE端口103的虚拟FE端口名1505和虚拟FE端口地址1506设定对应的迁移源FE端口103的虚拟FE端口名1505和虚拟FE端口地址1506。
接着,存储控制器102进行迁移源存储控制器102的FE端口103的链路关闭(步骤2105)和与它们对应的迁移目标存储控制器102的FE端口103的链路开启(步骤2106),从迁移目标的FE端口103对主机110发送结构变更通知(步骤2107),判定是否从主机110接受了查询(inquiry)(步骤2108)。
未从主机110接受查询(inquiry)的情况下,因为未能确认通向主机110的连接,所以存储控制器102中断FE端口切换处理,经由管理网络113对管理装置112发送处理失败的消息和失败的FE端口103的物理端口名。
已从主机110接受查询(inquiry)的情况下,FE端口切换处理结束。
图22是表示本发明的实施例的存储控制器102执行的旧控制器减设处理的流程图。
首先,旧存储控制器102进行缓存存储器中的数据的丢弃或离台(步骤2201)。具体而言,旧存储控制器102中,如果缓存存储器中的数据已保存在驱动器盒109内的存储区域中,则从缓存存储器中删除该数据,如果尚未保存在驱动器盒109内的存储区域中,则在保存之后从缓存存储器中删除该数据。
接着,旧存储控制器102停止受理新处理(步骤2202)。
接着,旧存储控制器102等待已受理的起动中的处理停止(步骤2203)。
接着,各存储控制器102以反映旧存储控制器102的减设的方式,更新硬件结构信息806(步骤2204)。
通过以上所述,旧控制器减设处理结束。
图23是表示本发明的实施例中的存储控制器102执行的控制信息地址变换处理的流程图。
首先,存储控制器102取得软件固有控制信息地址(步骤2301)。此处,软件固有控制信息地址指的是该存储控制器的软件要访问的控制信息的地址。
接着,存储控制器102判定自身控制信息的格式与保存目标控制信息的格式是否一致(步骤2302),不一致的情况下将步骤2301中取得的控制信息的地址变换为与保存目标控制信息的格式对应的值(步骤2303)。
接着,存储控制器102取得访问目标物理地址(步骤2304)。具体而言,存储控制器102在步骤2302中判定为格式一致的情况下取得与步骤2301中取得的地址对应的物理地址,在步骤2302中判定为格式不一致的情况下取得与步骤2303中变换后的地址对应的物理地址。
通过以上所述,控制信息地址变换处理结束。
例如,在图4所示的旧存储控制器102A中,进行格式变换(步骤402A),生成新格式控制信息403A之后,CPU104A要按照存储器105A内的控制程序访问控制信息的情况下,在步骤2301中取得旧格式的控制信息401A的地址。该情况下,在步骤2302中判定为格式不一致,在步骤2302中将访问对象的旧格式的控制信息401A的地址变换为新格式的控制信息403A的地址,在步骤2304中取得该变换后的地址。由此,在变换了控制信息的格式之后,也能够根据需要访问控制信息。
另外,本发明的实施方式的系统也可以如下所述地构成。
(1)一种存储系统(例如存储系统100),其具有节点(例如存储节点101)和存储驱动器(例如驱动器盒109中包括的驱动器),所述节点包括具有处理器(例如CPU104)、存储器(例如存储器105)和端口(例如FE端口103)的多个存储控制部(例如存储控制器102),所述存储驱动器具有保存数据的存储介质,多个存储控制部的每一个存储控制部经由其多个端口,与主机(例如主机110)进行数据访问请求和数据的收发,多个处理器处理主机要对存储驱动器进行输入输出的数据,多个存储器保存为了访问保存在存储驱动器的数据而供处理器参照的控制信息,存储系统将存储控制部的存储器所存储的控制信息发送到具有多个存储控制部的其他节点并保存在该其他节点的存储控制部的存储器中,在要使其他节点能够执行关于控制信息的数据访问时,考虑节点的存储控制部与端口的关系地进行其他节点的端口的设定。
由此,在执行存储控制部的替换中,也能够与执行替换前后相比不减少存储控制部和端口的数量地,维持至少同等的冗余性。
(2)上述(1)中,存储控制部的处理器提供主机进行数据输入输出的逻辑单元,逻辑单元与端口相关联,端口的设定是确定端口所负责的逻辑单元。
(3)上述(2)中,逻辑单元与同一节点内的不同的多个存储控制部的多个端口相关联,考虑节点的存储控制部与端口的关系地进行其他节点的端口的设定,以使与同一逻辑单元相关联的多个端口与其他节点的不同的存储控制部关联在一起。
(4)上述(3)中,不同的多个存储控制部对于对逻辑单元进行的数据输入输出,能够进行负载分散处理和故障时的继承中的至少一者。
(5)上述(3)中,能够进行端口设定,使与节点的不同的存储控制部所关联的不同的逻辑单元相关联的多个端口,与其他节点的同一存储控制部关联在一起。
(6)上述(1)中,节点包括分别具有多个端口的第一存储控制部和第二存储控制部,其他节点包括分别具有多个端口的第三存储控制部和第四存储控制部,第一存储控制部和第二存储控制部共享同一控制信息,第一存储控制部和第二存储控制部所具有的控制信息被发送到其他节点之后,第三存储控制部和第四存储控制部将控制信息保存于各自的存储器中来共享同一控制信息,第三存储控制部的端口继承第一存储控制部的端口的信息,第四存储控制部的端口继承第二存储控制部的端口的信息。
(7)上述(1)中,在其他节点被追加到存储系统中的情况下,进行对存储器的控制信息的保存和端口的设定,经由端口对主机通知将数据访问目标的端口变更为追加了的其他节点的端口。
(8)上述(1)中,存储系统与具有进行端口的设定的管理部的管理装置(例如管理装置112)连接。
(9)上述(1)中,节点的存储控制部将保存在存储器的控制信息变换为适合其他节点的存储控制部的处理器所执行的软件的格式,将变换了格式后的控制信息发送到其他节点的存储控制部,其他节点的存储控制部将变换了格式后的控制信息保存于存储器中。
(10)上述(9)中,控制信息的变换中包括保存目标的地址变换,存储控制部在控制信息的格式变换结束之后从主机接收了数据访问请求的情况下,参照变换后的保存目标地址来进行数据访问。
另外,本发明不限定于上述实施例,包括各种变形例。例如,上述实施例是为了更好地理解本发明而详细说明的,并不限定于必须具备说明的全部结构。另外,能够将某个实施例的结构的一部分置换为其他实施例的结构,也能够在某个实施例的结构上添加其他实施例的结构。另外,对于各实施例的结构的一部分,能够追加、删除、置换其他结构。
另外,对于上述各结构、功能、处理部、处理单元等,例如可以通过在集成电路中设计等而用硬件实现其一部分或全部。另外,上述各结构、功能等,也可以通过处理器解释、执行实现各功能的程序而用软件实现。实现各功能的程序、表、文件等信息,能够保存在非易失性半导体存储器、硬盘驱动器、SSD(Solid State Drive)等存储设备、或者IC卡、SD卡、DVD等计算机可读取的非暂时性的数据存储介质中。
另外,控制线和信息线示出了认为说明上必要的,并不一定示出了产品上全部的控制线和信息线。实际上也可以认为几乎全部结构都相互连接。
Claims (11)
1.一种存储系统,其具有节点和存储驱动器,所述节点包括具有处理器、存储器和端口的多个存储控制部,所述存储驱动器具有保存数据的存储介质,所述存储系统的特征在于:
所述多个存储控制部的每一个存储控制部,
经由多个所述端口,与主机进行数据访问请求和数据的收发,
多个所述处理器处理主机要对所述存储驱动器进行输入输出的数据,
多个所述存储器保存为了访问保存在所述存储驱动器的数据而供所述处理器参照的控制信息,
所述存储系统将所述存储控制部的存储器所存储的控制信息发送到具有多个存储控制部的其他节点并保存在该其他节点的存储控制部的存储器中,在要使所述其他节点能够执行关于所述控制信息的数据访问时,考虑所述节点的存储控制部与端口的关系地进行所述其他节点的端口的设定。
2.如权利要求1所述的存储系统,其特征在于:
所述存储控制部的处理器提供主机进行数据输入输出的逻辑单元,
所述逻辑单元与所述端口相关联,
所述端口的设定是确定所述端口所负责的逻辑单元。
3.如权利要求2所述的存储系统,其特征在于:
所述逻辑单元与同一节点内的不同的多个存储控制部的多个端口相关联,
考虑所述节点的存储控制部与端口的关系地进行所述其他节点的端口的设定,以使与同一所述逻辑单元相关联的多个端口与所述其他节点的不同的存储控制部关联在一起。
4.如权利要求3所述的存储系统,其特征在于:
所述不同的多个存储控制部对于对所述逻辑单元进行的数据输入输出,能够进行负载分散处理和故障时的继承中的至少一者。
5.如权利要求3所述的存储系统,其特征在于:
能够进行端口设定,使与所述节点的不同的存储控制部所关联的不同的逻辑单元相关联的多个端口,与所述其他节点的同一存储控制部关联在一起。
6.如权利要求1所述的存储系统,其特征在于:
所述节点包括分别具有多个端口的第一存储控制部和第二存储控制部,
所述其他节点包括分别具有多个端口的第三存储控制部和第四存储控制部,
所述第一存储控制部和所述第二存储控制部共享同一控制信息,
所述第一存储控制部和所述第二存储控制部所具有的控制信息被发送到所述其他节点之后,所述第三存储控制部和所述第四存储控制部将所述控制信息保存于各自的存储器中来共享同一控制信息,所述第三存储控制部的端口继承所述第一存储控制部的端口的信息,所述第四存储控制部的端口继承所述第二存储控制部的端口的信息。
7.如权利要求1所述的存储系统,其特征在于:
在其他节点被追加到所述存储系统中的情况下,进行对存储器的所述控制信息的保存和所述端口的设定,
经由所述端口对主机通知将数据访问目标的所述端口变更为追加了的所述其他节点的端口。
8.如权利要求1所述的存储系统,其特征在于:
所述存储系统与具有进行所述端口的设定的管理部的管理装置连接。
9.如权利要求1所述的存储系统,其特征在于:
所述节点的存储控制部将保存在所述存储器的所述控制信息变换为适合所述其他节点的存储控制部的所述处理器所执行的软件的格式,将变换了格式后的所述控制信息发送到所述其他节点的存储控制部,
所述其他节点的存储控制部将变换了格式后的所述控制信息保存于存储器中。
10.如权利要求9所述的存储系统,其特征在于:
所述控制信息的变换中包括保存目标的地址变换,
所述存储控制部在所述控制信息的格式变换结束之后从所述主机接收了数据访问请求的情况下,参照变换后的保存目标地址来进行数据访问。
11.一种存储系统的控制方法,所述存储系统具有节点和存储驱动器,所述节点包括具有处理器、存储器和端口的多个存储控制部,所述存储驱动器具有保存数据的存储介质,所述存储系统的控制方法的特征在于:
所述多个存储控制部的每一个存储控制部,
经由多个所述端口,与主机进行数据访问请求和数据的收发,
多个所述处理器处理主机要对所述存储驱动器进行输入输出的数据,
多个所述存储器保存为了访问保存于所述存储驱动器的数据而供所述处理器参照的控制信息,
所述存储系统将所述存储控制部的存储器所存储的控制信息发送到具有多个存储控制部的其他节点并保存在该其它节点的存储控制部的存储器中,在要使所述其他节点能够执行关于所述控制信息的数据访问时,考虑所述节点的存储控制部与端口的关系地进行所述其他节点的端口的设定。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020163134A JP7197545B2 (ja) | 2020-09-29 | 2020-09-29 | ストレージシステム及びストレージシステムの制御方法 |
JP2020-163134 | 2020-09-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114327250A true CN114327250A (zh) | 2022-04-12 |
CN114327250B CN114327250B (zh) | 2024-02-09 |
Family
ID=80822486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110188674.9A Active CN114327250B (zh) | 2020-09-29 | 2021-02-19 | 存储系统和存储系统的控制方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11429316B2 (zh) |
JP (2) | JP7197545B2 (zh) |
CN (1) | CN114327250B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030009640A1 (en) * | 2001-06-21 | 2003-01-09 | International Business Machines Corp. | Non-uniform memory access (NUMA) data processing system having a page table including node-specific data storage and coherency control |
US6625691B2 (en) * | 1998-04-10 | 2003-09-23 | Hitachi, Ltd. | Storage subsystem with management site changing function |
CN1924783A (zh) * | 2005-08-29 | 2007-03-07 | 株式会社日立制作所 | 存储系统以及存储控制方法 |
US20070180188A1 (en) * | 2006-02-02 | 2007-08-02 | Akira Fujibayashi | Virtual path storage system and control method for the same |
CN101354634A (zh) * | 2008-09-10 | 2009-01-28 | 杭州海康威视数字技术股份有限公司 | Ata端口接多路sata端口存储设备系统及控制方法 |
KR20110066526A (ko) * | 2009-12-11 | 2011-06-17 | 한국전자통신연구원 | 다중포트 메모리 콘트롤러 및 다중포트 캐시 |
US20110191547A1 (en) * | 2009-11-19 | 2011-08-04 | Hitachi, Ltd. | Computer system and load equalization control method for the same |
US20120131576A1 (en) * | 2010-11-19 | 2012-05-24 | Hitachi, Ltd. | Virtual computer system and migration method of virtual computer |
WO2017051453A1 (ja) * | 2015-09-24 | 2017-03-30 | 株式会社日立製作所 | ストレージシステム、及び、ストレージシステムの管理方法 |
US9959043B2 (en) * | 2016-03-16 | 2018-05-01 | Pure Storage, Inc. | Performing a non-disruptive upgrade of data in a storage system |
US20190147923A1 (en) * | 2017-11-16 | 2019-05-16 | Micron Technology, Inc. | Multi-port storage-class memory interface |
CN111352574A (zh) * | 2018-12-21 | 2020-06-30 | 杭州宏杉科技股份有限公司 | 路径切换的方法、装置及计算机可读存储介质 |
US20200210086A1 (en) * | 2018-12-26 | 2020-07-02 | Hitachi, Ltd. | Storage system and data management method of storage system |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003162377A (ja) * | 2001-11-28 | 2003-06-06 | Hitachi Ltd | ディスクアレイシステム及びコントローラ間での論理ユニットの引き継ぎ方法 |
US9098211B1 (en) | 2007-06-29 | 2015-08-04 | Emc Corporation | System and method of non-disruptive data migration between a full storage array and one or more virtual arrays |
JP5451875B2 (ja) | 2010-04-30 | 2014-03-26 | 株式会社日立製作所 | 計算機システム及びその記憶制御方法 |
CN103080894A (zh) | 2010-12-28 | 2013-05-01 | 株式会社日立制作所 | 存储系统、存储系统的管理方法和程序 |
JP6074056B2 (ja) | 2013-11-07 | 2017-02-01 | 株式会社日立製作所 | 計算機システムおよびデータ制御方法 |
JP6361390B2 (ja) | 2014-09-10 | 2018-07-25 | 富士通株式会社 | ストレージ制御装置および制御プログラム |
WO2016075765A1 (ja) | 2014-11-12 | 2016-05-19 | 株式会社日立製作所 | 計算機システム及びその制御方法 |
JP6000391B2 (ja) | 2015-03-18 | 2016-09-28 | 株式会社日立製作所 | ストレージシステムのデータ移行方法 |
JP6604029B2 (ja) | 2015-04-30 | 2019-11-13 | 富士通株式会社 | 制御装置、ストレージ装置、制御プログラム |
JP2017010390A (ja) | 2015-06-24 | 2017-01-12 | 富士通株式会社 | ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法 |
JP6547600B2 (ja) | 2015-11-13 | 2019-07-24 | 富士通株式会社 | ストレージシステム、および制御装置 |
US9864663B2 (en) * | 2016-02-19 | 2018-01-09 | Dell Products L.P. | Storage controller failover system |
ES2790388T4 (es) * | 2016-06-28 | 2022-04-19 | Huawei Tech Co Ltd | Método, aparato y sistema de migración de carga |
JP2018101440A (ja) | 2018-02-08 | 2018-06-28 | 株式会社日立製作所 | 計算機システム |
JP6814764B2 (ja) | 2018-04-06 | 2021-01-20 | 株式会社日立製作所 | 情報処理システム及びパス管理方法 |
JP6948303B2 (ja) | 2018-11-07 | 2021-10-13 | 株式会社日立製作所 | ストレージシステム |
-
2020
- 2020-09-29 JP JP2020163134A patent/JP7197545B2/ja active Active
-
2021
- 2021-02-19 CN CN202110188674.9A patent/CN114327250B/zh active Active
- 2021-03-11 US US17/198,665 patent/US11429316B2/en active Active
-
2022
- 2022-08-05 US US17/881,945 patent/US11836386B2/en active Active
- 2022-12-14 JP JP2022199556A patent/JP7377339B2/ja active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6625691B2 (en) * | 1998-04-10 | 2003-09-23 | Hitachi, Ltd. | Storage subsystem with management site changing function |
US20030009640A1 (en) * | 2001-06-21 | 2003-01-09 | International Business Machines Corp. | Non-uniform memory access (NUMA) data processing system having a page table including node-specific data storage and coherency control |
CN1924783A (zh) * | 2005-08-29 | 2007-03-07 | 株式会社日立制作所 | 存储系统以及存储控制方法 |
US20070180188A1 (en) * | 2006-02-02 | 2007-08-02 | Akira Fujibayashi | Virtual path storage system and control method for the same |
CN101354634A (zh) * | 2008-09-10 | 2009-01-28 | 杭州海康威视数字技术股份有限公司 | Ata端口接多路sata端口存储设备系统及控制方法 |
US20110191547A1 (en) * | 2009-11-19 | 2011-08-04 | Hitachi, Ltd. | Computer system and load equalization control method for the same |
KR20110066526A (ko) * | 2009-12-11 | 2011-06-17 | 한국전자통신연구원 | 다중포트 메모리 콘트롤러 및 다중포트 캐시 |
US20120131576A1 (en) * | 2010-11-19 | 2012-05-24 | Hitachi, Ltd. | Virtual computer system and migration method of virtual computer |
WO2017051453A1 (ja) * | 2015-09-24 | 2017-03-30 | 株式会社日立製作所 | ストレージシステム、及び、ストレージシステムの管理方法 |
US9959043B2 (en) * | 2016-03-16 | 2018-05-01 | Pure Storage, Inc. | Performing a non-disruptive upgrade of data in a storage system |
US20190147923A1 (en) * | 2017-11-16 | 2019-05-16 | Micron Technology, Inc. | Multi-port storage-class memory interface |
CN111352574A (zh) * | 2018-12-21 | 2020-06-30 | 杭州宏杉科技股份有限公司 | 路径切换的方法、装置及计算机可读存储介质 |
US20200210086A1 (en) * | 2018-12-26 | 2020-07-02 | Hitachi, Ltd. | Storage system and data management method of storage system |
Also Published As
Publication number | Publication date |
---|---|
JP7197545B2 (ja) | 2022-12-27 |
US11429316B2 (en) | 2022-08-30 |
CN114327250B (zh) | 2024-02-09 |
JP2022055614A (ja) | 2022-04-08 |
US11836386B2 (en) | 2023-12-05 |
US20220100424A1 (en) | 2022-03-31 |
JP2023021320A (ja) | 2023-02-10 |
JP7377339B2 (ja) | 2023-11-09 |
US20220374165A1 (en) | 2022-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7536508B2 (en) | System and method for sharing SATA drives in active-active RAID controller system | |
US8321722B2 (en) | Storage device, and data path failover method of internal network of storage controller | |
US7669022B2 (en) | Computer system and data management method using a storage extent for backup processing | |
US6073209A (en) | Data storage controller providing multiple hosts with access to multiple storage subsystems | |
US7114012B2 (en) | Computer system and method for migrating from one storage system to another | |
US8612973B2 (en) | Method and system for handling interrupts within computer system during hardware resource migration | |
US10191685B2 (en) | Storage system, storage device, and data transfer method | |
US8065271B2 (en) | Storage system and method for backing up data | |
CN112346653A (zh) | 驱动器箱、存储系统和数据传送方法 | |
CN112114741B (zh) | 存储系统 | |
US10503440B2 (en) | Computer system, and data migration method in computer system | |
US11675545B2 (en) | Distributed storage system and storage control method | |
JP5182162B2 (ja) | 計算機システム及びi/o制御方法 | |
CN114327250A (zh) | 存储系统和存储系统的控制方法 | |
JP7017546B2 (ja) | ストレージシステム、パス管理方法、及びパス管理プログラム | |
WO2019043815A1 (ja) | ストレージシステム | |
US11836393B2 (en) | Storage system and control method of migrating storage control unit based on maximum amount of mountable storage control units | |
US10732901B2 (en) | Storage system and storage control method | |
US11461032B1 (en) | Storage controller replacement and firmware upgrade without service interruption | |
JP2022020926A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |