一种基于iSCSI协议访问服务器上的设备的方法

文档序号:7687206阅读:86来源:国知局
专利名称:一种基于iSCSI协议访问服务器上的设备的方法
技术领域
本发明涉及一种基于iSCSI协议访问服务器上的设备的方法。
背景技术
iSCSI (互联网小型计算机系统接口 ),即internet SCSI (Small Computer System Interface,小型计算机系统接口 ),是一种在Internet 协议网络上,特别是以太网上进行数据块传输的标准。该传输发生在客户端 (Initiator)和月良务器(Target)之间。
作为服务器,目前通常具备多个网络接口,通常每个接口会配置相应的 IP,当客户端需要访问服务器上的设备时,首先需要建立到其中某个IP的 连接,并告知该服务器准备访问的设备ID(TargetName)。如果服务器较多, 客户端使用的IP的分配将成为管理的障碍,而且一旦遇到网络故障等情况, 造成该IP不可访问时,客户端对服务器的访问也将会被中断。
现有技术中还存着在一种通过iSNS服务器上的名称服务(iSCSI Name Service, iSCSI名称服务)来访问服务器上的设备的方法。如果客户端能支 持iSNS协议,并且网络上存在iSNS服务器的情况下,那么可以通过访问iSNS 服务器上的名称服务来获取设备ID到IP的对应关系,这样,客户端只需要 知道iSNS服务器的地址和要访问的设备ID即可。但该方法需要网络上存在 iSNS服务器,并且需要客户端支持该协议。

发明内容
鉴于此,本专利提出一种方法,目的在于使得客户端可以不需要其它协 议支持,客户端设定时可以只知道服务器的主IP (MasterIP)地址即可访问 服务器上的设备。并且,服务器会根据该设备所在的IP组(IPGroup)内各 网络端口的负载情况,挑选负载较小的网络端口建立连接。最后,当服务器 某个网口失效时,该方法还可以实现失效网口上连接的客户端自动重连到其 它可用的网口上。
4为达到上述目的,本发明提供一种方法,该方法使用IP组模式来访问
服务器上的设备,其中包括如下步骤
将服务器上的可以访问某一设备的所有网络端口设定为 一个IP组; 给每个IP组定义一个主IP;
给上述服务器所有可访问的网络端口各配置一个成员IP (Member IP); 客户端使用主IP向服务器提出访问某一设备的请求; 服务器根据该设备所在的IP组内各网络端口的负载情况,挑选负载较小
的成员IP作为客户端实际使用的IP地址;
客户端通过服务器指定的成员IP地址,与所述负载较小的网络端口建
立连4妻,i方问iti殳备。
进一步,当某一成员IP所在的网络端口连接失败时,客户端自动重连
到主IP地址,客户端获得另一可用的成员IP地址来建立连接。 进一步,客户端使用如下步骤实现到指定的网络端口的连接 客户端使用主IP地址登陆(Login)到服务器,并指定要访问的设备ID; 服务器根据客户端指定的设备ID查找到该设备所对应的IP组; 服务器根据所述IP组内各网络端口的负载情况,挑选负载较小的端口
的成员IP作为客户端实际使用的IP地址,并向客户端发送重定向响应 (Redirect ) 5
客户端收到服务器发来的重定向响应后,根据所述的成员IP地址连接 到指定的网络端口。
进一步,所述的服务器为多台,将所述多台服务器上的可以访问某一设 备的所有网络端口设定为同一个IP组。
进一步,所述的多台服务器之间轮流获得主IP。
进一步,所述的多台服务器之间轮流获得主IP的方法如下
未配置主IP的服务器发送arp (地址解析协议)广播,查询是否有其它 服务器已经配置了主IP;
如有,则间隔一定时间后再查询;如果没有,则将自己配置为主IP;
然后该服务器再检查网络上是否有重复配置;
如果网络上无重复配置,则该服务器将自己最终配置为主IP;如果网络 上有重复配置,则该服务器将自己的主IP的配置取消,并等待一段随机长 度的时间后再发送ar p广播。
5进一步,该方法中指定至少一个IP组作为默认IP组,当客户端要访问 的设备ID未配置对应的IP组时,则使用默认的IP组作为其对应的IP组。
进一步,该方法中所述的客户端使用iSNS服务器上的访问名称服务, 来访问服务器。


