CN111290702A - 一种控制设备的切换方法、控制设备、及存储系统 - Google Patents
一种控制设备的切换方法、控制设备、及存储系统 Download PDFInfo
- Publication number
- CN111290702A CN111290702A CN201811553216.5A CN201811553216A CN111290702A CN 111290702 A CN111290702 A CN 111290702A CN 201811553216 A CN201811553216 A CN 201811553216A CN 111290702 A CN111290702 A CN 111290702A
- Authority
- CN
- China
- Prior art keywords
- control device
- path
- lun
- controller
- host
- 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
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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/0617—Improving the reliability of storage systems in relation to availability
-
- 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/2002—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 interconnections or communication control functionality are redundant
- G06F11/2005—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 interconnections or communication control functionality are redundant using redundant communication controllers
-
- 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/2002—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 interconnections or communication control functionality are redundant
- G06F11/2007—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 interconnections or communication control functionality are redundant using redundant communication media
-
- 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
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- 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/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请提供了一种控制设备的切换方法,所述方法应用于第一控制设备,第一控制设备连接至第二控制设备,并通过第二控制设备访问第二控制设备所能访问的存储设备,第一控制设备和第二控制设备分别与主机相连,该方法包括:获取第二控制设备中LUN的配置信息;根据LUN的配置信息将第一路径映射至主机,第一路径为主机通过第一控制设备访问LUN的路径;通知第二控制设备将第二路径设置为故障,第二路径为主机通过第二控制设备访问LUN的路径,及将主机访问LUN的路径由第二路径切换至第一路径。本申请提供的技术方案在控制设备切换的过程中,不会降低存储系统的性能,且在控制设备中的控制器的连接结构变化时,也可以进行更换。
Description
技术领域
本申请涉及存储领域,并且更具体地,涉及一种控制设备的切换方法、控制设备、及存储系统。
背景技术
存储系统一般可以分为控制设备和存储设备。控制设备是存储系统的核心部件,主要负责处理主机下发的输入输出(input output,IO)请求、处理存储业务。
存储系统中的控制设备决定着企业存储的计算能力。在存储系统使用一定的年限之后,随着企业业务量的增长,控制设备的计算能力存在瓶颈,无法满足客户的需求,从而客户有更换控制设备从而提升存储性能的诉求。
现有技术在更换控制设备的过程中,需要将待更换的控制器上的业务切换到其他控制器上,并将待更换的控制器拔出并替换成新的控制器。现有技术在通过上述方式更换控制器时,会使存储系统的存储性能减半,并减低了存储系统的可靠性。另外上述方式还无法支持单控制器的控制设备的更换。
发明内容
本申请提供一种控制设备的切换方法,可以在控制设备切换的过程中,不会降低存储系统的性能,且在控制设备中的控制器的连接结构变化时,也可以进行更换。
第一方面,提供了一种控制设备的切换方法,应用于第一控制设备。所述第一控制设备连接至所述第二控制设备,并通过所述第二控制设备访问所述第二控制设备所能访问的存储设备,所述第一控制设备和所述第二控制设备分别与主机相连。所述方法包括:获取所述第二控制设备中的逻辑单元号LUN的配置信息,所述LUN构建于所述存储设备,并根据LUN的配置信息将第一路径映射至主机,所述第一路径为所述主机通过所述第一控制设备访问所述LUN的路径,所述第一路径经过所述第二控制设备;通知所述第二控制设备将第二路径设置为故障,所述第二路径为所述主机通过所述第二控制设备访问所述LUN的路径,及将所述主机访问所述LUN的路径由所述第二路径切换至所述第一路径。
应理解,存储设备可以是利用磁盘构建的磁盘阵列RAID。
第一控制设备可以是只包括一个控制器的单控架构,也可以是包括多个控制器的多控架构,本申请对此不作具体限定。
本申请实施例中从控制器121和控制器122获取到的相关存储配置信息可以包括但不限于:LUN相关的配置信息、一些增值业务的配置信息。
LUN相关的配置信息可以包括但不限于:LUN的标识(identification,ID)、LUN的容量、LUN的属性、LUN归属的控制器、LUN归属的存储池(pool)、LUN与主机(host)之间的映射(mapping)等。
一些增值业务的存储配置信息可以包括但不限于:快照(snapshot)、复制(replication)等。
上述技术方案中,在将第一控制设备切换至第二控制设备的过程中,不需要将第一控制设备的控制器拔出进行更换,所以不会降低存储系统的性能,且在切换时,由于不需要插拔控制器,所以,不受第二控制设备中的控制器的连接结构变化的影响。
在一种可能的实现方式中,所述方法还包括:在将所述第一路径映射至主机后,获取所述第二控制设备中的所述LUN的数据;接收访问所述LUN的数据的输入输出IO请求,通过所述第一控制设备访问所述LUN的数据。
本申请中获取第二控制设备中的所述LUN的数据的实现方式有多种,可以是将所述第二控制设备的内存中的数据存储至所述存储设备,然后从存储设备中获取所述LUN的数据。还可以是将所述第二存储设备中的内存中的所述LUN的数据迁移至所述第一控制设备的内存中。
上述技术方案中,第一控制设备中的控制器在获取到每个LUN的完整数据之后,可以由第一控制设备接管主机业务,从而可以实现在线接入第一控制设备。
在另一种可能的实现方式中,通知所述第二控制设备将所述第二控制设备的内存中的数据存储至所述存储设备;从所述存储设备中获取所述LUN的数据。
应理解,第二控制设备中所有LUN的完整数据可以包括:内存(cache)中的数据和存储在存储设备中的数据。由于第一控制设备也可以访问存储设备中存储的数据,所以也可以根据LUN的ID从所述存储设备中的硬盘构成的存储池(pool)中获取所述LUN的数据。
在另一种可能的实现方式中,通知所述第二控制设备将所述第二存储设备中的内存中的所述LUN的数据迁移至所述第一控制设备的内存中。
应理解,第二控制设备对于新接手到的IO数据除了存储在本地内存和内存也实时同步到第一控制设备的内存中。直至第二控制设备中所有内存中LUN的数据迁移至第一控制设备的内存中。
在另一种可能的实现方式中,在通知所述第二控制设备将第二路径设置为故障后,将所述主机访问所述LUN的路径由所述第二路径切换至所述第一路径。
在另一种可能的实现方式中,所述第一路径包括至少一条路径,将所述第一路径中的其中一条路径设置为主路径,所述主机通过所述主路径访问所述LUN。
上述技术方案应用与主/从(A/P)场景中,可以实现第一控制设备在线接管第二控制设备中的业务。
在另一种可能的实现方式中,所述方法还包括:在执行所述获取所述第二控制设备中的所述LUN的数据的过程中,接收所述第二控制器发送的镜像写请求,所述镜像写请求为所述第二控制器在接收到写请求时产生的,用于将所述写请求中的数据镜像写至所述第一控制设备的内存中。
在A/P场景中,在获取LUN的数据的过程中,如果第二控制设备接收到写请求,则第二控制设备会将所述写请求镜像至第一控制设备,这样,可以保证第一控制设备与第二控制设备之间的数据的一致性。
在另一种可能的实现方式中,即双活(A/A)的场景下,在将所述主机访问所述LUN的路径由所述第二路径切换至所述第一路径后,通知所述第二控制设备将第二路径设置为故障。
在另一种可能的实现方式中,将所述第一控制设备中的其中一个控制器设置为集群主控制器;所述集群主控制器将分配给所述第二控制设备的控制器的地址空间分配给所述第一控制设备的控制器。这样,由于第二控制设备中的控制器的地址空间分配给了第一控制设备的控制器,所述,在接收到IO请求时,IO请求会被下发至第一控制设备的控制器,从而实现将第二控制设备的业务切换至第一控制设备。
在另一种可能的实现方式中,获取所述第二控制设备的快照和/或远程复制的配置信息;根据所述快照和/或远程复制的配置信息在所述第一控制设备中实现快照和/或远程复制业务。
上述技术方案中,可以实现第一控制设备中的快照和/或远程复制业务,从而可以实现远程的数据备份,减少数据的丢失带来的损失。
第二方面,提供了一种控制设备的切换方法,所述方法应用于第一控制设备。所述第一控制设备连接至所述第二控制设备,所述第一控制设备和所述第二控制设备分别通过存储设备的两个上行级联接口连接至所述存储设备,并分别与主机相连。所述方法包括:获取所述第二控制设备中的逻辑单元号LUN的配置信息,所述LUN构建于所述存储设备;根据所述LUN的配置信息将第一路径映射至主机,所述第一路径为所述主机通过所述第一控制设备与所述存储设备连接的级联接口访问所述LUN的路径;通知所述第二控制设备将第二路径设置为故障,所述第二路径为所述主机通过所述第二控制设备访问所述LUN的路径,及将所述主机访问所述LUN的路径由所述第二路径切换至所述第一路径。
在一种可能的实现方式中,所述方法还包括:在将所述第一路径映射至主机后,获取所述第二控制设备中的所述LUN的数据;接收访问所述LUN的数据的IO请求,通过所述第一控制设备访问所述LUN的数据。
在另一种可能的实现方式中,通知所述第二控制设备将所述第二控制设备的内存中的数据存储至所述存储设备;从所述存储设备中获取所述LUN的数据。
在另一种可能的实现方式中,通知所述第二控制设备将所述第二存储设备中的内存中的所述LUN的数据迁移至所述第一控制设备的内存中。
在另一种可能的实现方式中,所述第一路径包括至少一条路径,将所述第一路径中的其中一条路径设置为主路径,所述主机通过所述主路径访问所述LUN。
在另一种可能的实现方式中,所述方法还包括:在执行所述获取所述第二控制设备中的所述LUN的数据的过程中,接收所述第二控制器发送的镜像写请求,所述镜像写请求为所述第二控制器在接收到IO请求时产生的,用于将所述IO请求中的数据镜像写至所述第一控制设备的内存中。
在另一种可能的实现方式中,获取所述第二控制设备的快照和/或远程复制的配置信息;根据所述快照和/或远程复制的配置信息在所述第一控制设备中实现快照和/或远程复制业务。
第三方面,提供了一种第一控制设备,所述第一控制设备连接至所述第二控制设备,并通过所述第二控制设备访问所述第二控制设备所能访问的存储设备,所述第一控制设备和所述第二控制设备分别与主机相连,所述第一控制设备包括获取模块、映射模块、处理模块、接收模块,所述获取模块、映射模块、处理模块及接收模块所执行的功能与第一方面所提供的方法的各步骤所实现的功能相同,具体请参考第一方面的方法各个步骤的描述,在此不再赘述。
第四方面,提供了一种第一控制设备,所述第一控制设备连接至所述第二控制设备,所述第一控制设备和所述第二控制设备分别通过存储设备的两个上行级联接口连接至所述存储设备,并分别与主机相连。,所述第一控制设备包括获取模块、映射模块、处理模块、及接收模块。所述获取模块、映射模块、处理模块及接收模块所执行的功能与第二方面所提供的方法的各步骤所实现的功能相同,具体请参考第二方面的方法各个步骤的描述,在此不再赘述。
第五方面,本申请提供一种第一控制设备,所述第一控制设备连接至第二控制设备,并通过所述第二控制设备访问所述第二控制设备所能访问的存储设备,所述第一控制设备和所述第二控制设备分别与主机相连,所述第一控制设备包括处理器、存储器、通信接口、总线。所述处理器、存储器和通信接口之间通过总线连接并完成相互间的通信,所述存储器中用于存储计算机执行指令,所述第一控制设备运行时,所述处理器执行所述存储器中的计算机执行指令以利用所述第一控制设备执行第一方面或第一方面任一种可能实现方式中所述方法的操作步骤。
第六方面,本申请提供一种第一控制设备,所述第一控制设备连接至所述第二控制设备,所述第一控制设备和所述第二控制设备分别通过存储设备的两个上行级联接口连接至所述存储设备,并分别与主机相连。所述第一控制设备包括处理器、存储器、通信接口、总线。所述处理器、存储器和通信接口之间通过总线连接并完成相互间的通信,所述存储器中用于存储计算机执行指令,所述第一控制设备运行时,所述处理器执行所述存储器中的计算机执行指令以利用所述控制设备执行第二方面或第二方面任一种可能实现方式中所述方法的操作步骤。
第七方面,提供了一种存储系统,所述存储系统包括第一控制设备和第二控制设备,所述第二控制设备连接至存储设备,所述第一控制设备连接至所述第二控制设备的接口,所述第一存储设备通过所述接口访问所述存储设备,所述第一控制设备和所述第二控制设备分别与主机相连。
第八方面,提供了一种存储系统,所述存储系统包括第一控制设备和第二控制设备,所述第一控制设备连接至所述第二控制设备,所述第一控制设备和所述第二控制设备分别通过所述存储设备的两个上行级联接口连接至所述存储设备,并分别与主机相连。
第九方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。
第十方面,提供了一种计算机可读介质,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1是盘控一体化的存储系统的示意性的架构图。
图2是控制设备和存储设备分离的存储系统的示意性的架构图。
图3是图1所示的存储系统与主机的连接及控制设备与存储设备之间的连接关系的示意图。
图4是本申请实施例提供的一种将新的控制设备接入存储系统的连接关系的示意图。
图5是本申请实施例提供的一种控制设备与存储系统中的控制设备之间连接的示意性结构图。
图6是本申请实施例提供的一种AP存储架构的示意性框图。
图7是本申请实施例提供的一种AP存储架构中切换存储系统中的控制设备的主机业务至控制设备的示意性流程图。
图8是本申请实施例提供的一种AA存储架构的示意性框图。
图9是本申请实施例提供的一种AA存储架构中切换主机业务到控制设备的示意性流程图。
图10是图2所示的存储系统与主机的连接及控制设备与存储设备之间的连接关系的示意图。
图11是本申请实施例提供的一种将新的控制设备接入存储系统的连接关系的示意图。
图12是本申请实施例提供的一种第一控制设备的示意性框图。
图13是本申请实施例提供的一种第一控制设备的示意性框图。
图14是本申请实施例提供的一种第一控制设备的结构性示意图。
图15是本申请实施例提供的一种第一控制设备的结构性示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
存储系统一般可以包括控制设备和存储设备。其中,控制设备主要负责处理主机下发的输入输出(input output,IO)请求、处理存储业务。而存储设备,可以是利用磁盘构建的磁盘阵列(redundant arrays of independent drives,RAID)。控制设备和存储设备可以在一个机框内,即通常所说的盘控一体化。控制设备和存储设备也可以不在一个机框内,即控制设备和存储设备是分离的。下面结合图1及图2,对存储系统的架构进行详细描述。
图1是盘控一体化的存储系统110的示意性的架构图。如图1所示,所述存储系统110所包括的控制设备120和存储设备130安装在一个机框140内,通过机框140上的接口彼此连接,当需要更换控制设备120或存储设备130时,需要将控制设备120中的控制器或者存储设备130中的硬盘从所述机框140中拔出来。
控制设备120可以是只包括一个控制器的单控架构,也可以是包括多个控制器的多控架构。图1中的控制设备120以双控制器架构作为示例,例如,控制设备120可以包括控制器121和控制器122。存储设备130例如可以是多个硬盘组成的RAID。
图2是控制设备和存储设备分离的存储系统210的示意性的架构图。如图2所示,所述控制设备220和存储设备230之间是分离的,控制设备220的下行接口240通过线缆与存储设备230的级联口250连接在需要更换控制设备220或者存储设备230时,断开控制设备220的下行接口240与存储设备230的级联口250之间的连接,以对所述控制设备220或者存储设备230整体进行更换。
控制设备220可以是只包括一个控制器的单控架构,也可以是包括多个控制器的多控架构。图2中的控制设备220以双控制器架构作为示例,例如,控制设备220可以包括控制器221和控制器222。
图2中的存储设备230可以是多个硬盘组成的RAID。
存储系统中的控制设备决定着企业存储的计算能力。在存储系统使用一定的年限之后,随着企业业务量的增长,控制设备的计算能力存在瓶颈,无法满足客户的需求,从而客户有更换控制设备从而提升存储性能的诉求。
下面以图1所述的盘控一体化的存储系统110为例,对现有技术中更换存储系统的控制设备的过程进行详细分析。
参见图1,现有技术在更换存储系统的控制设备的过程中,可以依次将控制设备中的旧的控制器更换为新的控制器。具体的,首先可以将图1所示的控制器121的业务切换至控制器122。其次,可以将控制器121从机框140中拔出,并将新的控制器插入机框140以替换控制器121,再将切换到控制器122的业务重新切换回更换后的新的控制器中。然后再对控制器122进行更换,在更换控制器122时,将所控制器122的业务切换至替换所述控制器121的新的控制器,将控制器122从所述机框140中拔出,将替换所述控制器122的新的控制器插入所述机框140,再将业务切换回替换所述控制器122的新的控制器,如此即完成对所述控制设备120中的控制器的更换。现有技术在通过上述方式更换控制器时,需要将待更换的控制器上的业务切换到其他控制器上。因此,会使存储系统的存储性能降低,同时降低了存储系统的可靠性。另外,上述方式还无法支持单控制器的控制设备的更换。
另外,现有技术中通过上述更换方式更换控制器时,要求新控制器与旧控制器的结构相同,这样才能保证将新控制器插入所述机框140。但一般情况下,在旧控制器升级为新控制器时,新控制器的结构发生变化,比如,由于功能的增加,新控制器的引脚会发生变化。这样,新控制器就无法插入所述机框140,则无法采用上述更换方式更换旧的控制器。
本申请实施例提供了一种切换控制设备的方法,在切换的过程中,不会降低存储系统的性能,且不需要替换控制设备中的控制器,这样,即使新的控制器的结构发生变化,也可以在存储系统中使用新的控制器。
下面以图1所示的盘控一体化的存储系统110为例,对本申请实施例提供的切换控制设备的方法进行详细描述。
需要说明的是,本申请实施例提供的切换控制设备的方法既可以适用于只包括一个控制器的单控架构,也可以适用于包括多个控制器的多控架构。下面以控制设备为双控制器为例,对本申请提供的技术方案进行详细说明。
图3是图1所示的存储系统110与主机310的连接及控制设备120与存储设备130之间的连接关系的示意图。如图3所示,在本发明实施例中,所述存储设备130包括与所述控制设备120级联的硬盘框330、硬盘框340、硬盘框350。
主机310可以包括:业务端口311、业务端口312。
控制设备120包括:控制器121、控制器122、存储器123。控制器121中包括:前端接口1211、前端接口1212、级联口1213、级联口1214。控制器122中包括:前端接口1221、前端接口1222、级联口1223、级联口1224。
存储设备130包括硬盘框330、硬盘框340、硬盘框350。
硬盘框330中可以包括:级联模块331、级联模块332、硬盘333。级联模块331中可以包括:级联口3311、级联口3312。
参见图3,控制器121中的前端接口1211和控制器122中的前端接口1221分别与主机310中的业务端口311和业务端口312相连。主机310可以通过业务端口311和/或业务端口312将IO请求发送至控制器121和/或控制器122进行处理。
本申请实施例对控制器与主机之间的连接方式不做具体限定。作为一个示例,控制器121中的前端接口1211和控制器122中的前端接口1221可以直接分别与主机310中的业务端口311和业务端口312相连。作为另一个示例,图3还可以包括交换机360,控制器121中的前端接口1211和控制器122中的前端接口1221可以通过交换机360分别与业务端口311和业务端口312相连。
一个控制器可以有两个级联口(也可以称为扩展(expand,EXP)口),该控制器可以通过两个级联口中的任意一个访问存储设备130中的数据。
例如,控制器121中的级联口1213可以与硬盘框330中的级联模块331中的级联口3312连接,级联模块331中的级联口3311与硬盘框340中的级联模块341中的级联口3412连接,级联模块341中的级联口3411与硬盘框350中的级联模块351中的级联口3512连接,当还需要级联其他硬盘框时,则可以通过硬盘框350中的级联口3511连接。通过上面的级联方式,该控制器121可以访问硬盘333、硬盘343、及硬盘353上存储的数据。同理,控制器122也可以通过级联口1223与硬盘框330的级联模块332的级联口3322连接,级联模块332中的级联口3321与硬盘框340的级联模块342的级联口3422连接,级联模块342的级联口3421与硬盘框350的级联模块352的级联口3522连接。从而使所述控制器122也可以访问到硬盘333、硬盘343、及硬盘353上存储的数据。
本申请实施例提供的切换存储系统的控制设备的方法可以将新的控制设备在线接入到存储系统中,并将存储系统的控制设备由旧的控制设备切换为新的控制设备。新的控制设备410接入存储系统110后,与存储系统110的连接请参见图4中的描述。
控制设备410包括:控制器411、控制器412、存储器413。控制器411包括:前端接口4111、前端接口4112、级联口4113、级联口4114。控制器412包括:前端接口4121、前端接口4122、级联口4123、级联口4124。
参见图4,可以将控制器411中的前端接口4111和控制器412中的前端接口4121分别与主机310中的业务端口311和业务端口312相连。
本申请实施例对控制器411、控制器412与主机310之间的连接方式不做具体限定。作为一个示例,控制器411中的前端接口4111和控制器412中的前端接口4121可以直接分别与主机310中的业务端口311和业务端口312相连。作为另一个示例,前端接口4111和前端接口4121还可以通过交换机360分别与业务端口311和业务端口312相连。
图4中可以将控制设备410的级联口4113与控制设备120中的级联口1214连接,从而实现控制设备410可以通过该连接方式访问到存储设备130(硬盘333、硬盘343、硬盘353)中存储的数据。在本发明实施例中,所述控制设备410还可以访问到控制设备120的存储器123。有关控制设备410中的级联口4113与控制设备120中的级联口1214连接的具体内部实现请参考图5中的描述。
图5是本申请实施例提供的一种控制设备410与存储系统110中的控制设备120之间连接的示意性结构图。
应理解,图5中以控制设备410中的控制器411的级联口4113与控制设备120中的控制器121的级联口1214连接作为示例进行描述。
每个控制器内部具有启动器芯片,该启动器芯片与控制器中的级联口连接。控制器中的系统软件可以通过启动器芯片和级联口访问存储设备中存储的数据。
参见图5,控制器121内部具有启动器520,启动器520与级联口1213、级联口1214连接。控制器121中的系统软件可以通过启动器520与级联口1213,或者启动器520与级联口1214访问存储设备130(即存储器123、硬盘333、硬盘343、硬盘353)中存储的数据。
为了实现将控制设备120切换为控制设备410,使得控制设备410能够访问到存储设备130中存储的数据,本申请实施例可以将启动器520与级联口1214之间的连接断开(如图6中的虚线),并可以将级联口1214与控制器411中的级联口4113连接。如上连接后,控制器411中的启动器510可以通过级联口413与控制器121中的级联口1214连接,因此,控制器411可以通过级联口1214访问存储设备130上存储的数据。
具体的,可以将启动器520与级联口1214之间的管脚断开。例如,可以将固件中启动器520连接所述级联口1214的引脚参数设置为无效(disable)。
本申请实施例在图4中,将控制设备410在线接入到存储系统110之后,可以启动控制设备410,并可以将存储系统110中控制设备120的主机业务切换到控制设备410中。有关将控制设备120中的主机业务切换到控制设备410的方法可参考图6及图7的描述。
一般,多控的存储系统可以分为主/从(active passive,AP)架构和双活(activeactive,AA)架构。
AP存储架构中,多控制器中有一个为归属控制器(active控制器),其他的控制器均为从控制器(passive控制器)。存储设备的逻辑单元号(logical unit number,LUN)归属于active控制器,主机的所有I/O读写请求均在active控制器进行处理。active控制器中的数据可以实时镜像到passive控制器中。当active控制器故障时,可以将LUN切换到passive控制器,passive控制器通过访问LUN可以继续为主机提供业务。
AA存储架构中,LUN没有归属的控制器,多控制器均为active控制器,并且均可以处理同一个LUN的I/O请求。在AA存储架构,集群主控制器可以将LUN的地址空间分割成一定大小的块(grain),并且可以将LUN分割的地址空间交替分配至多个控制器。一个主机IO下发到控制器端,接收IO的控制器可以根据IO中携带的逻辑地址以及每个active控制器中分配的LUN的地址空间,确定处理该IO请求的active控制器。如此,存储系统不需要主机端的负载均衡软件参与就可以自动实现负载均衡,从而可以发挥所有控制器的性能。
下面以AP存储架构作为示例,结合图6及图7,对本申请实施例中将控制设备410在线接入存储系统110中,并将存储系统110中的控制设备由旧的控制设备120切换为新的控制设备410的具体实现过程进行详细描述。
应注意,图6及图7的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将本申请实施例限于所例示的具体数值或具体场景。本领域技术人员根据所给出的图6及图7的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本申请实施例的范围内。
图6是本申请实施例提供的一种AP存储架构的示意性框图。图6所示的AP存储架构中,在存储系统110中的控制设备为控制设备120的情况下,主机通过控制器121的路径1或控制器122的路径2访问LUN。在存储系统110中在线接入控制设备410之后,主机还可以通过控制器411的路径3或控制器412的路径4访问LUN。
应理解,图6中的路径1对应于图4中控制器121中的前端接口1211与主机310之间的路径,路径2对应于控制器121中的前端接口1221与主机310之间的路径,路径3对应于控制器411中的前端接口4111与主机310之间的路径,路径4对应于控制器412中的前端接口4121与主机310之间的路径。
在AP存储架构中,LUN归属于主控制器。以控制器121为LUN的归属控制器(active控制器)作为示例,控制器122、控制器411、控制器412均为passive控制器。因此,路径1为active路径,LUN归属于控制器121,主机所有的读写IO请求在控制器121中处理。路径2、路径3、路径4均为passive路径。在归属控制器121故障的情况下,可以将LUN切换到passive控制器继续提供业务。
下面结合图7,对图6所示的AP存储架构中,对将存储系统110中的控制设备由旧的控制设备120切换为新的控制设备410一种可能的实现过程进行详细描述。
图7是本申请实施例提供的一种AP存储架构中切换存储系统110中的控制设备120的主机业务至控制设备410的示意性流程图。图7所示的方法包括步骤710-790,下面分别对步骤710-790进行详细说明。
步骤710:用户将控制设备410在线接入存储系统110。
本申请实施例中可以连接控制设备410的级联口4113与控制设备120中的级联口1214,从而使控制设备410能够访问到存储设备130(硬盘333、硬盘343、硬盘353)及控制设备120中的存储器123中存储的数据。具体的连接关系请参考上文中图4及图5中的描述,此处不再赘述。
在将控制设备410在线接入到存储系统110,并启动控制设备410之后,用户将控制设备410中的其中一个控制器设置为主控制器,以执行控制设备410内的管理功能。
为了便于描述,后文中以控制设备410中的控制器411为主控制器进行描述。
步骤720:控制设备410获取控制设备120中的LUN的配置信息。
在用户将控制设备410在线接入至存储系统110之后,控制设备410中的控制器可以获取控制设备120中存储的LUN的相关配置数据。
在启动控制设备410后,控制器411作为主控制器,可以读取控制设备120中的LUN的配置信息。在存储设备130上构建LUN之后,会对所述LUN进行配置,即生成LUN的ID,并且为LUN配置所述LUN所挂载的主机,即建立LUN的ID与主机的HBA卡的映射关系。
所述LUN相关的配置信息可以包括但不限于:LUN的标识(identification,ID)、LUN的容量、LUN的属性、LUN归属的控制器、LUN归属的存储池(pool)、LUN与主机(host)之间的映射(mapping),及与LUN相关的的一些增值业务的配置信息,例如快照(snapshot)、复制(replication)等。
应理解,控制设备410中的控制器411从控制设备120读取到到控制设备410的内存中。
步骤730:连接控制设备410的前端端口至主机。
本申请实施例中用户可以将控制设备410中的控制器411和控制器412的前端端口连接至主机310,具体的有关连接关系请参考上文中图4及图5中的描述,此处不再赘述。
步骤740:主机发送磁盘上报命令至控制设备410。
具体的,在控制设备410接入存储系统110之后,控制设备120中的active控制器(例如,控制器121)在接收到主机310下发的IO请求之后,在返回主机310的IO请求反馈消息中添加单元注意(unit attention,UA)标志。主机310在接收到反馈消息之后,发送磁盘上报命令至控制设备410。
步骤750:控制设备410上报LUN的ID及路径。
所述控制器411和控制器412在接收到所述磁盘上报命令后,从LUN的配置信息中获取LUN的ID,并将LUN的ID通过控制器411和控制器412分别上报至主机,上报所述LUN的ID的过程中,会记录上报所述LUN的路径,从而将上报所述LUN的路径映射给主机。从上面的步骤可知,控制设备410上存储的配置信息是从所述控制设备120中获取的,且跟所述控制设备120中的配置信息一致,所以,当主机接收到所述控制器411和控制器412上报的LUN的ID后,会确认所述LUN ID与归属于控制器121的LUN ID相同,且所述LUN ID是由控制器411和控制器412上报的,则将主机与控制器411及控制器422之间的路径作为访问所述LUN的两条新的路径,即图6所示的路径3路径4,且将所述路径3及路径4作为主机访问所述LUN的两条passive路径。
步骤760:控制设备410获取控制设备120中LUN的数据。
本申请实施例中控制设备410中的控制器411作为主控制器,可以获取控制设备120中的控制器121和控制器122中每个LUN的完整数据。控制器411在获取控制器121和控制器122中每个LUN的完整数据之后,可以将该LUN的完整数据镜像至控制器412。
控制器411和控制器412在获取到每个LUN的完整数据之后,可以由控制设备410中的控制器411或控制器412接管主机业务。
应理解,LUN的完整数据可以包括:内存(cache)中的数据和存储在存储设备130(即存储器123、硬盘333、硬盘343、硬盘353)中的数据。由于控制设备410也可以访问存储系统110中存储设备130中存储的数据,所以也可以根据LUN的ID从所述存储设备130中的硬盘构成的存储池(pool)中获取所述LUN的数据。
而对于控制设备410获取控制器121和控制器122的内存中存储的LUN数据,可以通过以下两种方式获取。
第一种方式为:所述控制器411通知所述控制器121和控制器122将内存中的数据直接存储至pool。在将所有的内存中的数据存储至pool之后,控制设备410中的控制器411和控制器412可以通过访问访问所述pool获取LUN的数据。
在另外一种实施方式中,还可以将控制器121和控制器122中内存中的数据迁移至控制设备410的控制器411的内存中。控制器410在获取所述控制设备120中的LUN的数据的过程中,如果接收到IO数据,除了存储在本地内存和控制器122中的内存也实时同步到控制器411的内存中,直至控制器121和控制器122中所有内存中LUN的数据迁移至控制器411的内存中。该控制器411可以将获取的LUN的数据镜像至控制器412的内存中。
需要说明的是,控制器411与控制器121和控制器122之间通信从而获取LUN的数据的实现方式可以有多种。例如,参见图4,前端接口4111、前端端口1211、前端端口1221分别通过交换机360与主机相连。控制器411可以通过前端接口4111与控制器121中的前端端口1211,并通过交换机360的转发,从而可以实现控制器411与控制器121之间通信。控制器411作为主控制器还可以通知控制器412通过前端接口4121与控制器122中的前端端口1221,并通过交换机360的转发,从而可以实现控制器412与控制器122之间通信。又如,控制器411还可以通过前端端口4112与控制器121中的前端端口1211之间的连接,实现控制器411与控制器121之间的通信。控制器412还可以通过前端端口4122与控制器122中的前端端口1221之间的连接,实现控制器412与控制器122之间的通信。
步骤770:控制设备410通知控制设备120置通过控制器121及控制器122访问所述LUN的路径故障,例如置图6中的路径1及路径2故障。
控制设备410中的控制器411作为主控制器,通知控制设备120中的主控制器,将主机通过所述控制器121及所述控制器122访问所述LUN的路径设置为故障,例如,将路径1及路径2设置为故障。
具体的,控制设备120中的主控制器可以将主机与LUN的映射关系删除。该控制设备120中的active控制器(例如,控制器121)可以在接收到主机下发的IO请求之后,在返回主机的IO请求反馈消息中添加UA标志。主机在接收到反馈消息之后,可以根据UA扫描发现主机访问该LUN ID的路径只有经过控制器411的路径3和经过控制器412的路径4。
控制设备410中的控制器411在通知控制设备120置图6中的路径1及路径2故障之后,控制器411设置LUN在控制设备410中的归属控制器。
具体的,控制器411对从所述控制设备120中获取的LUN的配置信息进行修改,从而可以设置LUN在控制设备410中的归属控制器。例如,从控制设备120中的控制器121和控制器122读取到LUN的配置信息后,LUN归属的控制器为控制设备120中的控制器121,控制器411将LUN的配置信息中LUN归属的控制器修改为控制设备410中的一个控制器,例如,控制器411。
步骤780:主机310切换路径到控制设备410。
由于控制设备120将主机与LUN的映射关系删除,所以主机不能扫描到路径1及路径2,只能扫描到路径3及路径4,所以只能通过路径3及路径4访问所述LUN主机310可以将IO请求通过路径3或路径4发送至控制器411或控制器412。控制器411或控制器412可以在接收到主机下发的IO请求之后,在返回主机的IO请求反馈消息中添加返回值,该返回值可以用于指示控制设备410中的控制器411的主机路径(路径3)为active。主机310在接收到反馈消息之后,在下次下发IO请求时,可以将IO请求通过active的路径3发送至控制器411。
例如,参见图6,控制器411为active控制器,控制器412为passive控制器。存储设备的LUN归属于控制器411,主机的所有I/O读写请求均在控制器411进行处理。active控制器411中的数据可以实时镜像到passive控制器412中。当active控制器411故障时,可以将LUN切换到passive控制器412中,passive控制器412通过访问LUN可以继续为主机提供业务。
可选的,在一些实施例中,本申请实施例在将控制设备120中的控制器121和控制器122的主机业务切换至控制设备410中的控制器之后,也就是说控制设备410完全接管控制设备120中的LUN之后,可以不移除控制设备120。控制设备120可以作为存储设备,控制设备120中的存储器123可以为控制设备410中的控制器411和控制器412提供存储访问服务。
本申请实施例中,控制设备120可以作为存储设备继续使用,可以免迁移控制设备120的存储器123中存储的数据。
本申请实施例中,存储系统110接入控制设备410之后,控制设备410不需要完全接管主机业务,存储系统110中的控制设备120和控制设备410可以分别承担一部分主机业务,这样可以重新利用控制设备120中的控制器,延长控制设备120中控制器的使用寿命。
步骤790:控制设备410中的控制器实现增值业务。
控制设备410中的控制器411和控制器412可以根据步骤820中获取到控制设备120中的控制器的配置信息,并可以实现快照、复制等增值业务。
本申请实施例中,在切换的过程中,不会降低存储系统的性能,且不需要替换控制设备中的控制器,这样,即使新的控制器的结构发生变化,也可以在存储系统中使用新的控制器。
下面以AA存储架构作为示例,结合图8至图9,对本申请实施例中将控制设备410在线接入存储系统110中,并将存储系统110中的控制设备120的业务切换到控制设备410的具体实现过程进行详细描述。
应注意,图8至图9的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将本申请实施例限于所例示的具体数值或具体场景。本领域技术人员根据所给出的图8至图9的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本申请实施例的范围内。
图8是本申请实施例提供的一种AA存储架构的示意性框图。图8所示的AA存储架构中,在存储系统110中的控制设备为控制设备120的情况下,主机通过控制器121的路径1以及控制器122的路径2访问LUN。在存储系统110中在线接入控制设备410之后,主机还可以通过控制器411的路径3以及控制器412的路径4访问LUN。
应理解,图8中的路径1对应于图4中控制器121中的前端接口1211与主机310之间的路径,路径2对应于控制器121中的前端接口1221与主机310之间的路径,路径3对应于控制器411中的前端接口4111与主机310之间的路径,路径4对应于控制器412中的前端接口4121与主机310之间的路径。
在AA存储架构中,LUN没有归属控制器,多个控制器组成的控制器集群中会有一个集群主控制器。该集群主控制器将LUN的地址空间分割成一定大小的块(grain),并且将划分的grain均衡交替的分配到集群中的多个控制器。
将控制设备410在线接入到存储系统110之前,控制设备120中的集群主控制器将所分割的grain均衡交替的分配到控制器121和控制器122。这样,控制器121和控制器122中均分配到访问的LUN的地址空间。这样,每个控制器都会有所归属的LUN地址空间。作为一个示例,主机下发IO至控制器121,控制器121可以根据IO携带的逻辑地址以及控制器121和控制器122所分配的归属的LUN的地址空间,确定处理该IO的控制器为控制器121还是控制器122。例如,如果确定处理该IO的控制器为控制器122,接收IO的控制器121可以将该IO转发至控制器122进行处理。
将控制设备410在线接入存储系统110之后,控制设备410和控制设备120可以组成多控AA集群,控制器121、控制器122、控制器411、控制器412均为active控制器。同时,主机访问LUN的路径1、路径2、路径3、路径4均为active路径。
下面结合图9,对图8所示的AA存储架构中将控制设备120中的主机业务切换至新接入的控制设备410的一种可能的实现方式进行详细描述。
图9是本申请实施例提供的一种AA存储架构中切换主机业务到控制设备410的示意性流程图。图9所示的方法可以步骤910-990,下面分别对步骤910-990进行详细说明。
其中,步骤910至步骤950与图7中的步骤710至步骤750相同,在此不再赘述。
步骤960:将控制设备410中的控制器411或控制器412其中之一设置为集群主控制器,并重新分配LUN地址空间。
在所述控制器411和控制器412接入存储系统110后,将存储系统110中控制设备120的集群主控切换至控制设备410。并将控制设备410中的控制器411或控制器412其中之一设置为集群主控制器,由控制设备410中的控制器提供对控制器411、控制器412、控制器121、控制器122的集群管理功能。
为了方便描述,下面以所述控制器411为集群主控制器为例进行说明,另外,还会设置控制设备410中的控制器与控制设备120中的控制器的对应关系,例如,可设置控制器411对应的控制器为121,控制器412对应的控制器为122。
控制设备410中的控制器411作为集群主控制器,提供集群管理功能,可以重新分配LUN的grain分割算法。将LUN的地址空间分割成的一定大小的块(grain)均衡交替的分配到控制设备410中的控制器411和控制器412中。
将控制设备410在线接入存储系统110之后,存储系统110中的控制设备120和新接入的控制设备410可以组成多控AA集群,控制器121、控制器122、控制器411、控制器412均为active控制器。主机访问LUN的路径1、路径2、路径3、路径4均为active路径。但是由于控制器411将LUN的地址空间交替的分配到控制设备410中的控制器411和控制器412中,而没有给控制器121、控制器122分配LUN的地址空间,这样,即将主机业务从控制器121及控制器122切换到控制器411、控制器412。
例如,如果控制器121在接收到主机下发的IO,控制器121可以根据IO携带的逻辑地址以及控制器411和控制器412被分配的可以访问的LUN的地址空间,确定处理该IO的控制器为AA集群中的控制器411还是控制器412。如果确定处理该IO的控制器为控制器411,接收IO的控制器121可以将该IO转发至控制器411进行处理。
可选的,在一些实施例中,主机在下发IO时,可以根据IO的逻辑地址以及控制器411和控制器412被分配的可以访问的LUN的地址空间,确定访问LUN的路径为路径3还是路径4。如果主机确定访问LUN的路径为路径3,该主机可以通过路径3将IO发送至控制器411进行处理。
上述技术方案中,主机直接通过IO的逻辑地址以及控制器411和控制器412被分配的可以访问的LUN的地址空间,确定访问LUN的路径,从而可以避免AA集群中的控制器相互转发主机下发的IO,减小信令开销。
步骤S970,控制设备410获取控制设备120中LUN的数据。
控制设备410获取控制设备120中LUN的数据的方法与图7中的步骤760相同,具体请参考图7中的步骤760的相关描述,在此不再赘述。
在控制器411及控制器412处理IO请求的过程中,若所述IO请求所访问的数据还在所述控制设备120的内存中。则所述控制器411或控制器412将所述IO请求挂起,等所述数据从所述控制设备120的内存中迁移至所述控制设备410的内存中后,再继续执行所述IO请求。
步骤980:在所述控制设备410从所述控制设备120中获取LUN的全部数据后,控制设备410通知控制设备120置主机路径故障。
控制设备410中的集群主控制器可以通知控制设备120,将主机通过控制器121及控制器122访问所述LUN的路径(例如,图8中的路径1及路径2)设置为故障。控制设备120中进行故障设置的具体过程请参考步骤760中的描述,此处不再赘述。
步骤990:控制设备410中的控制器实现增值业务。
与步骤790对应,具体的请参考步骤790中的描述,此处不再赘述。
本申请实施例中,在切换的过程中,不会降低存储系统的性能,且不需要替换控制设备中的控制器,这样,即使新的控制器的结构发生变化,也可以在存储系统中使用新的控制器。
上文描述了图1所示的盘控一体化的存储系统110为例,在AP和AA的存储架构下,分别对本申请实施例提供的切换控制设备的方法进行了详细描述。下面结合图10至图11,在图2所示的控制设备和存储设备分离的存储系统210下,对切换控制设备的过程进行详细描述。
图10是图2所示的存储系统210与主机1010的连接及控制设备220与存储设备230之间的连接关系的示意图。如图10所示,在本发明实施例中,所述存储设备230包括所述控制设备220级联的硬盘框1030、硬盘框1040、硬盘框1050。
主机1010可以包括:业务端口1011、业务端口1012。
控制设备220中可以包括:控制器221、控制器222、前端接口223、前端接口224、前端接口225、前端接口226。控制器221中包括:级联口2211、级联口2212。控制器222中包括:级联口2221、级联口2222。
硬盘框1030中可以包括:级联模块1031、级联模块1032、硬盘1033。级联模块1031中可以包括:级联口10311、级联口10312、级联口10313。级联模块1032中可以包括:级联口10321、级联口10322、级联口10323。
硬盘框1040和硬盘框1050与硬盘框1030的结构相同,具体的请参考硬盘框1030中的描述,此处不再赘述。
本申请实施例中,控制设备220中的前端接口可以与主机1010的业务端口连接。例如,图10中的前端接口223与主机1010中的业务端口1011连接,前端接口225与主机1010中的业务端口1012连接。
控制器与主机之间的连接方式有多种,本申请对此不作具体限定。作为一个示例,控制器中的前端接口可以与主机1010中的业务端口直接连接。例如,前端接口223与主机1010中的业务端口1011直接连接,前端接口225与主机1010中的业务端口1012直接连接。作为另一个示例,前端接口可以通过交换机1060与主机1010中的业务端口连接。例如,前端接口223可以通过交换机1060与主机1010中的业务端口1011连接,前端接口225可以通过交换机1060与主机1010中的业务端口1012连接。
本申请实施例中,控制设备220可以通过级联口访问硬盘框内的硬盘上存储的数据。例如,控制器221中的级联口2212与硬盘框1030中的级联模块1031中的10311连接,级联模块1031中的10312与硬盘框1040中的级联模块1041中的10412连接,级联模块1041中的10411与硬盘框1050中的级联模1051中的10512连接。当还需要级联其他硬盘框时,则可以通过硬盘框1050中的级联口10511连接。通过上面的级联方式,该控制器221可以访问硬盘1033、硬盘1043、及硬盘1053上存储的数据。同理,控制器222也可以通过级联口2222与硬盘框1030中的级联模块1032中的10321连接,级联模块1032中的10322与硬盘框1040中的级联模块1042中的10422连接,级联模块1042中的10421与硬盘框1050中的级联模块1052中的10522连接。从而使所述控制器222也可以访问到硬盘1033、硬盘1043、及硬盘1053上存储的数据。
本申请实施例提供的切换控制设备的方法可以将新的控制设备在线接入到存储系统中,并将存储系统的控制设备由旧的控制设备切换为新的控制设备。新的控制设备1110接入存储系统210后,与存储系统210的连接请参见图11中的描述。
控制设备1110中可以包括:控制器1111、控制器1112、前端接口1113、前端接口1114、前端接口1115、前端接口1116。控制器1111中包括:级联口11111、级联口11112。控制器1112中包括:级联口11121、级联口11122。
本申请实施例中可以将控制设备1110与主机1010连接,形成IO访问路径。还可以将控制设备1110与存储系统230(即硬盘1033、硬盘1043、硬盘1053)连接,从而实现控制设备1110访问存储设备230中存储的数据。
以控制设备1110与主机1010连接作为示例。参见图11,前端接口1113与主机1010中的业务端口1011连接,前端接口1115与主机1010中的业务端口1012连接。
控制器与主机之间的连接方式有多种,控制设备1110中的前端接口可以直接与主机1010中的业务端口连接,也可以通过交换机1060实现与主机1010中的业务端口连接。具体的请参考图10中的描述,此处不再赘述。
以控制设备1110与存储设备230(即硬盘1033、硬盘1043、硬盘1053)连接作为示例。参见图11,控制器1111中的级联口11111与硬盘框1030中的级联模块1031中的级联口10313连接,控制器1112中的级联口11121与硬盘框1030中的级联模块1032中的级联口10323连接。
本申请实施例中,控制设备1110与控制设备220的前端接口之间也相互连接,可以实现控制设备1110与控制设备220之间的通信。例如,参见图11,控制设备220中的前端接口224与控制设备1110中的前端接口1114连接。控制设备220中的前端接口226与控制设备1110中的前端接口1116连接。
本申请实施例可以在图11中,将控制设备1110在线接入存储系统210中,并将存储系统210中的控制设备由旧的控制设备220切换为新的控制设备1110。具体的有关将旧的控制设备220中的主机业务切换至新的控制设备1110的流程,请参考图6至图9中的描述,此处不再赘述。
上文结合图1至图11,详细描述了本申请实施例提供的一种控制设备的切换方法,下面详细描述本申请的装置的实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图12是本申请实施例提供的一种第一控制设备1200的结构性示意性图。该第一控制设备1200包括:
获取模块1210,用于获取所述第二控制设备中的逻辑单元号LUN的配置信息,所述LUN构建于所述存储设备;
映射模块1220,用于根据所述LUN的配置信息将第一路径映射至主机,所述第一路径为所述主机通过所述第一控制设备访问所述LUN的路径,所述第一路径经过所述第二控制设备;
处理模块1230,用于通知所述第二控制设备将第二路径设置为故障,所述第二路径为所述主机通过所述第二控制设备访问所述LUN的路径,及将所述主机访问所述LUN的路径由所述第二路径切换至所述第一路径。
本申请实施例中所述第一控制设备连接至所述第二控制设备,并通过所述第二控制设备访问所述第二控制设备所能访问的存储设备,所述第一控制设备和所述第二控制设备分别与主机相连。
可选的,在一些实施例中,所述第一控制设备1200还包括接收模块1240:
所述获取模块1210,还用于在将所述第一路径映射至主机后,获取所述第二控制设备中的所述LUN的数据;
所述接收模块1240,用于接收访问所述LUN的数据的输入输出IO请求,通过所述第一控制设备访问所述LUN的数据。
可选的,在一些实施例中,所述获取模块1210具体用于:通知所述第二控制设备将所述第二控制设备的内存中的数据存储至所述存储设备;从所述存储设备中获取所述LUN的数据。
可选的,在一些实施例中,所述获取模块1210具体用于:通知所述第二控制设备将所述第二存储设备中的内存中的所述LUN的数据迁移至所述第一控制设备的内存中。
可选的,在一些实施例中,所述处理模块1230具体用于:在通知所述第二控制设备将第二路径设置为故障后,将所述主机访问所述LUN的路径由所述第二路径切换至所述第一路径。
可选的,在一些实施例中,所述第一路径包括至少一条路径,所述处理模块1230具体用于:将所述第一路径中的其中一条路径设置为主路径,所述主机通过所述主路径访问所述LUN。
可选的,在一些实施例中,所述接收模块1240还用于:在执行所述获取所述第二控制设备中的所述LUN的数据的过程中,接收所述第二控制器发送的镜像写请求,所述镜像写请求为所述第二控制器在接收到写请求时产生的,用于将所述IO请求中的数据镜像写至所述第一控制设备的内存中。
可选的,在一些实施例中,所述处理模块1230具体用于:在将所述主机访问所述LUN的路径由所述第二路径切换至所述第一路径后,通知所述第二控制设备将第二路径设置为故障。
可选的,在一些实施例中,所述处理模块1230还具体用于:将所述第一控制设备中的其中一个控制器设置为集群主控制器;所述集群主控制器将分配给所述第二控制设备的控制器的地址空间分配给所述第一控制设备的控制器。
根据本发明实施例的第一控制设备1200可对应于执行本发明实施例中描述的方法,并且第一控制设备1200中的各个单元的上述和其它操作和/或功能分别为了实现图7中的方法的相应流程,为了简洁,在此不再赘述。
图13是本申请实施例提供的一种第一控制设备1300的结构性示意性图。该第一控制设备1300包括:
获取模块1310,用于获取所述第二控制设备中的逻辑单元号LUN的配置信息,所述LUN构建于所述存储设备;
映射模块1320,用于根据所述LUN的配置信息将第一路径映射至主机,所述第一路径为所述主机通过所述第一控制设备与所述存储设备连接的级联接口访问所述LUN的路径;
处理模块1330,用于通知所述第二控制设备将第二路径设置为故障,所述第二路径为所述主机通过所述第二控制设备访问所述LUN的路径,及将所述主机访问所述LUN的路径由所述第二路径切换至所述第一路径。
本申请实施例中所述第一控制设备连接至所述第二控制设备,所述第一控制设备和所述第二控制设备分别通过存储设备的两个上行级联接口连接至所述存储设备,并分别与主机相连。
可选的,在一些实施例中,所述第一控制设备1300还包括接收模块1340:
所述获取模块1310,还用于在将所述第一路径映射至主机后,获取所述第二控制设备中的所述LUN的数据;
所述接收模块1340,用于接收访问所述LUN的数据的IO请求,通过所述第一控制设备访问所述LUN的数据。
可选的,在一些实施例中,所述获取模块1310具体用于:通知所述第二控制设备将所述第二控制设备的内存中的数据存储至所述存储设备;从所述存储设备中获取所述LUN的数据。
可选的,在一些实施例中,所述获取模块1310具体用于:通知所述第二控制设备将所述第二存储设备中的内存中的所述LUN的数据迁移至所述第一控制设备的内存中。
可选的,在一些实施例中,所述第一路径包括至少一条路径,所述处理模块1330具体用于:将所述第一路径中的其中一条路径设置为主路径,所述主机通过所述主路径访问所述LUN。
可选的,在一些实施例中,所述接收模块1340还用于:在执行所述获取所述第二控制设备中的所述LUN的数据的过程中,接收所述第二控制器发送的镜像写请求,所述镜像写请求为所述第二控制器在接收到IO请求时产生的,用于将所述IO请求中的数据镜像写至所述第一控制设备的内存中。
根据本发明实施例的第一控制设备1300可对应于执行本发明实施例中描述的方法,并且第一控制设备1300中的各个单元的上述和其它操作和/或功能分别为了实现图9中的方法的相应流程,为了简洁,在此不再赘述。
图14是本申请实施例提供的一种第一控制设备1400的结构性示意性图。所述第一控制设备1400包括:处理器1410、存储器1420、通信接口1430、总线1440。
应理解,图14所示的第一控制设备1400中的处理器1410可以对应于图12中第一控制设备1200中的映射模块1220、处理模块1230。第一控制设备1400中的通信接口1430可以对应于第一控制设备1200中的获取模块1210。
其中,该处理器1410可以与存储器1420连接。该存储器1420可以用于存储该程序代码和数据。因此,该存储器1420可以是处理器1410内部的存储单元,也可以是与处理器1410独立的外部存储单元,还可以是包括处理器1410内部的存储单元和与处理器1410独立的外部存储单元的部件。
可选的,第一控制设备1400还可以包括总线1440。其中,存储器1420、通信接口1430可以通过总线1440与处理器1410连接。总线1440可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extendedindustry standard architecture,EISA)总线等。所述总线1440可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本申请实施例中,该处理器1410可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器1410采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器1420可以包括只读存储器和随机存取存储器,并向处理器1410提供指令和数据。处理器1410的一部分还可以包括非易失性随机存取存储器。例如,处理器1410还可以存储设备类型的信息。
在所述第一控制设备1400运行时,所述处理器1410执行所述存储器1420中的计算机执行指令以通过所述第一控制设备1400执行上述方法的操作步骤。
应理解,根据本发明实施例的第一控制设备1400可对应于本发明实施例中的第一控制设备1200,并且第一控制设备1400中的各个单元的上述和其它操作和/或功能分别为了实现图7中的方法的相应流程,为了简洁,在此不再赘述。
图15是本申请实施例提供的一种第一控制设备1500的结构性示意性图。所述第一控制设备1500包括:处理器1510、存储器1520、通信接口1530、总线1540。
应理解,图15所示的第一控制设备1500中的处理器1510可以对应于图13中第一控制设备1300中的映射模块1320、处理模块1330。第一控制设备1500中的通信接口1530可以对应于第一控制设备1300中的获取模块1310。
其中,该处理器1510可以与存储器1520连接。该存储器1520可以用于存储该程序代码和数据。因此,该存储器1520可以是处理器1510内部的存储单元,也可以是与处理器1510独立的外部存储单元,还可以是包括处理器1510内部的存储单元和与处理器1510独立的外部存储单元的部件。
可选的,第一控制设备1500还可以包括总线1540。其中,存储器1520、通信接口1530可以通过总线1540与处理器1510连接。总线1540可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extendedindustry standard architecture,EISA)总线等。所述总线1540可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本申请实施例中,该处理器1510可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器1510采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器1520可以包括只读存储器和随机存取存储器,并向处理器1510提供指令和数据。处理器1510的一部分还可以包括非易失性随机存取存储器。例如,处理器1510还可以存储设备类型的信息。
在所述第一控制设备1500运行时,所述处理器1510执行所述存储器1520中的计算机执行指令以通过所述第一控制设备1500执行上述方法的操作步骤。
应理解,根据本发明实施例的第一控制设备1500可对应于本发明实施例中的第一控制设备1300,并且第一控制设备1500中的各个单元的上述和其它操作和/或功能分别为了实现图9中的方法的相应流程,为了简洁,在此不再赘述。
可选地,在一些实施例中,本申请实施例还提供了一种计算机可读介质,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。
可选地,在一些实施例中,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机应用产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (32)
1.一种控制设备的切换方法,其特征在于,所述方法应用于第一控制设备,所述第一控制设备连接至所述第二控制设备,并通过所述第二控制设备访问所述第二控制设备所能访问的存储设备,所述第一控制设备和所述第二控制设备分别与主机相连,所述方法包括:
获取所述第二控制设备中的逻辑单元号LUN的配置信息,所述LUN构建于所述存储设备;
根据所述LUN的配置信息将第一路径映射至主机,所述第一路径为所述主机通过所述第一控制设备访问所述LUN的路径,所述第一路径经过所述第二控制设备;
通知所述第二控制设备将第二路径设置为故障,所述第二路径为所述主机通过所述第二控制设备访问所述LUN的路径,及将所述主机访问所述LUN的路径由所述第二路径切换至所述第一路径。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在将所述第一路径映射至主机后,获取所述第二控制设备中的所述LUN的数据;
接收访问所述LUN的数据的输入输出IO请求,通过所述第一控制设备访问所述LUN的数据。
3.根据权利要求2所述的方法,其特征在于,所述获取所述第二控制设备中的所述LUN的数据,包括:
通知所述第二控制设备将所述第二控制设备的内存中的数据存储至所述存储设备;
从所述存储设备中获取所述LUN的数据。
4.根据权利要求2所述的方法,其特征在于,所述获取所述第二控制设备中的所述LUN的数据,包括:
通知所述第二控制设备将所述第二存储设备中的内存中的所述LUN的数据迁移至所述第一控制设备的内存中。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,所述通知所述第二控制设备将第二路径设置为故障,及将所述主机访问所述LUN的路径由所述第二路径切换至所述第一路径包括:
在通知所述第二控制设备将第二路径设置为故障后,将所述主机访问所述LUN的路径由所述第二路径切换至所述第一路径。
6.根据权利要求5所述的方法,其特征在于,所述第一路径包括至少一条路径,所述将所述主机访问所述LUN的路径由所述第二路径切换至所述第一路径,包括:
将所述第一路径中的其中一条路径设置为主路径,所述主机通过所述主路径访问所述LUN。
7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
在执行所述获取所述第二控制设备中的所述LUN的数据的过程中,接收所述第二控制器发送的镜像写请求,所述镜像写请求为所述第二控制器在接收到写请求时产生的,用于将所述IO请求中的数据镜像写至所述第一控制设备的内存中。
8.根据权利要求1至4中任意一项所述的方法,其特征在于,所述通知所述第二控制设备将第二路径设置为故障,及将所述主机访问所述LUN的路径由所述第二路径切换至所述第一路径包括:
在将所述主机访问所述LUN的路径由所述第二路径切换至所述第一路径后,通知所述第二控制设备将第二路径设置为故障。
9.根据权利要求8所述的方法,其特征在于,所述将所述主机访问所述LUN的路径由所述第二路径切换至所述第一路径包括:
将所述第一控制设备中的其中一个控制器设置为集群主控制器;
所述集群主控制器将分配给所述第二控制设备的控制器的地址空间分配给所述第一控制设备的控制器。
10.一种控制设备的切换方法,其特征在于,所述方法应用于第一控制设备,所述第一控制设备连接至所述第二控制设备,所述第一控制设备和所述第二控制设备分别通过存储设备的两个上行级联接口连接至所述存储设备,并分别与主机相连,所述方法包括:
获取所述第二控制设备中的逻辑单元号LUN的配置信息,所述LUN构建于所述存储设备;
根据所述LUN的配置信息将第一路径映射至主机,所述第一路径为所述主机通过所述第一控制设备与所述存储设备连接的级联接口访问所述LUN的路径;
通知所述第二控制设备将第二路径设置为故障,所述第二路径为所述主机通过所述第二控制设备访问所述LUN的路径,及将所述主机访问所述LUN的路径由所述第二路径切换至所述第一路径。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
在将所述第一路径映射至主机后,获取所述第二控制设备中的所述LUN的数据;
接收访问所述LUN的数据的IO请求,通过所述第一控制设备访问所述LUN的数据。
12.根据权利要求11所述的方法,其特征在于,所述获取所述第二控制设备中的所述LUN的数据,包括:
通知所述第二控制设备将所述第二控制设备的内存中的数据存储至所述存储设备;
从所述存储设备中获取所述LUN的数据。
13.根据权利要求11所述的方法,其特征在于,所述获取所述第二控制设备中的所述LUN的数据,包括:
通知所述第二控制设备将所述第二存储设备中的内存中的所述LUN的数据迁移至所述第一控制设备的内存中。
14.根据权利要求10至13中任一项所述的方法,其特征在于,所述第一路径包括至少一条路径,所述将所述主机访问所述LUN的路径由所述第二路径切换至所述第一路径,包括:
将所述第一路径中的其中一条路径设置为主路径,所述主机通过所述主路径访问所述LUN。
15.根据权利要求13或14所述的方法,其特征在于,所述方法还包括:
在执行所述获取所述第二控制设备中的所述LUN的数据的过程中,接收所述第二控制器发送的镜像写请求,所述镜像写请求为所述第二控制器在接收到IO请求时产生的,用于将所述IO请求中的数据镜像写至所述第一控制设备的内存中。
16.一种第一控制设备,所述第一控制设备连接至所述第二控制设备,并通过所述第二控制设备访问所述第二控制设备所能访问的存储设备,所述第一控制设备和所述第二控制设备分别与主机相连,其特征在于,所述第一控制设备包括:
获取模块,用于获取第二控制设备中的逻辑单元号LUN的配置信息,所述LUN构建于存储设备;
映射模块,用于根据所述LUN的配置信息将第一路径映射至所述主机,所述第一路径为所述主机通过第一控制设备访问所述LUN的路径,所述第一路径经过所述第二控制设备;
处理模块,用于通知所述第二控制设备将第二路径设置为故障,所述第二路径为所述主机通过所述第二控制设备访问所述LUN的路径,及将所述主机访问所述LUN的路径由所述第二路径切换至所述第一路径。
17.根据权利要求16所述的第一控制设备,其特征在于,所述第一控制设备还包括接收模块:
所述获取模块,还用于在将所述第一路径映射至主机后,获取所述第二控制设备中的所述LUN的数据;
所述接收模块,用于接收访问所述LUN的数据的输入输出IO请求,通过所述第一控制设备访问所述LUN的数据。
18.根据权利要求17所述的第一控制设备,其特征在于,所述获取模块具体用于:
通知所述第二控制设备将所述第二控制设备的内存中的数据存储至所述存储设备;
从所述存储设备中获取所述LUN的数据。
19.根据权利要求17所述的第一控制设备,其特征在于,所述获取模块具体用于:
通知所述第二控制设备将所述第二存储设备中的内存中的所述LUN的数据迁移至所述第一控制设备的内存中。
20.根据权利要求16至19中任意一项所述的第一控制设备,其特征在于,所述处理模块具体用于:
在通知所述第二控制设备将第二路径设置为故障后,将所述主机访问所述LUN的路径由所述第二路径切换至所述第一路径。
21.根据权利要求20所述的第一控制设备,其特征在于,所述第一路径包括至少一条路径,所述处理模块具体用于:
将所述第一路径中的其中一条路径设置为主路径,所述主机通过所述主路径访问所述LUN。
22.根据权利要求20或21所述的第一控制设备,其特征在于,所述接收模块还用于:
在执行所述获取所述第二控制设备中的所述LUN的数据的过程中,接收所述第二控制器发送的镜像写请求,所述镜像写请求为所述第二控制器在接收到写请求时产生的,用于将所述IO请求中的数据镜像写至所述第一控制设备的内存中。
23.根据权利要求16至19中任意一项所述的第一控制设备,其特征在于,所述处理模块具体用于:
在将所述主机访问所述LUN的路径由所述第二路径切换至所述第一路径后,通知所述第二控制设备将第二路径设置为故障。
24.根据权利要求23所述的第一控制设备,其特征在于,所述处理模块还具体用于:
将所述第一控制设备中的其中一个控制器设置为集群主控制器;
所述集群主控制器将分配给所述第二控制设备的控制器的地址空间分配给所述第一控制设备的控制器。
25.一种第一控制设备,所述第一控制设备连接至所述第二控制设备,所述第一控制设备和所述第二控制设备分别通过存储设备的两个上行级联接口连接至所述存储设备,并分别与主机相连,其特征在于,所述第一控制设备包括:
获取模块,用于获取第二控制设备中的逻辑单元号LUN的配置信息,所述LUN构建于存储设备;
映射模块,用于根据所述LUN的配置信息将第一路径映射至所述主机,所述第一路径为所述主机通过所述第一控制设备与所述存储设备连接的级联接口访问所述LUN的路径;
处理模块,用于通知所述第二控制设备将第二路径设置为故障,所述第二路径为所述主机通过所述第二控制设备访问所述LUN的路径,及将所述主机访问所述LUN的路径由所述第二路径切换至所述第一路径。
26.根据权利要求25所述的第一控制设备,其特征在于,所述第一控制设备还包括接收模块:
所述获取模块,还用于在将所述第一路径映射至主机后,获取所述第二控制设备中的所述LUN的数据;
所述接收模块,用于接收访问所述LUN的数据的IO请求,通过所述第一控制设备访问所述LUN的数据。
27.根据权利要求26所述的第一控制设备,其特征在于,所述获取模块具体用于:
通知所述第二控制设备将所述第二控制设备的内存中的数据存储至所述存储设备;
从所述存储设备中获取所述LUN的数据。
28.根据权利要求26所述的第一控制设备,其特征在于,所述获取模块具体用于:
通知所述第二控制设备将所述第二存储设备中的内存中的所述LUN的数据迁移至所述第一控制设备的内存中。
29.根据权利要求25至28中任一项所述的第一控制设备,其特征在于,所述第一路径包括至少一条路径,所述处理模块具体用于:
将所述第一路径中的其中一条路径设置为主路径,所述主机通过所述主路径访问所述LUN。
30.根据权利要求28或29所述的第一控制设备,其特征在于,所述接收模块还用于:
在执行所述获取所述第二控制设备中的所述LUN的数据的过程中,接收所述第二控制器发送的镜像写请求,所述镜像写请求为所述第二控制器在接收到IO请求时产生的,用于将所述IO请求中的数据镜像写至所述第一控制设备的内存中。
31.一种存储系统,其特征在于,所述存储系统包括第一控制设备和第二控制设备,所述第二控制设备连接至存储设备,所述第一控制设备连接至所述第二控制设备的接口,所述第一存储设备通过所述接口访问所述存储设备,所述第一控制设备和所述第二控制设备分别与主机相连。
32.一种存储系统,其特征在于,所述存储系统包括第一控制设备和第二控制设备,所述第一控制设备连接至所述第二控制设备,所述第一控制设备和所述第二控制设备分别通过所述存储设备的两个上行级联接口连接至所述存储设备,并分别与主机相连。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/081220 WO2020113875A1 (zh) | 2018-12-07 | 2019-04-03 | 一种控制设备的切换方法、控制设备、及存储系统 |
EP19893961.3A EP3869314A4 (en) | 2018-12-07 | 2019-04-03 | SWITCHING PROCEDURE FOR A CONTROL DEVICE, CONTROL DEVICE AND STORAGE SYSTEM |
US17/339,535 US20230148462A9 (en) | 2018-12-07 | 2021-06-04 | Control Device Switching Method, Control Device, and Storage System |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811495738 | 2018-12-07 | ||
CN2018114957384 | 2018-12-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111290702A true CN111290702A (zh) | 2020-06-16 |
CN111290702B CN111290702B (zh) | 2022-04-05 |
Family
ID=71021501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811553216.5A Active CN111290702B (zh) | 2018-12-07 | 2018-12-19 | 一种控制设备的切换方法、控制设备、及存储系统 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP3869314A4 (zh) |
CN (1) | CN111290702B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986362A (zh) * | 2021-10-22 | 2022-01-28 | 山东云海国创云计算装备产业创新中心有限公司 | 一种raid卡及其控制方法、服务器主机 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651559A (zh) * | 2009-07-13 | 2010-02-17 | 浪潮电子信息产业股份有限公司 | 一种存储服务在双控制器存储系统中故障切换的方法 |
CN103150127A (zh) * | 2013-03-21 | 2013-06-12 | 浪潮(北京)电子信息产业有限公司 | 一种存储多路径的访问系统及其配置和访问方法 |
CN103814365A (zh) * | 2012-02-06 | 2014-05-21 | 株式会社日立制作所 | 计算机系统及数据输入输出方法 |
US20150058558A1 (en) * | 2013-08-26 | 2015-02-26 | International Business Machines Corporation | Multi-path management |
CN104951243A (zh) * | 2014-03-28 | 2015-09-30 | 伊姆西公司 | 虚拟化存储系统中的存储扩展方法和装置 |
CN105549904A (zh) * | 2015-12-08 | 2016-05-04 | 华为技术有限公司 | 一种应用于存储系统中的数据迁移方法及存储设备 |
CN107168656A (zh) * | 2017-06-09 | 2017-09-15 | 郑州云海信息技术有限公司 | 一种基于多路径磁盘驱动的卷复本集系统及其实现方法 |
US9998537B1 (en) * | 2015-03-31 | 2018-06-12 | EMC IP Holding Company LLC | Host-side tracking of data block changes for incremental backup |
CN108228082A (zh) * | 2016-12-21 | 2018-06-29 | 伊姆西Ip控股有限责任公司 | 存储系统和用于存储控制的方法 |
CN108228076A (zh) * | 2016-12-14 | 2018-06-29 | 华为技术有限公司 | 访问磁盘的方法和主机 |
US10114567B1 (en) * | 2016-09-30 | 2018-10-30 | EMC IP Holding Company LLC | Data processing system with efficient path selection for storage I/O operations |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4901316B2 (ja) * | 2006-06-06 | 2012-03-21 | 株式会社日立製作所 | ストレージシステム及び記憶制御装置 |
JP2017041181A (ja) * | 2015-08-21 | 2017-02-23 | 富士通株式会社 | ストレージシステム、ストレージ制御装置、及びストレージ制御方法 |
-
2018
- 2018-12-19 CN CN201811553216.5A patent/CN111290702B/zh active Active
-
2019
- 2019-04-03 EP EP19893961.3A patent/EP3869314A4/en active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651559A (zh) * | 2009-07-13 | 2010-02-17 | 浪潮电子信息产业股份有限公司 | 一种存储服务在双控制器存储系统中故障切换的方法 |
CN103814365A (zh) * | 2012-02-06 | 2014-05-21 | 株式会社日立制作所 | 计算机系统及数据输入输出方法 |
CN103150127A (zh) * | 2013-03-21 | 2013-06-12 | 浪潮(北京)电子信息产业有限公司 | 一种存储多路径的访问系统及其配置和访问方法 |
US20150058558A1 (en) * | 2013-08-26 | 2015-02-26 | International Business Machines Corporation | Multi-path management |
CN104951243A (zh) * | 2014-03-28 | 2015-09-30 | 伊姆西公司 | 虚拟化存储系统中的存储扩展方法和装置 |
US9998537B1 (en) * | 2015-03-31 | 2018-06-12 | EMC IP Holding Company LLC | Host-side tracking of data block changes for incremental backup |
CN105549904A (zh) * | 2015-12-08 | 2016-05-04 | 华为技术有限公司 | 一种应用于存储系统中的数据迁移方法及存储设备 |
US10114567B1 (en) * | 2016-09-30 | 2018-10-30 | EMC IP Holding Company LLC | Data processing system with efficient path selection for storage I/O operations |
CN108228076A (zh) * | 2016-12-14 | 2018-06-29 | 华为技术有限公司 | 访问磁盘的方法和主机 |
CN108228082A (zh) * | 2016-12-21 | 2018-06-29 | 伊姆西Ip控股有限责任公司 | 存储系统和用于存储控制的方法 |
CN107168656A (zh) * | 2017-06-09 | 2017-09-15 | 郑州云海信息技术有限公司 | 一种基于多路径磁盘驱动的卷复本集系统及其实现方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986362A (zh) * | 2021-10-22 | 2022-01-28 | 山东云海国创云计算装备产业创新中心有限公司 | 一种raid卡及其控制方法、服务器主机 |
CN113986362B (zh) * | 2021-10-22 | 2024-01-23 | 山东云海国创云计算装备产业创新中心有限公司 | 一种raid卡及其控制方法、服务器主机 |
Also Published As
Publication number | Publication date |
---|---|
CN111290702B (zh) | 2022-04-05 |
EP3869314A1 (en) | 2021-08-25 |
EP3869314A4 (en) | 2021-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190310925A1 (en) | Information processing system and path management method | |
US11137940B2 (en) | Storage system and control method thereof | |
US9864663B2 (en) | Storage controller failover system | |
EP2557494B1 (en) | Storage apparatus and data copy method between thin-provisioning virtual volumes | |
US20190220379A1 (en) | Troubleshooting Method, Apparatus, and Device | |
US9098466B2 (en) | Switching between mirrored volumes | |
US11068367B2 (en) | Storage system and storage system control method | |
EP3179359A1 (en) | Data sending method, data receiving method, and storage device | |
US20120260127A1 (en) | Clustered array controller for global redundancy in a san | |
US11573737B2 (en) | Method and apparatus for performing disk management of all flash array server | |
US11409471B2 (en) | Method and apparatus for performing data access management of all flash array server | |
WO2021012169A1 (zh) | 一种提高存储系统可靠性的方法和相关装置 | |
CN111290702B (zh) | 一种控制设备的切换方法、控制设备、及存储系统 | |
US20230148462A9 (en) | Control Device Switching Method, Control Device, and Storage System | |
US11977510B2 (en) | Configuring a file server | |
JP2012014239A (ja) | フォールトトレラントの計算機システム、複数の物理サーバとストレージ装置とに接続されるスイッチ装置、及び、サーバ同期制御方法 | |
US20230112764A1 (en) | Cloud defined storage | |
US11366618B2 (en) | All flash array server and control method thereof | |
US20230401010A1 (en) | Storage system and data layout conversion method in storage system | |
US9785520B2 (en) | Computer system, storage apparatus and control method | |
US20230128157A1 (en) | System and Method for Stretching Storage Protection Configurations in a Storage Center | |
JP2024049171A (ja) | ユニファイドストレージ及びユニファイドストレージの制御方法 | |
CN116700594A (zh) | 存储设备、存储方法、计算设备及存储介质 | |
JP2010033379A (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 |