首页> 中国专利> 一种linux环境下进行iSCSI多路径测试的方法

一种linux环境下进行iSCSI多路径测试的方法

摘要

本申请公开了一种linux环境下进行互联网小型计算机系统接口iSCSI多路径测试的方法,该方法通过包括一台装有linux系统且安装好iptables的主机、交换机和一台iSCSI存储设备的测试系统实施,所述主机连接交换机,交换机与iSCSI存储设备的每一个网口建立一个IP连接;该方法包括:A、在linux主机上启动iptables进程;B、生成IP地址列表文件,该IP地址列表文件中包括待测的iSCSI存储设备所有业务网口的IP地址;C、依据IP地址列表文件中的IP列表顺序,iptables进程依次阻塞1条IP地址,其余IP地址正常提供给前端主机运行的应用程序建立IP连接并运行业务,记录业务运行结果。通过应用本申请技术方案,可以自动高效地完成iSCSI多路径测试。

著录项

  • 公开/公告号CN103023723A

    专利类型发明专利

  • 公开/公告日2013-04-03

    原文格式PDF

  • 申请/专利号CN201210541194.7

  • 发明设计人 杨学龙;

    申请日2012-12-14

  • 分类号H04L12/26(20060101);H04L29/06(20060101);H04L29/08(20060101);

  • 代理机构11018 北京德琦知识产权代理有限公司;

  • 代理人王民盛;王丽琴

  • 地址 518057 广东省深圳市南山区科发路3号长城电脑大厦工业厂房1#楼2楼D段西

  • 入库时间 2024-02-19 19:24:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-07-26

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L12/26 变更前: 变更后: 变更前: 变更后: 申请日:20121214

    专利权人的姓名或者名称、地址的变更

  • 2015-11-18

    授权

    授权

  • 2013-05-01

    实质审查的生效 IPC(主分类):H04L12/26 申请日:20121214

    实质审查的生效

  • 2013-04-03

    公开

    公开

说明书

技术领域

本申请涉及计算机及网络技术领域,尤其涉及一种linux环境下进行iSCSI多路径测试的方法。

背景技术

互联网小型计算机系统接口(iSCSI,Internet Small Computer System Interface)是一种基于TCP/IP的协议,用来建立和管理IP存储设备和客户端等之间的相互连接,并创建存储区域网络(SAN)。SAN使得SCSI协议应用于高速数据传输网络成为可能,这种传输以数据块级别(block-level)在多个数据存储网络间进行。

SCSI结构基于客户端/服务器模式,其通常应用环境是:设备互相靠近,并且这些设备由SCSI总线连接。iSCSI的主要功能是在TCP/IP网络上的客户端(启动器initiator)和存储设备(目标器target)之间进行大量数据的封装和可靠传输过程。此外,iSCSI提供了在IP网络封装SCSI命令,且运行在TCP上。为了增加设备带宽,往往给基于iSCSI技术的网络存储设备配置多个网口,每个网口具有各自的IP地址,这样,不同的iSCSI启动器可以连接到同一个iSCSI目标器的不同网口,达到流量均衡的目的。因此,需要对iSCSI目标器的每一个物理网口进行测试,验证其是否正常工作,这被称作iSCSI多路径测试。

在linux环境下进行iSCSI多路径测试的系统如图1所示,Linux服务器101连接交换机102,交换机102与iSCSI存储设备103的每一个网口建立一个IP连接。现有技术中的iSCSI多路径测试大多数是采用人工方法进行操作,比如人工插上iSCSI目标器103的待测网口与交换机102的网线,待测试完毕后将网线从与网口连接交换机102的端口拔出,再测试下一个待测网口,这样的方法对测试人员来说是机械式的工作,并且工作效率不高,测试人员在整个测试过程中也比较乏味,在极限情况下还无法完成测试需求。

发明内容

本申请提供了一种linux环境下进行iSCSI多路径测试的方法,可以自动高效地完成iSCSI多路径测试。

本申请提供的一种linux环境下进行iSCSI多路径测试的方法,其特征在于,该方法通过包括一台装有linux系统且安装好iptables的主机、交换机和一台iSCSI存储设备的测试系统实施,所述主机连接交换机,交换机与iSCSI存储设备的每一个网口建立一个IP连接;该方法包括:

A、在linux主机上启动iptables进程;

B、生成IP地址列表文件,该IP地址列表文件中包括待测的iSCSI存储设备所有业务网口的IP地址;

C、依据IP地址列表文件中的IP列表顺序,iptables进程依次阻塞1条IP地址,其余IP地址正常提供给前端主机运行的应用程序建立IP连接并运行业务,记录业务运行结果。

较佳地,步骤C包括:

C-1、设置循环参数looptimes和获取IP列表总数totalip,令参数j=1,i=j%totalip;

C-2、Iptables进程读取IP地址列表文件中的第i个IP地址,当i=0时,则选择IP地址列表中最后一个IP地址进行阻塞;当i!=0时,则选择第i个IP地址进行阻塞,将参数($j,$ip,block)记录到业务运行结果中,首次执行时,i=1;

C-3、等待预先设定的时长;

C-4、Iptables进程将所述第i个IP地址对应的路径恢复正常,将参数($j,$ip,unblock)记录到业务运行结果中;

C-5、令j=j+1,判断j是否小于等于looptimes,若是,转至步骤C-2,否则结束步骤C。

较佳地,步骤C-2进一步包括:

判断iSCSI存储设备的路径数是否减少,若是继续执行步骤C-3,否则退出流程。

较佳地,步骤C-4进一步包括:

判断iSCSI存储设备的路径数是否等于IP列表总数totalip,若是,继续执行步骤C-5,否则退出流程。

较佳地,步骤C-3所述预定时长为150秒。

从以上技术方案可以看出,利用linux系统的iptables功能,将交换机和iSCSI存储设备之间n条路径中的1条路径阻塞,只留下n-1条路径工作,然后再放开这1条路径并依次循环,这样的测试方法,就像人工拔插网线、控制器一样,达到失效备援(failover)、自动恢复(failback)功能;结果自动保存,以便后续查询结果。

附图说明

图1为在linux环境下进行iSCSI多路径测试的系统示意图;

图2为本申请实施例提供的linux环境下进行iSCSI多路径测试的方法流程图。

具体实施方式

本申请提出了一种linux环境下进行iSCSI多路径测试的方法,其基本思想是利用linux系统的iptables功能,将交换机和iSCSI存储设备之间n条路径中的1条路径阻塞,只留下n-1条路径工作,然后再放开这1条路径并依次循环。这样的测试方法,就像人工拔插网线、控制器一样,达到失效备援(failover)、自动恢复(failback)功能;结果自动保存,以便后续查询结果。

其中,Iptables是与linux内核集成的IP信息包过滤系统,可用于添加、编辑和除去规则,这些规则是在做信息包过滤决定时,防火墙所遵循和组成的规则。这些规则存储在专用的信息包过滤表中,而这些表集成在Linux内核中。在信息包过滤表中,规则被分组放在所谓的链(chain)中。

为使本申请技术方案的技术原理、特点以及技术效果更加清楚,以下结合具体实施例对本申请技术方案进行详细阐述。

iptables基本原理如下:规则(rules)其实就是网络管理员预定义的数据包筛选条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。规则存储在内核空间的信息包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。本申请方案增加一个选择路径函数(根据ip-list文件,依次阻塞1条ip路径用于放行,其余路径放行)、增加一个计数器(用于计算循环次数)以及增加结果记录文件。

图2为本申请实施例提供的linux环境下进行iSCSI多路径测试的方法流程图,包括如下步骤:

步骤201:准备测试环境,在linux主机上启动iptables进程。所述测试环境即构建如图1所示的系统,包括一台装有linux系统且安装好iptables的主机、交换机和一台iSCSI存储设备;主机连接交换机,交换机与iSCSI存储设备的每一个网口建立一个IP连接。

步骤202:生成IP地址列表文件,该IP地址列表文件中包括待测的iSCSI存储设备所有业务网口的IP地址。

步骤203:依据IP地址列表文件中的IP列表顺序,iptables进程依次阻塞1条IP地址,其余IP地址正常提供给前端主机运行的应用程序建立IP连接并运行业务,记录业务运行结果。

其中,步骤203具体包括如下子步骤:

子步骤203-1:设置循环参数(looptimes)和获取IP列表总数(totalip),令参数j=1,i=j%totalip。

子步骤203-2:Iptables进程读取IP地址列表文件中的第i个IP地址,当i=0时,则选择IP地址列表中最后一个IP地址进行阻塞;当i!=0时,则选择第i个IP地址进行阻塞,将参数($j,$ip,block)传递到业务运行结果中,将业务运行结果记录追加到result.txt文件中,首次执行时,i=1。

阻塞路径对应的命令行为:

Iptables–A output–d$ip-j drop#$ip为获取到的第i个ip地址。

该子步骤还可以进一步包括:

判断iSCSI存储设备的路径数是否减少,如果减少则说明路径切换成功,否则失败退出流程。获取现有路径数(pathnumber)的方法如:Pathnumber=`Multipath–ll|grep“active”|wc–l`,如果pathnumber<totalip则成功。

子步骤203-3:等待预先设定的时长。该时长为Linux系统中多路径IO管理(MPIO)软件切换流量所需的时间,一般是150秒。

子步骤203-4:Iptables进程将所述第i个IP地址对应的路径恢复正常。将参数($j,$ip,unblock)传递到业务运行结果中,将业务运行结果记录追加到result.txt文件中。

将路径恢复正常对应命令行为:

Iptables–D output-d$ip-j drop#$ip为子步骤203-2中获取到的第i个ip地址

该子步骤还可以进一步包括:

判断iSCSI存储设备的路径数是否等于totalip,如果等于则说明路径恢复成功,获取现有路径(pathnumber)如:Pathnumber=`Multipath–ll|grep“active”|wc–l`,如果pathnumber==totalip则成功,否则失败退出程序。

子步骤203-5:令j=j+1,判断j是否小于等于looptimes,若是,转至子步骤203-2,否则结束步骤203。

通过以上操作,可以替代交换机上手动up/down与iSCSI存储设备连接的端口,从而实现自动测试failover和failback。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请的保护范围,凡在本申请技术方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号