图1为本发明的总流程图。
图2为本发明中服务器为客户端选定可访问的IP地址的流程图。 图3为本发明的一个具体实例的网络结构图。
具体实施例方式
为了使本领域技术人员能进一步了解本发明的特征及技术内容,请参阅 以下有关本发明的详细说明与附图,附图仅提供参考与说明,并非用来限制 本发明。
下面结合附图,对本发明的实施方式进行描述。
如图l所示,在一个基于iSCSI传输协议的网络中,可以通过以下步骤 来建立客户端到服务器上某一设备之间的访问连接
步骤101、将服务器上的可以访问某一设备的所有网络端口设定为一个 IP组;
步骤102、给每个IP组定义一个主IP地址;
步骤103、给服务器所有可访问的网络端口各配置一个成员IP地址; 步骤104、客户端使用主IP地址向服务器提出访问某一设备的请求; 步骤105、服务器挑选负载较小的网络端口的成员IP作为客户端IP地
址;
步骤106、客户端通过服务器指定的成员IP地址,与所述负载较小的网 络端口建立连接,访问该设备。
步骤201 、客户端使用主IP地址登陆到服务器,并指定要访问的设备ID; 步骤202、服务器根据客户端指定的设备ID查找到该设备所对应的IP组;
步骤203、服务器挑选负载较小的端口的成员IP地址作为客户端的IP, 并向客户端发送Redirect响应;
步骤204、客户端受到服务器发来的Redirect响应后,根据所述的成员 IP地址连接到指定的网络端口 。
图3所示为釆用本发明的一个具体实例的网络结构图。如图3所示,在 网络中共有四个客户端和两个服务器(Target),每个服务器有四个网口, 服务器1至服务器4的IP地址分别为10. 10. 1. 5 - 8。服务器1的4个网口 的IP地址分别为10. 10. 1. 201 - 204 J良务器2的4个网口的IP地址分别为 10. 10. 1. 205 - 208。
服务器1和服务器2上均可以访问设备ID ( Targetname )为 iqn. 2005—07. cn. com. odysys. iscsi: 1024的i殳备。
将服务器1和服务器2上的所有网络端口设定为一个IP组(IPGro叩), 给该IP组定义一个主IP (MasterIP),为10.10.1.200。所有网络端口的 成员IP (memberIP)依次为(两个服务器的IP交错加入)
10. 10. 1. 201, 10. 10. 1. 205, 10. 10. 1. 202, 10. 10. 1. 206, 10. 10. 1. 203, 10.10.1.207, 10.10.1.204, 10.10.1.208。即两个服务器的八个网口均可 以访问iqn. 2005-07. cn. com. odysys. iscsi: 1024设备。
MasterIP由服务器1和服务器2竟争获得,假定服务器1首先获得 MasterIP,同时假定该IP位于第一个网口 ,即10. 10. 1. 201所在网口 。
在Initiatorl至Initiator4上设定的所有的服务器IP均为 10.10.1.200,亦即MasterIP。
Initiatorl 连接 10.10.1.200 , 并发送访设备 ID 为 iqn. 2005-07. cn. com. odysys. iscsi: 1024的连接请求,由于10.10.1.200 在服务器1上,因此服务器l接受该连接请求,并根据IPGroup的配置,查 找到10.10.1.201可以用于该连接,于是服务器1发送Redirect报文到 initiatorl,告诉initiatorl,该设备ID已转移到10. 10. 1. 201,这样, initiatorl将自动连接到10. 10, 1. 201上。
之后,当Initiator2连接时,通过同样的步骤,服务器1发现 10.10.1.201已有连接,根据负载均衡的算法,服务器1会选择下一个
7MemberIP : 10.101.1.205作为回应,Initiator2于是自动重连到 10. 10. 1. 205上。
同样的道理,initiator3会连接到10. 10, 1. 202, initiator4会连接到 10. 10. 1. 206。
运行中,H定服务器1的10.10.1.202网线#:拔掉,于是initiator3 的连接中断。initiator3会请求主IP 10. 10. 1. 200的连^矣,月良务器1此时 会根据负载均匸斷和网口可用情况分配10. 10. 1. 203给initiator3连接。于 是initiator3在10. 10. 1. 203上恢复连接。
再假定运行中服务器1掉电,此时服务器2会接管MasterIP 10.10.1.200,假定在10. 10. 1. 205所在的网口 。 Initiatorl和initiator3 会尝试重连到10. 10. 1. 200,服务器2又根据IPGroup配置和负载均衡及网 口可用情况,分配10. 10. 1. 207和10. 10. 1. 208给这两个Initiator,从而 最终使得Initiatorl、 Initiator3的连接在服务器2上恢复。
通过上述实施方式可见,釆用该方法可以4艮好的实现负载均衡和高可用。
在图3所示的具体实施方式
中可以看出,当所述的服务器为多台时,还 可以将多台服务器上的可以访问某一设备的所有网络端口设定为同 一个 IPGroup。
在上述方法中还可以指定至少一个IPGroup作为默认IP组,当客户端 要访问的设备ID未配置对应的IPGro叩时,则使用默认的IPGro叩作为其 对应的IP组。
另外,所述的客户端还可以使用iSNS ( iSCSI Name Service)服务器上 的访问名称服务,来访问主IP地址(MasterIP)。
以上所述仅为本发明的实施方式,并非因此即限制本发明的专利范围, 凡是运用本发明说明书及附图内容所作的等效变换,直接或间接运用在其它 相关的技术领域,均同理包括在本发明的专利范围内。
权利要求
1. 一种基于iSCSI协议访问服务器上的设备的方法,包括以下步骤步骤1将服务器上的可以访问某一设备的所有网络端口设定为一个IP组;步骤2给每个IP组定义一个主IP地址;步骤3给上述服务器上所有可访问的网络端口各配置一个成员IP;步骤4客户端使用主IP地址向服务器提出访问某一设备的请求;步骤5服务器根据该设备所在的IP组内各网络端口的负载情况,挑选负载较小的网络端口的成员IP作为客户端实际使用的IP地址;步骤6客户端通过服务器指定的成员IP地址,与所述负载较小的网络端口建立连接,访问该设备。
2. 如权利要求1所述的一种方法,其特征在于,当某一成员IP所在的 网络端口连接失败时,客户端自动重连到主IP;然后重复步骤5至步骤6, 直到客户端获得可用的成员IP来建立连接。
3. 如权利要求1或2所述的一种方法,其特征在于,所述步骤5进一 步包括以下步骤步骤a:客户端使用主IP登陆到服务器,并指定要访问的设备ID; 步骤b:服务器根据客户端指定的设备ID查找到该设备所对应的IP组; 步骤c:服务器根据所述IP组内各网络端口的负载情况,挑选负载较小的端口的成员IP作为客户端实际使用的IP地址,并向客户端发送Redirect响应;步骤d:客户端收到服务器发来的Redirect响应后,根据所述的成员 IP连接到指定的网络端口。
4. 如权利要求3所述的一种方法,其特征在于,所述的服务器为多台, 将所述多台服务器上的可以访问某一设备的所有网络端口设定为同 一个IP 组。
5. 如权利要求1或2所述的一种方法,其特征在于,所述的服务器为多台,将所述多台服务器上的可以访问某一设备的所有网络端口设定为同一个IP组。
6. 如权利要求5所述的一种方法,其特征在于,所述的多台服务器之间轮流获得主IP。
7. 如权利要求6所述的一种方法,其特征在于,所述的多台服务器之间轮流获得成员IP的方法如下未配置主IP的服务器发送arp广播,查询是否有其它服务器已经配置了主IP;如有,则间隔一定时间后再查询;如果没有,则将自己配置为主IP;然后该服务器再检查网络上是否有重复配置;如果网络上无重复配置,则该服务器将自己最终配置为主IP;如果网络上有重复配置,则该服务器将自己的主IP的配置取消,并等待一段随机长度的时间后再发送arp广播。
8. 如权利要求1或2所述的一种方法,其特征在于,指定至少一个IP组作为默认IP组,当客户端要访问的设备ID未配置对应的IP组时,则使用默认的IP组作为其对应的IP组。
9. 如权利要求3所述的一种方法,其特征在于,指定至少一个IP组作为默认IP组;所述步骤b中进一步包括如果服务器根据客户端指定的设备ID未查找到该设备所对应的IP组时,则使用默认的IP组。
10. 如权利要求1或2所述的一种方法,其特征在于,所述的客户使用iSNS服务器上的访问名称服务,来访问所述的主IP地址。
全文摘要
本发明涉及一种基于iSCSI协议访问服务器上的设备的方法。该方法首先将服务器上的可以访问某一设备的所有网络端口设定为一个IP组,并给每个IP组定义一个主IP地址,然后客户端使用该主IP地址向服务器提出访问某一设备的请求,服务器根据该设备所在的IP组内各网络端口的负载情况,选择负载较小的网络端口与客户端建立连接。采用该方法,能够实现负载均衡和高可用。
文档编号H04L29/06GK101500005SQ20081005755
公开日2009年8月5日 申请日期2008年2月3日 优先权日2008年2月3日
发明者邹志军 申请人:北京艾德斯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1