一种服务器发现方法及装置与流程

文档序号:15152078发布日期:2018-08-10 21:14阅读:132来源:国知局

本发明涉及网络通信技术领域,尤其涉及一种服务器发现方法及装置。



背景技术:

iscsi(internetsmallcomputersysteminterface,互联网小型计算机系统接口)是由ietf(theinternetengineeringtaskforce,国际互联网工程任务组)开发的网络存储标准,目的是为了用ip(internetprotocol,互联网协议)协议将存储设备连接在一起。由于ip网络的广泛应用,因此iscsi能够在lan(localareanetwork,局域网)、wan(wideareanetwork,广域网)甚至internet上进行数据传送,使得数据的存储不再受地域的限制。

iscsi采用client(客户端)/server(服务器)工作模式。client方作为initiator(发起)设备发起iscsi会话,对应于服务器。server作为target(目标)设备接收iscsi会话请求,对应于存储设备。

isns(internetstoragenameservice,互联网存储名称服务协议)协议为iscsi设备提供了一套自动配置和管理的方案。

在isns协议中,所有initiator设备和target设备作为isnsclient向isnsserver注册,isnsserver集中管理所有iscsi设备(包括initiator设备和target设备),提供设备维护、设备信息查询、发现域划分等功能。

然而实践发现,现有isns协议中,isnsserver部署在独立应用服务器上,且需要在所有isnsclient上手动配置isnsserver的ip地址。



技术实现要素:

本发明提供一种服务器发现方法及装置,以解决现有运行isns协议的iscsisan网络中isnsserver需要部署在独立应用服务器上,且需要在所有isnsclient上手动配置isnsserver的ip地址的问题。

根据本发明实施例的第一方面,提供一种服务器发现方法,应用于iscsisan网络中的交换设备,该网络中的交换设备包括边缘交换设备和中间交换设备,所述边缘交换设备为本地存在isnsclient接入的交换设备,所述方法包括:

部署了isnsserver的所述交换设备确定用于设备管理的isnsserver;

边缘交换设备通过广播报文向本地接入的所述isnsclient通告所述用于设备管理的isnsserver的ip地址。

根据本发明实施例的第二方面,提供一种服务器发现装置,应用于iscsisan网络中的交换设备,该网络中的交换设备包括边缘交换设备和中间交换设备,所述边缘交换设备为本地存在isnsclient接入的交换设备,其特征在于,所述方法包括:

确定单元,用于当所述交换设备部署了isnsserver时,确定用于设备管理的isnsserver;

发送单元,用于当所述交换设备为边缘交换设备时,通过广播报文向本地接入的所述isnsclient通告所述用于设备管理的isnsserver的ip地址。

应用本发明实施例,部署了isnsserver的交换设备确定用于设备管理的isnsserver,边缘交换设备通过广播报文向本地接入的isnsclient通告用于设备管理的isnsserver的ip地址,通过在交换设备上部署isnsserver,可以避免引入独立的应用服务器,简化网络部署,降低成本;此外,部署isnsserver的交换设备可以主动通过广播报文向isnsclient通告用于设备管理的isnsserver的ip地址,实现了isnsserver的自动发现,且不需要isnsclient部署自动发现协议组件,降低了isnsclient的复杂度。

附图说明

图1是本发明实施例提供的一种设备管理系统的架构示意图;

图2是本发明实施例提供的一种服务器发现方法的流程示意图;

图3是本发明实施例提供的一种具体应用场景的架构示意图;

图4是本发明实施例提供的一种服务器发现装置的结构示意图;

图5是本发明实施例提供的另一种服务器发现装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明实施例中的技术方案,下面先对本发明实施例适用的系统架构进行简单说明。

请参见图1,为本发明实施例提供的一种设备管理系统的架构示意图,如图1所示,在该设备管理系统中,各交换设备均使能iscsi功能,并支持isns协议;其中:

若一交换设备部署了isnsserver,且该交换设备与至少一个isnsclient之间不存在其它部署了isnsserver的交换设备,则将该交换设备称为边缘交换设备;

其中,该至少一个isnsclient可以称为该边缘交换设备本地接入的isnsclient;

若一交换设备部署了isnsserver,且该交换设备各isnsclient之间均存在其它部署了isnsserver的交换设备,则将该交换设备称为中间交换设备;

若一交换设备未部署isnsserver,则该交换设备称为普通交换设备。

其中,isnsclient的类型包括发起方和目标方,为了后续方便描述,将发起方isnsclient记为initiator设备,将目标方isnsclient记为target设备。

为了使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。

