iSCSI存储节点、架构以及读取、写入方法技术领域
本发明涉及一种存储架构,尤其涉及一种承载于TCP/IP(Transmission Control
Protocol/Internet Protocol,传输控制协议/互联网协议)协议上的iSCSI(Internet Small
Computer System Interface,因特网小型计算机系统接口)存储节点、架构及存储读取、
写入方法。
背景技术
iSCSI是由IETF(Internet Engineering Task Force,互联网工程任务组)开发的网络
存储标准,目的是为了用IP协议将存储设备连接在一起。通过在IP网上传送SCSI命
令和数据,iSCSI推动了数据在网际之间的传递,同时也促进了数据的远距离管理。由
于其出色的数据传输能力,iSCSI协议被认为是促进SAN(Storage Area Network,存储
区域网)市场快速发展的关键因素之一。因为IP网络的广泛应用,iSCSI能够在LAN
(Local Area Network,局域网)、WAN(Wide Area Network,广域网)甚至internet上
进行数据传送,使得数据的存储不再受地域的限制。
iSCSI协议设别根据角色不同,分为发起端和目标端。出于性能的考虑,有些厂商
已经采用专用的板卡来处理发起端的TCP/IP和iSCSI协议,即iSCSI的HBA(Host Bus
Adapter,主机总线适配器)卡。但是在目标端(Target),各个存储厂商基本采用PC
(Personal Computer,个人计算机)组成iSCSI的存储架构,即存储设备建立在PC服
务器的基础上,也就是选择一个普通的、性能优良的、可支持多块硬盘的PC(一般为
PC服务器和工控服务器),选择一款相对成熟稳定的iSCSI Target(iSCSI目标端)软件,
将iSCSI Target软件安装在PC服务器上,使普通的PC服务器转变成一台连接多个硬盘
的iSCSI存储设备,并通过PC服务器的以太网卡对外提供iSCSI数据传输协议。在PC
架构的iSCSI存储设备上,所有的RAID(Redundant Array of Independent Disk,独立冗
余磁盘阵列)组校验、逻辑卷管理、iSCSI运算、TCP/IP运算等都是以纯软件方式实
现(当然也有些设备采用价格较高的TOE(TCP Offload Engine,传输控制协议卸载引
擎)网卡实现TCP/IP运算)。因此对PC的CPU和内存的性能要求较高。另外iSCSI存
储设备的性能极容易受PC服务器运行状态的影响。
随着iSCSI存储产品的流行,市场迫切需要一种低成本的专用处理器来专门处理目
标端的TCP/IP、iSCSI协议和SCSI命令与ATA命令的转换。
发明内容
鉴于上述事实,本发明提供了一种用单块硬盘构成iSCSI节点,并以此iSCSI节点
为基本单元,通过高速以太网交换机和IPSAN(IP-Storage Area Network,基于IP的存
储区域网络)控制服务器构建基于互联网的、高带宽、高性能、低价格、可低成本扩容、
高可用性的存储系统的节点、架构以及存储读取、写入方法,即一种采用颗粒度细化到
单个硬盘的全iSCSI协议存储系统的节点、架构以及存储读取、写入方法。
为实现本发明的目的,本发明提供了一种单硬盘iSCSI节点,包括一块硬盘,以及
连接到所述硬盘上的iSCSI目标端控制单元。
较佳地,本发明的单硬盘iSCSI节点,iSCSI目标端控制单元包括:一个或多个网
络接入控制模块,TCP/IP协议控制模块,iSCSI协议处理模块,微处理模块,系统数据
缓存模块,一个或多个硬盘控制器模块和一个或多个硬盘收发模块。
网络接入控制模块,与TCP/IP协议控制模块相连接,用于传输信号的转换;
TCP/IP协议控制模块,分别与网络接入控制模块,iSCSI协议处理模块,微处理
模块和系统数据缓存模块相连接,用于检测TCP/IP协议是否合法,目标IP地址是否合
法以及TCP/IP协议的解读;
iSCSI协议处理模块,分别与TCP/IP协议控制模块,微处理模块和硬盘控制器模块
相连接,用于iSCSI协议的解读;
微处理模块,分别与TCP/IP协议控制模块,iSCSI协议处理模块,系统数据缓存模
块和硬盘控制器模块相连接,用于缓存管理以及异常情况的处理;
系统数据缓存模块,分别与TCP/IP协议控制模块,微处理模块和硬盘控制器模块
相连接,用于系统数据的缓存;
硬盘控制器模块,分别与iSCSI协议处理模块,微处理模块,系统数据缓存模块和
硬盘收发模块相连接,用于硬盘读写协议的处理;
硬盘收发模块,分别与硬盘控制器和硬盘相连接,用于数据收发以及数据信号串并
转换。
较佳地,本发明的单硬盘iSCSI节点,硬盘控制器模块和硬盘收发模块个数相同。
本发明还提供了一种iSCSI存储架构,包括一个或多个前端交换机,一个或多个
IPSAN控制服务器,后端交换机集群以及单硬盘iSCSI节点阵列。
IPSAN控制服务器通过前端交换机与应用服务器相连接,通过后端交换机集群与单
硬盘iSCSI节点阵列相连接;用于控制管理各单硬盘iSCSI节点的状态,地址映射表,
镜像映射表、各硬盘负荷表等;
后端交换机集群,由多个高速以太网交换机通过冗余链路交叉级联而成;
单硬盘iSCSI节点阵列,由单硬盘iSCSI节点与后端交换机集群冗余互联而成。
较佳地,本发明的iSCSI存储架构,单硬盘iSCSI节点为前述任意一条所述的单硬
盘iSCSI节点。
较佳地,本发明的iSCSI存储架构,单硬盘iSCSI节点的硬盘为一种接口硬盘或者
多种接口硬盘的组合。
本发明还提供了一种iSCSI写入方法,包括以下步骤:
步骤10:应用服务器经过前端交换机向IPSAN控制服务器发出写入数据命令;
步骤11:IPSAN控制服务器接收写入数据命令并分配数据存储地址,同时发送所
述存储地址至应用服务器;
步骤12:应用服务器接收所述存储地址,根据iSCSI协议通过后端交换机集群与所
述存储地址所对应的单硬盘iSCSI节点建立连接,并向其发送要写入的数据;
步骤13:所述存储地址对应的单硬盘iSCSI节点接收数据并写入硬盘,同时通过后
端交换机集群向应用服务器发送写入成功确认信息;
步骤14:应用服务器接收并发送写入成功确认信息至IPSAN控制服务器;
步骤15:IPSAN控制服务器收到所述写入成功确认信息后,更新数据存储地址映
射表。
较佳地,本发明的iSCSI写入方法,步骤11包括以下步骤:
步骤111:IPSAN控制服务器接收应用服务器发出的写入数据命令;
步骤112:IPSAN控制服务器从数据存储地址映射表中,根据空间管理、冗余备份
/镜像设置、条带化设置等条件,选取合适的且存储状态为非占用的数据存储地址;
步骤113:IPSAN控制服务器将选取的数据存储地址发送至应用服务器。
较佳地,本发明的iSCSI写入方法,步骤13包括以下步骤:
步骤131:所述存储地址对应的单硬盘iSCSI节点iSCSI目标端控制单元的网络接
入控制模块接收数据,并将标准的(R)GMII(GMII:Gigabit Media Independent Interface,
吉比特介质独立接口;RGMII:Reduced Gigabit Media Independent Interface,简化的
吉比特介质独立接口)接口信号经过缓存队列传送至TCP/IP协议控制模块;
步骤132:TCP/IP协议控制模块接收数据并分析处理,传送数据至iSCSI协议处理
模块;
步骤133:iSCSI协议处理模块接收数据并分析处理,传送数据至硬盘控制器模块;
步骤134:硬盘控制器模块接收数据并进行硬盘协议处理,传送数据至硬盘收发模
块;
步骤135:硬盘收发模块接收数据并将信号转换为串行信号,写入硬盘;接收并发
送硬盘返回的写入成功确认信息至硬盘控制器模块;
步骤136:硬盘控制器模块接收并发送所述写入成功确认信息至iSCSI协议处理模
块;
步骤137:iSCSI协议处理模块接收并将所述写入成功确认信息经iSCSI协议封装为
iSCSI状态包,发送至TCP/IP协议控制模块;
步骤138:TCP/IP协议控制模块接收并将所述iSCSI状态包经TCP/IP协议封装为
以太网状态包,发送至网络接入控制模块;
步骤139:网络接入控制模块接收所述以太网状态包并将其转换为(R)GMII信号,
通过后端交换机集群发送至应用服务器。
较佳地,本发明的iSCSI写入方法,步骤132包括以下步骤:
步骤132-1:TCP/IP协议控制模块接收数据并检测所接收数据目标IP地址是否正确;
若否,丢弃所述数据;
若是,进入步骤132-2;
步骤132-2:检测所接收数据的TCP/IP协议是否合法;
若否,丢弃所述数据;
若是,进入步骤132-3;
步骤132-3:检测所接受数据目标端口是否为iSCSI端口;
若否,则引发微处理模块中断,数据交由微处理模块处理并回复;
若是,进入步骤132-4;
步骤132-4:传送数据至iSCSI协议处理模块,由其解读iSCSI命令和数据。
较佳地,本发明的iSCSI写入方法,步骤133包括以下步骤:
步骤133-1:iSCSI协议处理模块接收数据并判断是否含有硬盘写入命令;
若否,则引发微处理模块中断,数据交由微处理模块处理并回复;
若是,进入步骤133-2;
步骤133-2:iSCSI协议处理模块将iSCSI命令转换成ATA命令,并与数据一起发
送至硬盘控制器模块。
较佳地,本发明的iSCSI写入方法,步骤132-3中的引发微处理模块中断,数据交
由微处理模块处理并回复,包括以下步骤:
步骤132-3-1:微处理模块根据各协议的标准对ARP,ICMP,Http或者SNMP等
非iSCSI协议的合法数据包进行处理;
步骤132-3-2:微处理模块生成并发送数据处理确认信息至iSCSI协议处理模块;
步骤132-3-3:iSCSI协议处理模块接收并将所述数据处理确认信息经iSCSI协议封
装为iSCSI状态包,发送至TCP/IP协议控制模块;
步骤132-3-4:TCP/IP协议控制模块接收并将所述iSCSI状态包经TCP/IP协议封装
为以太网状态包,发送至网络接入控制模块;
步骤132-3-5:网络接入控制模块接收所述以太网状态包并将其转换为(R)GMII信
号,通过后端交换机集群发送至应用服务器。
较佳地,本发明的iSCSI写入方法,步骤132-3中的引发微处理模块中断,数据交
由微处理模块处理并回复,包括以下步骤:
步骤133-1-1:微处理模块对iSCSI管理命令或者其它用户定制的管理命令进行处
理;
步骤133-1-2:微处理模块生成并发送管理命令处理确认信息至iSCSI协议处理模
块;
步骤133-1-3:iSCSI协议处理模块接收并将所述管理命令处理确认信息经iSCSI协
议封装为iSCSI状态包,发送至TCP/IP协议控制模块;
步骤133-1-4:TCP/IP协议控制模块接收并将所述iSCSI状态包经TCP/IP协议封装
为以太网状态包,发送至网络接入控制模块;
步骤133-1-5:网络接入控制模块接收所述以太网状态包并将其转换为(R)GMII信
号,通过后端交换机集群发送至应用服务器。
本发明还提供了一种iSCSI读取方法,包括以下步骤:
步骤20:应用服务器经过前端交换机向IPSAN控制服务器发出读取数据命令;
步骤21:IPSAN控制服务器接收读取数据命令并查找数据存储地址映射表,将请
求读取的数据的物理存储地址发送至应用服务器;
步骤22:应用服务器接收请求读取的数据的物理存储地址,根据iSCSI协议通过后
端交换机集群与所述物理存储地址所对应的单硬盘iSCSI节点建立连接,并向其发送读
取数据命令;
步骤23:所述存储地址对应的单硬盘iSCSI节点根据读取数据命令读取数据,并通
过后端交换机集群发送数据至应用服务器;
步骤24:应用服务器接收数据并通过前端交换机向IPSAN控制服务器发送读取成
功确认信息。
较佳地,本发明的iSCSI读取方法,步骤21包括以下步骤:
步骤211:IPSAN控制服务器接收应用服务器发送的读取数据命令;
步骤212:IPSAN控制服务器查找数据存储地址映射表,找出请求读取数据的物理
存储地址;
步骤213:IPSAN控制服务器将请求读取的数据的物理存储地址信息通过前端交换
机发送至应用服务器。
较佳地,本发明的iSCSI读取方法,步骤23包括以下步骤:
步骤231:所述存储地址对应的单硬盘iSCSI节点目标端控制单元的网络接入控制
模块接收读取数据命令,并将标准的(R)GMII接口信号经缓存队列传送至TCP/IP协议
控制模块;
步骤232:TCP/IP协议控制模块接收所述读取数据命令并分析处理,并将其传送至
iSCSI协议处理模块;
步骤233:iSCSI协议处理模块接收所述读取数据命令并做命令转换,并将其传送
至硬盘控制器模块;
步骤234:硬盘控制器模块接收转换过的读取数据命令并进行硬盘协议处理,生成
硬盘操作命令并将其传送至硬盘收发模块;
步骤235:硬盘收发模块接收所述硬盘操作命令,将其串行发送至硬盘,并接收从
硬盘串行读取的数据后,将读取的数据转换为并行数据,并发送至硬盘控制器模块;
步骤236:硬盘控制器模块接收所述读取的数据并发送至iSCSI协议处理模块;
步骤237:iSCSI协议处理模块接收并将所述读取的数据经iSCSI协议封装为iSCSI
数据包,并发送至TCP/IP协议控制模块;
步骤238:TCP/IP协议控制模块接收并将所述iSCSI数据包经TCP/IP协议封装为
以太网数据包,并发送至网络接入控制模块;
步骤239:网络接入控制模块接收所述以太网数据包并将其转换为(R)GMII信号,
通过后端交换机集群发送至应用服务器。
较佳地,本发明的iSCSI读取方法,步骤232包括以下步骤:
步骤232-1:TCP/IP协议控制模块接收读取数据命令并检测所接收请求目标IP地址
是否正确;
若否,丢弃该读取数据命令;
若是,进入步骤232-2;
步骤232-2:检测所接收读取数据命令的TCP/IP协议是否合法;
若否,丢弃所述读取数据命令;
若是,进入步骤232-3;
步骤232-3:检测所接受读取数据命令目标端口是否为iSCSI端口;
若否,则引发微处理模块中断,数据交由微处理模块处理;
若是,进入步骤232-4;
步骤232-4:传送所述读取数据命令至iSCSI协议处理模块。
较佳地,本发明的iSCSI读取方法,步骤233包括以下步骤:
步骤233-1:iSCSI协议处理模块接收数据并判断是否含有硬盘读取命令;
若否,则引发微处理模块中断,数据交由微处理模块处理;
若是,进入步骤233-2;
步骤233-2:iSCSI协议处理模块转换出ATA命令,并与数据一起发送至硬盘控制
器模块。
较佳地,本发明的iSCSI读取方法,步骤232-3中的引发微处理模块中断,数据交
由微处理模块处理并回复,包括以下步骤:
步骤232-3-1:微处理模块根据各协议的标准对ARP,ICMP,Http或者SNMP等
非iSCSI协议的合法数据包进行处理;
步骤232-3-2:微处理模块生成并发送数据处理确认信息至iSCSI协议处理模块;
步骤232-3-3:iSCSI协议处理模块接收并将所述数据处理确认信息经iSCSI协议封
装为iSCSI状态包,发送至TCP/IP协议控制模块;
步骤232-3-4:TCP/IP协议控制模块接收并将所述iSCSI状态包经TCP/IP协议封装
为以太网状态包,发送至网络接入控制模块;
步骤232-3-5:网络接入控制模块接收所述以太网状态包并将其转换为(R)GMII信
号,通过后端交换机集群发送至应用服务器。
较佳地,本发明的iSCSI读取方法,步骤233-1中的引发微处理模块中断,数据交
由微处理模块处理并回复,包括以下步骤:
步骤233-1-1:微处理模块对iSCSI管理命令或者其它用户定制的管理命令进行处
理;
步骤233-1-2:微处理模块生成并发送管理命令处理确认信息至iSCSI协议处理模
块;
步骤233-1-3:iSCSI协议处理模块接收并将所述管理命令处理确认信息经iSCSI协
议封装为iSCSI状态包,发送至TCP/IP协议控制模块;
步骤233-1-4:TCP/IP协议控制模块接收并将所述iSCSI状态包经TCP/IP协议封装
为以太网状态包,发送至网络接入控制模块;
步骤233-1-5:网络接入控制模块接收所述以太网状态包并将其转换为(R)GMII信
号,通过后端交换机集群发送至应用服务器。
本发明的有益效果在于,本发明的iSCSI存储节点、架构以及存储读取、写入方法
利用单块硬盘构成iSCSI磁盘节点,通过高速以太网交换机和IPSAN控制服务器构建存
储架构,使存储系统价格成本更加低廉、可低成本扩容、可用性更高、性能更高。
附图说明
图1为本发明第一实施例的单硬盘iSCSI节点的结构示意图;
图2为本发明第二实施例的iSCSI目标端控制单元的结构示意图;
图3为本发明第三实施例的组级iSCSI节点的结构示意图;
图4为本发明第三实施例的组级iSCSI节点示意图;
图5为本发明第四实施例的中等规模iSCSI节点的结构示意图;
图6为本发明第四实施例的中等规模iSCSI节点的示意图;
图7为本发明第五实施例的大型企业级iSCSI节点的结构示意图;
图8为本发明第六实施例的iSCSI存储架构示意图。
具体实施方式
为了使本发明iSCSI存储架构及读取、写入方法的目的、技术方案及优点更加清楚
明白,以下结合具体附图及具体实施例,对本发明iSCSI存储节点、架构以及读取、写
入方法进行进一步详细说明。
图1为本发明第一实施例的单硬盘iSCSI节点的结构示意图,如图1所示,本实施
例的单硬盘iSCSI节点,包括一块硬盘,以及连接到硬盘上的iSCSI目标端控制单元。
作为一种可实施方式,本实施例中,所述硬盘可以是SATA硬盘,也可以是SAS
硬盘,还可以是SSD硬盘。
图2为本发明第二实施例的iSCSI目标端控制单元的结构示意图,如图2所示,本
实施例的iSCSI目标端控制单元包括:一个或多个网络接入控制模块,TCP/IP协议控
制模块,iSCSI协议处理模块,微处理模块,系统数据缓存模块,一个或多个硬盘控制
器模块和一个或多个硬盘收发模块;
网络接入控制模块,与TCP/IP协议控制模块相连接,用于传输信号的转换;
TCP/IP协议控制模块,分别与网络接入控制模块,iSCSI协议处理模块,微处理模
块和系统数据缓存模块相连接,用于对收到的TCP/IP协议包进行分解、检测其合法性、
进行连接管理、对发出的数据包进行检验和计算、协议封装、状态更新等;
iSCSI协议处理模块,分别与TCP/IP协议控制模块,微处理模块和硬盘控制器模块
相连接,用于iSCSI协议的处理。处理内容包括对iSCSI的管理命令进行解读和回复,
将iSCSI的读写命令转换成ATA命令,对收到的数据进行iSCSI协议封装;
微处理模块,分别与TCP/IP协议控制模块,iSCSI协议处理模块,系统数据缓存模
块和硬盘控制器模块相连接,用于缓存管理、非TCP/IP和iSCSI协议数据包的处理以
及异常情况的处理;
系统数据缓存模块,分别与TCP/IP协议控制模块,微处理模块和硬盘控制器模块
相连接,用于系统数据的进出缓存;
硬盘控制器模块,分别与iSCSI协议处理模块,微处理模块,系统数据缓存模块和
硬盘收发模块相连接,用于ATA协议的处理;
硬盘收发模块,分别与硬盘控制器和硬盘相连接,用于数据收发以及数据信号串并
转换。
作为一种可实施方式,本实施例中,网络接入控制模块的个数为2个,其个数根据
存储架构的结构来确定。
作为一种可实施方式,本实施例中,硬盘控制器模块和硬盘收发模块各有1个,分
别为SATA硬盘控制器模块和SATA硬盘收发模块。硬盘控制器模块和硬盘收发模块个
数相同。当只有一个硬盘控制器模块和硬盘收发模块时,该硬盘控制器模块和硬盘收发
模块与其所连接的硬盘接口相匹配。当有多个硬盘控制器模块和硬盘收发模块时,除与
所连接的硬盘接口相匹配的硬盘控制器模块和硬盘收发模块外,其余硬盘控制器模块和
硬盘收发模块分别匹配其他种类的硬盘接口,以此来增加iSCSI目标端控制单元的扩展
性。
图3为本发明第三实施例的组级iSCSI节点的结构示意图,如图3所示,本实施例
的组级iSCSI节点包括:两个48口全千兆交换机(另有4个万兆扩展端口),以及48
个单硬盘iSCSI节点。
48个单硬盘iSCSI节点,平均分为两组,每组24个;
两组单硬盘iSCSI节点与两个48口全千兆交换机采用交叉冗余互联,即每个交换
机与所有48个单硬盘iSCSI节点均连接,每个单硬盘iSCSI节点与两个交换机连接。
交换机与每个单硬盘iSCSI节点之间传输带宽为1Gbps,每个交换机上行传输带宽
为10Gbps×4。
本实施例的组级iSCSI节点中的硬盘,可以是一种接口的硬盘,也可以是多种不同
接口硬盘的组合。
图5为本发明第四实施例的中等规模iSCSI节点的结构示意图,如图5所示,本实
施例的中等规模iSCSI节点包括:两个48口全万兆交换机,以及10个组级iSCSI节点
(如图4所示)。
10个组级iSCSI节点,平均分为两组,每组5个;
两组组级iSCSI节点与两个48口全万兆交换机采用交叉冗余互联,即每个交换机
与所有10个组级iSCSI节点均连接,每个组级iSCSI节点与两个交换机连接。
交换机与每个组级iSCSI节点之间传输带宽为10Gbps×4,每个交换机上行传输带
宽为10Gbps×8。
本实施例的中等规模iSCSI节点中的硬盘,可以是一种接口的硬盘,也可以是多种
不同接口硬盘的组合。
图7为本发明第五实施例的大型企业级iSCSI节点的结构示意图,如图7所示,本
实施例的大型企业级iSCSI节点包括:两个64口全万兆交换机,以及6个中等规模iSCSI
节点(如图6所示)。
6个中等规模iSCSI节点,平均分为两组,每组3个;
两组中等规模iSCSI节点与两个64口全万兆交换机采用交叉冗余互联,即每个交
换机与所有6个中等规模iSCSI节点均连接,每个中等规模iSCSI节点与两个交换机连
接。
交换机与每个中等规模iSCSI节点之间传输带宽为10Gbps×8,每个交换机上行传
输带宽为10Gbps×16。
本实施例的大型企业级iSCSI节点中的硬盘,可以是一种接口的硬盘,也可以是多
种不同接口硬盘的组合。
应当说明,作为可实施方式,本发明的第三实施例中选用48口全千兆交换机,第
四实施例中选用48口全万兆交换机,第五实施例中选用64口全万兆交换机,以及上述
三个实施例中选用iSCSI硬盘和节点的个数仅为本发明的优选事例,并不限制本发明,
可根据需求选用其他交换机和设置iSCSI硬盘和节点的个数。
图8为本发明第六实施例的iSCSI存储架构的结构示意图,如图8所示,本实施例
的iSCSI存储架构包括两个前端交换机,两个IPSAN控制服务器,后端交换机集群以及
单硬盘iSCSI节点阵列;
IPSAN控制服务器通过前端交换机与应用服务器相连接,通过后端交换机集群与单
硬盘iSCSI节点阵列相连接;用于控制管理各单硬盘iSCSI节点的状态,地址映射表,
镜像映射表、各硬盘负荷表等。
后端交换机集群,由多个高速以太网交换机通过冗余链路交叉级联而成;
单硬盘iSCSI节点阵列,由单硬盘iSCSI节点与后端交换机集群冗余互联而成。
应当说明,作为可实施方式,本实施例中选用前端交换机和IPSAN控制服务器的
个数仅为本发明的优选事例,并不限制本发明,可根据需求对前端交换机和IPSAN控
制服务器的个数进行调整。
本发明第六实施例的iSCSI写入方法,包括以下步骤:
步骤10:应用服务器经过前端交换机向IPSAN控制服务器发出写入数据命令;
步骤11:IPSAN控制服务器接收写入数据命令并分配数据存储地址,同时发送所
述存储地址至应用服务器;
上述数据的存储地址包括物理硬盘的IP地址和该硬盘对应的逻辑块地址(LBA,
Logical Block Addressing);
步骤12:应用服务器接收所述存储地址(IPs+LBAs),根据iSCSI协议通过后端
交换机集群与所述存储地址所对应的单硬盘iSCSI节点建立连接,并向其发送要写入的
数据;
步骤13:所述存储地址对应的单硬盘iSCSI节点接收数据并写入硬盘,同时通过后
端交换机集群向应用服务器发送写入成功确认信息;
步骤14:应用服务器接收并发送写入成功确认信息至IPSAN控制服务器;
步骤15:IPSAN控制服务器收到所述写入成功确认信息后,更新数据存储地址映
射表。
优选地,上述步骤11包括以下步骤:
步骤111:IPSAN控制服务器接收应用服务器发出的写入数据命令;
步骤112:IPSAN控制服务器从数据存储地址映射表中,根据空间管理、冗余备份
/镜像设置、条带化设置等条件,选取合适的且存储状态为非占用的数据存储地址;
步骤113:IPSAN控制服务器将选取的数据存储地址发送至应用服务器。
优选地,上述步骤13包括以下步骤:
步骤131:所述存储地址对应的单硬盘iSCSI节点iSCSI目标端控制单元的网络接
入控制模块接收数据,并将标准的(R)GMII接口信号经过缓存队列传送至TCP/IP协议
控制模块;
步骤132:TCP/IP协议控制模块接收数据并分析处理,传送数据至iSCSI协议处理
模块;
步骤133:iSCSI协议处理模块接收数据并分析处理,传送数据至硬盘控制器模块;
步骤134:硬盘控制器模块接收数据并进行硬盘协议处理,传送数据至硬盘收发模
块;
步骤135:硬盘收发模块接收数据并将信号转换为串行信号,写入硬盘;接收并发
送硬盘返回的写入成功确认信息至硬盘控制器模块;
步骤136:硬盘控制器模块接收并发送所述写入成功确认信息至iSCSI协议处理模
块;
步骤137:iSCSI协议处理模块接收并将所述写入确认报告信息经iSCSI协议封装为
iSCSI状态包,发送至TCP/IP协议控制模块;
步骤138:TCP/IP协议控制模块接收并将所述iSCSI状态包经TCP/IP协议封装为
以太网状态包,发送至网络接入控制模块;
步骤139:网络接入控制模块接收所述以太网状态包并将其转换为(R)GMII信号,
通过后端交换机集群发送至应用服务器。
优选地,上述步骤132包括以下步骤:
步骤132-1:TCP/IP协议控制模块接收数据并检测所接收数据目标IP地址是否正确;
若否,丢弃所述数据;若是,进入步骤132-2;
步骤132-2:检测所接收数据的TCP/IP协议是否合法(包括连接存在性、CRC(Cyclic
Redundancy Check,循环冗余校验码)检测、双方序号和检验和等信息);若否,丢弃
所述数据;若是,进入步骤132-3;
步骤132-3:检测所接受数据目标端口是否为iSCSI端口;
若否,则引发微处理模块中断,数据交由微处理模块处理(表示为非iSCSI协议的
其它合法数据包);
若是,进入步骤132-4;
步骤132-4:传送数据至iSCSI协议处理模块,由其解读iSCSI命令和数据。
优选地,上述步骤133包括以下步骤:
步骤133-1:iSCSI协议处理模块接收数据并判断是否含有硬盘写入命令;
若否,则引发微处理模块中断,数据交由微处理模块处理(表示是iSCSI的管理命
令,不涉及数据传输);
若是,进入步骤133-2;
步骤133-2:iSCSI协议处理模块将iSCSI命令转换成ATA命令,并与数据一起发
送至硬盘控制器模块。
优选地,步骤132-3中的引发微处理模块中断,数据交由微处理模块处理并回复,
包括以下步骤:
步骤132-3-1:微处理模块根据各协议的标准对ARP,ICMP,Http或者SNMP等
非iSCSI协议的合法数据包进行处理;
步骤132-3-2:微处理模块生成并发送数据处理确认信息至iSCSI协议处理模块;
步骤132-3-3:iSCSI协议处理模块接收并将所述数据处理确认信息经iSCSI协议封
装为iSCSI状态包,发送至TCP/IP协议控制模块;
步骤132-3-4:TCP/IP协议控制模块接收并将所述iSCSI状态包经TCP/IP协议封装
为以太网状态包,发送至网络接入控制模块;
步骤132-3-5:网络接入控制模块接收所述以太网状态包并将其转换为(R)GMII信
号,通过后端交换机集群发送至应用服务器。
优选地,步骤132-3中的引发微处理模块中断,数据交由微处理模块处理并回复,
包括以下步骤:
步骤133-1-1:微处理模块对iSCSI管理命令或者其它用户定制的管理命令进行处
理;
步骤133-1-2:微处理模块生成并发送管理命令处理确认信息至iSCSI协议处理模
块;
步骤133-1-3:iSCSI协议处理模块接收并将所述管理命令处理确认信息经iSCSI协
议封装为iSCSI状态包,发送至TCP/IP协议控制模块;
步骤133-1-4:TCP/IP协议控制模块接收并将所述iSCSI状态包经TCP/IP协议封装
为以太网状态包,发送至网络接入控制模块;
步骤133-1-5:网络接入控制模块接收所述以太网状态包并将其转换为(R)GMII信
号,通过后端交换机集群发送至应用服务器。
本实施例中,数据传输过程中的TCP/IP协议,iSCSI协议的处理均由iSCSI目标端
控制单元采用硬件加速处理,处理速度可达到通过即处理的效果,数据的接收和发送达
到千兆以太网的线速。
本发明第七实施例的iSCSI读取方法,包括以下步骤:
步骤20:应用服务器经过前端交换机向IPSAN控制服务器发出读取数据命令;
步骤21:IPSAN控制服务器接收读取数据命令并查找数据存储地址映射表,将请
求读取的数据的物理存储地址发送至应用服务器;
上述物理存储地址包括IP地址和物理硬盘的LBA地址;
步骤22:应用服务器接收请求读取的数据的物理存储地址(IPs+LBAs),根据iSCSI
协议通过后端交换机集群与所述物理存储地址所对应的单硬盘iSCSI节点建立连接,并
向其发送要读取数据命令;
步骤23:所述存储地址对应的单硬盘iSCSI节点根据读取数据命令读取数据,并通
过后端交换机集群发送所读取数据至应用服务器;
步骤24:应用服务器接收数据并通过前端交换机向IPSAN控制服务器发送读取成
功确认信息。
优选地,上述步骤21包括以下步骤:
步骤211:IPSAN控制服务器接收应用服务器发送的读取数据命令;
步骤212:IPSAN控制服务器查找数据存储地址映射表,找出请求读取数据的物理
存储地址;
步骤213:IPSAN控制服务器将请求读取的数据的物理存储地址信息通过前端交换
机发送至应用服务器。
优选地,上述步骤23包括以下步骤:
步骤231:所述存储地址对应的单硬盘iSCSI节点目标端控制单元的网络接入控制
模块接收读取数据命令,并将标准的(R)GMII接口信号经缓存队列传送至TCP/IP协议
控制模块;
步骤232:TCP/IP协议控制模块接收所述读取数据命令并分析处理,并将其传送至
iSCSI协议处理模块;
步骤233:iSCSI协议处理模块接收所述读取数据命令并做命令转换,并将其传送
至硬盘控制器模块;
步骤234:硬盘控制器模块接收转换过的读取数据命令并进行硬盘协议处理,生成
硬盘操作命令并将其传送至硬盘收发模块;
步骤235:硬盘收发模块接收所述硬盘操作命令,将其串行发送至硬盘,并接收从
硬盘串行读取的数据后,将读取的数据转换为并行数据,并发送至硬盘控制器模块;
步骤236:硬盘控制器模块接收所述读取的数据并发送至iSCSI协议处理模块;
步骤237:iSCSI协议处理模块接收并将所述读取的数据经iSCSI协议封装为iSCSI
数据包,并发送至TCP/IP协议控制模块;
步骤238:TCP/IP协议控制模块接收并将所述iSCSI数据包经TCP/IP协议封装为
以太网数据包,并发送至网络接入控制模块;
步骤239:网络接入控制模块接收所述以太网数据包并将其转换为(R)GMII信号,
通过后端交换机集群发送至应用服务器。
优选地,上述步骤232包括以下步骤:
步骤232-1:TCP/IP协议控制模块接收读取数据命令并检测所接收请求目标IP地址
是否正确;若否,丢弃该读取数据命令;若是,进入步骤232-2;
步骤232-2:检测所接收读取数据命令的TCP/IP协议是否合法(包括连接存在性、
CRC检测、双方序号和检验和等信息);若否,丢弃所述读取数据命令;若是,进入步
骤232-3;
步骤232-3:检测所接受读取数据命令目标端口是否为iSCSI端口;若否,则引发
微处理模块中断,数据交由微处理模块处理(表示为非iSCSI协议的其它合法数据包);
若是,进入步骤232-4;
步骤232-4:传送所述读取数据命令至iSCSI协议处理模块。
优选地,上述步骤233包括以下步骤:
步骤233-1:iSCSI协议处理模块接收数据并判断是否含有硬盘读取命令;若否,则
引发微处理模块中断,数据交由微处理模块处理(表示是iSCSI的管理命令,不涉及数
据传输);若是,进入步骤233-2;
步骤233-2:iSCSI协议处理模块转换出ATA命令,并与数据一起发送至硬盘控制
器模块。
优选地,步骤232-3中的引发微处理模块中断,数据交由微处理模块处理并回复,
包括以下步骤:
步骤232-3-1:微处理模块根据各协议的标准对ARP,ICMP,Http或者SNMP等
非iSCSI协议的合法数据包进行处理;
步骤232-3-2:微处理模块生成并发送数据处理确认信息至iSCSI协议处理模块;
步骤232-3-3:iSCSI协议处理模块接收并将所述数据处理确认信息经iSCSI协议封
装为iSCSI状态包,发送至TCP/IP协议控制模块;
步骤232-3-4:TCP/IP协议控制模块接收并将所述iSCSI状态包经TCP/IP协议封装
为以太网状态包,发送至网络接入控制模块;
步骤232-3-5:网络接入控制模块接收所述以太网状态包并将其转换为(R)GMII信
号,通过后端交换机集群发送至应用服务器。
优选地,步骤233-1中的引发微处理模块中断,数据交由微处理模块处理并回复,
包括以下步骤:
步骤233-1-1:微处理模块对iSCSI管理命令或者其它用户定制的管理命令进行处
理;
步骤233-1-2:微处理模块生成并发送管理命令处理确认信息至iSCSI协议处理模
块;
步骤233-1-3:iSCSI协议处理模块接收并将所述管理命令处理确认信息经iSCSI协
议封装为iSCSI状态包,发送至TCP/IP协议控制模块;
步骤233-1-4:TCP/IP协议控制模块接收并将所述iSCSI状态包经TCP/IP协议封装
为以太网状态包,发送至网络接入控制模块;
步骤233-1-5:网络接入控制模块接收所述以太网状态包并将其转换为(R)GMII信
号,通过后端交换机集群发送至应用服务器。
本实施例中,数据传输过程中的TCP/IP协议,iSCSI协议的处理均由iSCSI目标端
控制单元采用硬件加速处理,处理速度可达到通过即处理的效果,数据的接收和发送达
到千兆以太网的线速。
以上所述仅为本发明的优选事例而已,并不用于限制本发明,对于本领域的技术人
员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所做的任何修
改、等同替换、改进,均应包含在本发明的保护范围以内。