CN105900068A - Path management system, device and method - Google Patents
Path management system, device and method Download PDFInfo
- Publication number
- CN105900068A CN105900068A CN201480040589.6A CN201480040589A CN105900068A CN 105900068 A CN105900068 A CN 105900068A CN 201480040589 A CN201480040589 A CN 201480040589A CN 105900068 A CN105900068 A CN 105900068A
- Authority
- CN
- China
- Prior art keywords
- path
- server
- controller
- starter
- session connection
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
本发明涉及计算机领域,尤其是涉及一种路径管理的系统、装置和方法。The present invention relates to the computer field, in particular to a path management system, device and method.
在传统数据中心的场景中,存储设备中存储阵列规模较小,存储控制器的数量较少,一般为1-4个,并且存储设备安装后硬件和配置变化较少,因此传统的存储设备的访问路径一般采用静态配置的方式。In the traditional data center scenario, the storage array in the storage device is small in scale and the number of storage controllers is small, generally 1-4. After the storage device is installed, there are few hardware and configuration changes. Therefore, the traditional storage device The access path is generally configured statically.
随着数据中心高速发展,各种应用的存储规模越来越大,对存储设备的性能需求也越来越高。传统的存储阵列走向分布式架构,存储阵列的规模越来越大,提供的容量在不断提升,控制器数量也大幅增加。控制器与磁盘间可以通过网络相互访问,进而组成一个大规模的多路径访问网络矩阵。由于存储阵列采用了分布式的架构,存储设备和网络配置动态变化较多,当路径发生故障时,造成静态配置的可用路径数量降低,导致网络传输质量下降等问题。同时,路径数量过少时则无法满足负载均衡、路径故障后自动进行路径切换等功能需求。With the rapid development of data centers, the storage scale of various applications is getting larger and larger, and the performance requirements for storage devices are also getting higher and higher. Traditional storage arrays are moving toward a distributed architecture. The scale of storage arrays is getting larger and larger, the capacity provided is constantly increasing, and the number of controllers is also increasing significantly. Controllers and disks can access each other through the network, thereby forming a large-scale multi-path access network matrix. Since the storage array adopts a distributed architecture, storage devices and network configurations change frequently. When a path fails, the number of statically configured available paths decreases, resulting in a decrease in network transmission quality. At the same time, if the number of paths is too small, functional requirements such as load balancing and automatic path switching after path failure cannot be met.
发明内容Contents of the invention
本发明的目的在于提供一种路径管理的方法、装置及系统,以解决在分布式存储阵列中无法实现路径动态管理的问题。The object of the present invention is to provide a path management method, device and system to solve the problem that path dynamic management cannot be realized in a distributed storage array.
第一方面,本发明实施例提供了一种路径管理的系统,包括服务器和存储设备,所述存储设备包括调度器和多个控制器,所述服务器与所述存储设备之间建立至少一个会话连接,每个会话连接对应的路径的起始节点为所述服务器的启动器,所述每个会话连接对应的路径的目标节点为所述存储设备中的控制器,所述存储设备中存储已经建立的会话连接的起始节点与目标节点之间的对应关系, In the first aspect, an embodiment of the present invention provides a path management system, including a server and a storage device, the storage device includes a scheduler and multiple controllers, and at least one session is established between the server and the storage device connection, the starting node of the path corresponding to each session connection is the initiator of the server, the target node of the path corresponding to each session connection is the controller in the storage device, and the storage device stores the The corresponding relationship between the starting node and the target node of the established session connection,
所述服务器,用于在确定需要增加所述服务器与所述存储设备之间的路径时,触发路径增加操作;The server is configured to trigger a path adding operation when it is determined that the path between the server and the storage device needs to be added;
所述调度器,用于接收由所述服务器触发的路径增加请求,所述路径增加请求中携带所述服务器的启动器的标识,根据所述启动器的标识和存储的所述已经建立的会话连接的起始节点与目标节点之间的对应关系,从所述多个控制器中确定新路径的目标控制器,将确定的所述目标控制器的标识发送给所述服务器,其中,所述目标控制器与所述启动器之间未建立会话连接;The scheduler is configured to receive a path addition request triggered by the server, where the path addition request carries an identifier of an initiator of the server, and according to the identifier of the initiator and the stored established session The corresponding relationship between the starting node and the target node of the connection, determining the target controller of the new path from the plurality of controllers, and sending the determined identifier of the target controller to the server, wherein the No session connection is established between the target controller and the initiator;
所述服务器,还用于根据所述目标控制器的标识建立与所述目标控制器之间的路径。The server is further configured to establish a path with the target controller according to the identifier of the target controller.
在第一方面的第一种可能的实施方式中,服务器侧存储有多路径信息,所述多路径信息包括用于标识路径的信息以及路径状态。In a first possible implementation manner of the first aspect, the server side stores multi-path information, where the multi-path information includes information for identifying a path and a path state.
结合第一方面或第一方面的第一种可能的实施方式,在第二种可能的实施方式中,当所述确定的新路径的目标控制器为多个时,With reference to the first aspect or the first possible implementation manner of the first aspect, in the second possible implementation manner, when there are multiple target controllers for the determined new path,
所述调度器,还用于从所述多个目标控制器中确定符合如下条件的至少一个目标控制器:The scheduler is further configured to determine at least one target controller meeting the following conditions from the plurality of target controllers:
控制器连接的启动器数量最少。The controller has the fewest number of initiators connected.
结合第一方面的第一种可能的实施方式,在第三种可能的实施方式中,所述服务器,还用于根据所述多路径信息,确定当前可用路径条数,当所述可用路径条数小于预设阈值时,则确定需要增加所述服务器与所述存储设备之间的路径。With reference to the first possible implementation manner of the first aspect, in a third possible implementation manner, the server is further configured to determine the number of currently available paths according to the multipath information, and when the available path entries When the number is less than the preset threshold, it is determined that the path between the server and the storage device needs to be increased.
结合第一方面第一种至第三种中任一可能的实施方式,在第四种可能的实施方式中,所述服务器,还用于通过任意可用路径,向所述任意可用路径的目标节点发送状态查询指令,以使得所述任意可用路径的目标节点向所述调度器发送状态查询消息,所述状态查询消息中携带有与所述服务器的启动器存在会话连接的控制器的标识;With reference to any one of the first to third possible implementation manners of the first aspect, in a fourth possible implementation manner, the server is further configured to, via any available path, send sending a status query instruction, so that the target node of any available path sends a status query message to the scheduler, and the status query message carries an identifier of a controller that has a session connection with the initiator of the server;
所述调度器,还用于接收所述状态查询消息,获取所述与所述服务器的启动器存在会话连接的控制器的状态信息,将获取的所述与所述服务器的启动器 存在会话连接的控制器的状态信息通过所述任意可用路径的目标节点返回给所述服务器;The scheduler is further configured to receive the status query message, acquire the status information of the controller that has a session connection with the initiator of the server, and send the acquired initiator to the server The status information of the controller with session connection is returned to the server through the target node of any available path;
所述服务器,还用于根据接收到的所述与所述服务器的启动器存在会话连接的控制器的状态信息,删除记录的所述多路径信息中不可用控制器对应的路径,其中,所述标识路径的信息包括控制器标识。The server is further configured to, according to the received status information of the controller having a session connection with the initiator of the server, delete the recorded path corresponding to the unavailable controller in the multi-path information, wherein the The information identifying the path includes the controller identification.
结合第一方面第一种至第四种中任一可能的实施方式,在第五种可能的实施方式中,所述服务器,还用于向与自身存在会话连接的控制器发送周期性检测指令,接收返回的检测响应消息,根据所述检测响应消息确定不可用路径,更新所述多路径信息中不可用路径对应的路径状态。With reference to any one of the first to fourth possible implementation manners of the first aspect, in a fifth possible implementation manner, the server is further configured to send a periodic detection instruction to the controller that has a session connection with itself , receiving a returned detection response message, determining an unavailable path according to the detection response message, and updating a path status corresponding to the unavailable path in the multipath information.
结合第一方面第一种至第五种中任一可能的实施方式,在第六种可能的实施方式中,所述服务器,具体用于向任意可用路径的目标节点发送路径增加指令,以触发所述任意可用路径的目标节点向所述调度器发送所述路径增加请求。With reference to any one of the first to fifth possible implementation manners of the first aspect, in a sixth possible implementation manner, the server is specifically configured to send a path addition instruction to a target node of any available path to trigger The target node of any available path sends the path addition request to the scheduler.
结合第一方面第一种至第五种中任一可能的实施方式,在第七种可能的实施方式中,所述服务器,具体用于触发所述路径增加请求,并通过专用交换机向所述调度器发送所述路径增加请求,接收所述调度器通过所述专用交换机返回的所述目标控制器的标识。With reference to any one of the first to fifth possible implementation manners of the first aspect, in a seventh possible implementation manner, the server is specifically configured to trigger the path addition request, and send the request to the The scheduler sends the path addition request, and receives the identifier of the target controller returned by the scheduler through the dedicated switch.
结合第一方面第一种至第五种中任一可能的实施方式,在第八种可能的实施方式中,所述服务器,还用于通过专用交换机向所述调度器发送状态查询请求,所述状态查询请求中携带有与所述服务器的启动器存在会话连接的控制器的标识;With reference to any one of the first to fifth possible implementation manners of the first aspect, in an eighth possible implementation manner, the server is further configured to send a status query request to the scheduler through a dedicated switch, so The status query request carries the identifier of the controller that has a session connection with the initiator of the server;
所述调度器,还用于接收所述状态查询消息,获取所述与所述服务器的启动器存在会话连接的控制器的状态信息,将所述与所述服务器的启动器存在会话连接的控制器的状态信息通过所述专用交换机返回给所述服务器,以使得所述服务器删除记录的所述多路径信息中不可用控制器对应的路径,其中,所述标识路径的信息包括控制器标识。The scheduler is further configured to receive the status query message, obtain the status information of the controller that has a session connection with the initiator of the server, and send the controller that has a session connection with the initiator of the server The status information of the controller is returned to the server through the private switch, so that the server deletes the path corresponding to the unavailable controller in the recorded multi-path information, wherein the information identifying the path includes a controller identifier.
结合第一方面第一种可能的实施方式,在第九种可能的实施方式中,所述多路径信息存储在服务器侧的配置文件中。 With reference to the first possible implementation manner of the first aspect, in a ninth possible implementation manner, the multipath information is stored in a configuration file on the server side.
第二方面,本发明实施例提供了服务器,包括多路径管理模块和启动器,In a second aspect, the embodiment of the present invention provides a server, including a multipath management module and an initiator,
启动器,用于建立与存储设备之间的至少一个会话连接,每个会话连接对应的路径的起始节点为所述服务器的启动器,所述每个会话连接对应的路径的目标节点为所述存储设备中的控制器;The initiator is used to establish at least one session connection with the storage device, the starting node of the path corresponding to each session connection is the initiator of the server, and the target node of the path corresponding to each session connection is the the controller in the storage device;
多路径管理模块,用于在确定需要增加所述服务器与所述存储设备之间的路径时,触发路径增加操作,以使得所述存储设备的调度器根据所述启动器的标识和存储的已经建立的会话连接的起始节点与目标节点之间的对应关系,从所述存储设备的多个控制器中确定新路径的目标控制器;A multipath management module, configured to trigger a path addition operation when it is determined that the path between the server and the storage device needs to be added, so that the scheduler of the storage device Establishing a corresponding relationship between the starting node and the target node of the session connection, determining the target controller of the new path from the plurality of controllers of the storage device;
所述启动器,还用于根据所述存储设备发送的所述目标控制器的标识建立于所述目标控制器之间的路径。The initiator is further configured to establish a path between the target controllers according to the identifiers of the target controllers sent by the storage device.
在第二方面的第一种可能的实施方式中,服务器侧存储有多路径信息,所述多路径信息包括用于标识路径的信息以及路径状态。In a first possible implementation manner of the second aspect, the server side stores multi-path information, where the multi-path information includes information for identifying a path and a path status.
结合第二方面第一种可能的实施方式,在第二种可能的实施方式中,所述多路径管理模块,还用于根据所述多路径信息,确定当前可用路径条数,当所述可用路径条数小于预设阈值时,则确定需要增加所述服务器与所述存储设备之间的路径。With reference to the first possible implementation manner of the second aspect, in a second possible implementation manner, the multipath management module is further configured to determine the number of currently available paths according to the multipath information, and when the available When the number of paths is less than the preset threshold, it is determined that the path between the server and the storage device needs to be increased.
结合第二方面第一种或第二方面第二种中任一可能的实施方式,在第三种可能的实施方式中,所述启动器,还用于向与自身存在会话连接的控制器发送周期性检测指令,接收返回的检测响应消息,根据所述检测响应消息确定不可用路径,更新所述多路径信息中不可用路径对应的路径状态。With reference to any possible implementation manner in the first aspect of the second aspect or the second aspect of the second aspect, in a third possible implementation manner, the initiator is further configured to send The periodic detection instruction receives a returned detection response message, determines an unavailable path according to the detection response message, and updates the path status corresponding to the unavailable path in the multi-path information.
结合第二方面第一种至第三种中任一可能的实施方式,在第四种可能的实施方式中,In combination with any of the first to third possible implementation manners of the second aspect, in a fourth possible implementation manner,
所述多路径管理模块,具体用于向所述启动器发送用于发起路径增加操作的控制指令;The multipath management module is specifically configured to send a control instruction for initiating a path addition operation to the initiator;
所述启动器,具体用于根据所述控制指令,向任意可用路径的目标节点发送路径增加指令,所述路径增加指令携带所述启动器的标识。The initiator is specifically configured to send a path addition instruction to a target node of any available path according to the control instruction, where the path addition instruction carries an identifier of the initiator.
结合第二方面第一种至第四种中任一可能的实施方式,在第五种可能的实 施方式中,In combination with any of the first to fourth possible implementation manners of the second aspect, in the fifth possible implementation manner In the implementation mode,
所述启动器,还用于接收所述多路径管理模块发送的控制器状态请求消息,通过任意可用路径,向所述任意可用路径的目标节点发送状态查询指令,所述状态查询指令携带与所述启动器存在会话连接的控制器的标识;The initiator is further configured to receive the controller status request message sent by the multipath management module, and send a status query instruction to the target node of the any available path through any available path, and the status query instruction carries the the identity of the controller to which the said initiator has a session connection;
所述启动器,还用于接收所述调度器通过所述任意可用路径返回的与所述服务器的启动器存在会话连接的控制器的状态信息,删除记录的所述多路径信息中不可用控制器对应的路径,其中,所述标识路径的信息包括控制器标识。The initiator is further configured to receive the status information of the controller that has a session connection with the initiator of the server returned by the scheduler through any available path, and delete the unavailable control in the recorded multipath information. A path corresponding to the controller, wherein the information identifying the path includes a controller identifier.
结合第二方面至第二方面第三种中任一可能的实施方式,在第六种可能的实施方式中,In combination with any possible implementation manner of the second aspect to the third aspect of the second aspect, in a sixth possible implementation manner,
所述多路径管理模块,具体用于通过专用交换机向所述存储设备的调度器发送路径增加请求,所述路径增加请求携带所述启动器的标识;The multipath management module is specifically configured to send a path addition request to the scheduler of the storage device through a dedicated switch, where the path addition request carries the identifier of the initiator;
所述多路径管理模块,还用于接收所述调度器返回的目标控制器的标识,通知所述启动器建立与所述目标控制器之间的新路径。The multipath management module is further configured to receive the identifier of the target controller returned by the scheduler, and notify the initiator to establish a new path with the target controller.
结合第二方面至第二方面第三种中任一可能的实施方式,在第七种可能的实施方式中,In combination with any possible implementation manner of the second aspect to the third aspect of the second aspect, in a seventh possible implementation manner,
所述多路径管理模块,还用于通过专用交换机向所述存储设备的调度器发送状态查询消息,所述状态查询消息携带与所述启动器存在会话连接的控制器的标识;The multipath management module is further configured to send a status query message to the scheduler of the storage device through a dedicated switch, where the status query message carries an identifier of a controller that has a session connection with the initiator;
所述多路径管理模块,还用于接收所述调度器返回的与所述启动器存在会话连接的控制器的状态信息,删除记录的所述多路径信息中不可用控制器对应的路径,其中,所述标识路径的信息包括控制器标识。The multi-path management module is further configured to receive the status information of the controller that has a session connection with the initiator returned by the scheduler, and delete the path corresponding to the unavailable controller in the recorded multi-path information, wherein , the information identifying the path includes a controller identifier.
结合第二方面第一种可能的实施方式,在第八种可能的实施方式中,所述多路径信息存储在服务器侧的配置文件中。With reference to the first possible implementation manner of the second aspect, in an eighth possible implementation manner, the multipath information is stored in a configuration file on the server side.
第三方面,本发明实施例提供了一种存储设备,所述存储设备包括多个控制器和调度器,In a third aspect, an embodiment of the present invention provides a storage device, where the storage device includes multiple controllers and schedulers,
所述多个控制器中的至少一个控制器,用于与服务器之间建立会话连接,所述会话连接对应的路径的起始节点为服务器的启动器,所述会话连接对应的 路径的目标节点为所述存储设备中的控制器,所述存储设备中存储已经建立的会话连接的起始节点与目标节点之间的对应关系;At least one controller among the plurality of controllers is configured to establish a session connection with the server, the starting node of the path corresponding to the session connection is the initiator of the server, and the corresponding session connection The target node of the path is the controller in the storage device, and the storage device stores the corresponding relationship between the starting node and the target node of the established session connection;
所述调度器,用于接收由所述服务器触发的路径增加请求,所述路径增加请求中携带所述服务器的启动器的标识,根据所述启动器的标识和存储的所述已经建立的会话连接的起始节点与目标节点之间的对应关系,从所述多个控制器中确定新路径的目标控制器,将确定的所述目标控制器的标识发送给所述服务器,其中,所述目标控制器与所述启动器之间未建立会话连接;The scheduler is configured to receive a path addition request triggered by the server, where the path addition request carries an identifier of an initiator of the server, and according to the identifier of the initiator and the stored established session The corresponding relationship between the starting node and the target node of the connection, determining the target controller of the new path from the plurality of controllers, and sending the determined identifier of the target controller to the server, wherein the No session connection is established between the target controller and the initiator;
所述目标控制器,用于建立与所述服务器的启动器之间的新路径。The target controller is configured to establish a new path with the initiator of the server.
结合第三方面,在第三方面第一种可能的实施方式中,当确定的所述新路径的目标控制器为多个时,With reference to the third aspect, in the first possible implementation manner of the third aspect, when there are multiple target controllers for the determined new path,
所述调度器,还用于从多个目标控制器中确定符合如下条件的至少一个目标控制器:The scheduler is also used to determine at least one target controller that meets the following conditions from multiple target controllers:
控制器连接的启动器数量最少。The controller has the fewest number of initiators connected.
结合第三方面或第三方面第一种可能的实施方式,在第二种可能的实施方式中,With reference to the third aspect or the first possible implementation manner of the third aspect, in the second possible implementation manner,
所述调度器,还用于接收由所述服务器触发的状态查询消息,所述状态查询消息中携带有与所述服务器的启动器存在会话连接的控制器的标识;The scheduler is further configured to receive a status query message triggered by the server, where the status query message carries an identifier of a controller that has a session connection with the initiator of the server;
所述调度器,还用于根据所述与所述服务器的启动器存在会话连接的控制器的标识获取与所述服务器的启动器存在会话连接的控制器的状态信息,将获取到的状态信息返回给所述服务器。The scheduler is further configured to obtain the state information of the controller having a session connection with the initiator of the server according to the identifier of the controller having a session connection with the initiator of the server, and the acquired state information returned to the server.
结合第三方面第二种可能的实施方式,在第三种可能的实施方式中,With reference to the second possible implementation manner of the third aspect, in the third possible implementation manner,
所述调度器,具体用于接收所述服务器通过任意可用路径的目标节点发送的所述状态查询消息,将与所述服务器的启动器存在会话连接的控制器的状态信息通过所述任意可用路径的目标节点返回给所述服务器;或,The scheduler is specifically configured to receive the status query message sent by the server through the target node of any available path, and pass the status information of the controller having a session connection with the initiator of the server through the arbitrary available path The target node of is returned to the server; or,
所述调度器,具体用于接收所述服务器的多路径管理模块通过专用交换机发送的所述状态查询消息,将与所述服务器的启动器存在会话连接的控制器的状态信息通过所述专用交换机返回给所述服务器。 The scheduler is specifically configured to receive the status query message sent by the multi-path management module of the server through the dedicated switch, and pass the status information of the controller having a session connection with the initiator of the server through the dedicated switch returned to the server.
第四方面,本发明实施例提供了一种路径管理的方法,应用于路径管理系统,所述路径管理系统包括服务器和存储设备,所述存储设备包括调度器和多个控制器,In a fourth aspect, an embodiment of the present invention provides a path management method, which is applied to a path management system, where the path management system includes a server and a storage device, and the storage device includes a scheduler and multiple controllers,
所述服务器建立与所述存储设备之间的至少一个会话连接,每个会话连接对应的路径的起始节点为所述服务器的启动器,所述每个会话连接对应的路径的目标节点为所述存储设备中的控制器,所述存储设备中存储已经建立的会话连接的起始节点与目标节点之间的对应关系;The server establishes at least one session connection with the storage device, the starting node of the path corresponding to each session connection is the initiator of the server, and the target node of the path corresponding to each session connection is the The controller in the storage device, the storage device stores the corresponding relationship between the starting node and the target node of the established session connection;
在确定需要增加所述服务器与所述存储设备之间的路径时,所述服务器触发路径增加操作;When it is determined that the path between the server and the storage device needs to be increased, the server triggers a path addition operation;
所述调度器接收由所述服务器触发的路径增加请求,所述路径增加请求中携带所述服务器的启动器的标识,根据所述启动器的标识和存储的所述已经建立的会话连接的起始节点与目标节点之间的对应关系,从所述多个控制器中确定新路径的目标控制器,将确定的所述目标控制器的标识发送给所述服务器,其中,所述目标控制器与所述启动器之间未建立会话连接;The scheduler receives the path addition request triggered by the server, the path addition request carries the identifier of the initiator of the server, and according to the identifier of the initiator and the stored initiator of the established session connection The corresponding relationship between the starting node and the target node, determine the target controller of the new path from the plurality of controllers, and send the determined identifier of the target controller to the server, wherein the target controller No session connection is established with said initiator;
所述服务器根据所述目标控制器的标识建立与所述目标控制器之间的路径。The server establishes a path with the target controller according to the identifier of the target controller.
结合第四方面,在第四方面第一种可能的实施方式中,服务器侧存储有多路径信息,所述多路径信息包括用于标识路径的信息以及路径状态。With reference to the fourth aspect, in a first possible implementation manner of the fourth aspect, the server side stores multi-path information, where the multi-path information includes information for identifying a path and a path status.
结合第四方面或第四方面第一种可能的实施方式,在第二种可能的实施方式中,当所述确定的新路径的目标控制器为多个时,所述方法还包括:With reference to the fourth aspect or the first possible implementation manner of the fourth aspect, in the second possible implementation manner, when there are multiple target controllers for the determined new path, the method further includes:
所述调度器从所述多个目标控制器中确定符合如下条件的至少一个目标控制器:The scheduler determines at least one target controller meeting the following conditions from the plurality of target controllers:
控制器连接的启动器数量最少。The controller has the fewest number of initiators connected.
结合第四方面第一种或第二种可能的实施方式,在第三种可能的实施方式中,所述方法还包括:With reference to the first or second possible implementation manner of the fourth aspect, in a third possible implementation manner, the method further includes:
所述服务器根据所述多路径信息,确定当前可用路径条数,当所述可用路径条数小于预设阈值时,则确定需要增加所述服务器与所述存储设备之间的路 径。The server determines the number of currently available paths according to the multipath information, and when the number of available paths is less than a preset threshold, it is determined that the path between the server and the storage device needs to be increased. path.
结合第四方面第一种至第三种中任一可能的实施方式,在第四种可能的实施方式中,所述方法还包括:With reference to any one of the first to third possible implementation manners of the fourth aspect, in a fourth possible implementation manner, the method further includes:
所述服务器通过任意可用路径,向所述任意可用路径的目标节点发送发送状态查询指令,以使得所述可用路径的目标节点向所述调度器发送状态查询消息,所述状态查询消息中携带有与所述服务器的启动器存在会话连接的控制器的标识;The server sends a status query instruction to the target node of any available path through any available path, so that the target node of the available path sends a status query message to the scheduler, and the status query message carries an identification of the controller with which the initiator of said server has a session connection;
所述调度器接收所述状态查询消息,获取所述与所述服务器的启动器存在会话连接的控制器的状态信息,将获取的所述与所述服务器的启动器存在会话连接的控制器的状态信息通过所述任意可用路径的目标节点返回给所述服务器;The scheduler receives the status query message, acquires the status information of the controller that has a session connection with the initiator of the server, and uses the obtained status information of the controller that has a session connection with the initiator of the server State information is returned to the server through the target node of any available path;
所述服务器根据接收到的所述与所述服务器的启动器存在会话连接的控制器的状态信息,删除记录的所述多路径信息中不可用控制器对应的路径,其中,所述标识路径的信息包括控制器标识。The server deletes the path corresponding to the unavailable controller in the recorded multi-path information according to the received state information of the controller having a session connection with the initiator of the server, wherein the identified path Information includes controller identification.
结合第四方面第一种至第四种中任一可能的实施方式,在第五种可能的实施方式中,所述方法还包括:With reference to any one of the first to fourth possible implementation manners of the fourth aspect, in a fifth possible implementation manner, the method further includes:
所述服务器向与自身存在会话连接的控制器发送周期性检测指令,接收返回的检测响应消息,根据所述检测响应消息确定不可用路径,更新所述多路径信息中不可用路径对应的路径状态。The server sends a periodic detection instruction to the controller having a session connection with itself, receives a returned detection response message, determines an unavailable path according to the detection response message, and updates the path status corresponding to the unavailable path in the multi-path information .
结合第四方面第一种至第五种中任一可能的实施方式,在第六种可能的实施方式中,所述触发路径增加操作包括:With reference to any one of the first to fifth possible implementation manners of the fourth aspect, in a sixth possible implementation manner, the trigger path adding operation includes:
所述服务器向任意可用路径的目标节点发送路径增加指令,以触发所述任意可用路径的目标节点向所述调度器发送所述路径增加请求。The server sends a path addition instruction to the target node of any available path, so as to trigger the target node of any available path to send the path addition request to the scheduler.
结合第四方面以及第四方面第一种至第三种中任一可能的实施方式,在第七种可能的实施方式中,所述触发路径增加操作包括:With reference to the fourth aspect and any one of the first to third possible implementation manners of the fourth aspect, in a seventh possible implementation manner, the trigger path adding operation includes:
所述服务器通过专用交换机向所述调度器发送所述路径增加请求。The server sends the path addition request to the scheduler through a dedicated switch.
结合第四方面以及第四方面第一种至第三种中任一可能的实施方式,在第 八种可能的实施方式中,所述方法还包括:In combination with the fourth aspect and any of the first to third possible implementation modes of the fourth aspect, in In eight possible implementation manners, the method also includes:
所述服务器通过专用交换机向所述调度器发送状态查询请求,所述状态查询请求中携带有与所述服务器的启动器存在会话连接的控制器的标识;The server sends a status query request to the scheduler through a dedicated switch, and the status query request carries an identifier of a controller having a session connection with the initiator of the server;
所述调度器接收所述状态查询消息,获取所述与所述服务器的启动器存在会话连接的控制器的状态信息,将所述与所述服务器的启动器存在会话连接的控制器的状态信息通过所述专用交换机返回给所述服务器,以使得所述服务器删除记录的所述多路径信息中不可用控制器对应的路径,其中,所述标识路径的信息包括控制器标识。The scheduler receives the status query message, acquires the status information of the controller having a session connection with the initiator of the server, and sends the status information of the controller having a session connection with the initiator of the server Returning to the server through the private switch, so that the server deletes the path corresponding to the unavailable controller in the recorded multi-path information, where the information identifying the path includes the controller identifier.
第五方面,本发明实施例还提供了一种路径管理的方法,应用于路径管理系统,所述路径管理系统包括服务器和存储设备,所述存储设备包括多个控制器和调度器,所述方法包括:In the fifth aspect, the embodiment of the present invention also provides a path management method, which is applied to a path management system, where the path management system includes a server and a storage device, and the storage device includes multiple controllers and schedulers, the Methods include:
所述多个控制器中的至少一个控制器与所述服务器之间建立会话连接,所述会话连接对应的路径的起始节点为服务器的启动器,所述会话连接对应的路径的目标节点为所述存储设备中的控制器,所述存储设备中存储已经建立的会话连接的起始节点与目标节点之间的对应关系;A session connection is established between at least one controller among the plurality of controllers and the server, the starting node of the path corresponding to the session connection is the initiator of the server, and the target node of the path corresponding to the session connection is The controller in the storage device, where the storage device stores the corresponding relationship between the starting node and the target node of the established session connection;
所述调度器接收由所述服务器触发的路径增加请求,所述路径增加请求中携带所述服务器的启动器的标识,根据所述启动器的标识和存储的所述已经建立的会话连接的起始节点与目标节点之间的对应关系,从所述多个控制器中确定新路径的目标控制器,将确定的所述目标控制器的标识发送给所述服务器,其中,所述目标控制器与所述启动器之间未建立会话连接;The scheduler receives the path addition request triggered by the server, the path addition request carries the identifier of the initiator of the server, and according to the identifier of the initiator and the stored initiator of the established session connection The corresponding relationship between the starting node and the target node, determine the target controller of the new path from the plurality of controllers, and send the determined identifier of the target controller to the server, wherein the target controller No session connection is established with said initiator;
所述目标控制器建立与所述服务器的启动器之间的新路径。The target controller establishes a new path with the server's initiator.
结合第五方面,在第五方面第一种可能的实施方式中,当所述确定的新路径的目标控制器为多个时,所述方法还包括:With reference to the fifth aspect, in the first possible implementation manner of the fifth aspect, when there are multiple target controllers for the determined new path, the method further includes:
所述调度器从多个目标控制器中确定符合如下条件的至少一个目标控制器:控制器连接的启动器数量最少。The scheduler determines at least one target controller meeting the following condition from among the multiple target controllers: the number of initiators connected to the controller is the smallest.
结合第五方面,在第五方面第二种可能的实施方式中,所述方法还包括:With reference to the fifth aspect, in a second possible implementation manner of the fifth aspect, the method further includes:
所述多个控制器中的至少一个控制器接收所述服务器发送的状态查询指 令,向所述调度器发送状态查询消息,所述状态查询消息中携带有与所述服务器的启动器存在会话连接的控制器的标识;At least one controller among the plurality of controllers receives the status query instruction sent by the server order, sending a status query message to the scheduler, where the status query message carries an identifier of a controller that has a session connection with the initiator of the server;
所述调度器接收所述状态查询消息,获取所述与所述服务器的启动器存在会话连接的控制器的状态信息,将获取的所述与所述服务器的启动器存在会话连接的控制器的状态信息通过所述任意可用路径的目标节点返回给所述服务器,以使得所述服务器删除记录的多路径信息中不可用控制器对应的路径。The scheduler receives the status query message, acquires the status information of the controller that has a session connection with the initiator of the server, and uses the obtained status information of the controller that has a session connection with the initiator of the server The status information is returned to the server through the target node of any available path, so that the server deletes the path corresponding to the unavailable controller in the recorded multipath information.
第六方面,本发明实施例还提供了一种路径管理的方法,应用于路径管理系统,所述路径管理系统包括服务器和存储设备,所述服务器包括多路径管理模块和启动器,所述存储设备包括调度器和多个控制器,其中,所述服务器的启动器与所述存储设备的多个控制器之间存在至少一个会话连接,每个会话连接对应的路径的起始节点为所述服务器的启动器,所述每个会话连接对应的路径的目标节点为所述存储设备中的控制器,所述存储设备中存储已经建立的会话连接的起始节点与目标节点之间的对应关系,In the sixth aspect, the embodiment of the present invention also provides a path management method, which is applied to a path management system, the path management system includes a server and a storage device, the server includes a multipath management module and an initiator, and the storage The device includes a scheduler and multiple controllers, wherein there is at least one session connection between the initiator of the server and the multiple controllers of the storage device, and the starting node of the path corresponding to each session connection is the The initiator of the server, the target node of the path corresponding to each session connection is the controller in the storage device, and the storage device stores the correspondence between the start node and the target node of the established session connection ,
所述启动器接收所述多路径管理模块在确定需要增加所述服务器与所述存储设备之间的路径时发送的控制指令,所述控制指令用于通知所述启动器执行路径增加操作;The initiator receives the control instruction sent by the multipath management module when it is determined that the path between the server and the storage device needs to be added, and the control instruction is used to notify the initiator to perform a path increase operation;
所述启动器通过任意可用路径向所述任意可用路径的目标节点发送路径增加指令,所述路径增加指令携带所述启动器的标识;The initiator sends a path addition instruction to the target node of the arbitrary available path through any available path, and the path addition instruction carries the identifier of the initiator;
所述调度器接收所述任意可用路径的目标节点根据所述路径增加指令发出的路径分配请求,所述路径分配请求中携带所述启动器的标识;The scheduler receives a path allocation request sent by the target node of any available path according to the path addition instruction, and the path allocation request carries the identifier of the initiator;
所述调度器根据所述启动器的标识和存储的所述已经建立的会话连接的起始节点与目标节点之间的对应关系,从所述多个控制器中确定新路径的目标控制器,将确定的所述目标控制器的标识发送给所述服务器,其中,所述目标控制器与所述启动器之间未建立会话连接;The scheduler determines the target controller of the new path from the plurality of controllers according to the identifier of the initiator and the stored correspondence between the start node and the target node of the established session connection, sending the determined identifier of the target controller to the server, wherein no session connection is established between the target controller and the initiator;
所述服务器根据所述目标控制器的标识建立与所述目标控制器之间的路径。The server establishes a path with the target controller according to the identifier of the target controller.
第七方面,本发明实施例还提供了一种路径管理的装置,其特征在于,所述装置包括处理器、存储器、总线和通信接口; In the seventh aspect, the embodiment of the present invention also provides a path management device, characterized in that the device includes a processor, a memory, a bus, and a communication interface;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述路径管理的装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述路径管理的装置执行如第四至第六方面中任一所述的路径管理的方法。The memory is used to store computer-executable instructions, the processor is connected to the memory through the bus, and when the path management device is running, the processor executes the computer-executable instructions stored in the memory, The path management device is configured to execute the path management method described in any one of the fourth to sixth aspects.
第八方面,本发明实施例还提供了一种计算机可读介质,包括计算机执行指令,以供计算机的处理器执行所述计算机执行指令时,所述计算机执行如第四至第六方面中任一所述的路径管理的方法。In an eighth aspect, an embodiment of the present invention also provides a computer-readable medium, including computer-executable instructions, so that when a processor of a computer executes the computer-executable instructions, the computer executes any one of the fourth to sixth aspects. A method for path management.
本发明实施例提供了一种路径管理的系统、装置和方法,路径管理的系统包括服务器和存储设备,服务器的启动器与存储设备的多个控制器间存在至少一个会话连接,所述服务器在确定需要增加所述服务器与所述存储设备之间的路径时,触发路径增加操作,存储设备的调度器根据所述启动器的标识和存储的所述已经建立的会话连接的起始节点与目标节点之间的对应关系,从所述多个控制器中确定新路径的目标控制器,从而使得服务器与所述存储设备间建立新路径。通过上述方式,服务器可以自动请求目标控制器,并增加到存储设备目标控制器的路径到已有路径中,实现了路径的动态管理功能,避免了由于路径故障导致可用路径数量减少带来的网络传输质量下降等问题。Embodiments of the present invention provide a path management system, device, and method. The path management system includes a server and a storage device. There is at least one session connection between the initiator of the server and multiple controllers of the storage device. When it is determined that the path between the server and the storage device needs to be increased, a path addition operation is triggered, and the scheduler of the storage device connects the starting node and the target according to the identification of the initiator and the stored session connection that has been established. According to the corresponding relationship between the nodes, the target controller of the new path is determined from the plurality of controllers, so that the new path is established between the server and the storage device. Through the above method, the server can automatically request the target controller, and add the path to the target controller of the storage device to the existing path, realize the dynamic management function of the path, and avoid the network failure caused by the reduction of the number of available paths due to path failure. Transmission quality degradation and other issues.
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the accompanying drawings required in the embodiments. Obviously, the accompanying drawings in the following description are only some of the present invention. Embodiments, for those of ordinary skill in the art, other drawings can also be obtained according to these drawings without paying creative labor.
图1是本发明实施例提供的场景一的路径管理的系统结构示意图;FIG. 1 is a schematic structural diagram of a path management system in scenario 1 provided by an embodiment of the present invention;
图2是本发明实施例提供的服务器访问存储设备的路径示意图;FIG. 2 is a schematic diagram of a path for a server to access a storage device according to an embodiment of the present invention;
图3是本发明实施例提供的服务器访问存储设备的另一种路径示意图;FIG. 3 is a schematic diagram of another path for a server to access a storage device according to an embodiment of the present invention;
图4是本发明实施例提供的一种路径管理的方法流程示意图;FIG. 4 is a schematic flowchart of a path management method provided by an embodiment of the present invention;
图5是本发明实施例一提供的场景一下的路径管理的方法流程示意图; FIG. 5 is a schematic flow diagram of a path management method in a scenario 1 provided by Embodiment 1 of the present invention;
图6是本发明实施例二提供的场景一下的另一种路径管理的方法流程示意图;FIG. 6 is a schematic flowchart of another path management method in the scenario 1 provided by Embodiment 2 of the present invention;
图7是本发明实施例三提供的场景一下的另一种路径管理的方法流程示意图;FIG. 7 is a schematic flowchart of another path management method in the scenario 1 provided by Embodiment 3 of the present invention;
图8是本发明实施例提供的场景二的系统结构示意图;FIG. 8 is a schematic diagram of the system structure of Scenario 2 provided by the embodiment of the present invention;
图9是本发明实施例提供的场景二下的一种路径管理方法的流程示意图;FIG. 9 is a schematic flowchart of a path management method in scenario 2 provided by an embodiment of the present invention;
图10是本发明实施例提供的场景二下的另一种路径管理方法的流程示意图;FIG. 10 is a schematic flowchart of another path management method in scenario 2 provided by an embodiment of the present invention;
图11是本发明实施例提供的场景二下的另一种路径管理方法的流程示意图;FIG. 11 is a schematic flowchart of another path management method in scenario 2 provided by an embodiment of the present invention;
图12是本发明实施例提供的另一种路径管理方法的流程示意图;FIG. 12 is a schematic flowchart of another path management method provided by an embodiment of the present invention;
图13是本发明实施例提供的另一种路径管理方法的流程示意图;FIG. 13 is a schematic flowchart of another path management method provided by an embodiment of the present invention;
图14是本发明实施例提供的路径管理装置的硬件连接结构示意图。Fig. 14 is a schematic diagram of a hardware connection structure of a path management device provided by an embodiment of the present invention.
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only some, not all, embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the protection scope of the present invention.
在现有技术中,服务器上预先设置服务器连接控制器的多路径信息,由于缺乏动态调整路径的机制,如果一条路径故障被移除了,服务器可以使用的路径就少了一条,无法自动补充另一条可用的路径。极端的情况下,大部分的路径可能由于故障而被移除,导致无法实现负载均衡和故障自动切换路径等功能。In the prior art, the multi-path information of the server connection controller is pre-set on the server. Due to the lack of a mechanism for dynamically adjusting the path, if a path fault is removed, the server can use one less path and cannot automatically supplement another path. an available path. In extreme cases, most of the paths may be removed due to failures, making functions such as load balancing and failover automatic path switching impossible.
本发明实施例提供了一种路径管理的系统,包括服务器和存储设备,所述存储设备包括调度器和多个控制器,在所述服务器与所述存储设备之间建立至少一个会话连接,建立的会话连接在所述服务器和存储设备之间构成一条路径,每个会话连接对应的路径的起始节点为所述服务器的启动器,所述每个会话连 接对应的路径的目标节点为所述存储设备中的控制器。所述存储设备中存储已经建立的会话连接的起始节点与目标节点之间的对应关系。An embodiment of the present invention provides a path management system, including a server and a storage device, the storage device includes a scheduler and a plurality of controllers, and at least one session connection is established between the server and the storage device. The session connection forms a path between the server and the storage device, the starting node of the path corresponding to each session connection is the initiator of the server, and each session connection The target node connected to the corresponding path is the controller in the storage device. The storage device stores the corresponding relationship between the starting node and the target node of the established session connection.
本发明实施例中服务器可以主动发起路径增加操作,即在确定需要增加所述服务器与所述存储设备之间的路径时,触发路径增加操作;In the embodiment of the present invention, the server may actively initiate the path addition operation, that is, trigger the path addition operation when it is determined that the path between the server and the storage device needs to be added;
存储设备的调度器接收由所述服务器触发的路径增加请求,所述路径增加请求中携带所述服务器的启动器的标识,所述调度器为所述服务器选择未与所述服务器存在会话连接的控制器作为目标控制器,使得所述服务器与所述目标控制器之间建立新的路径。具体的,所述调度器根据所述启动器的标识和存储的所述已经建立的会话连接的起始节点与目标节点之间的对应关系,从所述多个控制器中确定新路径的目标控制器,将确定的所述目标控制器的标识发送给所述服务器,其中,所述目标控制器与所述启动器之间未建立会话连接;所述服务器根据所述目标控制器的标识建立与所述目标控制器之间的路径。通过上述方式,当服务器侧发现需要新增与存储设备间的路径时,主动发起路径增加操作,获取存储设备的调度器为所述服务器分配的目标控制器,建立于目标控制器之间的新路径,从而完成路径增加流程,避免现有技术中由于路径故障导致的路径数量减少所引起的网络传输质量下降等问题。The scheduler of the storage device receives the path addition request triggered by the server, where the path addition request carries the identifier of the initiator of the server, and the scheduler selects for the server a path that does not have a session connection with the server. The controller acts as a target controller, so that a new path is established between the server and the target controller. Specifically, the scheduler determines the target of the new path from the plurality of controllers according to the identity of the initiator and the stored correspondence between the start node and the target node of the established session connection a controller, sending the determined identifier of the target controller to the server, wherein no session connection is established between the target controller and the initiator; the server establishes a session connection according to the identifier of the target controller path to and from the target controller. Through the above method, when the server side finds that it is necessary to add a path with the storage device, it will actively initiate a path addition operation, obtain the target controller assigned by the scheduler of the storage device to the server, and establish a new path between the target controllers. path, so as to complete the path adding process, and avoid problems such as network transmission quality degradation caused by the reduction of the number of paths caused by path failures in the prior art.
进一步的,服务器侧存储有多路径信息,用来记录服务器与存储设备间已经建立的各个会话连接对应的路径信息,存储的所述多路径信息包括用于标识路径的信息以及路径状态。其中,所述用于标识路径的信息包括启动器的标识和控制器的标识,可选的,所述用于标识路径的信息还可以包括网卡的标识。在具体实施方式中,所述多路径信息可以存储在服务器侧的配置文件中。需要说明的是,当服务器与存储设备间的路径发生变化时,所述服务器更新存储的所述多路径信息。Further, the server side stores multi-path information, which is used to record the path information corresponding to each established session connection between the server and the storage device, and the stored multi-path information includes information for identifying a path and path status. Wherein, the information for identifying a path includes an identifier of an initiator and an identifier of a controller, and optionally, the information for identifying a path may further include an identifier of a network card. In a specific implementation manner, the multipath information may be stored in a configuration file on the server side. It should be noted that when the path between the server and the storage device changes, the server updates the stored multipath information.
服务器侧在确定需要增加路径时,发起路径增加操作。一方面,服务器可以根据上述多路径信息,确定与所述存储设备已经建立的路径中可用路径条数,当所述可用路径条数小于预设阈值时,发起所述路径增加操作;另一方面,服务器还可以向与自身存在会话连接的控制器发送周期性检测指令,接收返回的 检测响应消息,根据所述检测响应消息确定存在不可用路径,从而发起路径增加操作,并更新所述多路径信息中不可用路径对应的路径状态。When the server side determines that a path needs to be added, it initiates a path addition operation. On the one hand, the server may determine the number of available paths in the path established with the storage device according to the above multi-path information, and initiate the path adding operation when the number of available paths is less than a preset threshold; on the other hand , the server can also send a periodic detection command to the controller that has a session connection with itself, and receive the returned A detection response message, determining that an unavailable path exists according to the detection response message, thereby initiating a path addition operation, and updating a path state corresponding to the unavailable path in the multipath information.
在具体的实施方式中,所述服务器可以采用多种方式发起所述路径增加操作,例如:In a specific implementation manner, the server may initiate the path adding operation in various ways, for example:
方式一:服务器的多路径管理模块确定可用路径条数过少或存在不可用路径时,向启动器下发控制指令,通知启动器向存储设备发起路径增加指令。所述启动器在收到所述控制指令时,选择任意的可用路径作为传递所述路径增加指令的传输通道,当所述任意可用路径的控制器收到所述路径增加指令时,将所述路径增加指令中携带的所述启动器的标识发送给调度器,由调度器为所述服务器分配新路径的目标控制器;Method 1: When the multipath management module of the server determines that the number of available paths is too small or there are unusable paths, it sends a control command to the initiator and notifies the initiator to initiate a path increase command to the storage device. When the initiator receives the control instruction, it selects any available path as the transmission channel for transmitting the path increase instruction, and when the controller of any available path receives the path increase instruction, it sends the The identifier of the initiator carried in the path addition instruction is sent to the scheduler, and the scheduler assigns the target controller of the new path to the server;
方式二:服务器的多路径管理模块确定可用路径条数过少或存在不可用路径时,若服务器的多路径管理模块通过带外的管理网络与存储设备的调度器直接相连,则无需经过服务器的启动器,而是由所述多路径管理模块通过带外管理网络的专用交换机向所述调度器发送路径增加请求,在所述路径增加请求中携带所述服务器的启动器标识,请求所述调度器为为所述服务器分配新路径的目标控制器。Method 2: When the multipath management module of the server determines that the number of available paths is too small or there are unusable paths, if the multipath management module of the server is directly connected to the scheduler of the storage device through the out-of-band management network, there is no need to go through the server's multipath management module. Initiator, but the multipath management module sends a path addition request to the scheduler through a dedicated switch of the out-of-band management network, the path addition request carries the initiator identifier of the server, and requests the scheduling The controller is the target controller that assigns the new path to the server.
存储设备中存储有已经建立的会话连接的起始节点与目标节点之间的对应关系,调度器为请求新路径的服务器分配可用的目标控制器,当存在多个可用的目标控制器时,所述调度器基于负载均衡的原则确定已连接启动器数量最少的控制器作为筛选后的目标控制器。需要说明的是,所述存储设备中存储的起始节点与目标节点之间的对应关系可以采用多种具体的实施方式,例如,所述对应关系采用列表的形式记录在存储设备中,即,在存储设备中记录控制器列表,所述控制器列表用于表示所述存储设备中存储的起始节点与目标节点之间的对应关系。所述控制器列表中可以包括控制器标识和启动器标识,进一步的还可以包括控制器状态。The storage device stores the corresponding relationship between the starting node and the target node of the established session connection, and the scheduler allocates an available target controller for the server requesting a new path. When there are multiple available target controllers, the The above scheduler determines the controller with the least number of connected initiators as the target controller after screening based on the principle of load balancing. It should be noted that the correspondence between the start node and the target node stored in the storage device may adopt various specific implementation manners, for example, the correspondence is recorded in the storage device in the form of a list, that is, A controller list is recorded in the storage device, and the controller list is used to represent the corresponding relationship between the start node and the target node stored in the storage device. The controller list may include a controller ID and an initiator ID, and may further include a status of the controller.
如图1所示,为本发明实施例提供的场景一的路径管理的系统结构示意图。服务器11通过网络中的交换机13访问存储设备12,所述路径管理的系统包括 服务器11,存储设备12,以及网络中的多个交换机13。其中,该服务器11包括多路径管理模块(又称为Multipath Module)111和启动器113(又称为initiator);存储设备12具体可以为RAID(Redundant Arrays of independent Disks,独立冗余磁盘阵列),该存储设备12包括多个控制器121、调度器122,以及若干存储介质,例如,LUN(Logical Unit Number,逻辑单元号),图中未示出。服务器11通过网卡(HBA,Host Bus Adapter)的接口连接到网络中的交换机13,进一步的连接到存储设备12中的控制器121上,具体的,所述服务器11的启动器113通过HBA与网络中的交换机13相连。As shown in FIG. 1 , it is a schematic structural diagram of a path management system in scenario 1 provided by an embodiment of the present invention. The server 11 accesses the storage device 12 through the switch 13 in the network, and the path management system includes A server 11, a storage device 12, and a plurality of switches 13 in the network. Wherein, the server 11 includes a multipath management module (also known as Multipath Module) 111 and a starter 113 (also known as initiator); the storage device 12 can specifically be a RAID (Redundant Arrays of independent Disks, Redundant Array of Independent Disks), The storage device 12 includes multiple controllers 121, a scheduler 122, and several storage media, for example, LUN (Logical Unit Number, logical unit number), not shown in the figure. The server 11 is connected to the switch 13 in the network through the interface of the network card (HBA, Host Bus Adapter), and further connected to the controller 121 in the storage device 12. Specifically, the initiator 113 of the server 11 communicates with the network through the HBA The switch 13 in is connected.
在图1所示的系统中,服务器11的启动器113与存储设备12的控制器121经由服务器的网卡建立会话连接,所述会话连接对应的路径的起始节点为启动器113,所述会话连接对应的路径的目标节点为控制器121。从图2或图3所示的路径管理的系统连接示意图可以看出,服务器11的启动器113可以经过多条路径连接到存储设备12的各个控制器121,服务器11的网卡标识和控制器121的标识一起唯一确定一条路径,如图2所示,服务器可以通过4条路径访问存储设备,如图3所示,服务器可以通过8条路径访问存储设备。所述服务器的网卡标识可以为网卡的IP地址和端口,所述控制器的标识包括控制器IQN(Internet Small Computer System Interface Qualified Name,因特网小型计算机系统接口合法名称)、IP地址和端口。In the system shown in FIG. 1, the initiator 113 of the server 11 and the controller 121 of the storage device 12 establish a session connection via the network card of the server, and the starting node of the path corresponding to the session connection is the initiator 113, and the session The target node connecting the corresponding path is the controller 121 . It can be seen from the system connection schematic diagram of path management shown in FIG. 2 or FIG. 3 that the initiator 113 of the server 11 can be connected to each controller 121 of the storage device 12 through multiple paths, and the network card identification of the server 11 and the controller 121 together uniquely determine a path, as shown in Figure 2, the server can access the storage device through 4 paths, and as shown in Figure 3, the server can access the storage device through 8 paths. The network card identification of described server can be the IP address and the port of network card, and the identification of described controller comprises controller IQN (Internet Small Computer System Interface Qualified Name, Internet Small Computer System Interface Legal Name), IP address and port.
为使得本发明实施例中各实体功能清晰,本发明实施例对图1中的各实体功能介绍如下:In order to make the functions of each entity in the embodiment of the present invention clear, the embodiment of the present invention introduces the functions of each entity in Figure 1 as follows:
调度器(Scheduler)122,用于管理存储设备12中的控制器121和存储资源,进一步的,本发明各实施例对调度器122的功能进行了扩展,以用来提供路径分配功能以及控制器状态的管理功能;A scheduler (Scheduler) 122 is used to manage the controller 121 and storage resources in the storage device 12. Further, each embodiment of the present invention expands the function of the scheduler 122 to provide a path allocation function and a controller State management functions;
控制器121,用于提供存储设备的存储管理和输入输出控制;A controller 121, configured to provide storage management and input and output control of the storage device;
启动器113,具体可以为ISCSI(Internet Small Computer System Interface,因特网小型计算机系统接口)initiator,用于提供与控制器121连接和管理的功能。 The initiator 113 may specifically be an ISCSI (Internet Small Computer System Interface, Internet Small Computer System Interface) initiator, which is used to provide functions of connecting and managing with the controller 121.
多路径管理模块111,用于监控启动器,向启动器下发操作指令。所述多路径管理模块可以是服务器中独立硬件或软件。当所述多路径管理模块采用软件模块实现时,所述多路径管理模块111可以通过调用启动器提供的函数接口来实现对启动器的控制功能。或者,所述多路径管理模块也可以通过控制消息来对启动器进行控制。The multi-path management module 111 is configured to monitor the initiator and issue operation instructions to the initiator. The multipath management module may be independent hardware or software in the server. When the multipath management module is implemented by a software module, the multipath management module 111 can realize the control function of the initiator by calling a function interface provided by the initiator. Alternatively, the multipath management module may also control the initiator through a control message.
启动器113,用于接收并执行多路径管理模块111下发的操作指令。The initiator 113 is configured to receive and execute the operation instruction issued by the multipath management module 111 .
前述实施例对场景一对应的路径管理的系统进行了基本描述,为更清楚的介绍具体的实现方案,结合上述场景一的内容,本发明实施例提供了下述路径管理的方法。The foregoing embodiments have basically described the path management system corresponding to scenario 1. In order to introduce a specific implementation solution more clearly, and in combination with the contents of scenario 1 above, the embodiments of the present invention provide the following path management methods.
结合如图1所示的系统架构,如图4所示,为本发明实施例提供的场景一下的路径管理的方法流程示意图,所述路径管理系统包括服务器和存储设备,所述存储设备包括调度器和多个控制器,Combined with the system architecture shown in FIG. 1 , as shown in FIG. 4 , it is a schematic flow diagram of a path management method in scenario 1 provided by an embodiment of the present invention. The path management system includes a server and a storage device, and the storage device includes a scheduling tors and multiple controllers,
步骤401:所述服务器建立与所述存储设备之间的至少一个会话连接,每个会话连接对应的路径的起始节点为所述服务器的启动器,所述每个会话连接对应的路径的目标节点为所述存储设备中的控制器,所述存储设备中存储已经建立的会话连接的起始节点与目标节点之间的对应关系;Step 401: The server establishes at least one session connection with the storage device, the starting node of the path corresponding to each session connection is the initiator of the server, and the target of the path corresponding to each session connection The node is the controller in the storage device, and the storage device stores the corresponding relationship between the starting node and the target node of the established session connection;
步骤402:在确定需要增加所述服务器与所述存储设备之间的路径时,所述服务器触发路径增加操作;Step 402: when it is determined that the path between the server and the storage device needs to be added, the server triggers a path addition operation;
步骤403:所述调度器接收由所述服务器触发的路径增加请求,所述路径增加请求中携带所述服务器的启动器的标识,根据所述启动器的标识和存储的所述已经建立的会话连接的起始节点与目标节点之间的对应关系,从所述多个控制器中确定新路径的目标控制器,将确定的所述目标控制器的标识发送给所述服务器,其中,所述目标控制器与所述启动器之间未建立会话连接;Step 403: The scheduler receives the path addition request triggered by the server, the path addition request carries the identifier of the initiator of the server, and according to the identifier of the initiator and the stored established session The corresponding relationship between the starting node and the target node of the connection, determining the target controller of the new path from the plurality of controllers, and sending the determined identifier of the target controller to the server, wherein the No session connection is established between the target controller and the initiator;
步骤404:所述服务器根据所述目标控制器的标识建立与所述目标控制器之间的路径。Step 404: The server establishes a path with the target controller according to the identifier of the target controller.
本发明实施例提供了一种路径管理系统管理路径的方法,路径管理系统包括服务器和存储设备,服务器的启动器与存储设备的多个控制器间存在至少一 个会话连接,所述服务器在确定需要增加所述服务器与所述存储设备之间的路径时,触发路径增加操作,存储设备的调度器根据所述启动器的标识和存储的所述已经建立的会话连接的起始节点与目标节点之间的对应关系,从所述多个控制器中确定新路径的目标控制器,从而使得服务器与所述存储设备间建立新路径。通过上述方式,服务器可以自动请求目标控制器,并增加到存储设备目标控制器的路径到已有路径中,实现了路径的动态管理功能,避免了由于路径故障导致可用路径数量减少带来的网络传输质量下降等问题。An embodiment of the present invention provides a method for managing paths by a path management system. The path management system includes a server and a storage device. There is at least one session connection, when the server determines that the path between the server and the storage device needs to be added, the path addition operation is triggered, and the scheduler of the storage device is based on the identifier of the initiator and the stored established The corresponding relationship between the starting node and the target node of the session connection determines the target controller of the new path from the plurality of controllers, so that the new path is established between the server and the storage device. Through the above method, the server can automatically request the target controller, and add the path to the target controller of the storage device to the existing path, realize the dynamic management function of the path, and avoid the network failure caused by the reduction of the number of available paths due to path failure. Transmission quality degradation and other issues.
结合如图1所示的系统架构,如图5所示,为本发明实施例提供的场景一下的路径管理的方法流程示意图。在本发明实施例中,存储设备包含多个控制器,即控制器1、控制器2、控制器3等等,其中控制器1与控制器3与服务器侧的启动器相连。Combined with the system architecture shown in FIG. 1 , as shown in FIG. 5 , it is a schematic flowchart of a path management method in scenario 1 provided by an embodiment of the present invention. In the embodiment of the present invention, the storage device includes multiple controllers, namely controller 1 , controller 2 , controller 3 and so on, wherein controller 1 and controller 3 are connected to the initiator on the server side.
本发明实施例包括:Embodiments of the invention include:
阶段一:连接建立流程Phase 1: Connection establishment process
步骤501:多路径管理模块在服务器侧配置多路径信息,所述多路径信息包括标识路径的信息和路径状态。所述用于标识路径的信息包括启动器的标识和控制器的标识,可选的,所述用于标识路径的信息还可以包括网卡的标识。所述启动器标识包括启动器的IQN、IP地址和端口,所述控制器标识包括控制器IQN、IP地址和端口,所述网卡标识包括网卡IP地址和端口。Step 501: The multipath management module configures multipath information on the server side, and the multipath information includes information identifying a path and path status. The information for identifying a path includes an identifier of an initiator and an identifier of a controller. Optionally, the information for identifying a path may further include an identifier of a network card. The initiator identifier includes the initiator's IQN, IP address and port, the controller identifier includes the controller IQN, IP address and port, and the network card identifier includes the network card IP address and port.
可选的,在服务器侧可以预先配置满足网络性能需求的可用路径条数的预设阈值,当可用路径条数小于所述预设阈值时,网络传输性能则无法达到性能需求。Optionally, a preset threshold for the number of available paths meeting network performance requirements may be pre-configured on the server side. When the number of available paths is less than the preset threshold, the network transmission performance cannot meet the performance requirements.
进一步的,所述多路径信息还可以包括路径条数N。其中,所述路径条数N用来表示所述存储设备与所述启动器相连的路径数目。Further, the multipath information may also include the number N of paths. Wherein, the number of paths N is used to indicate the number of paths connecting the storage device to the initiator.
服务器侧还可以包括第一存储器,用来存储配置文件,在所述配置文件中记录所述多路径信息。The server side may further include a first memory for storing a configuration file in which the multipath information is recorded.
步骤502:调度器配置控制器列表,所述控制器列表用于表示配置的控制器和服务器之间的对应关系。所述控制器列表包括:启动器标识、控制器标识, 以及路径状态。进一步的,所述控制器列表还可以包括LUN标识,用于表示服务器可访问的LUN。Step 502: The scheduler configures a controller list, where the controller list is used to represent the corresponding relationship between configured controllers and servers. The controller list includes: initiator ID, controller ID, and path status. Further, the controller list may also include LUN identifiers, which are used to represent LUNs accessible by the server.
存储设备侧还可以包括第二存储器,用来记录存储设备侧的所述控制器列表。The storage device side may further include a second memory for recording the controller list on the storage device side.
步骤503:建立启动器与控制器之间的会话连接,形成启动器与控制器之间的多条路径。Step 503: Establish a session connection between the initiator and the controller to form multiple paths between the initiator and the controller.
需要说明的是,建立的会话连接对应的路径的起始节点为服务器的启动器,目标节点为存储设备的控制器,存储设备中存储的所述控制器列表为所述起始节点和目标节点间对应关系的一种具体实现,本领域技术人员可以理解的是,存储设备可以采用现有技术中的其他记录方式,本发明实施例对此并不进行限定。It should be noted that the starting node of the path corresponding to the established session connection is the initiator of the server, the target node is the controller of the storage device, and the controller list stored in the storage device is the starting node and the target node A specific implementation of the corresponding relationship between the two, those skilled in the art can understand that the storage device can use other recording methods in the prior art, which is not limited in this embodiment of the present invention.
示例性的,本发明实施例中,启动器分别与控制器1和控制器3建立会话连接,具体的会话连接建立可以采用现有技术中的通用方式,本发明实施例对此并不进行限定。Exemplarily, in the embodiment of the present invention, the initiator establishes a session connection with the controller 1 and the controller 3 respectively, and the specific session connection establishment can adopt a general method in the prior art, which is not limited in the embodiment of the present invention .
阶段二:周期性检测流程。在建立服务器的启动器与存储设备的多个控制器之间的路径连接后,多路径管理模块控制启动器对已建立的路径进行周期性检测,包括:Phase 2: Periodic testing process. After the path connection between the initiator of the server and multiple controllers of the storage device is established, the multipath management module controls the initiator to periodically detect the established paths, including:
步骤504:多路径管理模块向启动器发送检测启动指令,用于通知启动器对与所述启动器连接的控制器发起周期性检测;Step 504: The multi-path management module sends a detection start instruction to the initiator, which is used to notify the initiator to initiate periodic detection on the controller connected to the initiator;
步骤505:启动器向与其连接的控制器发送周期性检测指令;Step 505: The initiator sends a periodic detection instruction to the controller connected to it;
示例性的,在本发明实施例中,启动器分别向控制器1和控制器3发送周期检测指令。Exemplarily, in the embodiment of the present invention, the initiator sends cycle detection instructions to the controller 1 and the controller 3 respectively.
步骤506:启动器接收控制器返回的检测响应消息,根据接收到的检测响应消息确定不可用路径;Step 506: The initiator receives the detection response message returned by the controller, and determines the unavailable path according to the received detection response message;
示例性的,启动器接收控制器1返回的检测响应消息,当检测响应消息为正常时,所述启动器确定发送所述响应消息的路径正常;当与启动器连接的控制器3未返回检测响应消息或返回错误检测响应消息时,则启动器确定与该控 制器3连接的未发送检测响应消息或者发送错误检测响应消息的路径为不可用路径,更新步骤1中记录的多路径信息,将所述多路径信息中不可用路径对应的路径状态设置为不可用。Exemplarily, the initiator receives the detection response message returned by the controller 1, and when the detection response message is normal, the initiator determines that the path for sending the response message is normal; when the controller 3 connected to the initiator does not return the detection response message or returns an error detection response message, the initiator determines the The path of the unsent detection response message or the error detection response message connected to the controller 3 is an unavailable path, update the multipath information recorded in step 1, and set the path state corresponding to the unavailable path in the multipath information to unavailable use.
阶段三:当有路径不可用时,路径增加流程Phase 3: When a path is unavailable, the path addition process
步骤507:多路径管理模块通过监测所述启动器,获取当前不可用路径的信息;Step 507: The multi-path management module obtains information about currently unavailable paths by monitoring the initiator;
具体的,多路径管理模块可以向启动器发送周期性的查询消息,确定与所述启动器相连的各路径的当前状态。Specifically, the multipath management module may send periodic query messages to the initiator to determine the current status of each path connected to the initiator.
步骤508:多路径管理模块向启动器发送控制指令,所述控制指令用于通知所述启动器发起路径增加流程;Step 508: the multipath management module sends a control instruction to the initiator, and the control instruction is used to notify the initiator to initiate a path addition process;
示例性的,多路径管理模块获知启动器与控制器3连接的路径状态为不可用,多路径管理模块向启动器发送控制指令,通知启动器发起路径增加流程。Exemplarily, the multi-path management module learns that the status of the path connecting the initiator to the controller 3 is unavailable, and the multi-path management module sends a control instruction to the initiator, notifying the initiator to initiate a path addition process.
步骤509:启动器向与其连接的路径状态为可用的控制器发送路径增加指令,所述路径增加指令中包括启动器的标识;Step 509: The initiator sends a path addition instruction to the controller connected to it whose path state is available, and the path addition instruction includes the identifier of the initiator;
具体的,当在服务器与存储设备之间存在多条可用路径时,所述启动器可用通过任意可用路径向所述任意可用路径的目标节点发送路径增加指令。示例性的,启动器向控制器1发送ISCSI指令,所述ISCSI指令用于请求增加一条新的路径,所述ISCIS指令的具体格式如下:Specifically, when there are multiple available paths between the server and the storage device, the initiator may send a path addition instruction to a target node of any available path through any available path. Exemplarily, the initiator sends an ISCSI instruction to the controller 1, the ISCSI instruction is used to request to add a new path, and the specific format of the ISCIS instruction is as follows:
Key/value pairsKey/value pairs
Keyvalue:requestnewtarget=oneKeyvalue:requestnewtarget=one
需要说明的是,启动器向控制器发送的路径增加指令请求的新路径数量可以为多条。It should be noted that the number of new paths requested by the path increase instruction sent by the initiator to the controller may be multiple.
步骤510:接收到所述路径增加指令的可用控制器向调度器发送路径增加请求,所述路径增加请求中携带所述启动器的标识;Step 510: The available controller that has received the path addition instruction sends a path addition request to the scheduler, and the path addition request carries the identifier of the initiator;
具体的,在本发明实施例中,控制器1接收到ISCSI指令后,向调度器发送路径增加请求,请求分配新路径的目标控制器。Specifically, in the embodiment of the present invention, after receiving the ISCSI instruction, the controller 1 sends a path addition request to the scheduler, requesting to assign a target controller of the new path.
步骤511:调度器从存储设备中存储的配置文件中读取控制器列表,为所 述启动器分配目标控制器(例如控制器2),并将目标控制器的标识发送给所述可用控制器;Step 511: the scheduler reads the list of controllers from the configuration file stored in the storage device, for all The initiator allocates a target controller (for example, controller 2), and sends the identification of the target controller to the available controller;
在本发明实施例中,调度器负责路径的分配,调度器可以基于负载均衡等路径分配算法进行路径的分配。In the embodiment of the present invention, the scheduler is responsible for path allocation, and the scheduler may allocate paths based on path allocation algorithms such as load balancing.
当调度器收到路径增加请求时,遍历控制器列表,根据路径增加请求中携带的启动器的标识查找符合如下条件的控制器:When the scheduler receives a path addition request, it traverses the list of controllers, and searches for controllers that meet the following conditions according to the identifier of the initiator carried in the path addition request:
控制器的状态为正常工作;The status of the controller is normal operation;
控制器对应的已分配启动器标识列表不包含请求分配路径的启动器标识;The list of assigned initiator IDs corresponding to the controller does not contain the initiator ID requesting the path to be allocated;
控制器连接的启动器数量最少。The controller has the fewest number of initiators connected.
需要说明的是,当存在多个满足上述条件的控制器时,调度器可以随机选择任一个或多个。调度器将所述启动器的标识加入到选定的目标控制器的已分配启动器标识列表中,并将所述目标控制器的标识返回给所述可用控制器。反之,当找不到符合条件的控制器时,则分配失败,调度器向所述可用控制器返回分配失败响应消息。It should be noted that when there are multiple controllers satisfying the above conditions, the scheduler may randomly select any one or more of them. The scheduler adds the identifier of the initiator to the list of assigned initiator identifiers of the selected target controller, and returns the identifier of the target controller to the available controllers. On the contrary, when no qualified controller is found, the allocation fails, and the scheduler returns an allocation failure response message to the available controllers.
步骤512:所述可用控制器将所述目标控制器的标识携带在路径增加响应消息中发送给所述启动器,所述目标控制器的标识包括目标控制器的IP地址和端口。Step 512: The available controller sends the identifier of the target controller to the initiator in a path addition response message, where the identifier of the target controller includes the IP address and port of the target controller.
步骤513:所述启动器接收所述路径增加响应消息,获取所述路径增加响应消息中携带的目标控制器的标识,将所述目标控制器的标识发送给所述多路径管理模块;Step 513: The initiator receives the path addition response message, acquires the target controller identifier carried in the path addition response message, and sends the target controller identifier to the multipath management module;
步骤514:所述多路径管理模块通知所述启动器与所述目标控制器建立会话连接;Step 514: the multipath management module notifies the initiator to establish a session connection with the target controller;
步骤515:所述启动器更新服务器侧存储的多路径信息,建立于所述目标控制器间的新路径。Step 515: The initiator updates the multipath information stored on the server side, and establishes a new path between the target controllers.
需要说明的是,本发明实施例中,以目标控制器为控制器2进行了说明,本领域技术人员可以理解的是,当目标控制器为多个时,启动器可以与多个目标控制器分别建立会话连接,从而构成多条新的路径。 It should be noted that, in the embodiment of the present invention, the target controller is used as the controller 2 for illustration. Those skilled in the art can understand that when there are multiple target controllers, the initiator can communicate with multiple target controllers. Session connections are respectively established to form multiple new paths.
本发明实施例中,在发现存在不可用路径时,服务器侧发起路径增加流程,通过在路径增加指令中携带启动器的标识,使得存储设备侧的调度器可用根据所述启动器的标识查找控制器列表,为所述启动器新分配目标控制器,所述启动器从而与新分配的目标控制器建立会话连接,完成路径增加流程。通过上述方式,保证了服务器与存储设备间可用路径的数量,当存储设备的分布式阵列扩容时,可以自动将新扩容的控制器利用起来,实现了分布式存储设备中路径的动态管理。In the embodiment of the present invention, when it is found that there is an unavailable path, the server side initiates a path addition process, and by carrying the identifier of the initiator in the path addition command, the scheduler on the storage device side can search and control the path according to the identifier of the initiator. The initiator list is newly assigned a target controller for the initiator, and the initiator thus establishes a session connection with the newly assigned target controller to complete the path adding process. Through the above method, the number of available paths between the server and the storage device is guaranteed. When the distributed array of the storage device expands, the newly expanded controller can be automatically used, realizing the dynamic management of the paths in the distributed storage device.
结合如图1所示的系统结构,如图6所示,为本发明实施例提供的场景一下的另一种路径管理系统管理路径的方法流程示意图。与上述实施例区别在于,上述实施例通过周期性检测获得不可用路径信息,服务器触发路径增加操作,而在本发明实施例中,服务器检测确定当前可用路径条数,当与启动器连接的当前可用路径条数未达到系统预设阈值时增加路径。本发明实施例中各部件的连接关系与前述实施例一中各部件的连接关系相同。Combined with the system structure shown in FIG. 1 , as shown in FIG. 6 , it is a schematic flowchart of another method for managing a path in a path management system in the scenario 1 provided by the embodiment of the present invention. The difference from the above embodiment is that the above embodiment obtains unavailable path information through periodic detection, and the server triggers the path addition operation, while in the embodiment of the present invention, the server detects and determines the number of currently available paths, when the current path connected to the initiator Add paths when the number of available paths does not reach the system preset threshold. The connection relationship of the components in the embodiment of the present invention is the same as the connection relationship of the components in the first embodiment.
本发明实施例提供的方法包括以下步骤:The method provided by the embodiment of the present invention includes the following steps:
阶段一:连接建立流程Phase 1: Connection establishment process
本发明实施例的连接建立流程与前述实施例一类似,本发明不再赘述。The connection establishment process in this embodiment of the present invention is similar to that in the first embodiment, and will not be repeated in the present invention.
阶段二:当可用路径条数小于预设阈值时,路径增加流程Phase 2: When the number of available paths is less than the preset threshold, the path increase process
步骤:604:多路径管理模块监测所述启动器,获取与所述启动器相连的可用路径条数;Step: 604: The multipath management module monitors the initiator, and obtains the number of available paths connected to the initiator;
具体的,多路径管理模块可以向启动器发送查询指令,所述启动器在接收到所述查询指令后,根据服务器侧的多路径信息确定当前可用路径条数,并将所述可用路径条数返回给所述多路径管理模块。在另一种可行的实施方式中,启动器在收到查询指令后,将部分或全部多路径信息返回给所述多路径管理模块,多路径管理模块在收到所述部分或全部多路径信息后,确定当前可用路径条数。示例性的,启动器可用将多路径信息中的路径状态发生给所述多路径管理模块,多路径管理模块根据所述路径状态进行可用路径条数的统计。 Specifically, the multipath management module may send a query instruction to the initiator. After receiving the query instruction, the initiator determines the number of currently available paths according to the multipath information on the server side, and calculates the number of available paths Return to the multipath management module. In another feasible implementation manner, after receiving the query instruction, the initiator returns part or all of the multipath information to the multipath management module, and the multipath management module receives the part or all of the multipath information After that, determine the number of currently available paths. Exemplarily, the initiator can send the path state in the multipath information to the multipath management module, and the multipath management module can count the number of available paths according to the path state.
在另一种实施方式中,多路径管理模块可以直接查询服务器侧记录的多路径信息,获取当前可用路径条数。In another implementation manner, the multipath management module may directly query the multipath information recorded on the server side to obtain the number of currently available paths.
步骤605:多路径管理模块确定所述可用路径条数是否小于预设阈值,如果所述可用路径条数小于所述预设阈值,则向启动器发送控制指令,所述控制指令用于通知启动器发起增加路径流程;Step 605: The multipath management module determines whether the number of available paths is less than a preset threshold, and if the number of available paths is less than the preset threshold, then sends a control instruction to the initiator, and the control instruction is used to notify the startup The server initiates the process of adding a path;
步骤606:所述启动器向与其连接的路径状态为可用的控制器发送路径增加指令,指令中包括启动器的标识;Step 606: The initiator sends a path adding instruction to the controller connected to it whose path status is available, and the instruction includes the identifier of the initiator;
当存在多条可用路径时,所述启动器可以随机选择任意可用路径传递所述路径增加指令。When there are multiple available paths, the initiator may randomly select any available path to transmit the path adding instruction.
步骤607-612与前述实施例一的步骤510-515类似,本发明实施例不再赘述。Steps 607-612 are similar to steps 510-515 in the first embodiment, and are not repeated in this embodiment of the present invention.
本发明实施例中,服务器侧预先设置了满足网络性能需求必须的可用路径预设阈值,多路径管理模块通过监控启动器获取当前可用路径条数,当当前可用路径条数未到达所述预设阈值时,发起路径增加流程,从而保证了服务器与存储设备间可用路径的数量,实现了分布式存储设备中路径的动态管理。In the embodiment of the present invention, the server side presets the preset threshold value of available paths necessary to meet the network performance requirements, and the multipath management module obtains the number of currently available paths by monitoring the initiator. When the number of currently available paths does not reach the preset When the threshold is reached, a path increase process is initiated, thereby ensuring the number of available paths between the server and the storage device, and realizing dynamic management of paths in the distributed storage device.
结合如图1所示的系统结构,如图7所示,为本发明实施例提供的场景一下的另一种路径管理的方法流程示意图,包括:Combined with the system structure shown in FIG. 1 , as shown in FIG. 7 , it is a schematic flowchart of another path management method in the scenario 1 provided by the embodiment of the present invention, including:
阶段一:连接建立流程Phase 1: Connection establishment process
步骤701-703与步骤501-503类似,本发明实施例不再赘述。Steps 701-703 are similar to steps 501-503, and will not be repeated in this embodiment of the present invention.
阶段二:当发现控制器状态为不可用时,服务器侧移除对应的路径Phase 2: When the controller status is found to be unavailable, the server side removes the corresponding path
步骤704:多路径管理模块向启动器发送控制器状态请求消息,用于获取与所述启动器相连的控制器的状态信息;Step 704: The multipath management module sends a controller status request message to the initiator, for acquiring status information of the controller connected to the initiator;
步骤705:启动器向与其连接的路径状态为可用的控制器发送状态查询指令,所述状态查询指令中携带与所述启动器相连的控制器的标识;Step 705: The initiator sends a status query instruction to the controller whose connected path status is available, and the status query instruction carries the identifier of the controller connected to the initiator;
具体的,当存在多个与所述启动器相连且路径状态为可用的控制器时,启动器可用随机选择任意可用路径用于传输所述状态查询指令。 Specifically, when there are multiple controllers connected to the initiator and the path status is available, the initiator may randomly select any available path for transmitting the state query instruction.
步骤706:接收到所述状态查询指令的可用控制器向所述调度器发送状态查询消息,所述状态查询消息包括所述与所述启动器相连的控制器的标识。Step 706: The available controller that has received the status query instruction sends a status query message to the scheduler, where the status query message includes the identifier of the controller connected to the initiator.
步骤707:所述调度器查询所述控制器列表,根据与所述启动器相连的控制器的标识获取与所述启动器相连的控制器的状态信息,将获取到的与所述启动器相连的控制器的状态信息返回给所述可用控制器;Step 707: The scheduler queries the controller list, obtains the state information of the controller connected to the initiator according to the identifier of the controller connected to the initiator, and connects the obtained controller to the initiator The status information of the controllers is returned to the available controllers;
步骤708:所述可用控制器将所述与所述启动器相连的控制器的状态信息通过所述启动器返回给所述多路径管理模块;Step 708: The available controller returns the state information of the controller connected to the initiator to the multipath management module through the initiator;
步骤709:所述多路径管理模块向所述启动器发送更新指令,通知所述启动器更新所述多路径信息,从而删除状态为不可用的控制器对应的路径。由于服务器侧存储的多路径信息中记录有控制器标识,即可识别并删除不可用控制器相关的路径。Step 709: The multipath management module sends an update instruction to the initiator, notifying the initiator to update the multipath information, so as to delete the path corresponding to the controller whose status is unavailable. Since the controller identifier is recorded in the multipath information stored on the server side, paths related to unavailable controllers can be identified and deleted.
本发明实施例中,多路径管理模块控制启动器,通过任意可用路径向调度器查询与所述启动器相连的控制器的状态信息,从调度器获取与所述启动器相连的控制器的状态信息,从而识别不可用控制器,删除状态为不可用的控制器对应的路径。即,当存储设备的分布式阵列减容时,服务器可以自动将已经不存在的控制器剔除。In the embodiment of the present invention, the multipath management module controls the initiator, queries the scheduler for the status information of the controller connected to the initiator through any available path, and obtains the status of the controller connected to the initiator from the scheduler information to identify unavailable controllers and delete paths corresponding to unavailable controllers. That is, when the capacity of the distributed array of storage devices is reduced, the server can automatically remove controllers that no longer exist.
如图8所示,为本发明实施例提供的场景二的系统结构示意图,与场景一的区别在于,本发明实施例中,服务器侧的多路径管理模块通过带外方式与存储设备侧的调度器直接相连,即多路径管理模块通过管理网络中的专用交换机与所述调度器相连。多路径管理模块可以向调度器直接发起路径增加流程,或者向调度器获取与服务器的启动器相连的控制器的状态。As shown in FIG. 8 , it is a schematic diagram of the system structure of Scenario 2 provided by the embodiment of the present invention. The difference from Scenario 1 is that in the embodiment of the present directly connected to the scheduler, that is, the multipath management module is connected to the scheduler through a dedicated switch in the management network. The multi-path management module can directly initiate a path addition process to the scheduler, or obtain the status of the controller connected to the initiator of the server from the scheduler.
结合如图8所示的系统架构,如图9所示,本发明实施例提供了场景二下的一种路径管理方法的流程示意图,介绍了当存在不可用路径时新增路径的流程。其中,示例性的,启动器与控制器1和控制器3相连,多路径管理模块通过专用交换机与存储设备侧的调度器相连。需要说明的是,专用交换机仅是本发明实施例给出的一种带外连接的实现方案,本领域技术人员可以理解的是, 也可以通过其他方式实现多路径管理模块和调度器之间的带外连接,本发明实施例对此并不进行限定。Combined with the system architecture shown in FIG. 8 , as shown in FIG. 9 , the embodiment of the present invention provides a schematic flowchart of a path management method in scenario 2, and introduces the process of adding a path when there is an unavailable path. Wherein, for example, the initiator is connected to the controller 1 and the controller 3, and the multipath management module is connected to the scheduler on the storage device side through a dedicated switch. It should be noted that the private switch is only an implementation solution of an out-of-band connection given in the embodiment of the present invention, and those skilled in the art can understand that, The out-of-band connection between the multipath management module and the scheduler may also be implemented in other ways, which is not limited in this embodiment of the present invention.
本发明实施例包括:Embodiments of the invention include:
阶段一:连接建立流程。Phase 1: Connection establishment process.
阶段二:周期性检测流程。Phase 2: Periodic testing process.
步骤901-步骤906与步骤501-506的执行方式类似,本发明实施例不再赘述。Steps 901 to 906 are executed in a similar manner to steps 501 to 506, which are not repeated in this embodiment of the present invention.
阶段三:当有路径不可用时,路径增加流程Phase 3: When a path is unavailable, the path addition process
步骤907:多路径管理模块通过监测所述启动器,获取当前不可用路径的信息;Step 907: The multi-path management module obtains information about currently unavailable paths by monitoring the initiator;
具体的,多路径管理模块可以向启动器发送周期性的查询消息,确定与所述启动器相连的各路径的当前状态。Specifically, the multipath management module may send periodic query messages to the initiator to determine the current status of each path connected to the initiator.
步骤908:多路径管理模块获取所述不可用路径的信息,向所述调度器发送路径增加请求,所述路径增加请求携带所述启动器的标识;Step 908: The multi-path management module obtains the information of the unavailable path, and sends a path addition request to the scheduler, and the path addition request carries the identifier of the initiator;
示例性的,多路径管理模块可以通过监测启动器,获取启动器根据所述多路径信息返回的消息,获知启动器与控制器3连接的路径状态为不可用。Exemplarily, the multi-path management module may obtain a message returned by the initiator according to the multi-path information by monitoring the initiator, and learn that the state of the path connecting the initiator to the controller 3 is unavailable.
步骤909:调度器从存储设备中存储的配置文件中读取控制器列表,根据所述启动器标识为所述启动器新路径的目标控制器,将目标控制器的标识在路径增加响应中发送给所述多路径管理模块。Step 909: the scheduler reads the list of controllers from the configuration file stored in the storage device, and sends the identifier of the target controller in the path addition response according to the identifier of the initiator as the target controller of the initiator's new path to the multipath management module.
具体的,调度器根据控制器当前状态及负载,为所述启动器分配新的控制器。具体分配方式与步骤511类似,本发明实施例不再赘述。示例性的,本发明实施例以控制器2为例进行说明,调度器根据路径分配算法选择控制器2作为为所述启动器分配的新路径的目标控制器,将控制器2的标识返回给所述多路径管理模块。Specifically, the scheduler allocates a new controller to the initiator according to the current state and load of the controller. The specific allocation method is similar to step 511, and will not be repeated in this embodiment of the present invention. Exemplarily, the embodiment of the present invention takes the controller 2 as an example for illustration. The scheduler selects the controller 2 as the target controller of the new path assigned to the initiator according to the path assignment algorithm, and returns the identifier of the controller 2 to the The multipath management module.
步骤910:所述多路径管理模块将所述新分配的目标控制器的标识发送给所述启动器,通知所述启动器与所述目标控制器建立会话连接;Step 910: the multipath management module sends the identifier of the newly assigned target controller to the initiator, and notifies the initiator to establish a session connection with the target controller;
步骤911:启动器更新服务器侧存储的多路径信息,将与所述目标控制器 之间的路径的信息加入到所述多路径信息中,建立于所述目标控制器之间的新路径。Step 911: The initiator updates the multipath information stored on the server side, and will communicate with the target controller The information of the path between them is added to the multipath information, and a new path between the target controllers is established.
本发明实施例中,服务器的多路径管理模块与存储设备的调度器通过带外管理网络的专用交换机相连,在发现存在不可用路径时,服务器侧发起路径增加流程,通过在路径增加请求中携带启动器的标识,使得存储设备侧的调度器可用根据所述启动器的标识查找控制器列表,为所述启动器新分配目标控制器,所述启动器从而与新分配的目标控制器建立新路径。通过上述方式,保证了服务器与存储设备间可用路径的数量,当存储设备的分布式阵列扩容时,可以自动将新扩容的控制器利用起来,实现了分布式存储设备中路径的动态管理。In the embodiment of the present invention, the multipath management module of the server is connected to the scheduler of the storage device through a dedicated switch of the out-of-band management network. The identifier of the initiator, so that the scheduler on the storage device side can search the controller list according to the identifier of the initiator, and assign a new target controller to the initiator, so that the initiator can establish a new target controller with the newly assigned target controller. path. Through the above method, the number of available paths between the server and the storage device is guaranteed. When the distributed array of the storage device expands, the newly expanded controller can be automatically used, realizing the dynamic management of the paths in the distributed storage device.
结合如图8所示的系统架构,如图10所示,本发明实施例提供了场景二下的另一种路径管理方法的流程示意图,介绍了当启动器与存储设备的控制器之间的可用路径条数小于预设阈值时的路径增加流程。Combined with the system architecture shown in FIG. 8 , as shown in FIG. 10 , the embodiment of the present invention provides a schematic flowchart of another path management method in scenario 2, and introduces when the initiator and the controller of the storage device Path addition process when the number of available paths is less than the preset threshold.
本发明实施例包括:Embodiments of the invention include:
阶段一:连接建立流程。Phase 1: Connection establishment process.
步骤1001-1003连接建立流程,与步骤501-503类似;Step 1001-1003 connection establishment process is similar to steps 501-503;
阶段二:当可用路径条数小于预设阈值时,路径增加流程Phase 2: When the number of available paths is less than the preset threshold, the path increase process
步骤1004:多路径管理模块监测所述启动器,获取与所述启动器相连的可用路径条数;Step 1004: The multipath management module monitors the initiator, and obtains the number of available paths connected to the initiator;
具体的,多路径管理模块可以向启动器发送查询指令,所述启动器在接收到所述查询指令后,根据服务器侧的多路径信息确定当前可用路径条数,并将所述可用路径条数返回给所述多路径管理模块。在另一种可行的实施方式中,启动器在收到查询指令后,将部分或全部多路径信息返回给所述多路径管理模块,多路径管理模块在收到所述部分或全部多路径信息后,确定当前可用路径条数。示例性的,启动器可用将多路径信息中的路径状态发生给所述多路径管理模块,多路径管理模块根据所述路径状态进行可用路径条数的统计。Specifically, the multipath management module may send a query instruction to the initiator. After receiving the query instruction, the initiator determines the number of currently available paths according to the multipath information on the server side, and calculates the number of available paths Return to the multipath management module. In another feasible implementation manner, after receiving the query instruction, the initiator returns part or all of the multipath information to the multipath management module, and the multipath management module receives the part or all of the multipath information After that, determine the number of currently available paths. Exemplarily, the initiator can send the path state in the multipath information to the multipath management module, and the multipath management module can count the number of available paths according to the path state.
在另一种实施方式中,多路径管理模块可以查询多路径信息,获取当前可 用路径条数。In another implementation, the multipath management module can query the multipath information to obtain the currently available Use the number of paths.
步骤1005:多路径管理模块确定所述可用路径条数是否小于预设阈值,如果所述可用条数小于所述预设阈值,通过管理网络中的专用交换机向存储设备的调度器发送发送路径增加请求,所述路径增加请求中携带所述启动器的标识;Step 1005: The multipath management module determines whether the number of available paths is less than a preset threshold, and if the number of available paths is less than the preset threshold, sends a path increase to the scheduler of the storage device through a dedicated switch in the management network. request, the path addition request carries the identifier of the initiator;
步骤1006-步骤1008与步骤909-911类似,本发明实施例不再赘述。Steps 1006 - 1008 are similar to steps 909 - 911 , and will not be repeated in this embodiment of the present invention.
本发明实施例中,服务器侧预先设置了满足网络性能需求必须的可用路径预设阈值,多路径管理模块通过监控启动器获取当前可用路径条数,当当前可用路径条数未到达所述预设阈值时,发起路径增加流程增加新路径,从而保证了服务器与存储设备间可用路径的数量,实现了分布式存储设备中路径的动态管理。In the embodiment of the present invention, the server side presets the preset threshold value of available paths necessary to meet the network performance requirements, and the multipath management module obtains the number of currently available paths by monitoring the initiator. When the number of currently available paths does not reach the preset When the threshold value is reached, a path adding process is initiated to add a new path, thereby ensuring the number of available paths between the server and the storage device, and realizing dynamic management of paths in the distributed storage device.
结合图8所示的系统架构,如图11所示,本发明实施例提供了场景二下的另一种路径管理方法的流程示意图,包括:Combined with the system architecture shown in FIG. 8 , as shown in FIG. 11 , the embodiment of the present invention provides a schematic flowchart of another path management method in Scenario 2, including:
阶段一:连接建立流程Phase 1: Connection establishment process
步骤1101-1103连接建立流程,与步骤501-503类似;Step 1101-1103 connection establishment process is similar to steps 501-503;
阶段二:当发现控制器状态为不可用时,服务器侧移除对应的路径Phase 2: When the controller status is found to be unavailable, the server side removes the corresponding path
步骤1104:多路径管理模块通过专用交换机向调度器发送状态请求消息,用于获取与所述启动器相连的控制器的状态信息,所述状态请求消息携带与所述启动器相连的控制器的标识;Step 1104: The multi-path management module sends a status request message to the scheduler through a dedicated switch to obtain status information of the controller connected to the initiator, and the status request message carries the status information of the controller connected to the initiator. logo;
步骤1105:所述调度器查询所述控制器列表,根据所述与所述启动器相连的控制器的标识获取与所述启动器相连的控制器的状态信息,将获取到的与所述启动器相连的控制器的状态信息返回给所述多路径管理模块;Step 1105: The scheduler queries the controller list, obtains the status information of the controller connected to the initiator according to the identifier of the controller connected to the initiator, and uses the acquired The status information of the controller connected to the controller is returned to the multipath management module;
步骤1106:所述多路径管理模块向所述启动器发送更新指令,所述更新指令携带获取到的与所述启动器相连的控制器的状态信息,通知所述启动器根据与所述启动器相连的控制器的状态信息更新所述多路径信息,删除状态为不可用的控制器对应的路径。Step 1106: The multi-path management module sends an update command to the initiator, the update command carries the acquired status information of the controller connected to the initiator, and notifies the initiator to The status information of the connected controllers updates the multipath information, and deletes the paths corresponding to the unavailable controllers.
本发明实施例中,多路径管理模块通过专用交换机从调度器获取与启动器 相连的控制器的状态信息,从而识别不可用控制器,控制启动器删除状态为不可用的控制器对应的路径。即,当存储设备的分布式阵列减容时,服务器可以自动将已经不存在的控制器剔除。In the embodiment of the present invention, the multi-path management module acquires and activates the Status information of connected controllers, so as to identify unavailable controllers, and control the initiator to delete paths corresponding to unavailable controllers. That is, when the capacity of the distributed array of storage devices is reduced, the server can automatically remove controllers that no longer exist.
需要说明的是,在本发明上述各实施例中,新增的目标控制器可以为一个控制器或多个控制器,当当前可用路径条数较少时,调度器可以一次返回多个目标控制器的标识,从而使得启动器与所述多个目标控制器之间建立多条新路径。It should be noted that, in the above-mentioned embodiments of the present invention, the newly added target controller can be one controller or multiple controllers. When the number of currently available paths is small, the scheduler can return multiple target controllers at a time IDs of the controllers, so that multiple new paths are established between the initiator and the multiple target controllers.
如图12所示,为本发明实施例提供的另一种路径管理的方法流程示意图,一种路径管理的方法,应用于路径管理系统,所述路径管理系统包括服务器和存储设备,所述存储设备包括多个控制器和调度器,所述方法包括:As shown in FIG. 12 , it is a schematic flowchart of another path management method provided by an embodiment of the present invention. A path management method is applied to a path management system. The path management system includes a server and a storage device. The storage The device includes a plurality of controllers and a scheduler, the method includes:
步骤1201:所述多个控制器中的至少一个控制器与所述服务器之间建立会话连接,所述会话连接对应的路径的起始节点为服务器的启动器,所述会话连接对应的路径的目标节点为所述存储设备中的控制器,所述存储设备中存储已经建立的会话连接的起始节点与目标节点之间的对应关系;Step 1201: At least one controller among the plurality of controllers establishes a session connection with the server, the starting node of the path corresponding to the session connection is the initiator of the server, and the path corresponding to the session connection The target node is the controller in the storage device, and the storage device stores the corresponding relationship between the starting node and the target node of the established session connection;
步骤1202:所述调度器接收由所述服务器触发的路径增加请求,所述路径增加请求中携带所述服务器的启动器的标识,根据所述启动器的标识和存储的所述已经建立的会话连接的起始节点与目标节点之间的对应关系,从所述多个控制器中确定新路径的目标控制器,将确定的所述目标控制器的标识发送给所述服务器,其中,所述目标控制器与所述启动器之间未建立会话连接;Step 1202: The scheduler receives a path addition request triggered by the server, the path addition request carries the identifier of the initiator of the server, and according to the identifier of the initiator and the stored established session The corresponding relationship between the starting node and the target node of the connection, determining the target controller of the new path from the plurality of controllers, and sending the determined identifier of the target controller to the server, wherein the No session connection is established between the target controller and the initiator;
步骤1203:所述目标控制器建立与所述服务器的启动器之间的新路径。Step 1203: The target controller establishes a new path with the initiator of the server.
进一步的,当所述确定的新路径的目标控制器为多个时,所述方法还包括:Further, when there are multiple target controllers for the determined new path, the method further includes:
所述调度器从多个目标控制器中确定符合如下条件的至少一个目标控制器:控制器连接的启动器数量最少。The scheduler determines at least one target controller meeting the following condition from among the multiple target controllers: the number of initiators connected to the controller is the smallest.
所述方法还包括:The method also includes:
所述多个控制器中的至少一个控制器接收所述服务器发送的状态查询指令,向所述调度器发送状态查询消息,所述状态查询消息中携带有与所述服务器的启动器存在会话连接的控制器的标识; At least one controller among the plurality of controllers receives a status query instruction sent by the server, and sends a status query message to the scheduler, and the status query message carries information that there is a session connection with the initiator of the server ID of the controller;
所述调度器接收所述状态查询消息,获取所述与所述服务器的启动器存在会话连接的控制器的状态信息,将获取的所述与所述服务器的启动器存在会话连接的控制器的状态信息通过所述任意可用路径的目标节点返回给所述服务器,以使得所述服务器删除记录的多路径信息中不可用控制器对应的路径。The scheduler receives the status query message, acquires the status information of the controller that has a session connection with the initiator of the server, and uses the obtained status information of the controller that has a session connection with the initiator of the server The status information is returned to the server through the target node of any available path, so that the server deletes the path corresponding to the unavailable controller in the recorded multipath information.
如图13所示,为本发明实施例提供的另一种路径管理的方法,应用于路径管理系统,所述路径管理系统包括服务器和存储设备,所述服务器包括多路径管理模块和启动器,所述存储设备包括调度器和多个控制器,其中,所述服务器的启动器与所述存储设备的多个控制器之间存在至少一个会话连接,每个会话连接对应的路径的起始节点为所述服务器的启动器,所述每个会话连接对应的路径的目标节点为所述存储设备中的控制器,所述存储设备中存储已经建立的会话连接的起始节点与目标节点之间的对应关系,As shown in FIG. 13, another path management method provided by the embodiment of the present invention is applied to a path management system, the path management system includes a server and a storage device, and the server includes a multipath management module and an initiator. The storage device includes a scheduler and a plurality of controllers, wherein at least one session connection exists between the initiator of the server and the plurality of controllers of the storage device, and each session connection corresponds to a starting node of a path is the initiator of the server, the target node of the path corresponding to each session connection is the controller in the storage device, and the storage device stores the established session connection between the start node and the target node corresponding relationship,
步骤1301:所述启动器接收所述多路径管理模块在确定需要增加所述服务器与所述存储设备之间的路径时发送的控制指令,所述控制指令用于通知所述启动器执行路径增加操作;Step 1301: The initiator receives the control instruction sent by the multipath management module when it determines that the path between the server and the storage device needs to be increased, and the control instruction is used to notify the initiator to execute the path increase operate;
步骤1302:所述启动器通过任意可用路径向所述任意可用路径的目标节点发送路径增加指令,所述路径增加指令携带所述启动器的标识,所述路径增加指令用于通知所述任意可用路径的目标节点向所述调度器发送路径增加请求,以使得所述调度器根据所述启动器的标识和存储的所述已经建立的会话连接的起始节点与目标节点之间的对应关系,从所述多个控制器中确定新路径的目标控制器,其中,所述目标控制器与所述启动器之间未建立会话连接;Step 1302: The initiator sends a path addition command to the target node of the any available path through any available path, the path addition command carries the identifier of the initiator, and the path addition command is used to notify the any available path The target node of the path sends a path addition request to the scheduler, so that the scheduler, according to the identifier of the initiator and the stored correspondence between the start node and the target node of the established session connection, determining a target controller of a new path from the plurality of controllers, wherein no session connection is established between the target controller and the initiator;
步骤1303:所述服务器根据所述目标控制器的标识建立与所述目标控制器之间的路径。Step 1303: The server establishes a path with the target controller according to the identifier of the target controller.
与前述各方法实施例相对应,本发明实施例还提供了一种服务器,包括多路径管理模块和启动器,Corresponding to the foregoing method embodiments, the embodiment of the present invention also provides a server, including a multipath management module and an initiator,
启动器,用于建立与存储设备之间的至少一个会话连接,每个会话连接对应的路径的起始节点为所述服务器的启动器,所述每个会话连接对应的路径的目标节点为所述存储设备中的控制器; The initiator is used to establish at least one session connection with the storage device, the starting node of the path corresponding to each session connection is the initiator of the server, and the target node of the path corresponding to each session connection is the the controller in the storage device;
多路径管理模块,用于在确定需要增加所述服务器与所述存储设备之间的路径时,触发路径增加操作,以使得所述存储设备的调度器根据所述启动器的标识和存储的已经建立的会话连接的起始节点与目标节点之间的对应关系,从所述存储设备的多个控制器中确定新路径的目标控制器;A multipath management module, configured to trigger a path addition operation when it is determined that the path between the server and the storage device needs to be added, so that the scheduler of the storage device Establishing a corresponding relationship between the starting node and the target node of the session connection, determining the target controller of the new path from the plurality of controllers of the storage device;
所述启动器,还用于根据所述存储设备发送的所述目标控制器的标识建立于所述目标控制器之间的路径。The initiator is further configured to establish a path between the target controllers according to the identifiers of the target controllers sent by the storage device.
所述存储设备中存储有所述已经建立的会话连接的起始节点与目标节点之间的对应关系,所述存储设备的调度器根据所述对应关系以及所述启动器的标识为所述服务器分配新路径的目标控制器,所述目标控制器与所述启动器之间未建立会话连接。The storage device stores the corresponding relationship between the starting node and the target node of the established session connection, and the scheduler of the storage device assigns the server to the server according to the corresponding relationship and the identifier of the initiator. A target controller that allocates a new path, and no session connection is established between the target controller and the initiator.
其中,服务器侧存储有多路径信息,所述多路径信息包括用于标识路径的信息以及路径状态。Wherein, the server side stores multi-path information, and the multi-path information includes information for identifying a path and a state of the path.
所述多路径管理模块,还用于根据所述多路径信息,确定当前可用路径条数,当所述可用路径条数小于预设阈值时,则确定需要增加所述服务器与所述存储设备之间的路径。The multipath management module is further configured to determine the number of currently available paths according to the multipath information, and when the number of available paths is less than a preset threshold, it is determined that it is necessary to increase the number of paths between the server and the storage device. path between.
所述启动器,还用于向与自身存在会话连接的控制器发送周期性检测指令,接收返回的检测响应消息,根据所述检测响应消息确定不可用路径,更新所述多路径信息中不可用路径对应的路径状态。The initiator is further configured to send a periodic detection instruction to the controller having a session connection with itself, receive a returned detection response message, determine an unavailable path according to the detection response message, and update the unavailable path in the multipath information. The path state corresponding to the path.
所述多路径管理模块,具体用于向所述启动器发送用于发起路径增加操作的控制指令;The multipath management module is specifically configured to send a control instruction for initiating a path addition operation to the initiator;
所述启动器,具体用于根据所述控制指令,向任意可用路径的目标节点发送路径增加指令,所述路径增加指令携带所述启动器的标识。The initiator is specifically configured to send a path addition instruction to a target node of any available path according to the control instruction, where the path addition instruction carries an identifier of the initiator.
所述启动器,还用于接收所述多路径管理模块发送的控制器状态请求消息,通过任意可用路径,向所述任意可用路径的目标节点发送状态查询指令,所述状态查询指令携带与所述启动器存在会话连接的控制器的标识;The initiator is further configured to receive the controller status request message sent by the multipath management module, and send a status query instruction to the target node of the any available path through any available path, and the status query instruction carries the the identity of the controller to which the said initiator has a session connection;
所述启动器,还用于接收所述调度器通过所述任意可用路径返回的与所述服务器的启动器存在会话连接的控制器的状态信息,删除记录的所述多路径信 息中不可用控制器对应的路径,其中,所述标识路径的信息包括控制器标识。The initiator is further configured to receive the status information of the controller that has a session connection with the initiator of the server returned by the scheduler through any available path, and delete the recorded multipath information The path corresponding to the unavailable controller in the information, wherein the information identifying the path includes a controller identifier.
所述多路径管理模块,具体用于通过专用交换机向所述存储设备的调度器发送路径增加请求,所述路径增加请求携带所述启动器的标识;The multipath management module is specifically configured to send a path addition request to the scheduler of the storage device through a dedicated switch, where the path addition request carries the identifier of the initiator;
所述多路径管理模块,还用于接收所述调度器返回的目标控制器的标识,通知所述启动器建立与所述目标控制器之间的新路径。The multipath management module is further configured to receive the identifier of the target controller returned by the scheduler, and notify the initiator to establish a new path with the target controller.
所述多路径管理模块,还用于通过专用交换机向所述存储设备的调度器发送状态查询消息,所述状态查询消息携带与所述启动器存在会话连接的控制器的标识;The multipath management module is further configured to send a status query message to the scheduler of the storage device through a dedicated switch, where the status query message carries an identifier of a controller that has a session connection with the initiator;
所述多路径管理模块,还用于接收所述调度器返回的与所述启动器存在会话连接的控制器的状态信息,删除记录的所述多路径信息中不可用控制器对应的路径,其中,所述标识路径的信息包括控制器标识。The multi-path management module is further configured to receive the status information of the controller that has a session connection with the initiator returned by the scheduler, and delete the path corresponding to the unavailable controller in the recorded multi-path information, wherein , the information identifying the path includes a controller identifier.
本发明实施例还提供了一种存储设备,所述存储设备包括多个控制器和调度器,The embodiment of the present invention also provides a storage device, the storage device includes multiple controllers and schedulers,
所述多个控制器中的至少一个控制器,用于与服务器之间建立会话连接,所述会话连接对应的路径的起始节点为服务器的启动器,所述会话连接对应的路径的目标节点为所述存储设备中的控制器,所述存储设备中存储已经建立的会话连接的起始节点与目标节点之间的对应关系;At least one of the plurality of controllers is configured to establish a session connection with the server, the starting node of the path corresponding to the session connection is the initiator of the server, and the target node of the path corresponding to the session connection It is the controller in the storage device, and the storage device stores the corresponding relationship between the starting node and the target node of the established session connection;
所述调度器,用于接收由所述服务器触发的路径增加请求,所述路径增加请求中携带所述服务器的启动器的标识,根据所述启动器的标识和存储的所述已经建立的会话连接的起始节点与目标节点之间的对应关系,从所述多个控制器中确定新路径的目标控制器,将确定的所述目标控制器的标识发送给所述服务器,其中,所述目标控制器与所述启动器之间未建立会话连接;The scheduler is configured to receive a path addition request triggered by the server, where the path addition request carries an identifier of an initiator of the server, and according to the identifier of the initiator and the stored established session The corresponding relationship between the starting node and the target node of the connection, determining the target controller of the new path from the plurality of controllers, and sending the determined identifier of the target controller to the server, wherein the No session connection is established between the target controller and the initiator;
所述目标控制器,用于建立与所述服务器的启动器之间的新路径。The target controller is configured to establish a new path with the initiator of the server.
当确定的所述新路径的目标控制器为多个时,When the determined target controllers of the new path are multiple,
所述调度器,还用于从多个目标控制器中确定符合如下条件的至少一个目标控制器:The scheduler is also used to determine at least one target controller that meets the following conditions from multiple target controllers:
控制器连接的启动器数量最少。 The controller has the fewest number of initiators connected.
所述调度器,还用于接收由所述服务器触发的状态查询消息,所述状态查询消息中携带有与所述服务器的启动器存在会话连接的控制器的标识;The scheduler is further configured to receive a status query message triggered by the server, where the status query message carries an identifier of a controller that has a session connection with the initiator of the server;
所述调度器,还用于根据所述与所述服务器的启动器存在会话连接的控制器的标识获取与所述服务器的启动器存在会话连接的控制器的状态信息,将获取到的状态信息返回给所述服务器。The scheduler is further configured to obtain the state information of the controller having a session connection with the initiator of the server according to the identifier of the controller having a session connection with the initiator of the server, and the acquired state information returned to the server.
所述调度器,具体用于接收所述服务器通过任意可用路径的目标节点发送的所述状态查询消息,将与所述服务器的启动器存在会话连接的控制器的状态信息通过所述任意可用路径的目标节点返回给所述服务器;或,The scheduler is specifically configured to receive the status query message sent by the server through the target node of any available path, and pass the status information of the controller having a session connection with the initiator of the server through the arbitrary available path The target node of is returned to the server; or,
所述调度器,具体用于接收所述服务器的多路径管理模块通过专用交换机发送的所述状态查询消息,将与所述服务器的启动器存在会话连接的控制器的状态信息通过所述专用交换机返回给所述服务器。The scheduler is specifically configured to receive the status query message sent by the multi-path management module of the server through the dedicated switch, and pass the status information of the controller having a session connection with the initiator of the server through the dedicated switch returned to the server.
本发明实施例提供了一种路径管理的系统、装置和方法,路径管理的系统包括服务器和存储设备,服务器的启动器与存储设备的多个控制器间存在至少一个会话连接,所述服务器在确定需要增加所述服务器与所述存储设备之间的路径时,触发路径增加操作,存储设备的调度器根据所述启动器的标识和存储的所述已经建立的会话连接的起始节点与目标节点之间的对应关系,从所述多个控制器中确定新路径的目标控制器,从而使得服务器与所述存储设备间建立新路径。通过上述方式,服务器可以自动请求目标控制器,并增加到存储设备目标控制器的路径到已有路径中,实现了路径的动态管理功能,避免了由于路径故障导致可用路径数量减少带来的网络传输质量下降等问题。Embodiments of the present invention provide a path management system, device, and method. The path management system includes a server and a storage device. There is at least one session connection between the initiator of the server and multiple controllers of the storage device. When it is determined that the path between the server and the storage device needs to be increased, a path addition operation is triggered, and the scheduler of the storage device connects the starting node and the target according to the identification of the initiator and the stored session connection that has been established. According to the corresponding relationship between the nodes, the target controller of the new path is determined from the plurality of controllers, so that the new path is established between the server and the storage device. Through the above method, the server can automatically request the target controller, and add the path to the target controller of the storage device to the existing path, realize the dynamic management function of the path, and avoid the network failure caused by the reduction of the number of available paths due to path failure. Transmission quality degradation and other issues.
进一步地,如图14所示,本发明实施例提供了一种服务器或存储设备的硬件构成示意图。在具体产品实现中,所述服务器或存储设备包括至少一个处理器(例如CPU),至少一个网络接口或者其他通信接口,存储器,和至少一个通信总线,用于实现这些上述实施例中各部件之间的连接通信。处理器用于执行存储器中存储的可执行模块,实现上述各实施例中多路径管理模块、启动器、控制器,以及调度器等部件的功能。存储器可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个网络接口(可以是有线或者无线)实现该系统网关与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。Further, as shown in FIG. 14 , an embodiment of the present invention provides a schematic diagram of a hardware configuration of a server or a storage device. In a specific product implementation, the server or storage device includes at least one processor (such as CPU), at least one network interface or other communication interface, memory, and at least one communication bus, which are used to implement the components of the above-mentioned embodiments. communication between connections. The processor is used to execute the executable module stored in the memory, and realize the functions of the multipath management module, the initiator, the controller, and the scheduler in the above-mentioned embodiments. The memory may include high-speed random access memory (RAM: Random Access Memory), and may also include non-volatile memory (non-volatile memory), such as at least one disk storage. The communication connection between the system gateway and at least one other network element is realized through at least one network interface (which may be wired or wireless), and the Internet, wide area network, local network, metropolitan area network, etc. can be used.
在一些实施方式中,计算机可读介质中存储了程序指令,包括计算机执行指令,以供计算机的处理器执行所述计算机执行指令时,所述计算机执行如上述各实施例中任一所述的路径管理的方法。其中,程序指令可包括本发明上述实施例中指出的各个部件,各部件具体的实现方式可参见本发明上述实施例中的相应内容,这里不再赘述。In some implementations, program instructions are stored in the computer-readable medium, including computer-executable instructions, so that when the processor of the computer executes the computer-executable instructions, the computer executes the method described in any one of the above-mentioned embodiments. Method of path management. Wherein, the program instructions may include the components mentioned in the above-mentioned embodiments of the present invention, and the specific implementation manner of each component may refer to the corresponding content in the above-mentioned embodiments of the present invention, which will not be repeated here.
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,资源管理服务器,或者诸如媒体网关等网络通信设备,等等)执行本发明各个实施例或者实施例的某些部分所述的方法。From the above description of the implementation manners, it can be seen that those skilled in the art can clearly understand that all or part of the steps in the methods of the above embodiments can be implemented by means of software plus a necessary general hardware platform. Based on this understanding, the essence of the technical solution of the present invention or the part that contributes to the prior art can be embodied in the form of software products, and the computer software products can be stored in storage media, such as ROM/RAM, disk , optical disc, etc., including several instructions to make a computer device (which may be a personal computer, a resource management server, or a network communication device such as a media gateway, etc.) execute various embodiments of the present invention or some parts of the embodiments described method.
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。It should be noted that each embodiment in this specification is described in a progressive manner, the same and similar parts of each embodiment can be referred to each other, and each embodiment focuses on the differences from other embodiments. place. In particular, for the device and system embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and for relevant parts, please refer to part of the description of the method embodiments. The device and system embodiments described above are only illustrative, and the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in One place, or it can be distributed to multiple network elements. Part or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. It can be understood and implemented by those skilled in the art without creative effort.
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。 The above descriptions are only preferred embodiments of the present invention, and are not intended to limit the protection scope of the present invention. Any modification, equivalent replacement, improvement, etc. made within the spirit and principles of the present invention are included in the protection scope of the present invention.
Claims (38)
- A kind of system of path management, it is characterized in that, including server and storage device, the storage device includes scheduler and multiple controllers, at least one session connection is set up between the server and the storage device, the start node in each corresponding path of session connection is the starter of the server, the destination node in the corresponding path of each session connection is the controller in the storage device, the corresponding relation between the start node and destination node for the session connection having built up is stored in the storage deviceThe server, for when it is determined that needing to increase the path between the server and the storage device, the increase of triggering path to be operated;The scheduler, request is increased by the path of the server triggers for receiving, the mark of the starter of the server is carried in the path increase request, corresponding relation between the start node and destination node of the session connection being had built up according to the mark of the starter and storage, the target controller of new route is determined from the multiple controller, the mark of the target controller of determination is sent to the server, wherein, session connection is not set up between the target controller and the starter;The server, is additionally operable to the path set up according to the mark of the target controller between the target controller.
- The system as claimed in claim 1, it is characterised in that server side is stored with multipath information, the multipath information includes the information and path status for identification path.
- System as claimed in claim 1 or 2, it is characterised in that when the target controller of the new route of the determination is multiple,The scheduler, is additionally operable to be determined for compliance with least one target controller of following condition from the multiple target controller:The starter minimum number of controller connection.
- System as claimed in claim 2, it is characterised in thatThe server, is additionally operable to, according to the multipath information, determine currently available number of passes, when the available path bar number is less than predetermined threshold value, it is determined that need to increase the path between the server and the storage device.
- System as described in claim 2-4 is any, it is characterised in thatThe server, it is additionally operable to by any available path, status inquiry instruction is sent to the destination node of any available path, to cause the destination node of any available path to the scheduler dispatches STATUS ENQUIRY message, there is the mark of the controller of session connection in the starter carried in the STATUS ENQUIRY message with the server;The scheduler, it is additionally operable to receive the STATUS ENQUIRY message, there is the status information of the controller of session connection in the starter obtained with the server, the status information that there is the controller of session connection described in acquisition with the starter of the server is returned into the server by the destination node of any available path;The server, it is additionally operable to the status information of controller that session connection is had according to the described and server starter received, the corresponding path of unavailable controller in the multipath information of deletion record, wherein, the information of the identification path includes controller identifier.
- System as described in claim 2-5 is any, it is characterised in thatThe server, it is additionally operable to be periodically detected instruction to itself there is the transmission of the controller of session connection, the detection response message returned is received, unavailable path is determined according to the detection response message, the corresponding path status in unavailable path in the multipath information is updated.
- System as described in claim 1-6 is any, it is characterised in thatThe server, is instructed specifically for increasing to the destination node transmitting path of any available path, is asked with triggering path increase described in the destination node to the scheduler dispatches of any available path.
- System as described in claim 1-6 is any, it is characterised in thatThe server, is asked specifically for triggering the path increase, and is asked by path increase described in private branch exchange system to the scheduler dispatches, receives the mark for the target controller that the scheduler is returned by the private branch exchange system.
- System as described in claim 2-6 is any, it is characterised in thatThe server, is additionally operable to by private branch exchange system to the scheduler dispatches status query request, and the starter carried in the status query request with the server has the mark of the controller of session connection Know;The scheduler, it is additionally operable to receive the STATUS ENQUIRY message, obtain the status information that the starter with the server has the controller of session connection, the status information of the controller that there is session connection with server starter is returned into the server by the private branch exchange system, the corresponding path of unavailable controller in the multipath information to cause the server deletion record, wherein, the information of the identification path includes controller identifier.
- System as claimed in claim 2, it is characterised in that the multipath information is stored in the configuration file of server side.
- A kind of server, it is characterised in that including multi-route management module and starter,Starter, for at least one session connection between foundation and storage device, the start node in each corresponding path of session connection is the starter of the server, and the destination node in the corresponding path of each session connection is the controller in the storage device;Multi-route management module, for when it is determined that needing to increase the path between the server and the storage device, trigger path increase operation, to cause the scheduler of the storage device that according to the corresponding relation between the mark of the starter and the start node and destination node of the session connection having built up of storage, the target controller of new route is determined from multiple controllers of the storage device;The starter, is additionally operable to the path built on according to the mark of the target controller of storage device transmission between the target controller.
- Server as claimed in claim 11, it is characterised in that server side is stored with multipath information, the multipath information includes the information and path status for identification path.
- Server as claimed in claim 12, it is characterised in thatThe multi-route management module, is additionally operable to, according to the multipath information, determine currently available number of passes, when the available path bar number is less than predetermined threshold value, it is determined that need to increase the path between the server and the storage device.
- Server as described in claim 12-13 is any, it is characterised in thatThe starter, it is additionally operable to be periodically detected instruction to itself there is the transmission of the controller of session connection, the detection response message returned is received, unavailable path is determined according to the detection response message, the corresponding path status in unavailable path in the multipath information is updated.
- Server as described in claim 12-14 is any, it is characterised in thatThe multi-route management module, specifically for sending the control instruction for initiating path increase operation to the starter;The starter, specifically for according to the control instruction, increasing to the destination node transmitting path of any available path and instructing, the path increase instruction carries the mark of the starter.
- Server as described in claim 12-15, it is characterised in thatThe starter, it is additionally operable to receive the controller state request message that the multi-route management module is sent, pass through any available path, status inquiry instruction is sent to the destination node of any available path, the status inquiry instruction carries the mark for the controller that there is session connection with the starter;The starter, it is additionally operable to receive the status information of the scheduler returned by any available path controller that there is session connection with server starter, the corresponding path of unavailable controller in the multipath information of deletion record, wherein, the information of the identification path includes controller identifier.
- Server as described in claim 11-14 is any, it is characterised in thatThe multi-route management module, is asked specifically for being increased by private branch exchange system to the scheduler dispatches path of the storage device, and the path increase request carries the mark of the starter;The multi-route management module, is additionally operable to receive the mark for the target controller that the scheduler is returned, the new route for notifying the starter to set up between the target controller.
- Server as described in claim 11-14, it is characterised in thatThe multi-route management module, is additionally operable to the scheduler dispatches STATUS ENQUIRY message to the storage device by private branch exchange system, and the STATUS ENQUIRY message carries the mark for the controller that there is session connection with the starter;The multi-route management module, is additionally operable to receive unavailable controller correspondence in the status information for the controller that there is session connection with the starter that the scheduler is returned, the multipath information of deletion record Path, wherein, the information of the identification path includes controller identifier.
- Server as claimed in claim 12, it is characterised in that the multipath information is stored in the configuration file of server side.
- A kind of storage device, it is characterised in that the storage device includes multiple controllers and scheduler,At least one controller in the multiple controller, for setting up session connection between server, the start node in the corresponding path of the session connection is the starter of server, the destination node in the corresponding path of the session connection is the corresponding relation between the start node and destination node that the session connection having built up is stored in the controller in the storage device, the storage device;The scheduler, request is increased by the path of the server triggers for receiving, the mark of the starter of the server is carried in the path increase request, corresponding relation between the start node and destination node of the session connection being had built up according to the mark of the starter and storage, the target controller of new route is determined from the multiple controller, the mark of the target controller of determination is sent to the server, wherein, session connection is not set up between the target controller and the starter;The target controller, for setting up the new route between the starter of the server.
- Storage device as claimed in claim 20, it is characterised in that when it is determined that the new route target controller for it is multiple when,The scheduler, is additionally operable to be determined for compliance with least one target controller of following condition from multiple target controllers:The starter minimum number of controller connection.
- Storage device as described in claim 20 or 21, it is characterised in thatThe scheduler, is additionally operable to receive the STATUS ENQUIRY message by the server triggers, and the starter carried in the STATUS ENQUIRY message with the server has the mark of the controller of session connection;The scheduler, the mark for the controller for being additionally operable to there is session connection according to the starter with the server obtains the status information for the controller that there is session connection with the starter of the server, and the status information got is returned into the server.
- Storage device as claimed in claim 22, its feature is being,The scheduler, specifically for receiving the STATUS ENQUIRY message that the server is sent by the destination node of any available path, the status information that the starter with the server is existed to the controller of session connection returns to the server by the destination node of any available path;Or,The scheduler, specifically for receiving the STATUS ENQUIRY message that the multi-route management module of the server is sent by private branch exchange system, the status information that the starter with the server is existed to the controller of session connection returns to the server by the private branch exchange system.
- A kind of method of path management, it is characterised in that applied to path management system, the path management system includes server and storage device, and the storage device includes scheduler and multiple controllers,At least one session connection that the server is set up between the storage device, the start node in each corresponding path of session connection is the starter of the server, the destination node in the corresponding path of each session connection is the corresponding relation between the start node and destination node that the session connection having built up is stored in the controller in the storage device, the storage device;When it is determined that needing to increase the path between the server and the storage device, the server triggers path increase operation;The scheduler is received to be increased by the path of the server triggers and asked, the mark of the starter of the server is carried in the path increase request, corresponding relation between the start node and destination node of the session connection being had built up according to the mark of the starter and storage, the target controller of new route is determined from the multiple controller, the mark of the target controller of determination is sent to the server, wherein, session connection is not set up between the target controller and the starter;The path that the server is set up between the target controller according to the mark of the target controller.
- Method as claimed in claim 24, it is characterised in that server side is stored with multipath information, the multipath information includes the information and path status for identification path.
- Method as described in claim 24 or 25, it is characterised in that when the new route of the determination Target controller for it is multiple when, methods described also includes:The scheduler is determined for compliance with least one target controller of following condition from the multiple target controller:The starter minimum number of controller connection.
- Method as described in claim 25 or 26, it is characterised in that methods described also includes:The server determines currently available number of passes according to the multipath information, when the available path bar number is less than predetermined threshold value, it is determined that need to increase the path between the server and the storage device.
- Method as described in claim 25-27 is any, it is characterised in that methods described also includes:The server passes through any available path, status inquiry instruction is sent to the destination node of any available path, to cause the destination node of the available path to the scheduler dispatches STATUS ENQUIRY message, there is the mark of the controller of session connection in the starter carried in the STATUS ENQUIRY message with the server;The scheduler receives the STATUS ENQUIRY message, the status information that the starter with the server has the controller of session connection is obtained, the status information that there is the controller of session connection described in acquisition with the starter of the server is returned into the server by the destination node of any available path;There is the status information of the controller of session connection according to the described and server starter received in the server, the corresponding path of unavailable controller in the multipath information of deletion record, wherein, the information of the identification path includes controller identifier.
- Method as described in claim 25-28 is any, it is characterised in that methods described also includes:The server is periodically detected instruction to sending with itself there is the controller of session connection, receives the detection response message returned, and the corresponding path status in unavailable path in unavailable path, the renewal multipath information is determined according to the detection response message.
- Method as described in claim 24-29, it is characterised in that the triggering path increase operation includes:The server increases to the destination node transmitting path of any available path to be instructed, and is asked with triggering path increase described in the destination node to the scheduler dispatches of any available path.
- Method as described in claim 24-27, it is characterised in that the triggering path increase operation includes:The server is asked by path increase described in private branch exchange system to the scheduler dispatches.
- Method as described in claim 24-27, it is characterised in that methods described also includes:The server is by private branch exchange system to the scheduler dispatches status query request, and the starter carried in the status query request with the server has the mark of the controller of session connection;The scheduler receives the STATUS ENQUIRY message, obtain the status information that the starter with the server has the controller of session connection, the status information of the controller that there is session connection with server starter is returned into the server by the private branch exchange system, the corresponding path of unavailable controller in the multipath information to cause the server deletion record, wherein, the information of the identification path includes controller identifier.
- A kind of method of path management, it is characterised in that applied to path management system, the path management system includes server and storage device, and the storage device includes multiple controllers and scheduler, and methods described includes:Session connection is set up between at least one controller and the server in the multiple controller, the start node in the corresponding path of the session connection is the starter of server, the destination node in the corresponding path of the session connection is the corresponding relation between the start node and destination node that the session connection having built up is stored in the controller in the storage device, the storage device;The scheduler is received to be increased by the path of the server triggers and asked, the mark of the starter of the server is carried in the path increase request, corresponding relation between the start node and destination node of the session connection being had built up according to the mark of the starter and storage, the target controller of new route is determined from the multiple controller, the mark of the target controller of determination is sent to the server, wherein, session connection is not set up between the target controller and the starter;The new route that the target controller is set up between the starter of the server.
- Method as claimed in claim 33, it is characterised in that when the target controller of the new route of the determination is multiple, methods described also includes:The scheduler is determined for compliance with least one target controller of following condition from multiple target controllers:The starter minimum number of controller connection.
- Method as claimed in claim 33, it is characterised in that methods described also includes:At least one controller in the multiple controller receives the status inquiry instruction that the server is sent, to the scheduler dispatches STATUS ENQUIRY message, there is the mark of the controller of session connection in the starter carried in the STATUS ENQUIRY message with the server;The scheduler receives the STATUS ENQUIRY message, obtain the status information that the starter with the server has the controller of session connection, the status information that there is the controller of session connection described in acquisition with the starter of the server is returned into the server by the destination node of any available path, the corresponding path of unavailable controller in the multipath information to cause the server deletion record.
- A kind of method of path management, it is characterized in that, applied to path management system, the path management system includes server and storage device, the server includes multi-route management module and starter, the storage device includes scheduler and multiple controllers, wherein, there is at least one session connection between the starter of the server and multiple controllers of the storage device, the start node in each corresponding path of session connection is the starter of the server, the destination node in the corresponding path of each session connection is the controller in the storage device, the corresponding relation between the start node and destination node for the session connection having built up is stored in the storage device,The starter receives the control instruction that the multi-route management module is sent when it is determined that needing and increasing the path between the server and the storage device, and the control instruction is used to notify the starter execution route increase operation;The starter is increased by any available path to the destination node transmitting path of any available path to be instructed, and the path increase instruction carries the mark of the starter, and the path increase instruction is used to lead to Know that the destination node of any available path increases to the scheduler dispatches path to ask, the corresponding relation between start node and destination node to cause session connection that the scheduler has built up according to the mark of the starter and storage, the target controller of new route is determined from the multiple controller, wherein, session connection is not set up between the target controller and the starter;;The path that the server is set up between the target controller according to the mark of the target controller.
- A kind of device of path management, it is characterised in that described device includes processor, memory, bus and communication interface;The memory is used to store computer executed instructions, the processor is connected with the memory by the bus, when the plant running of the path management, the computer executed instructions of memory storage described in the computing device, so that the method that the device of the path management performs the path management as described in any in claim 24-36.
- A kind of computer-readable medium, it is characterised in that including computer executed instructions, for described in the computing device of computer during computer executed instructions, the method that the computer performs the path management as described in any in claim 24-36.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2014/092039 WO2016082078A1 (en) | 2014-11-24 | 2014-11-24 | Path management system, device and method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN105900068A true CN105900068A (en) | 2016-08-24 |
| CN105900068B CN105900068B (en) | 2019-01-15 |
Family
ID=56073289
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201480040589.6A Active CN105900068B (en) | 2014-11-24 | 2014-11-24 | The systems, devices and methods of path management |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN105900068B (en) |
| WO (1) | WO2016082078A1 (en) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112153149A (en) * | 2020-09-27 | 2020-12-29 | 苏州浪潮智能科技有限公司 | A server connection method, system, electronic device and storage medium |
| CN112748882A (en) * | 2021-01-15 | 2021-05-04 | 苏州浪潮智能科技有限公司 | Communication method, device, equipment and readable medium of host and storage equipment |
| CN114064288A (en) * | 2021-11-24 | 2022-02-18 | 北京志凌海纳科技有限公司 | Data link allocation method, device and equipment for distributed storage system |
| CN114500575A (en) * | 2021-12-27 | 2022-05-13 | 天翼云科技有限公司 | Path loss management method, device and storage medium in multipath object map |
| CN114978660A (en) * | 2022-05-17 | 2022-08-30 | 阿里巴巴(中国)有限公司 | Out-of-band network construction method and out-of-band processing method based on out-of-band network |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110996139B (en) * | 2019-12-19 | 2022-04-29 | 浙江大华技术股份有限公司 | Video path switching processing method and device |
| CN112153128B (en) * | 2020-09-11 | 2022-11-15 | 北京浪潮数据技术有限公司 | Communication method, device, equipment and readable storage medium |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6968401B2 (en) * | 2003-06-26 | 2005-11-22 | International Business Machines Corporation | Method, system, and program for maintaining and swapping paths in an MPIO environment |
| CN101102256A (en) * | 2006-07-04 | 2008-01-09 | 国际商业机器公司 | Memory area network system and method for determining datapath in memory area network system |
| CN102495815A (en) * | 2011-11-15 | 2012-06-13 | 成都市华为赛门铁克科技有限公司 | Processing method for I/O (input/output) data access interrupt, system and equipment |
| US20120254657A1 (en) * | 2011-03-30 | 2012-10-04 | Nec Corporation | Disk array device, connection path control method and connection path control program |
| CN103023697A (en) * | 2012-11-29 | 2013-04-03 | 华为技术有限公司 | Array multipath management method, array multipath management device and array multipath management system |
| CN103078944A (en) * | 2013-01-08 | 2013-05-01 | 赛凡信息科技(厦门)有限公司 | Distributed symmetrical file system-based data center architecture |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104092758B (en) * | 2014-07-14 | 2018-01-12 | 南京斯坦德云科技股份有限公司 | A kind of read method of distributed type high speed cloud storage service device group system |
| CN104123359B (en) * | 2014-07-17 | 2017-03-22 | 江苏省邮电规划设计院有限责任公司 | Resource management method of distributed object storage system |
-
2014
- 2014-11-24 CN CN201480040589.6A patent/CN105900068B/en active Active
- 2014-11-24 WO PCT/CN2014/092039 patent/WO2016082078A1/en not_active Ceased
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6968401B2 (en) * | 2003-06-26 | 2005-11-22 | International Business Machines Corporation | Method, system, and program for maintaining and swapping paths in an MPIO environment |
| CN101102256A (en) * | 2006-07-04 | 2008-01-09 | 国际商业机器公司 | Memory area network system and method for determining datapath in memory area network system |
| US20120254657A1 (en) * | 2011-03-30 | 2012-10-04 | Nec Corporation | Disk array device, connection path control method and connection path control program |
| CN102495815A (en) * | 2011-11-15 | 2012-06-13 | 成都市华为赛门铁克科技有限公司 | Processing method for I/O (input/output) data access interrupt, system and equipment |
| CN103023697A (en) * | 2012-11-29 | 2013-04-03 | 华为技术有限公司 | Array multipath management method, array multipath management device and array multipath management system |
| CN103078944A (en) * | 2013-01-08 | 2013-05-01 | 赛凡信息科技(厦门)有限公司 | Distributed symmetrical file system-based data center architecture |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112153149A (en) * | 2020-09-27 | 2020-12-29 | 苏州浪潮智能科技有限公司 | A server connection method, system, electronic device and storage medium |
| CN112153149B (en) * | 2020-09-27 | 2022-11-11 | 苏州浪潮智能科技有限公司 | Server connection method, system, electronic equipment and storage medium |
| CN112748882A (en) * | 2021-01-15 | 2021-05-04 | 苏州浪潮智能科技有限公司 | Communication method, device, equipment and readable medium of host and storage equipment |
| CN112748882B (en) * | 2021-01-15 | 2023-01-10 | 苏州浪潮智能科技有限公司 | Communication method, device, device and readable medium for host and storage device |
| CN114064288A (en) * | 2021-11-24 | 2022-02-18 | 北京志凌海纳科技有限公司 | Data link allocation method, device and equipment for distributed storage system |
| CN114064288B (en) * | 2021-11-24 | 2022-08-26 | 北京志凌海纳科技有限公司 | Data link allocation method, device and equipment for distributed storage system |
| CN114500575A (en) * | 2021-12-27 | 2022-05-13 | 天翼云科技有限公司 | Path loss management method, device and storage medium in multipath object map |
| CN114500575B (en) * | 2021-12-27 | 2024-07-30 | 天翼云科技有限公司 | Method, device and storage medium for managing path loss in multi-path object map |
| CN114978660A (en) * | 2022-05-17 | 2022-08-30 | 阿里巴巴(中国)有限公司 | Out-of-band network construction method and out-of-band processing method based on out-of-band network |
| CN114978660B (en) * | 2022-05-17 | 2024-04-19 | 阿里巴巴(中国)有限公司 | Out-of-band network construction method and out-of-band processing method based on out-of-band network |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2016082078A1 (en) | 2016-06-02 |
| CN105900068B (en) | 2019-01-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN105900068A (en) | Path management system, device and method | |
| JP5767400B2 (en) | Virtual network migration method, related apparatus, and system | |
| US9787764B2 (en) | Server health monitoring for traffic load balancer | |
| JP5039951B2 (en) | Optimizing storage device port selection | |
| US7418627B2 (en) | Cluster system wherein failover reset signals are sent from nodes according to their priority | |
| US7849178B2 (en) | Grid computing implementation | |
| US7619965B2 (en) | Storage network management server, storage network managing method, storage network managing program, and storage network management system | |
| US10846185B2 (en) | Method for processing acquire lock request and server | |
| WO2011151222A1 (en) | Path error correction in storage area networks | |
| US9244789B2 (en) | Apparatus and method for specifying a failure part in a communication network | |
| WO2015074396A1 (en) | Automatic configuration method, device and system of software defined network | |
| CN111723024B (en) | Data processing method, device and system, client server and storage server | |
| US9838475B2 (en) | Connectivity analysis and a mass storage system capable of connectivity analysis | |
| JP2008228150A (en) | Switch device, and frame switching method and program thereof | |
| US9300530B2 (en) | Management device, management method, and medium | |
| KR20190066544A (en) | Systems and methods for supporting inter-chassis manageability of nvme over fabrics based systems | |
| US10452292B2 (en) | Computer system | |
| JP4309321B2 (en) | Network system operation management method and storage apparatus | |
| CN104935614B (en) | Data transmission method and device | |
| JP6115396B2 (en) | Information processing system, information processing apparatus, information processing apparatus control program, and information processing system control method | |
| KR101883671B1 (en) | Method and management server for dtitributing node | |
| US9015371B1 (en) | Method to discover multiple paths to disk devices cluster wide | |
| CN114143853B (en) | Communication link selection method, device and storage medium | |
| CN112492030A (en) | Data storage method and device, computer equipment and storage medium | |
| EP2946300B1 (en) | Sata initiator addressing and storage device slicing |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| TR01 | Transfer of patent right |
Effective date of registration: 20220301 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters building, Longgang District, Shenzhen City, Guangdong Province, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
| TR01 | Transfer of patent right |