请参见图2,为本发明实施例提供的一种服务器发现方法的流程示意图,其中,该服务器发现方法可以应用于图1中的交换设备,如图2所示,该服务器发现方法可以包括:

步骤201、部署了isnsserver的交换设备确定用于设备管理的isnsserver。

步骤202、边缘交换设备通过广播报文向本地接入的isnsclient通告用于设备管理的isnsserver的ip地址。

本发明实施例中,为了简化支持isns协议的iscsisan网络的组网部署,isnsserver可以部署在交换设备上,而不需要再部署单独的应用服务器作为isnsserver。

此外,为了实现isnsserver的自动发现,可以主动向isnsclient通告用于设备管理的isnsserver的ip地址。

相应地,在本发明实施例中,当交换设备部署了isnsserver时,该交换设备可以确定用于设备管理的isnsserver。

此外,边缘交换设备可以通过广播报文向本地接入的isnsclient通告该用于设备管理的isnsserver的ip地址。

isnsclient获取到了用于设备管理的isnsserver的ip地址之后,可以根据该ip地址向该用于设备管理的isnsserver发起注册。

在本申请其中一个实施例中,可以仅在iscsisan网络的其中一个交换设备上部署了isnsserver,即iscsisan网络中只会存在一个部署了isnsserver的交换设备。此时,该部署了isnsserver的交换设备为边缘交换设备。

相应地,在该实施例中,当交换设备部署了isnsserver时,该交换设备可以确定自身为进行设备管理的isnsserver。

在一个示例中,该部署了isnsserver的交换设备上配置有服务vlan(virtuallocalareanetwork,虚拟局域网),该服务vlan为边缘交换设备本地接入的isnsclient所在vlan;

相应地,边缘交换设备通过广播报文向本地接入的isnsclient通告用于设备管理的isnsserver的ip地址,包括:

部署了isnsserver的交换设备在服务vlan内广播用于设备管理的isnsserver通告报文,该用于设备管理的isnsserver通告报文中携带有用于设备管理的isnsserver的ip地址。

具体地,部署了isnsserver的交换设备(即边缘交换设备)可以在服务vlan内广播用于设备管理的isnsserver通告报文,该用于设备管理的isnsserver通告报文中携带有用于设备管理的isnsserver的ip地址。

其中,部署了isnsserver的交换设备与isnsclient之间的普通交换设备允许服务vlan的广播报文通过。

举例来说,以图3所示场景为例,假设switcha部署了isnsserver,则switcha为边缘交换设备,switchb和switchc为普通交换设备,switcha上配置服务vlan10和vlan20。其中,vlan10与switcha连接服务器i1和服务器i2的端口关联,vlan20与switcha连接switchb的端口关联。

当switcha确定了自身为用于设备管理的isnsserver之后,可以在vlan10和vlan20内广播用于设备管理的isnsserver通告报文。

服务器i1和服务器i2接收到switcha在vlan10内广播的用于设备管理的isnsserver的通告报文,从而可以获知用于设备管理的isnsserver的ip地址;

switchb接收到switcha在vlan20内广播的用于设备管理的isnsserver的通告报文,允许vlan20的广播报文通过;同理,switchc也允许vlan20的广播报文通过,进而,存储设备t1和存储设备t2可以接收到该用于设备管理的isnsserver的通告报文,从而可以获知用于设备管理的isnsserver的ip地址。

又举例来说,仍以图3所示场景为例,假设switchb部署了isnsserver,则switchb为边缘交换设备,switcha和switchc为普通交换设备,switchb上配置服务vlan10和vlan20。其中,vlan10与switchb连接switcha的端口关联,vlan20与switchb连接switchc的端口关联。

当switchb确定了自身为用于设备管理的isnsserver之后,可以在vlan10和vlan20内广播用于设备管理的isnsserver通告报文。

switcha接收到switchb在vlan10内广播的用于设备管理的isnsserver的通告报文,允许vlan10的广播报文通过,进而,服务器i1和服务器i2可以接收到switchb在vlan10内广播的用于设备管理的isnsserver的通告报文,从而可以获知用于设备管理的isnsserver的ip地址;

switchc接收到switchb在vlan20内广播的用于设备管理的isnsserver的通告报文,允许vlan20的广播报文通过,进而,存储设备t1和存储设备t2可以接收到该用于设备管理的isnsserver的通告报文,从而可以获知用于设备管理的isnsserver的ip地址。

其中,对于部署了isnsserver的交换设备,可以直接将其加入网络时获取到的ip地址设置为isnsserver的ip地址,也可以另外为该交换设备配置专用的isnsserver的ip地址。

