CN107852344B - 存储网元发现方法及装置 - Google Patents
存储网元发现方法及装置 Download PDFInfo
- Publication number
- CN107852344B CN107852344B CN201680003280.9A CN201680003280A CN107852344B CN 107852344 B CN107852344 B CN 107852344B CN 201680003280 A CN201680003280 A CN 201680003280A CN 107852344 B CN107852344 B CN 107852344B
- Authority
- CN
- China
- Prior art keywords
- network element
- storage
- storage network
- data
- response message
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Abstract
本发明实施例提供一种存储网元发现方法及装置,该方法包括:控制网元向至少1个存储网元广播或组播心跳消息,心跳消息中包含所述控制网元的地址信息;控制网元接收至少1个存储网元根据所述心跳消息返回的响应消息,并根据响应消息确定可访问存储网元,该响应消息包括对应存储网元的网络参数信息。本发明实施例中,实现了在存储阵列中,控制网元通过广播或组播心跳消息,可以根据存储网元的回复确定自己可访问的存储网元。
Description
技术领域
本发明涉及网络技术,尤其涉及一种存储网元发现方法及装置。
背景技术
传统的非易失性存储(Nonvolatile Memory express,简称NVMe)的使用方式中,NVMe存储设备是通过高速外围组件互联(Peripheral Component Interconnect express,简称PCIe)总线和控制网元紧耦合在一起的,系统上电时,挂在PCIe总线上的设备可被系统直接发现,初始化后即可被使用。
现有技术中,当网络上承载NVMe(NVMe over fabric,简称NOF)技术出现后,对NVMe的使用由系统内部扩展到网络上,导致控制网元初始化之后无法准确感知可以访问的NVMe存储设备。
发明内容
本发明实施例提供一种存储网元发现方法及装置,用于解决现有NOF技术中,控制网元初始化之后无法准确感知可以访问的NVMe存储设备的问题。
本发明实施例第一方面提供一种存储网元发现方法,所述方法应用于存储阵列,所述存储阵列包括至少一个控制网元和至少一个存储网元,每个所述存储网元包括至少一个存储介质,所述存储网元和所述存储介质之间通过非易失性存储NVMe接口连接,所述方法包括:
所述控制网元向至少1个存储网元广播或组播心跳消息,所述心跳消息中包含所述控制网元的地址信息;
所述控制网元接收至少1个存储网元根据所述心跳消息返回的响应消息,并根据所述响应消息确定所述至少1个存储网元为可访问存储网元,所述响应消息包括对应存储网元的网络参数信息;
所述网络参数信息包括:所述存储网元的网络地址信息、所述存储介质的地址信息,其中,所述存储介质的地址信息为所述存储网元通过与所述存储介质之间的NVMe接口获取的。其中该存储介质的地址信息可以是回复该响应消息的存储网元中至少一个存储介质的地址信息。
可选地,所述网络参数信息还可以包括:存储网元的类型信息、存储介质的命名空间(NameSpace)等。
可选地,所述控制网元向至少1个存储网元广播或组播心跳消息,包括:
所述控制网元周期性地向至少1个存储网元广播或组播心跳消息;相应地,
所述控制网元接收至少1个存储网元根据所述心跳消息返回的响应消息之后,还包括:
所述控制网元周期性地接收所述至少1个存储网元返回的响应消息。
进一步地,所述控制网元接收至少1个存储网元根据所述心跳消息返回的响应消息之后,还包括:
若控制网元在预设时间段内未收到第一可访问存储网元回复的响应消息,则所述控制网元确定所述第一可访问存储网元链路断开,其中,所述第一可访问存储网元为所述至少1个存储网元中的任一存储网元。
控制网元认为该第一可访问存储网元的链路断开,通常可能是断链或发生热插拔等。
可选地,若第一可访问存储网元回复的所述网络参数信息中包括:链路状态信息;相应地,
所述控制网元接收至少1个存储网元根据所述心跳消息返回的响应消息之后,还包括:
所述控制网元根据所述链路状态信息,确定所述第一可访问存储网元的链路状态;
其中,所述第一可访问存储网元为所述至少1个存储网元中的任一存储网元。
该链路状态信息中标识link状态发生了变化,控制网元就可以根据链路状态信息获知link状态发生了变化,一般控制网元会认为这种状况是存储网元中的一个或多个存储介质的链路断开。
在上述基础上,所述控制网元根据所述链路状态信息,确定所述第一可访问存储网元的链路状态,包括:
所述控制网元根据所述链路状态信息,确定所述第一可访问存储网元中存在存储介质的链路断开;相应地,
所述控制网元根据所述链路状态信息,确定所述第一可访问存储网元中存在存储介质的链路断开之后,还包括:
所述控制网元向所述第一可访问存储网元发送链路修复处理请求。
可选地,所述控制网元根据所述响应消息确定所述至少1个存储网元为可访问存储网元之后,还包括:
所述控制网元通过交换设备向所述可访问存储网元发送读数据请求,所述读数据请求包括:存储网元的地址信息、待读取数据的位置信息;
所述控制网元接收所述可访问存储网元根据所述读数据请求返回的待读取数据。
可选地,所述控制网元根据所述响应消息确定所述至少1个存储网元为可访问存储网元之后,还包括:
所述控制网元通过交换设备向所述可访问存储网元发送写数据请求,所述写数据请求包括:待写入数据、存储网元的地址信息、待写入数据的位置信息;
所述控制网元接收所述可访问存储网元根据所述写数据请求返回的写入成功响应。
本发明实施例第二方面提供一种存储网元发现方法,所述方法应用于存储阵列,所述存储阵列包括至少一个控制网元和至少一个存储网元,每个所述存储网元包括至少一个存储介质,所述存储网元和所述存储介质之间通过非易失性存储NVMe接口连接,所述方法包括:
所述存储网元接收所述控制网元广播或组播的心跳消息,所述心跳消息中包含所述控制网元的地址信息;
所述存储网元根据所述心跳消息向所述控制网元返回响应消息,以使所述控制网元确定所述存储网元为可访问存储网元,其中,所述响应消息包括所述存储网元的网络参数信息;
所述网络参数信息包括:所述存储网元的网络地址、以及所述存储网元通过NVMe接口获取的所述存储网元中所述存储介质的地址信息。
可选地,所述存储网元接收所述控制网元广播或组播的心跳消息,包括:
所述存储网元接收所述控制网元周期性广播或组播的心跳消息;
相应地,所述存储网元根据所述心跳消息向所述控制网元返回响应消息,包括:
所述存储网元周期性地根据所述心跳消息向所述控制网元返回响应消息。
所述存储网元根据所述心跳消息向所述控制网元返回响应消息,包括:
所述存储网元根据所述心跳消息向所述控制网元返回携带链路状态信息的响应消息,以使所述控制网元根据所述链路状态信息确定所述存储网元的链路状态。
进一步地,若所述链路状态信息标识所述存储网元中存在存储介质的链路断开,则所述存储网元根据所述心跳消息向所述控制网元返回响应消息之后,还包括:
所述存储网元接收所述控制网元发送的链路修复处理请求;
所述存储网元根据所述链路修复处理请求进行链路修复。
可选地,所述存储网元根据所述心跳消息向所述控制网元返回响应消息之后,还包括:
所述存储网元接收所述控制网元通过交换设备发送的读数据请求,所述读数据请求包括:存储网元的地址信息、待读取数据的位置信息;
所述存储网元根据所述读数据请求,获取所述待读取数据;
所述存储网元通过所述交换设备将所述待读取数据返回给所述控制网元。
可选地,所述存储网元根据所述心跳消息向所述控制网元返回响应消息之后,还包括:
所述存储网元接收所述控制网元通过交换设备发送的写数据请求,所述写数据请求包括:待写入数据、存储网元的地址信息、待写入数据的位置信息;
所述存储网元根据所述写数据请求写入所述待写入数据,并向所述控制网元返回写入成功响应。
本发明实施例第三方面提供一种控制网元,所述控制网元应用于存储阵列,所述存储阵列包括至少一个控制网元和至少一个存储网元,每个所述存储网元包括至少一个存储介质,所述存储网元和所述存储介质之间通过非易失性存储NVMe接口连接,其中,所述控制网元包括:
发送模块,用于向至少1个存储网元广播或组播心跳消息,所述心跳消息中包含所述控制网元的地址信息;
接收模块,用于接收至少1个存储网元根据所述心跳消息返回的响应消息;
发现模块,用于根据所述响应消息确定所述至少1个存储网元为可访问存储网元,所述响应消息包括对应存储网元的网络参数信息;
所述网络参数信息包括:所述存储网元的网络地址信息、所述存储介质的地址信息,其中,所述存储介质的地址信息为所述存储网元通过与所述存储介质之间的NVMe接口获取的。
可选地,所述发送模块,具体用于周期性地向至少1个存储网元广播或组播心跳消息;相应地,
所述接收模块,具体用于周期性地接收所述至少1个存储网元返回的响应消息。
进一步地,所述控制网元,还包括:
第一确定模块,用于在所述接收模块在预设时间段内未收到第一可访问存储网元回复的响应消息时,确定所述第一可访问存储网元链路断开,其中,所述第一可访问存储网元为所述至少1个存储网元中的任一存储网元。
可选地,若第一可访问存储网元回复的所述网络参数信息中包括:链路状态信息;相应地,
所述控制网元还包括:
第二确定模块,用于根据所述链路状态信息,确定所述第一可访问存储网元的链路状态;
其中,所述第一可访问存储网元为所述至少1个存储网元中的任一存储网元。
进一步地,所述第二确定模块,具体用于根据所述链路状态信息,确定所述第一可访问存储网元中存在存储介质的链路断开;相应地,
所述控制网元还包括:
修复模块,用于向所述第一可访问存储网元发送链路修复处理请求。
可选地,所述发送模块,还用于通过交换设备向所述可访问存储网元发送读数据请求,所述读数据请求包括:存储网元的地址信息、待读取数据的位置信息;
所述接收模块,还用于接收所述可访问存储网元根据所述读数据请求返回的待读取数据。
可选地,所述发送模块,还用于通过交换设备向所述可访问存储网元发送写数据请求,所述写数据请求包括:待写入数据、存储网元的地址信息、待写入数据的位置信息;
所述接收模块,还用于接收所述可访问存储网元根据所述写数据请求返回的写入成功响应。
本发明实施例第四方面提供一种存储网元,所述存储网元应用于存储阵列,所述存储阵列包括至少一个控制网元和至少一个存储网元,每个所述存储网元包括至少一个存储介质,所述存储网元和所述存储介质之间通过非易失性存储NVMe接口连接,所述存储网元包括:
接收模块,用于接收所述控制网元广播或组播的心跳消息,所述心跳消息中包含所述控制网元的地址信息;
发送模块,用于根据所述心跳消息向所述控制网元返回响应消息,以使所述控制网元确定所述存储网元为可访问存储网元,其中,所述响应消息包括所述存储网元的网络参数信息;
所述网络参数信息包括:所述存储网元的网络地址、以及所述存储网元通过NVMe接口获取的所述存储网元中所述存储介质的地址信息。
可选地,所述接收模块,具体用于接收所述控制网元周期性广播或组播的心跳消息;相应地,
所述发送模块,具体用于周期性地根据所述心跳消息向所述控制网元返回响应消息。
可选地,所述发送模块,具体用于根据所述心跳消息向所述控制网元返回携带链路状态信息的响应消息,以使所述控制网元根据所述链路状态信息确定所述存储网元的链路状态。
进一步地,所述存储网元还包括:修复处理模块;
所述接收模块,还用于接收所述控制网元发送的链路修复处理请求;
所述修复处理模块,用于根据所述链路修复处理请求进行链路修复。
可选地,所述存储网元,还包括:获取模块;
所述接收模块,还用于接收所述控制网元通过交换设备发送的读数据请求,所述读数据请求包括:存储网元的地址信息、待读取数据的位置信息;
所述获取模块,用于根据所述读数据请求,获取所述待读取数据;
所述发送模块,还用于通过所述交换设备将所述待读取数据返回给所述控制网元。
可选地,所述存储网元,还包括:写入模块;
所述接收模块,还用于接收所述控制网元通过交换设备发送的写数据请求,所述写数据请求包括:待写入数据、存储网元的地址信息、待写入数据的位置信息;
所述写入模块,用于根据所述写数据请求写入所述待写入数据;
所述发送模块,还用于向所述控制网元返回写入成功响应。
本发明实施例第五方面提供一种控制网元,所述控制网元应用于存储阵列,所述存储阵列包括至少一个控制网元和至少一个存储网元,每个所述存储网元包括至少一个存储介质,所述存储网元和所述存储介质之间通过非易失性存储NVMe接口连接,其中,所述控制网元包括:处理器、发送器、接收器、存储器,其中,处理器、发送器、接收器、存储器通过总线连接在一起,在实际运用中,存储器、发送器、接收器、处理器之间可以不是总线结构,而可以是其它结构,例如星型结构,本发明实施例不作具体限定。
其中,存储器用于存储指令,处理器用于调用存储器中的指令执行下述方法:
处理器通过所述发送器向至少1个存储网元广播或组播心跳消息,所述心跳消息中包含所述控制网元的地址信息;
处理器通过所述接收器接收至少1个存储网元根据所述心跳消息返回的响应消息,并根据所述响应消息确定所述至少1个存储网元为可访问存储网元,所述响应消息包括对应存储网元的网络参数信息;
所述网络参数信息包括:所述存储网元的网络地址信息、所述存储介质的地址信息,其中,所述存储介质的地址信息为所述存储网元通过与所述存储介质之间的NVMe接口获取的。
可选地,处理器具体用于,通过所述发送器周期性地向至少1个存储网元广播或组播心跳消息;通过所述接收器周期性地接收所述至少1个存储网元返回的响应消息。
可选地,若在预设时间段内未收到第一可访问存储网元回复的响应消息,则处理器确定所述第一可访问存储网元链路断开,其中,所述第一可访问存储网元为所述至少1个存储网元中的任一存储网元。
可选地,若第一可访问存储网元回复的所述网络参数信息中包括:链路状态信息;处理器通过所述接收器接收至少1个存储网元根据所述心跳消息返回的响应消息之后,根据所述链路状态信息,确定所述第一可访问存储网元的链路状态;
其中,所述第一可访问存储网元为所述至少1个存储网元中的任一存储网元。
进一步地,所述处理器,具体用于根据所述链路状态信息,确定所述第一可访问存储网元中存在存储介质的链路断开;相应地,
处理器确定所述第一可访问存储网元中存在存储介质的链路断开之后,通过所述发送器向所述第一可访问存储网元发送链路修复处理请求。
可选地,处理器根据所述响应消息确定所述至少1个存储网元为可访问存储网元之后,处理器通过所述发送器,由发送器通过交换设备向所述可访问存储网元发送读数据请求,所述读数据请求包括:存储网元的地址信息、待读取数据的位置信息;并通过所述接收器接收所述可访问存储网元根据所述读数据请求返回的待读取数据。
可选地,处理器根据所述响应消息确定所述至少1个存储网元为可访问存储网元之后,处理器通过发送器,由发送器通过交换设备向所述可访问存储网元发送写数据请求,所述写数据请求包括:待写入数据、存储网元的地址信息、待写入数据的位置信息;并由所述接收器接收所述可访问存储网元根据所述写数据请求返回的写入成功响应。
本发明实施例第六方面提供一种存储网元,所述存储网元应用于存储阵列,所述存储阵列包括至少一个控制网元和至少一个存储网元,每个所述存储网元包括至少一个存储介质,所述存储网元和所述存储介质之间通过非易失性存储NVMe接口连接,所述存储网元包括:处理器、发送器、接收器、存储器,其中,处理器、发送器、接收器、存储器通过总线连接在一起,在实际运用中,存储器、发送器、接收器、处理器之间可以不是总线结构,而可以是其它结构,例如星型结构,本发明实施例不作具体限定。
其中,存储器用于存储指令,处理器用于调用存储器中的指令执行下述方法:
处理器通过所述接收器接收所述控制网元广播或组播的心跳消息,所述心跳消息中包含所述控制网元的地址信息;通过所述发送器向所述控制网元返回响应消息,以使所述控制网元确定所述存储网元为可访问存储网元,其中,所述响应消息包括所述存储网元的网络参数信息;
所述网络参数信息包括:所述存储网元的网络地址、以及所述存储网元通过NVMe接口获取的所述存储网元中所述存储介质的地址信息。
可选地,处理器通过所述接收器接收所述控制网元周期性广播或组播的心跳消息。并通过所述发送器周期性地根据所述心跳消息向所述控制网元返回响应消息。
处理器通过所述发送器根据所述心跳消息向所述控制网元返回响应消息,具体为:处理器通过所述发送器根据所述心跳消息向所述控制网元返回携带链路状态信息的响应消息,以使所述控制网元根据所述链路状态信息确定所述存储网元的链路状态。
进一步地,若所述链路状态信息标识所述存储网元中存在存储介质的链路断开,则所述处理器通过所述接收器接收所述控制网元发送的链路修复处理请求;并根据所述链路修复处理请求进行链路修复。
可选地,所述处理器通过所述接收器接收所述控制网元通过交换设备发送的读数据请求,所述读数据请求包括:存储网元的地址信息、待读取数据的位置信息;进而处理器根据所述读数据请求,获取所述待读取数据;所述处理器通过所述发送器,由所述发送器通过交换设备将所述待读取数据返回给所述控制网元。
可选地,所述处理器通过所述接收器接收所述控制网元通过交换设备发送的写数据请求,所述写数据请求包括:待写入数据、存储网元的地址信息、待写入数据的位置信息;进而处理器根据所述写数据请求写入所述待写入数据,并由发送器通过交换设备向所述控制网元返回写入成功响应。
本发明实施例提供的存储网元发现方法及装置中,控制网元向至少1个存储网元广播或组播心跳消息,并接收至少1个存储网元根据上述心跳消息返回的响应消息,进而根据该响应消息确定上述至少1个存储网元为可访问存储网元,实现了在NOF的存储阵列中,控制网元通过广播或组播心跳消息,进而可以根据存储网元的回复确定自己可访问的存储网元,并通过可访问的存储网元返回的网络参数信息了解可访问的存储网元的相关信息。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的存储网元发现方法应用场景示意图;
图2为本发明提供的存储网元发现方法实施例一的流程示意图;
图3为本发明提供的存储网元发现方法实施例二的流程示意图;
图4为本发明提供的存储网元发现方法实施例三的流程示意图;
图5为本发明提供的存储网元发现方法实施例四的流程示意图;
图6为本发明提供的控制网元实施例一的结构示意图;
图7为本发明提供的控制网元实施例二的结构示意图;
图8为本发明提供的控制网元实施例三的结构示意图;
图9为本发明提供的控制网元实施例四的结构示意图;
图10为本发明提供的存储网元实施例一的结构示意图;
图11为本发明提供的存储网元实施例二的结构示意图;
图12为本发明提供的存储网元实施例三的结构示意图;
图13为本发明提供的存储网元实施例四的结构示意图;
图14为本发明提供的控制网元实施例五的结构示意图;
图15为本发明提供的存储网元实施例五的结构示意图。
具体实施方式
本发明实施例可以应用于存储阵列中,一般地,存储阵列中可以包括:至少1个存储网元和至少1个控制网元,其中,控制网元可以是存储控制器,可以有各种存储软件或应用程序在该控制网元上运行,例如可以运行NOF软件程序;每个存储网元可以包括至少1个存储介质,例如,可以支持串行小型计算机系统接口(Serial Attached Small ComputerSystem Interface,简称SAS)的存储介质、支持NVMe接口的存储介质,还可以支持硬盘驱动器(Hard Disk Drive,简称HDD)、固态硬盘(Solid State Drives,简称SSD)等存储介质,在此不作限制。
上述存储网元和控制网元之间可以通过光纤信道(Fibre Channel,简称FC)、无限带宽(InfiniBand)、以太网(Ethernet)、高速外围组件互联(Peripheral ComponentInterconnect express,简称PCIe)等高速网络连接,在此不作限制。
图1为本发明提供的存储网元发现方法应用场景示意图,图1所示为一个较为典型的存储阵列拓扑,其中包括:n个存储网元(记为stor)、以及n个控制网元(记为Host)。从可靠度考虑,图1的存储阵列中部署了两个互为冗余的交换平面(图1中直线连接和虚线连接的两个交换平面),即存储网元和控制网元之间分别通过交换机1(switch1)和交换机2(switch2)连接。
在上述存储阵列中,控制单元和存储单元处于平等的网络中,因而控制网元和存储单元之间没有明确的归属关系,本发明提出一种方法实现控制网元在上电后可以获知可访问的存储网元的相关信息,以便于后续控制网元对存储网元的控制和控制网元与存储网元交互。
图2为本发明提供的存储网元发现方法实施例一的流程示意图,如图2所示,该方法包括:
S201、控制网元向至少1个存储网元广播或组播心跳消息。
S201之前,控制网元和存储网元各自独立上电,完成初始化。
初始化完成后,控制网元再建立逻辑上的网络接口,例如Ethernet接口,进而获取自己的地址信息,具体可以是媒体介入控制层(Media Access Control,简称MAC)地址。
其中,该心跳消息中可以包括该控制网元的地址信息,例如MAC地址。但不以此为限,还可以包括报文类型等其他消息。例如上述心跳消息是通过心跳报文发送,那么可以携带心跳报文的类型信息,像“Ethernet”报文等,在此不作限制。
控制网元可以选择广播或组播的方式发送上述心跳消息,在此不作限制,如果是组播方式发送上述心跳消息,上述心跳消息中可以携带多个存储网元的地址信息等,即向对应的多个存储网元。
S202、存储网元若接收到上述广播或组播的心跳消息,则返回响应消息。
这里的存储网元可以是上述存储阵列中的任意存储网元。
S203、控制网元接收至少1个存储网元根据上述心跳消息返回的响应消息,并根据该响应消息确定上述至少1个存储网元为可访问存储网元。
上述响应消息中可以包括对应存储网元的网络参数信息,该网络参数信息可以包括:存储网元的网络地址信息、存储介质的地址信息,其中该存储介质的地址信息可以是回复该响应消息的存储网元中至少一个存储介质的地址信息,上述网络参数信息的具体内容在此不作限制,可以根据具体需求和场景灵活配置,例如如果扩展到其他类型网络,上述网络参数信息还可以包括存储网元的类型信息等;又或者还可以包括:存储介质的命名空间(NameSpace)等,NameSpace具体可以是存储介质中的一个分区。
其中,控制网元广播或组播心跳消息后,收到该心跳消息的存储网元就会进行回复,这些进行了回复的存储网元即为上述控制网元可以访问的存储网元,这样控制网元根据收到的响应消息,就可以确定自己可访问的存储网元的数量以及这些可访问存储网元的相关网络信息,进而获知存储阵列的拓扑等信息,后续控制网元就可以向这些可访问的存储网元进行数据读写等操作。
本实施例中,控制网元向至少1个存储网元广播或组播心跳消息,并接收至少1个存储网元根据上述心跳消息返回的响应消息,进而根据该响应消息确定上述至少1个存储网元为可访问存储网元,实现了在NOF的存储阵列中,控制网元通过广播或组播心跳消息,进而可以根据存储网元的回复确定自己可访问的存储网元,并通过可访问的存储网元返回的网络参数信息了解可访问的存储网元的相关信息。
图3为本发明提供的存储网元发现方法实施例二的流程示意图,图3中以上述至少1个存储网元中的一个为例,描述存储网元执行的方法,该存储网元可以是上述至少1个存储网元中任意一个,如图3所示,该方法包括:
S301、存储网元接收上述控制网元广播或组播的心跳消息。
该心跳消息中包含上述控制网元的地址信息,如上述实施例所述可以是MAC地址,在此不作限制。
S302、存储网元根据上述心跳消息向上述控制网元返回响应消息,以使控制网元确定该存储网元为可访问存储网元。
其中,响应消息可以包括该存储网元的网络参数信息。
具体地,存储网元在独自上电后,可以收集自己的网络参数信息,具体地收集可以是存储网元侧的软件或硬件完成,例如可以是由专用集成电路(Application SpecificIntegrated Circuits,简称ASIC)进行收集,在此不作限制。
其中,在NOF中,存储网元和存储网元中的存储介质通过NVMe接口连接,存储网元在收集网络参数信息的过程中,通过与存储介质之间的NVMe接口获取各存储介质的地址信息。
进而在收到控制网元广播或组播的心跳消息后,可以将网络参数信息携带在响应消息中回复给控制网元,以使控制网元了解可访问存储网元的相关网络参数信息。存储网元会一直维护这些网络参数信息。
本实施例中,通过存储网元根据控制网元广播或组播的心跳消息向控制网元回复,实现了控制网元可以获知自己可访问的存储网元,进而获知存储阵列。
可选地,上述控制网元广播或组播心跳消息,可以是控制网元周期性地广播或组播心跳消息。
相应地,存储网元根据心跳消息向控制网元返回响应消息,可以是存储网元周期性地根据上述心跳消息向控制网元返回响应消息。
也就是控制网元会周期性地接收到上述至少1个存储网元回复的响应消息。
上述周期在此不作限制,可以根据具体需要灵活设定。
进一步地,在上述控制网元接收至少1个存储网元根据上述心跳消息返回的响应消息之后,如果控制网元在预设时间段内未收到第一可访问存储网元回复的响应消息,则该控制网元确定该第一可访问存储网元链路断开,其中,该第一可访问存储网元为上述至少1个存储网元中的任一存储网元。
其中,在控制网元周期性地广播或组播心跳报文的情况下,第一可访问存储网元一直正常向控制网元回复上述响应消息,突然某个周期控制网元没有收到第一可访问存储网元返回的响应消息,则控制网元认为该第一可访问存储网元的链路断开,通常可能是断链或发生热插拔等,在此不作限制。
上述网络参数信息中还可以包括:链路状态信息,用于指示该存储网元的链路状态信息,例如在网络参数中增加标识位以标识连接(link)状态是否发生变化。
可选地,一般通过链路状态信息来指示存储网元中存储介质的链路状态。
另一种实施方式中,若第一可访问存储网元回复的网络参数信息中包括:链路状态信息。相应地,
上述控制网元接收至少1个存储网元根据上述心跳消息返回的响应消息之后,控制网元根据该链路状态信息,可以确定上述第一可访问存储网元的链路状态。例如该链路状态信息中标识link状态发生了变化,控制网元就可以根据链路状态信息获知link状态发生了变化,一般控制网元会认为这种状况是存储网元中的一个或多个存储介质的链路断开,例如发生了热插拔,但并不以此为限。
相应地,存储网元独立上电后,会监控link状态,即判断是否收到内部存储介质发送的link状态变化信息,如果收到,存储网元就会更新自己维护的网络参数信息,在其中标识link状态发生了变化,在下次收到控制网元广播或组播的心跳消息后,就会返回标识了link状态发生变化的响应消息。
本发明实施例中,控制网元通过广播或组播心跳报文,可以发现自身可访问的存储网元,进而确定自己的存储拓扑,后续还可以根据存储网元返回的响应消息确定链路状态、以及其他故障信息等。
在上述实施例的基础上,上述控制网元根据上述链路状态信息,确定第一可访问存储网元的链路状态,具体为:上述控制网元根据上述链路状态信息,确定第一可访问存储网元中存在存储介质的链路断开。那么,控制网元可以进一步进行链路的修复,可选地,控制网元根据上述链路状态信息,确定第一可访问存储网元中存在存储介质的链路断开之后,控制网元向上述第一可访问存储网元发送链路修复处理请求;存储网元接收到链路修复处理请求后,可以根据该链路修复处理请求进行链路修复。
具体地,存储网元可以根据链路断开的实际情况进行链路修复,例如进行链路重构,或者,进行链路迁移等,在此不作限制。
上述实施例中,控制网元获知了自己可访问的存储网元,后续就可以向这些可访问的存储网元进行数据读写等操作。
读数据过程中:控制网元通过交换设备向某个可访问存储网元发送读数据请求,该读数据请求包括:存储网元的地址信息、待读取数据的位置信息等。存储网元收到上述读数据请求后,根据读数据请求获取待读取数据,并通过交换设备向控制网元返回待读取数据。
图4为本发明提供的存储网元发现方法实施例三的流程示意图,如图4所示,该方法包括:
S401、控制网元向至少1个存储网元广播或组播心跳消息。
S402、存储网元若接收到上述广播或组播的心跳消息,则返回响应消息。
S403、控制网元接收至少1个存储网元根据上述心跳消息返回的响应消息,并根据该响应消息确定上述至少1个存储网元为可访问存储网元。
S404、控制网元向交换设备发送读数据请求,该读数据请求包括:存储网元的地址信息、待读取数据的位置信息。
具体地,控制网元可以通过调用自身的NOF软件程序,通过NOF逻辑接口来发送读数据请求。
其中,待读取数据的位置信息可以具体通过在读数据请求中携带逻辑区块地址(Logical Block Address,简称LBA)、长度(Len)、命名空间标识(namespace ID,简称NSID)、分散聚集列表(scatter gather list,简称SGL)等信息来标识待读取数据的位置信息。待读取数据的位置信息具体指存储介质中具体存储数据的位置,例如起始比特位等信息。
S405、交换设备根据上述读数据请求中存储网元的地址信息,将该读数据请求转发到对应的存储网元。
S406、存储网元收到上述读数据请求后解析读数据请求中的待读取数据的位置信息,并根据该待读取数据的位置信息获取对应的待读取数据。
即存储网元根据待读取数据的位置信息确定具体存储这些数据的位置,然后通过调用NVMe接口获取这些位置上存储的数据,并把这些数据返回给控制网元。
S407、存储网元向上述交换设备发送数据返回消息,该数据返回消息中包括:待读取数据、以及控制网元的地址信息。
S408、交换设备根据上述控制网元的地址信息将上述数据返回消息发送给上述控制网元。
同理,写数据过程包括:控制网元通过交换设备向可访问存储网元发送写数据请求,该写数据请求包括:待写入数据、存储网元的地址信息、待写入数据的位置信息。存储网元接收上述写数据请求,并根据写数据请求写入上述待写入的数据,写入数据完成后,存储网元会想控制网元返回写入成功响应,以使控制网元知道数据已经写入成功。
图5为本发明提供的存储网元发现方法实施例四的流程示意图,如图4所示,该方法包括:
S501、控制网元向至少1个存储网元广播或组播心跳消息。
S502、存储网元若接收到上述广播或组播的心跳消息,则返回响应消息。
S503、控制网元接收至少1个存储网元根据上述心跳消息返回的响应消息,并根据该响应消息确定上述至少1个存储网元为可访问存储网元。
S504、控制网元向交换设备发送写数据请求,该写数据请求包括:待写入数据、存储网元的地址信息、待写入数据的位置信息。
具体地,控制网元可以通过调用自身的NOF软件程序,通过NOF逻辑接口来发送写数据请求。
其中,待写入数据的位置信息也可以通过LBA、LEN、NSID、SGL等信息来标识。待写入数据的位置信息具体指存储介质中具体存储数据的位置,例如起始比特位等信息。
S505、交换设备根据上述写数据请求中的存储网元的地址信息,将该写数据请求转发到对应的存储网元。
S506、存储网元收到上述写数据请求后解析写数据请求中的待写入数据的位置信息,并将上述待写入数据写入到对应的位置。
存储网元根据待写入数据的位置信息确定好对应的位置,将上述待写入数据写入即可。
S507、存储网元向上述交换设备发送写入成功响应,该写入成功响应中携带控制网元的地址信息。
S508、交换设备根据控制网元的地址信息将上述写入成功响应转发给上述控制网元。以使控制网元知道数据写入成功。
进一步地,上述心跳消息和响应消息都可以采用表1所示的报文结构,但并不以此为限,如表1所示:
表1
如果是上述心跳报文,表1中,“q-0”行的源地址是控制网元的地址,目的地址是存储网元的地址,如果是回复报文,则刚好相反。“q-1”行的源地址与“q-0”行的源地址可以是相同的。
上述“q-2”中的“包类型(PKG_Type)”字段可以用于区分上述心跳消息和响应消息,当“包类型”标识该报文为心跳消息时,如果控制网元收到该报文,并确定报文为心跳消息,就会进行丢弃,如果存储报文收到心跳消息,就会做出响应,即回复上述响应消息。
如果“包类型”标识该报文为响应消息时,如果控制网元收到该报文并确定为响应消息,就会解析该报文,从中获取存储网元在响应消息中携带的网络参数信息。
“物理链接ID”是控制网元或存储网元之间物理连接的标识(identity)。
上述心跳消息和响应消息在“q-4”至“q-n”的“负载(payload)”字段内容不同,表2为心跳报文的“负载”字段,但并不以此为限:
表2
上述每个字节包括8个比特(bit)。
表3为心跳报文的“负载”字段,但并不以此为限:
表3
表3中地址家族(Address Family)可以标识出传输类型,进而5-8行的传输地址是与该传输类型匹配的地址,例如传输类型是互联网协议(Internet Protocol,简称IP)第四版(IPv4),那么传输地址就是IPv4地址,在此不作限制。
表3中“V=1”中的“V(Valid)”的值用于表示报文的有效性,“BC=2”中的“BC”的值用于表示广播(broadcast)类型,当然如果是组播的方式,也可以用这个字段填充组播的类型,在此不作限制。“OPC=0x060”中的“OPC”的值用于表示操作码(Operate code)的值,“HTAG=0”中“HTAG”的值是控制网元的命令标签(tag),“HTAG”的值用于区分每一条命令。
图6为本发明提供的控制网元实施例一的结构示意图,该控制网元为前述实施例中的控制网元,应用于存储阵列中,如图6所示,该控制网元可以包括:发送模块601、接收模块602和发现模块603,其中,
发送模块601,用于向至少1个存储网元广播或组播心跳消息,所述心跳消息中包含所述控制网元的地址信息。
接收模块602,用于接收至少1个存储网元根据所述心跳消息返回的响应消息。
发现模块603,用于根据所述响应消息确定所述至少1个存储网元为可访问存储网元,所述响应消息包括对应存储网元的网络参数信息。
网络参数信息包括:所述存储网元的网络地址信息、所述存储介质的地址信息,其中,所述存储介质的地址信息为所述存储网元通过与所述存储介质之间的NVMe接口获取的。
可选地,发送模块601,周期性地向至少1个存储网元广播或组播心跳消息。相应地,
接收模块602,周期性地接收所述至少1个存储网元返回的响应消息。
图7为本发明提供的控制网元实施例二的结构示意图,如图7所示,在图6的基础上,控制网元还可以包括:第一确定模块701,用于在所述接收模块602在预设时间段内未收到第一可访问存储网元回复的响应消息时,确定所述第一可访问存储网元链路断开。
其中,所述第一可访问存储网元为所述至少1个存储网元中的任一存储网元。
可选地,上述第一可访问存储网元回复的所述网络参数信息中还可以包括:链路状态信息。
图8为本发明提供的控制网元实施例三的结构示意图,如图8所示,在图6的基础上,控制网元还可以包括:第二确定模块801,用于根据所述链路状态信息,确定所述第一可访问存储网元的链路状态。
其中,所述第一可访问存储网元为所述至少1个存储网元中的任一存储网元。
图9为本发明提供的控制网元实施例四的结构示意图,如图9所示,在图8的基础上,控制网元还可以包括:修复模块901。
进一步地,第二确定模块801,可以根据所述链路状态信息,确定所述第一可访问存储网元中存在存储介质的链路断开。
修复模块901,用于向所述第一可访问存储网元发送链路修复处理请求。
具体地,链路修复处理请求可以由存储器中的发送器等发送装置进行发送。
可选地,一种实施方式中,在上述根据所述响应消息确定所述至少1个存储网元为可访问存储网元后,发送模块601,还可以通过交换设备向所述可访问存储网元发送读数据请求,所述读数据请求包括:存储网元的地址信息、待读取数据的位置信息。
接收模块602,还可以接收所述可访问存储网元根据所述读数据请求返回的待读取数据。
可选地,又一种实施方式中,发送模块601,还可以用于通过交换设备向所述可访问存储网元发送写数据请求,所述写数据请求包括:待写入数据、存储网元的地址信息、待写入数据的位置信息。
接收模块602,还可以接收所述可访问存储网元根据所述写数据请求返回的写入成功响应。
该控制网元的实现原理和技术效果可以参见前述方法实施例,在此不再赘述。
图10为本发明提供的存储网元实施例一的结构示意图,该存储网元为前述实施例中的存储网元,可以是存储阵列中任一存储网元,如图10所示,该存储网元包括:接收模块110和发送模块111,其中,
接收模块110,用于接收所述控制网元广播或组播的心跳消息,所述心跳消息中包含所述控制网元的地址信息。
发送模块111,用于根据所述心跳消息向所述控制网元返回响应消息,以使所述控制网元确定所述存储网元为可访问存储网元,其中,所述响应消息包括所述存储网元的网络参数信息。
所述网络参数信息包括:所述存储网元的网络地址、以及所述存储网元通过NVMe接口获取的所述存储网元中所述存储介质的地址信息。
可选地,接收模块110,具体用于接收所述控制网元周期性广播或组播的心跳消息;相应地,
发送模块111,具体用于周期性地根据所述心跳消息向所述控制网元返回响应消息。
可选地,发送模块111,具体用于根据所述心跳消息向所述控制网元返回携带链路状态信息的响应消息,以使所述控制网元根据所述链路状态信息确定所述存储网元的链路状态。
图11为本发明提供的存储网元实施例二的结构示意图,在图10的基础上,该存储网元还可以包括:修复处理模块112。
具体地,接收模块110,可以接收所述控制网元发送的链路修复处理请求。
修复处理模块112,根据所述链路修复处理请求进行链路修复。
图12为本发明提供的存储网元实施例三的结构示意图,在图10的基础上,该存储网元还可以包括:获取模块120。其中,
接收模块110,还用于接收所述控制网元通过交换设备发送的读数据请求,所述读数据请求包括:存储网元的地址信息、待读取数据的位置信息。
获取模块120,用于根据所述读数据请求,获取所述待读取数据。
发送模块111,还用于通过所述交换设备将所述待读取数据返回给所述控制网元。
图13为本发明提供的存储网元实施例四的结构示意图,在图10的基础上,该存储网元还可以包括:写入模块130,其中,
接收模块110,用于接收所述控制网元通过交换设备发送的写数据请求,所述写数据请求包括:待写入数据、存储网元的地址信息、待写入数据的位置信息。
写入模块130,用于根据所述写数据请求写入所述待写入数据。
发送模块111,用于向所述控制网元返回写入成功响应。
该存储网元的实现原理和技术效果可以参见前述方法实施例,在此不再赘述。
图14为本发明提供的控制网元实施例五的结构示意图,如图14所示,该控制网元包括:处理器141、发送器142、接收器143、存储器144,其中,处理器141、发送器142、接收器143、存储器144通过总线145连接在一起。
在实际运用中,处理器141、发送器142、接收器143、存储器144之间可以不是总线结构,而可以是其它结构,例如星型结构,本发明实施例不作具体限定。
其中:
存储器144用于存储指令,处理器141用于调用存储器中的指令执行下述方法:
处理器141通过所述发送器142向至少1个存储网元广播或组播心跳消息,所述心跳消息中包含所述控制网元的地址信息;
处理器141通过所述接收器143接收至少1个存储网元根据所述心跳消息返回的响应消息,并根据所述响应消息确定所述至少1个存储网元为可访问存储网元,所述响应消息包括对应存储网元的网络参数信息;
所述网络参数信息包括:所述存储网元的网络地址信息、所述存储介质的地址信息,其中,所述存储介质的地址信息为所述存储网元通过与所述存储介质之间的NVMe接口获取的。
本实施例中,控制网元向至少1个存储网元广播或组播心跳消息,并接收至少1个存储网元根据上述心跳消息返回的响应消息,进而根据该响应消息确定上述至少1个存储网元为可访问存储网元,实现了在NOF的存储阵列中,控制网元通过广播或组播心跳消息,进而可以根据存储网元的回复确定自己可访问的存储网元,并通过可访问的存储网元返回的网络参数信息了解可访问的存储网元的相关信息。
可选地,处理器141具体用于,通过发送器142周期性地向至少1个存储网元广播或组播心跳消息;通过所述接收器143周期性地接收所述至少1个存储网元返回的响应消息。
可选地,若在预设时间段内未收到第一可访问存储网元回复的响应消息,则处理器141确定所述第一可访问存储网元链路断开,其中,所述第一可访问存储网元为所述至少1个存储网元中的任一存储网元。
可选地,若第一可访问存储网元回复的所述网络参数信息中包括:链路状态信息;处理器141通过所述接收器143接收至少1个存储网元根据所述心跳消息返回的响应消息之后,根据所述链路状态信息,确定所述第一可访问存储网元的链路状态;
其中,所述第一可访问存储网元为所述至少1个存储网元中的任一存储网元。
进一步地,所述处理器141,具体用于根据所述链路状态信息,确定所述第一可访问存储网元中存在存储介质的链路断开;相应地,
处理器141确定所述第一可访问存储网元中存在存储介质的链路断开之后,通过所述发送器向所述第一可访问存储网元发送链路修复处理请求。
可选地,处理器141根据所述响应消息确定所述至少1个存储网元为可访问存储网元之后,处理器141通过所述发送器142,由发送器142通过交换设备向所述可访问存储网元发送读数据请求,所述读数据请求包括:存储网元的地址信息、待读取数据的位置信息;并通过所述接收器接收所述可访问存储网元根据所述读数据请求返回的待读取数据。
可选地,处理器141根据所述响应消息确定所述至少1个存储网元为可访问存储网元之后,处理器141通过发送器142,由发送器142通过交换设备向所述可访问存储网元发送写数据请求,所述写数据请求包括:待写入数据、存储网元的地址信息、待写入数据的位置信息;并由所述接收器143接收所述可访问存储网元根据所述写数据请求返回的写入成功响应。
图15为本发明提供的存储网元实施例五的结构示意图,如图15所示,该存储网元包括:处理器151、发送器152、接收器153、存储器154,其中,处理器151、发送器152、接收器153、存储器154通过总线155连接在一起。
在实际运用中,处理器151、发送器152、接收器153、存储器154之间可以不是总线结构,而可以是其它结构,例如星型结构,本发明实施例不作具体限定。
其中,存储器154用于存储指令,处理器151用于调用存储器154中的指令执行下述方法:
处理器151通过所述接收器153接收所述控制网元广播或组播的心跳消息,所述心跳消息中包含所述控制网元的地址信息;通过所述发送器152向所述控制网元返回响应消息,以使所述控制网元确定所述存储网元为可访问存储网元,其中,所述响应消息包括所述存储网元的网络参数信息;
所述网络参数信息包括:所述存储网元的网络地址、以及所述存储网元通过NVMe接口获取的所述存储网元中所述存储介质的地址信息。
可选地,处理器151通过所述接收器153接收所述控制网元周期性广播或组播的心跳消息。并通过所述发送器152周期性地根据所述心跳消息向所述控制网元返回响应消息。
处理器151通过所述发送器根据所述心跳消息向所述控制网元返回响应消息,具体为:处理器151通过所述发送器152根据所述心跳消息向所述控制网元返回携带链路状态信息的响应消息,以使所述控制网元根据所述链路状态信息确定所述存储网元的链路状态。
进一步地,若所述链路状态信息标识所述存储网元中存在存储介质的链路断开,则所述处理器151通过所述接收器接收所述控制网元发送的链路修复处理请求;并根据所述链路修复处理请求进行链路修复。
可选地,所述处理器151通过所述接收器153接收所述控制网元通过交换设备发送的读数据请求,所述读数据请求包括:存储网元的地址信息、待读取数据的位置信息;进而处理器151根据所述读数据请求,获取所述待读取数据;所述处理器151通过所述发送器152,由所述发送器152通过交换设备将所述待读取数据返回给所述控制网元。
可选地,所述处理器151通过所述接收器153接收所述控制网元通过交换设备发送的写数据请求,所述写数据请求包括:待写入数据、存储网元的地址信息、待写入数据的位置信息;进而处理器根据所述写数据请求写入所述待写入数据,并由发送器152通过交换设备向所述控制网元返回写入成功响应。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (26)
1.一种存储网元发现方法,其特征在于,所述方法应用于网络承载非易失性存储NOF设备的存储阵列,所述存储阵列包括至少一个控制网元和至少一个存储网元,每个所述存储网元包括至少一个存储介质,所述方法包括:
所述控制网元通过NOF逻辑接口向至少1个存储网元广播或组播心跳消息,所述心跳消息中包含所述控制网元的地址信息;
所述控制网元通过所述NOF逻辑接口接收至少1个存储网元根据所述心跳消息返回的响应消息,并根据所述响应消息确定所述至少1个存储网元为可访问存储网元,所述响应消息包括对应存储网元的网络参数信息;
所述网络参数信息包括:所述存储网元的网络地址信息、所述存储介质的地址信息,其中,所述存储介质的地址信息为所述存储网元通过与所述存储介质之间的NVMe接口获取的;其中,所述存储介质的地址信息为返回所述响应消息的存储网元中至少一个存储介质的地址信息;所述网络参数信息还包括:所述存储介质的命名空间以及链路状态信息,所述存储介质的命名空间用于存储数据,所述链路状态信息用于指示所述控制网元判断返回响应消息的存储网元的链路状态,并指示所述返回响应消息的存储网元修复故障链路。
2.根据权利要求1所述的方法,其特征在于,所述控制网元向至少1个存储网元广播或组播心跳消息,包括:
所述控制网元周期性地向至少1个存储网元广播或组播心跳消息;相应地,
所述控制网元接收至少1个存储网元根据所述心跳消息返回的响应消息之后,还包括:
所述控制网元周期性地接收所述至少1个存储网元返回的响应消息。
3.根据权利要求2所述的方法,其特征在于,所述控制网元接收至少1个存储网元根据所述心跳消息返回的响应消息之后,还包括:
若控制网元在预设时间段内未收到第一可访问存储网元回复的响应消息,则所述控制网元确定所述第一可访问存储网元链路断开,其中,所述第一可访问存储网元为所述至少1个存储网元中的任一存储网元。
4.根据权利要求1所述的方法,其特征在于,若第一可访问存储网元回复的所述网络参数信息中包括:链路状态信息;相应地,
所述控制网元接收至少1个存储网元根据所述心跳消息返回的响应消息之后,还包括:
所述控制网元根据所述链路状态信息,确定所述第一可访问存储网元的链路状态;
其中,所述第一可访问存储网元为所述至少1个存储网元中的任一存储网元。
5.根据权利要求4所述的方法,其特征在于,所述控制网元根据所述链路状态信息,确定所述第一可访问存储网元的链路状态,包括:
所述控制网元根据所述链路状态信息,确定所述第一可访问存储网元中存在存储介质的链路断开;相应地,
所述控制网元根据所述链路状态信息,确定所述第一可访问存储网元中存在存储介质的链路断开之后,还包括:
所述控制网元向所述第一可访问存储网元发送链路修复处理请求。
6.根据权利要求1所述的方法,其特征在于,所述控制网元根据所述响应消息确定所述至少1个存储网元为可访问存储网元之后,还包括:
所述控制网元通过交换设备向所述可访问存储网元发送读数据请求,所述读数据请求包括:存储网元的地址信息、待读取数据的位置信息;
所述控制网元接收所述可访问存储网元根据所述读数据请求返回的待读取数据。
7.根据权利要求1所述的方法,其特征在于,所述控制网元根据所述响应消息确定所述至少1个存储网元为可访问存储网元之后,还包括:
所述控制网元通过交换设备向所述可访问存储网元发送写数据请求,所述写数据请求包括:待写入数据、存储网元的地址信息、待写入数据的位置信息;
所述控制网元接收所述可访问存储网元根据所述写数据请求返回的写入成功响应。
8.一种存储网元发现方法,其特征在于,所述方法应用于网络承载非易失性存储NOF设备的存储阵列,所述存储阵列包括至少一个控制网元和至少一个存储网元,每个所述存储网元包括至少一个存储介质,所述方法包括:
所述存储网元接收所述控制网元广播或组播的心跳消息,所述心跳消息中包含所述控制网元的地址信息;
所述存储网元根据所述心跳消息向所述控制网元返回响应消息,以使所述控制网元确定所述存储网元为可访问存储网元,其中,所述响应消息包括所述存储网元的网络参数信息;
所述网络参数信息包括:所述存储网元的网络地址、以及所述存储网元通过NVMe接口获取的所述存储网元中所述存储介质的地址信息;其中,所述存储介质的地址信息为返回所述响应消息的存储网元中至少一个存储介质的地址信息;所述网络参数信息还包括:所述存储介质的命名空间以及链路状态信息,所述存储介质的命名空间用于存储数据,所述链路状态信息用于指示所述控制网元判断所述返回响应消息的存储网元的链路状态,并指示所述返回响应消息的存储网元修复故障链路。
9.根据权利要求8所述的方法,其特征在于,所述存储网元接收所述控制网元广播或组播的心跳消息,包括:
所述存储网元接收所述控制网元周期性广播或组播的心跳消息;
相应地,所述存储网元根据所述心跳消息向所述控制网元返回响应消息,包括:
所述存储网元周期性地根据所述心跳消息向所述控制网元返回响应消息。
10.根据权利要求8所述的方法,其特征在于,所述存储网元根据所述心跳消息向所述控制网元返回响应消息,包括:
所述存储网元根据所述心跳消息向所述控制网元返回携带链路状态信息的响应消息,以使所述控制网元根据所述链路状态信息确定所述存储网元的链路状态。
11.根据权利要求10所述的方法,其特征在于,若所述链路状态信息标识所述存储网元中存在存储介质的链路断开,则所述存储网元根据所述心跳消息向所述控制网元返回响应消息之后,还包括:
所述存储网元接收所述控制网元发送的链路修复处理请求;
所述存储网元根据所述链路修复处理请求进行链路修复。
12.根据权利要求8所述的方法,其特征在于,所述存储网元根据所述心跳消息向所述控制网元返回响应消息之后,还包括:
所述存储网元接收所述控制网元通过交换设备发送的读数据请求,所述读数据请求包括:存储网元的地址信息、待读取数据的位置信息;
所述存储网元根据所述读数据请求,获取所述待读取数据;
所述存储网元通过所述交换设备将所述待读取数据返回给所述控制网元。
13.根据权利要求8所述的方法,其特征在于,所述存储网元根据所述心跳消息向所述控制网元返回响应消息之后,还包括:
所述存储网元接收所述控制网元通过交换设备发送的写数据请求,所述写数据请求包括:待写入数据、存储网元的地址信息、待写入数据的位置信息;
所述存储网元根据所述写数据请求写入所述待写入数据,并向所述控制网元返回写入成功响应。
14.一种控制网元,其特征在于,所述控制网元应用于网络承载非易失性存储NOF设备的存储阵列,所述存储阵列包括至少一个控制网元和至少一个存储网元,每个所述存储网元包括至少一个存储介质,其中,所述控制网元包括:
发送模块,用于通过NOF逻辑接口向至少1个存储网元广播或组播心跳消息,所述心跳消息中包含所述控制网元的地址信息;
接收模块,用于通过所述NOF逻辑接口接收至少1个存储网元根据所述心跳消息返回的响应消息;
发现模块,用于根据所述响应消息确定所述至少1个存储网元为可访问存储网元,所述响应消息包括对应存储网元的网络参数信息;
所述网络参数信息包括:所述存储网元的网络地址信息、所述存储介质的地址信息,其中,所述存储介质的地址信息为所述存储网元通过与所述存储介质之间的NVMe接口获取的;其中,所述存储介质的地址信息为返回所述响应消息的存储网元中至少一个存储介质的地址信息;所述网络参数信息还包括:所述存储介质的命名空间以及链路状态信息,所述存储介质的命名空间用于存储数据,所述链路状态信息用于指示所述控制网元判断返回响应消息的存储网元的链路状态,并指示所述返回响应消息的存储网元修复故障链路。
15.根据权利要求14所述的控制网元,其特征在于,所述发送模块,具体用于周期性地向至少1个存储网元广播或组播心跳消息;相应地,
所述接收模块,具体用于周期性地接收所述至少1个存储网元返回的响应消息。
16.根据权利要求15所述的控制网元,其特征在于,所述控制网元,还包括:
第一确定模块,用于在所述接收模块在预设时间段内未收到第一可访问存储网元回复的响应消息时,确定所述第一可访问存储网元链路断开,其中,所述第一可访问存储网元为所述至少1个存储网元中的任一存储网元。
17.根据权利要求14所述的控制网元,其特征在于,若第一可访问存储网元回复的所述网络参数信息中包括:链路状态信息;相应地,
所述控制网元还包括:
第二确定模块,用于根据所述链路状态信息,确定所述第一可访问存储网元的链路状态;
其中,所述第一可访问存储网元为所述至少1个存储网元中的任一存储网元。
18.根据权利要求17所述的控制网元,其特征在于,所述第二确定模块,具体用于根据所述链路状态信息,确定所述第一可访问存储网元中存在存储介质的链路断开;相应地,
所述控制网元还包括:
修复模块,用于向所述第一可访问存储网元发送链路修复处理请求。
19.根据权利要求14所述的控制网元,其特征在于,所述发送模块,还用于通过交换设备向所述可访问存储网元发送读数据请求,所述读数据请求包括:存储网元的地址信息、待读取数据的位置信息;
所述接收模块,还用于接收所述可访问存储网元根据所述读数据请求返回的待读取数据。
20.根据权利要求14所述的控制网元,其特征在于,所述发送模块,还用于通过交换设备向所述可访问存储网元发送写数据请求,所述写数据请求包括:待写入数据、存储网元的地址信息、待写入数据的位置信息;
所述接收模块,还用于接收所述可访问存储网元根据所述写数据请求返回的写入成功响应。
21.一种存储网元,其特征在于,所述存储网元应用于网络承载非易失性存储NOF设备的存储阵列,所述存储阵列包括至少一个控制网元和至少一个存储网元,每个所述存储网元包括至少一个存储介质,所述存储网元包括:
接收模块,用于接收所述控制网元广播或组播的心跳消息,所述心跳消息中包含所述控制网元的地址信息;
发送模块,用于根据所述心跳消息向所述控制网元返回响应消息,以使所述控制网元确定所述存储网元为可访问存储网元,其中,所述响应消息包括所述存储网元的网络参数信息;
所述网络参数信息包括:所述存储网元的网络地址、以及所述存储网元通过NVMe接口获取的所述存储网元中所述存储介质的地址信息;其中,所述存储介质的地址信息为返回所述响应消息的存储网元中至少一个存储介质的地址信息;所述网络参数信息还包括:所述存储介质的命名空间以及链路状态信息,所述存储介质的命名空间用于存储数据,所述链路状态信息用于指示所述控制网元判断所述返回响应消息的存储网元的链路状态,并指示所述返回响应消息的存储网元修复故障链路。
22.根据权利要求21所述的存储网元,其特征在于,所述接收模块,具体用于接收所述控制网元周期性广播或组播的心跳消息;相应地,
所述发送模块,具体用于周期性地根据所述心跳消息向所述控制网元返回响应消息。
23.根据权利要求21所述的存储网元,其特征在于,所述发送模块,具体用于根据所述心跳消息向所述控制网元返回携带链路状态信息的响应消息,以使所述控制网元根据所述链路状态信息确定所述存储网元的链路状态。
24.根据权利要求23所述的存储网元,其特征在于,所述存储网元还包括:修复处理模块;
所述接收模块,还用于接收所述控制网元发送的链路修复处理请求;
所述修复处理模块,用于根据所述链路修复处理请求进行链路修复。
25.根据权利要求21所述的存储网元,其特征在于,所述存储网元,还包括:获取模块;
所述接收模块,还用于接收所述控制网元通过交换设备发送的读数据请求,所述读数据请求包括:存储网元的地址信息、待读取数据的位置信息;
所述获取模块,用于根据所述读数据请求,获取所述待读取数据;
所述发送模块,还用于通过所述交换设备将所述待读取数据返回给所述控制网元。
26.根据权利要求21所述的存储网元,其特征在于,所述存储网元,还包括:写入模块;
所述接收模块,还用于接收所述控制网元通过交换设备发送的写数据请求,所述写数据请求包括:待写入数据、存储网元的地址信息、待写入数据的位置信息;
所述写入模块,用于根据所述写数据请求写入所述待写入数据;
所述发送模块,还用于向所述控制网元返回写入成功响应。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/080631 WO2017185322A1 (zh) | 2016-04-29 | 2016-04-29 | 存储网元发现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107852344A CN107852344A (zh) | 2018-03-27 |
CN107852344B true CN107852344B (zh) | 2021-03-30 |
Family
ID=60158966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680003280.9A Active CN107852344B (zh) | 2016-04-29 | 2016-04-29 | 存储网元发现方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10372673B2 (zh) |
EP (1) | EP3261302B1 (zh) |
CN (1) | CN107852344B (zh) |
WO (1) | WO2017185322A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI658711B (zh) * | 2018-02-13 | 2019-05-01 | 緯穎科技服務股份有限公司 | 拓樸偵測方法、計算節點及儲存節點 |
CN109150588A (zh) * | 2018-07-25 | 2019-01-04 | 河北华沃通信科技有限公司 | 设备管理方法及装置 |
CN112804277A (zh) * | 2019-11-13 | 2021-05-14 | 中兴通讯股份有限公司 | 负荷控制信息发送方法、装置、设备和存储介质 |
KR20230070759A (ko) * | 2021-11-15 | 2023-05-23 | 한국전자통신연구원 | 자원 중심 네트워크의 메모리 주소 할당 방법 및 장치 |
CN117675759A (zh) * | 2022-09-06 | 2024-03-08 | 成都华为技术有限公司 | 数据处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056254B (zh) * | 2007-06-06 | 2011-01-05 | 杭州华三通信技术有限公司 | 一种网络存储设备的扩展方法、系统及其装置 |
CN101989999A (zh) * | 2010-11-12 | 2011-03-23 | 华中科技大学 | 一种分布式环境中的分级存储系统 |
CN102571991A (zh) * | 2012-03-27 | 2012-07-11 | 电子科技大学 | 基于多级映射的大规模多副本分布式存储系统及其应用方法 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7340555B2 (en) * | 2001-09-28 | 2008-03-04 | Dot Hill Systems Corporation | RAID system for performing efficient mirrored posted-write operations |
US20060236017A1 (en) * | 2005-04-18 | 2006-10-19 | Mo Rooholamini | Synchronizing primary and secondary fabric managers in a switch fabric |
WO2011160094A2 (en) * | 2010-06-18 | 2011-12-22 | Sandforce, Inc. | Scalable storage devices |
CN101969465A (zh) * | 2010-10-13 | 2011-02-09 | 北京神州融信信息技术股份有限公司 | 集群读写方法、装置、系统及控制器 |
US8589723B2 (en) * | 2010-12-22 | 2013-11-19 | Intel Corporation | Method and apparatus to provide a high availability solid state drive |
CN102143215B (zh) * | 2011-01-20 | 2013-04-10 | 中国人民解放军理工大学 | 一种基于网络的pb级云存储系统及其处理方法 |
US8903893B2 (en) * | 2011-11-15 | 2014-12-02 | International Business Machines Corporation | Diagnostic heartbeating in a distributed data processing environment |
US10019353B2 (en) * | 2012-03-02 | 2018-07-10 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for referencing data on a storage medium |
US9390055B2 (en) * | 2012-07-17 | 2016-07-12 | Coho Data, Inc. | Systems, methods and devices for integrating end-host and network resources in distributed memory |
CN103019622B (zh) * | 2012-12-04 | 2016-06-29 | 华为技术有限公司 | 一种数据的存储控制方法、控制器、物理硬盘,及系统 |
US9092395B2 (en) * | 2012-12-20 | 2015-07-28 | International Business Machines Corporation | Provide an appliance like test vehicle for IT disaster recovery |
US9256384B2 (en) * | 2013-02-04 | 2016-02-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for reducing write latency in a data storage system by using a command-push model |
JP6119369B2 (ja) * | 2013-03-28 | 2017-04-26 | 富士通株式会社 | 情報処理装置、警報発生方法およびプログラム |
US10063638B2 (en) * | 2013-06-26 | 2018-08-28 | Cnex Labs, Inc. | NVM express controller for remote access of memory and I/O over ethernet-type networks |
JP2015041947A (ja) | 2013-08-23 | 2015-03-02 | ソニー株式会社 | 情報処理装置、情報処理方法及びプログラム |
WO2015048140A1 (en) * | 2013-09-24 | 2015-04-02 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for storage collision management |
US20150244804A1 (en) * | 2014-02-21 | 2015-08-27 | Coho Data, Inc. | Methods, systems and devices for parallel network interface data structures with differential data storage service capabilities |
CN108062285B (zh) | 2014-06-27 | 2022-04-29 | 华为技术有限公司 | 一种访问NVMe存储设备的方法和NVMe存储设备 |
CN105260330B (zh) * | 2014-07-15 | 2018-06-05 | 华为技术有限公司 | 一种基于交换网络的磁盘阵列发现方法、主机总线适配器和磁盘框 |
US9565269B2 (en) * | 2014-11-04 | 2017-02-07 | Pavilion Data Systems, Inc. | Non-volatile memory express over ethernet |
US9712619B2 (en) * | 2014-11-04 | 2017-07-18 | Pavilion Data Systems, Inc. | Virtual non-volatile memory express drive |
US10778765B2 (en) * | 2015-07-15 | 2020-09-15 | Cisco Technology, Inc. | Bid/ask protocol in scale-out NVMe storage |
CN105227672B (zh) * | 2015-10-13 | 2018-04-17 | 国家电网公司 | 数据存储及访问的方法和系统 |
US10261902B2 (en) * | 2016-01-04 | 2019-04-16 | Toshiba Memory Corporation | Parallel processing of a series of data units for writing |
CA2957584A1 (en) * | 2016-02-12 | 2017-08-12 | Coho Data, Inc. | Methods, systems, and devices for adaptive data resource assignment and placement in distributed data storage systems |
-
2016
- 2016-04-29 EP EP16856467.2A patent/EP3261302B1/en active Active
- 2016-04-29 CN CN201680003280.9A patent/CN107852344B/zh active Active
- 2016-04-29 WO PCT/CN2016/080631 patent/WO2017185322A1/zh active Application Filing
-
2017
- 2017-05-18 US US15/599,005 patent/US10372673B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056254B (zh) * | 2007-06-06 | 2011-01-05 | 杭州华三通信技术有限公司 | 一种网络存储设备的扩展方法、系统及其装置 |
CN101989999A (zh) * | 2010-11-12 | 2011-03-23 | 华中科技大学 | 一种分布式环境中的分级存储系统 |
CN102571991A (zh) * | 2012-03-27 | 2012-07-11 | 电子科技大学 | 基于多级映射的大规模多副本分布式存储系统及其应用方法 |
Also Published As
Publication number | Publication date |
---|---|
US10372673B2 (en) | 2019-08-06 |
CN107852344A (zh) | 2018-03-27 |
EP3261302B1 (en) | 2020-01-15 |
EP3261302A1 (en) | 2017-12-27 |
US20170316018A1 (en) | 2017-11-02 |
WO2017185322A1 (zh) | 2017-11-02 |
EP3261302A4 (en) | 2018-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107852344B (zh) | 存储网元发现方法及装置 | |
US9787586B2 (en) | Location-based network routing | |
US9479434B2 (en) | Virtual destination identification for rapidio network elements | |
JP6037016B2 (ja) | 仮想マシン・マイグレーションを決定するための方法および装置 | |
CN103814554A (zh) | 一种虚拟可扩展局域网的通信方法、装置和系统 | |
CN113595897B (zh) | 一种路径探测方法及装置 | |
EP3451592B1 (en) | Packet transmission between vxlan domains | |
CN104426680A (zh) | 数据传输方法、装置和系统 | |
US20200076724A1 (en) | Path management for segment routing based mobile user-plane using seamless bfd | |
JP5612468B2 (ja) | リアルタイム通信ネットワークにおける診断データの通信のための方法と装置 | |
CN103036702B (zh) | 一种跨网段的n+1备份方法及装置 | |
JP7046983B2 (ja) | パケット伝送方法及び装置 | |
CN104754070A (zh) | 地址解析协议表项学习方法、装置及网络设备 | |
CN107077429A (zh) | 数据读取方法、设备和系统 | |
CN109769038A (zh) | 一种配置互联网协议地址的方法及装置 | |
CN109818869B (zh) | 组播流量转发端口的生成方法及相关设备 | |
CN105450432A (zh) | 一种用于定位端口连接错误的方法和相关设备 | |
KR101959733B1 (ko) | ARP 패킷을 이용하여 특정 호스트를 포함하는 네트워크의 정보를 획득하는 방법인 Auto-IP Provision을 수행함으로써 상기 네트워크 상의 기존 스위치를 대체하여 연결된 신규 스위치를 상기 네트워크 외부와 통신할 수 있도록 설정하는 방법 및 장치 | |
US8929251B2 (en) | Selecting a master processor from an ambiguous peer group | |
CN105471692A (zh) | 一种网络互通的方法及设备 | |
CN106559439B (zh) | 一种业务处理方法及设备 | |
KR102021466B1 (ko) | 전술데이터링크 소프트웨어 시험 환경을 구성하는 방법, 장치 및 기록매체 | |
CN115242693A (zh) | 网络检测方法、装置、设备和存储介质 | |
CN117135103B (zh) | 片上网络的路由方法、装置、计算机设备及存储介质 | |
JP2015053555A (ja) | データ転送装置、およびデータ転送方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |