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

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

Info

Publication number
CN103023723B
CN103023723B CN201210541194.7A CN201210541194A CN103023723B CN 103023723 B CN103023723 B CN 103023723B CN 201210541194 A CN201210541194 A CN 201210541194A CN 103023723 B CN103023723 B CN 103023723B
Authority
CN
China
Prior art keywords
address
iscsi
iptables
memory device
main frame
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
Application number
CN201210541194.7A
Other languages
English (en)
Other versions
CN103023723A (zh
Inventor
杨学龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Innovation Technology Co., Ltd.
Shenzhen Innovation Software Technology Co., Ltd.
Original Assignee
Innovation And Technology Storage Technology Co Ltd
CHUANGXINKE SOFTWARE TECHNOLOGY (SHENZHEN) Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Innovation And Technology Storage Technology Co Ltd, CHUANGXINKE SOFTWARE TECHNOLOGY (SHENZHEN) Co Ltd filed Critical Innovation And Technology Storage Technology Co Ltd
Priority to CN201210541194.7A priority Critical patent/CN103023723B/zh
Publication of CN103023723A publication Critical patent/CN103023723A/zh
Application granted granted Critical
Publication of CN103023723B publication Critical patent/CN103023723B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

一种linux环境下进行iSCSI多路径测试的方法
技术领域
本申请涉及计算机及网络技术领域,尤其涉及一种linux环境下进行iSCSI多路径测试的方法。
背景技术
互联网小型计算机系统接口(iSCSI,InternetSmallComputerSystemInterface)是一种基于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–Aoutput–d$ip-jdrop#$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–Doutput-d$ip-jdrop#$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。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请的保护范围,凡在本申请技术方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (4)

1.一种linux环境下进行互联网小型计算机系统接口iSCSI多路径测试的方法,其特征在于,该方法通过包括一台装有linux系统且安装好iptables的主机、交换机和一台iSCSI存储设备的测试系统实施,所述主机连接交换机,交换机与iSCSI存储设备的每一个网口建立一个IP连接;该方法包括:
A、在linux主机上启动iptables进程;
B、生成IP地址列表文件,该IP地址列表文件中包括待测的iSCSI存储设备所有业务网口的IP地址;
C、依据IP地址列表文件中的IP列表顺序,iptables进程依次阻塞1条IP地址,其余IP地址正常提供给前端主机运行的应用程序建立IP连接并运行业务,记录业务运行结果,其中包括:
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。
2.根据权利要求1所述的方法,其特征在于,步骤C-2进一步包括:
判断iSCSI存储设备的路径数是否减少,若是继续执行步骤C-3,否则退出流程。
3.根据权利要求1所述的方法,其特征在于,步骤C-4进一步包括:
判断iSCSI存储设备的路径数是否等于IP列表总数totalip,若是,继续执行步骤C-5,否则退出流程。
4.根据权利要求1所述的方法,其特征在于,步骤C-3所述预定时长为150秒。
CN201210541194.7A 2012-12-14 2012-12-14 一种linux环境下进行iSCSI多路径测试的方法 Active CN103023723B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210541194.7A CN103023723B (zh) 2012-12-14 2012-12-14 一种linux环境下进行iSCSI多路径测试的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210541194.7A CN103023723B (zh) 2012-12-14 2012-12-14 一种linux环境下进行iSCSI多路径测试的方法

Publications (2)

Publication Number Publication Date
CN103023723A CN103023723A (zh) 2013-04-03
CN103023723B true CN103023723B (zh) 2015-11-18

Family

ID=47971875

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210541194.7A Active CN103023723B (zh) 2012-12-14 2012-12-14 一种linux环境下进行iSCSI多路径测试的方法

Country Status (1)

Country Link
CN (1) CN103023723B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105356983B (zh) * 2015-09-24 2019-05-14 浪潮电子信息产业股份有限公司 一种iSCSI协议一致性测试软件iscsisim的改进方法
CN110855518B (zh) * 2019-10-31 2021-09-14 苏州浪潮智能科技有限公司 一种自动适配测试主机的方法和系统
CN111901399B (zh) 2020-07-08 2022-12-09 苏州浪潮智能科技有限公司 云平台块设备异常审计方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1633131A (zh) * 2005-01-14 2005-06-29 清华大学 一种iSCSI存储系统的实现方法
CN102089756A (zh) * 2008-07-15 2011-06-08 Lsi公司 用于在存储区域网络的组件认证期间植入协议特定错误的系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1633131A (zh) * 2005-01-14 2005-06-29 清华大学 一种iSCSI存储系统的实现方法
CN102089756A (zh) * 2008-07-15 2011-06-08 Lsi公司 用于在存储区域网络的组件认证期间植入协议特定错误的系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种iSCSI目标器在SAN存储控制器中的实现;吴同;《硕士论文》;20091231;第31页 *
基于iSCSI的虚拟存储系统设计与实现;任建奇;《硕士论文》;20061231;第51页 *

Also Published As

Publication number Publication date
CN103023723A (zh) 2013-04-03

Similar Documents

Publication Publication Date Title
Wang et al. Scotch: Elastically scaling up sdn control-plane using vswitch based overlay
WO2022017249A1 (zh) 可编程交换机、流量统计方法、防御方法和报文处理方法
US10050847B2 (en) Selective scanning of network packet traffic using cloud-based virtual machine tool platforms
EP2056559B1 (en) Method and system for network simulation
CN109327342B (zh) 一种基于任务驱动的自适应sdn仿真系统及仿真平台
US20190319923A1 (en) Network data control method, system and security protection device
CN107800668B (zh) 一种分布式拒绝服务攻击防御方法、装置及系统
CN105005521A (zh) 测试方法及装置
CN106330951A (zh) 一种网络防护方法、装置和系统
Pfeiffenberger et al. Evaluation of software-defined networking for power systems
CN103023723B (zh) 一种linux环境下进行iSCSI多路径测试的方法
CN107241304A (zh) 一种DDos攻击的检测方法及装置
CN106650425A (zh) 一种安全沙箱的控制方法及装置
CN107547240A (zh) 一种链路检测方法和装置
US9985864B2 (en) High precision packet generation in software using a hardware time stamp counter
US20130010602A1 (en) Synchronized Commands for Network Testing
US8724473B2 (en) Locating signatures in packets
CN106506265B (zh) 检测fpga芯片挂死的方法及装置
US8537676B1 (en) Rate limiting for DTCP message transport
CN108156052B (zh) 一种设备稳定性测试的方法及系统
US10181997B2 (en) Methods, systems and computer readable media for providing receive port resiliency in a network equipment test device
US10735469B1 (en) Apparatus, system, and method for predictively enforcing security policies on unknown flows
US10498591B1 (en) Isolating service faults using loopbacks
CN112995009B (zh) 虚拟机向本地虚拟化网络镜像流量的方法及装置
CN112214258B (zh) 基于软件定义广域网的端到端能力基准测试方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 518057 Room 501A, 9 Buildings, Shenzhen Software Park (Phase 2), No. 1 Science and Technology Middle Road, Nanshan High-tech Zone, Shenzhen, Guangdong Province

Co-patentee after: Innovation Technology Co., Ltd.

Patentee after: Shenzhen Innovation Software Technology Co., Ltd.

Address before: 518057 Section D West, 2nd Floor, 1st # Building, Industrial Building, Great Wall Computer Building, No. 3 Kefa Road, Nanshan District, Shenzhen City, Guangdong Province

Co-patentee before: Innovation and Technology Storage Technology Co., Ltd.

Patentee before: Chuangxinke Software Technology (Shenzhen) Co., Ltd.