在本申请另一个实施例中,可以在iscsisan网络的多个交换设备上部署了isnsserver,即iscsisan网络中可以存在多个部署了isnsserver的交换设备。

相应地,在该实施例中,上述确定用于设备管理的isnsserver,可以包括:

进行主isnsserver选举,并将主isnsserver确定为用于设备管理的isnsserver。

在该实施例中,当交换设备部署了isnsserver时,该交换设备需要进行主isnsserver选举,并将主isnsserver确定为用于设备管理的isnsserver。

在该实施例的一种实施方式中,上述进行主isnsserver选举,可以包括:

在预先配置的控制vlan发送选举报文;

当接收到其它交换设备发送的选举报文时,根据自身的优先级以及接收到的选举报文中携带的优先级信息,将优先级最高的交换设备确定为主isnsserver,将主isnsserver确定为用于设备管理的isnsserver。

在该实施方式中,可以在部署了isnsserver的交换设备上配置控制vlan。

优选地,该控制vlan的数量为一个,即各部署了isnsserver的交换设备配置相同的控制vlan。

相应地,在该实施方式中,当交换设备部署了isnsserver时,该交换设备可以在预先配置的控制vlan中发送选举报文,并接收其它交换设备发送的选举报文。

在该实施方式中,当部署了isnsserver的交换设备接收到其它交换设备发送的选举报文时,根据自身的优先级以及接收到的选举报文中携带的优先级信息,将优先级最高的交换设备确定为主isnsserver。

举例来说,可以根据各交换设备的isnsserver的ip地址确定各交换设备的优先级,例如,isnsserver的ip地址越大,优先级越高;或,isnsserver的ip地址越小,优先级越高。

可见,在该实施例中,当选举完成后,各部署了isnsserver的交换设备均可以获知主isnsserver的ip地址。

在一个示例中,该选举报文为二层组播报文,其报文格式可以采用rfc4171中定义的heartbeat(心跳)报文格式。其中,各部署了isnsserver的交换机相互之间通过控制vlan二层可达;若各部署了isnsserver的交换机之间存在未部署isnsserver的交换机(本文中称为普通交换机),则该普通交换机允许控制vlan的二层报文通过。

在该示例中,交换设备接收到该二层组播报文时,可以根据该报文的目的地址确定是否需要对该报文进行处理。

其中,部署了isnsserver的交换设备需要对该二层组播报文进行处理(即参与选举),未部署isnsserver的交换设备可以仅对该报文进行透传。

需要说明的是,选举报文的发送方式并不限于二层组播,也可以通过广播或单播的方式发送,其具体实现在此不做赘述。

进一步地,在该实施例中,主isnsserver需要周期性地发送通告报文,备isnsserver则通过监听主isnsserver的通告报文,以确定主isnsserver为可用状态。

优选地,该通告报文的格式可以与上述选举报文的格式相同,且均为二层组播报文。

相应地,在该实施例一种实施方式中,当交换设备为主isnsserver时,可以在控制vlan中周期性发送通告报文;

当交换设备为备isnsserver,且连续预设数量(可以根据实际场景设定)周期内未接收到主isnsserver发送的通告报文时,重新进行主isnsserver选举。

例如,当交换设备为备isnsserver,且连续3个周期未接收到主isnsserver发送的通告报文时,交换设备可以确定主isnsserver不可用(如发生故障、掉电等),重新进行主isnsserver。

其中,交换设备重新进行主isnsserver选举的具体实现与上述交换设备进行主isnsserver选举的实现相同,本发明实施例在此不再赘述。

此外,重新选举了新的主isnsserver之后,还需要重新通告用于设备管理的isnsserver的ip地址(即新选举出的主isnsserver的ip地址),以便isnsclient更新用于设备管理的isnsserver的ip地址,并重新发起注册。

在该实施例中,在确定了用于设备管理的isnsserver之后,可以由边缘交换设备通过广播报文向本地接入的isnsclient通告用于设备管理的isnsserver的ip地址。

相应地,在该实施例中,需要在各边缘交换设备上部署isnsserver。

在该实施例其中一个实施方式中,上述通过广播报文向本地接入的isnsclient通告用于设备管理的isnsserver的ip地址,可以包括:

在服务vlan内广播用于设备管理的isnsserver通告报文,该用于设备管理的isnsserver通告报文中携带有用于设备管理的isnsserver的ip地址。

在该实施方式中,为了避免isnsclient协议层做较大修改,降低对isnsclient的要求,边缘交换设备可以通过广播报文的方式向本地接入的isnsclient通告用于设备管理的主isnsserver的ip地址。

相应地,对于任一边缘交换设备,可以将该边缘交换设备本地接入的isnsclient所在vlan确定为服务vlan,并在服务vlan内广播携带有用于设备管理的isnsserver的ip地址的用于设备管理的isnsserver通告报文;边缘交换设备本地接入的isnsclient接收到该用于设备管理的isnsserver通告报文时,可以获取该用于设备管理的isnsserver通告报文中携带的用于设备管理的isnsserver的ip地址,并根据该ip地址向用于设备管理的isnsserver发起注册。

需要说明的是,在本发明实施例中,对于任一边缘交换设备,服务vlan的数量可以为一个或多个,当服务vlan的数量为多个时,该边缘交换设备可以分别在各服务vlan中广播上述用于设备管理的isnsserver通告报文,其具体实现在此不做赘述。

本发明实施例中,当交换设备为用于设备管理的isnsserver时,例如,在仅在iscsisan网络的其中一个交换设备上部署了isnsserver的情况下,该交换设备部署了isnsserver;或,在iscsisan网络一个或多个交换设备上部署了isnsserver的情况下,该交换设备部署了isnsserver,且被选举为主isnsserver,交换设备可以对注册的isnsclient进行管理,其包括但不限于设备维护、设备信息查询、发现域划分等。

需要说明的是,在本发明实施例中,isnsclient根据用于设备管理的isnsserver的ip地址向用于设备管理的isnsserver发起注册的具体实现流程可以参见现有isns协议中isnsclient根据isnsserver的ip地址向isnsserver发起注册的相关实现流程,本发明实施例在此不做赘述。

此外,用于设备管理的isnsserver对注册的isnsclient管理的具体实现流程也可以参见现有isnsserver对注册的isnsclient管理的相关实现流程。

可见,在图2所示的方法流程中,通过在交换设备上部署isnsserver,可以避免引入独立的应用服务器,可以简化网络部署,降低成本;此外,部署isnsserver的交换设备可以主动通过广播报文向isnsclient通告用于设备管理的isnsserver的ip地址,实现了isnsserver的自动发现,且不需要isnsclient部署自动发现协议组件,降低了isnsclient的复杂度;再者,通过在多个交换设备上部署isnsserver,各isnsserver进行主备isnsserver选举,由主isnsserver进行设备管理,且当主isnsserver不可用时,备isnsserver重新选举新的主isnsserver用于设备管理,避免了单点失效问题,提高了系统可靠性。

为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体应用场景对本发明实施例提供的技术方案进行说明。

请参见图3,为本发明实施例提供的一种具体应用场景的架构示意图,如图3所示,在该应用场景中,switch(交换机)a和switchc为边缘交换设备,switchb为中间交换设备,switcha为服务器i1和服务器i2的网关,switchc为存储设备t1和存储设备t2的网关。服务器i1和服务器i2在switcha的注册端口所在vlan为vlan10;存储设备t1和存储设备t2在switchb的注册端口所在vlan为vlan20。其中:

switch(交换机)a、switchb和switchc均部署了isnsserver,且配置有控制vlan;

switcha、switchb和switchc各配置有一个作为isnsserver的ip地址(假设分别为ip1、ip2和ip3)。

switcha、switchb和switchc之间三层路由可达,且通过控制vlan二层可达。

需要说明的是,switcha、switchb和switchc之间可以连接普通交换机(即未部署isnsserver的交换机,图中未示出),或/和,网关(switcha或switchc)与isnsclient之间可以连接普通交换机(图中未示出),且各普通交换机(若存在)允许控制vlan的二层报文通过。

基于图3所示应用场景,本发明实施例提供的设备管理方案实现如下:

switcha(或switchb或switchc)在控制vlan中发送选举报文。

其中,该选举报文为二层组播报文,其报文格式采用rfc4171中定义的heartbeat报文格式。

switcha(或switchb或switchc)接收其它交换设备发送的选举报文,比较自身的优先级与接收到的选举报文中携带的优先级信息。若接收到的选举报文中携带的优先级高于自身优先级,则成为备isnsserver;若未接收到携带的优先级高于自身优先级的选举报文,则成为主isnsserver。

在该实施例中,以ip地址越小,优先级越高为例,且假设ip1>ip3>ip2,则switchb被选举为主isnsserver,即switchb为用于设备管理的isnsserver,switcha和switchc为备isnsserver。

其中,switchb被选举为主isnsserver之后,可以周期性发送通告报文;switcha和switchc监听switchb发送的通告报文,若连续3个周期未接收到switchb发送的通告报文,则重新进行主isnsserver选举。

switcha在vlan10中广播用于设备管理的isnsserver通告报文,switchc在vlan20中广播用于设备管理的isnsserver通告报文。

其中,该用于设备管理的isnsserver通告报文中携带有用于设备管理的isnsserver的ip地址(即ip2)。

isnsclient(服务器i1、服务器i2、存储设备t1或存储设备t2)接收到用于设备管理的isnsserver通告报文时,获取其中携带的用于设备管理的isnsserver的ip地址(ip2),并根据用于设备管理的isnsserver的ip地址(ip2)向用于设备管理的isnsserver(switchb)发起注册。

switchb对注册的isnsclient进行管理。

通过以上描述可以看出,在本申请实施例中,部署了isnsserver的交换设备确定用于设备管理的isnsserver,边缘交换设备通过广播报文向本地接入的isnsclient通告用于设备管理的isnsserver的ip地址,通过在交换设备上部署isnsserver,可以避免引入独立的应用服务器,简化网络部署,降低成本;此外,边缘交换设备可以主动通过广播报文向isnsclient通告用于设备管理的isnsserver的ip地址,实现了isnsserver的自动发现,且不需要isnsclient部署自动发现协议组件,降低了isnsclient的复杂度。

请参见图4,为本发明实施例提供的一种服务器发现装置的结构示意图,其中,所述装置可以应用于上述方法实施例中的交换设备,如图4所示,该服务器发现装置可以包括:

确定单元410,用于当所述交换设备部署了isnsserver时,确定用于设备管理的isnsserver;

发送单元420,用于当所述交换设备为边缘交换设备时,通过广播报文向本地接入的所述isnsclient通告所述用于设备管理的isnsserver的ip地址。

在可选实施例中,所述iscsisan网络中包括一个部署了isnsserver的交换设备,该一个交换设备为边缘交换设备。

在可选实施例中,所述iscsisan网络中包括多个部署了isnsserver的交换设备,该多个交换设备包括所述iscsisan网络所有的边缘交换设备,或者,该多个交换设备包括所述iscsisan网络所有的边缘交换设备和至少一个中间交换设备。

在可选实施例中,所述用于设备管理的isnsserver为所述交换设备上部署的isnsserver。

在可选实施例中,所述部署了isnsserver的交换设备上配置有服务虚拟局域网vlan;所述服务vlan为边缘交换设备本地接入的isnsclient所在vlan;

所述发送单元420,具体用于当所述交换设备为部署了isnsserver的交换设备时,在服务vlan内广播用于设备管理的isnsserver通告报文,所述用于设备管理的isnsserver通告报文中携带有用于设备管理的isnsserver的ip地址;其中,所述部署了isnsserver的交换设备与isnsclient之间的普通交换设备允许服务vlan的广播报文通过。

在可选实施例中,所述iscsisan网络中各部署了isnsserver的交换设备上配置了控制vlan;

请一并参见图5,为本发明实施例提供的另一种服务器发现装置的结构示意图,如图5所示,在图4所示服务器发现装置的基础上,图5所示服务器发现装置还包括:

选举单元430,用于当所述交换设备部署了isnsserver,且所述iscsisan网络中存在多个部署了isnsserver的交换设备时,在控制vlan内发送选举报文;当接收到其它交换设备发送的选举报文时,根据自身的优先级以及接收到的选举报文中携带的优先级信息,将优先级最高的交换设备确定为主isnsserver;

所述确定单元410,具体用于将所述主isnsserver确定为用于设备管理的isnsserver。

在可选实施例中,所述发送单元420,具体用于当所述交换设备为部署了isnsserver的边缘交换设备时,通过广播报文向本地接入的isnsclient通告所述用于设备管理的isnsserver的ip地址。

在可选实施例中,所述发送单元420,具体用于在服务vlan内广播用于设备管理的isnsserver通告报文,所述用于设备管理的isnsserver通告报文中携带有用于设备管理的isnsserver的ip地址;其中,服务vlan为边缘交换设备本地接入的isnsclient所在vlan,边缘交换设备与isnsclient之间的普通交换设备允许服务vlan的广播报文通过。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

由上述实施例可见,部署了isnsserver的交换设备确定用于设备管理的isnsserver,边缘交换设备通过广播报文向本地接入的isnsclient通告用于设备管理的isnsserver的ip地址,通过在交换设备上部署isnsserver,可以避免引入独立的应用服务器,简化网络部署,降低成本;此外,部署isnsserver的交换设备可以主动通过广播报文向isnsclient通告用于设备管理的isnsserver的ip地址,实现了isnsserver的自动发现,且不需要isnsclient部署自动发现协议组件,降低了isnsclient的复杂度。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1