基于通用服务器和嵌入式服务器的双层iSCSI目标器系统
技术领域
本发明涉及网络通信领域,特别涉及一种基于通用服务器和嵌入式服务器的双层iSCSI目标器系统。
背景技术
在大数据时代,信息数据呈几何级别增长,迅速填满了计算机系统内一切可用的存储空间。当前,网络存储已经成为存储业界的共识。iSCSI(Internet Small ComputerSystem Interface,因特网小型计算机接口)是一种基于TCP/IP的协议,用来建立和管理IP存储设备、主机和客户机等之间的相互连接,并通过TCP/IP网络创建存储区域网络(SAN)。iSCSI技术的出现对于以局域网为网络环境的用户来说,只需不多的投资就可以方便、快捷地对信息和数据进行交互式传输和管理。因此构建具有大容量和高吞吐的iSCSI target(目标器)系统,对于大规模的计算和存储都具有十分重要的显示意义。
现有技术中的iSCSI目标器系统的实现或是基于通用服务器,或是基于嵌入式服务器,这使得整个系统不容易实现容量扩展,且对外提供的服务带宽有限。
发明内容
本发明的目的在于克服现有技术中的iSCSI目标器系统容量不易扩展,对外提供的服务带宽有限的缺陷,从而提供一种便于扩展、能够对外提供较大带宽的双层iSCSI目标器系统。
为了实现上述目的,本发明提供了一种基于通用服务器和嵌入式服务器的双层iSCSI目标器系统,包括:嵌入式服务器102、通用服务器103、双层iSCSI目标器系统间管理交互模块105、双层iSCSI目标器系统互联模块108;其中,
所述嵌入式服务器102至少包括双层iSCSI目标器系统对外服务接口模块107,所述通用服务器103至少包括磁盘阵列管理模块106,所述嵌入式服务器102与通用服务器103之间采用双层iSCSI目标器系统互联模块108进行连接;所述通用服务器103通过磁盘阵列管理模块106管理外部的磁盘阵列集群104,从而构建第一层iSCSI目标器;所述嵌入式服务器102通过所述双层iSCSI目标器系统互联模块108连接所述第一层iSCSI目标器,构建第二层iSCSI目标器,所述第一层iSCSI目标器与所述第二层iSCSI目标器之间采用双层iSCSI目标器系统间管理交互模块105来交互数据。
上述技术方案中,所述磁盘阵列管理模块106用于直接管理外部的磁盘阵列集群104,负责管理iSCSI目标器设备的lun参数、读写磁盘阵列的I/O类型以及设备写入方式。
上述技术方案中,所述双层iSCSI目标器系统对外服务接口模块107用于向外部iSCSI启动器提供访问服务的接口,完成与外部iSCSI启动器的会话连接和数据交互。
上述技术方案中,所述双层iSCSI目标器系统互联模块108用于完成对一个或多个通用服务器iSCSI目标器的发现和初始化任务,把通用服务器的磁盘阵列设备连接并虚拟为嵌入式服务器本地的存储。
上述技术方案中,所述双层iSCSI目标器系统间管理交互模块105用于负责处理通用服务器103和嵌入式服务器102之间的I/O请求。
本发明还提供了基于所述的基于通用服务器和嵌入式服务器的双层iSCSI目标器系统所实现的读写方法,包括:
步骤1)、在初始化阶段,搭建磁盘阵列集群104,管理员在通用服务器103上通过磁盘阵列管理模块106来配置第一层iSCSI目标器的包括lun、读写模式在内的参数,启动第一层iSCSI目标器;嵌入式服务器102通过双层iSCSI目标器系统互联模块108连接到通用服务器103,将通用服务器103虚拟为嵌入式服务器102的本地磁盘,启动第二层iSCSI目标器;嵌入式服务器102开启双层iSCSI目标器系统对外服务接口模块107,等待iSCSI启动器用户101的数据请求;
步骤2)、当iSCSI启动器用户101发起discovery和login请求后,接收数据访问请求,并允许该用户挂载双层iSCSI目标器系统109为本地存储;
步骤3)、当iSCSI启动器用户101发起读写请求时,通过调用双层iSCSI目标器系统对外服务接口模块107来与嵌入式服务器102交互命令和数据,解析并完成对第二层iSCSI目标器的读写命令;
步骤4)、嵌入式服务器102通过双层iSCSI目标器系统间管理交互模块105把用户的读写请求转化为对第一层iSCSI目标器相应lun、扇区的读写命令,传递给通用服务器103;
步骤5)、用户所发出的读写请求最后转化为对磁盘阵列相应地址的读写命令,读写过程完成后,把结果通过iSCSI协议传递给iSCSI启动器用户,继续完成数据的读写过程;请求处理完成后返回步骤2)。
本发明的优点在于:
本发明的基于通用服务器和嵌入式服务器的双层iSCSI目标器系统能够利用嵌入式服务器同时连接多台通用服务器作为存储资源,便于扩展,同时还能利用嵌入式服务器的高吞吐率对外提供较大的带宽。
附图说明
图1是本发明的双层iSCSI目标器系统在一个实施例中的结构示意图;
图2是本发明的双层iSCSI目标器系统的读写流程图。
图面说明
101 iSCSI启动器用户 102 嵌入式服务器 103 通用服务器
104 磁盘阵列集群 105 双层iSCSI目标器系统间管理交互模块
106 磁盘阵列管理模块 107 双层iSCSI目标器系统对外服务接口模块
108 双层iSCSI目标器系统互联模块
109 双层iSCSI目标器系统
具体实施方式
现结合附图对本发明作进一步的描述。
图1为本发明的双层iSCSI目标器系统在一个实施例中的结构示意图,如图所示,该系统在图1中用109表示,其包括:嵌入式服务器102、通用服务器103;所述嵌入式服务器102包括双层iSCSI目标器系统对外服务接口模块107,所述通用服务器103包括磁盘阵列管理模块106,所述嵌入式服务器102与通用服务器103之间采用双层iSCSI目标器系统互联模块108进行连接;所述通用服务器103通过磁盘阵列管理模块106管理磁盘阵列集群104,从而构建第一层iSCSI目标器,所述嵌入式服务器102通过所述双层iSCSI目标器系统互联模块108连接所述第一层iSCSI目标器,构建第二层iSCSI目标器,所述第一层iSCSI目标器与所述第二层iSCSI目标器之间采用双层iSCSI目标器系统间管理交互模块105来交互数据。
下面对本发明中的各个模块做进一步的说明。
所述磁盘阵列管理模块106用于直接管理外部的磁盘阵列集群104,负责管理iSCSI目标器设备的lun参数(逻辑单元号,Logical Unit Number)、读写磁盘阵列的I/O类型以及设备写入方式等。所述磁盘阵列管理模块106可采用通用服务器103中的iSCSI目标器软件实现,如采用iscsitarget-1.4.20.2中的逻辑卷管理工具。
所述双层iSCSI目标器系统对外服务接口模块107用于向外部iSCSI启动器(initiator)提供访问服务的接口,完成与外部iSCSI启动器的会话连接和数据交互。该模块可采用嵌入式服务器102上的iSCSI目标器软件实现,如对iscsitarget-1.4.20.2这一开源软件进行交叉编译,把编译好的工具软件和内核模块移植到嵌入式服务器上运行。
所述双层iSCSI目标器系统互联模块108用于完成对一个或多个通用服务器iSCSI目标器的发现和初始化任务,把通用服务器的磁盘阵列设备连接并虚拟为嵌入式服务器本地的存储。该模块可采用嵌入式服务器102上的iSCSI启动器软件实现,如将标准open-iscsi软件做交叉编译后移植到嵌入式服务器上运行。
所述双层iSCSI目标器系统间管理交互模块105用于负责处理通用服务器103和嵌入式服务器102之间的I/O请求。该模块可由通用服务器103上的iSCSI目标器软件(如采用iscsitarget-1.4.20.2中的逻辑卷管理工具)和嵌入式服务器102上的iSCSI启动器软件(如将标准open-iscsi软件做交叉编译后移植到嵌入式服务器上运行)实现。
在本实施例中,所述通用服务器103选用X86架构的ATCA4555刀片式服务器实现,该服务器上运行Red Hat Enterprise Linux6操作系统;所述嵌入式服务器102选用CaviumMIPS64架构的ACAT8000刀片服务器实现,该服务器上运行Cavium Networks公司提供的简单执行环境SE(Simple Executive)。在其他实施例中,所述通用服务器103和嵌入式服务器102可采用本领域技术人员公知的其他类型的服务器设备实现。
下面结合图1和图2,对本发明的双层iSCSI目标器系统的读写流程做如下说明:
步骤201、在系统初始化阶段,搭建磁盘阵列集群104(RAID0),管理员在通用服务器103上通过磁盘阵列管理模块106来配置第一层iSCSI目标器的lun、读写模式等参数,启动第一层iSCSI目标器;嵌入式服务器102通过双层iSCSI目标器系统互联模块108连接到通用服务器103,将通用服务器103虚拟为嵌入式服务器102的本地磁盘,启动第二层iSCSI目标器。嵌入式服务器102开启双层iSCSI目标器系统对外服务接口模块107,等待iSCSI启动器用户101的数据请求。
步骤202、203、当iSCSI启动器用户101发起discovery和login请求后,接收数据访问请求,并允许该用户挂载双层iSCSI目标器系统109为本地存储。
步骤204、当用户101发起读写请求时,通过调用双层iSCSI目标器系统对外服务接口模块107来与嵌入式服务器102交互命令和数据,解析并完成对第二层iSCSI目标器的读写命令。
步骤205、嵌入式服务器102通过双层iSCSI目标器系统间管理交互模块105把用户的读写请求转化为对第一层iSCSI目标器相应lun、扇区的读写命令,传递给通用服务器103。
步骤206、用户所发出的读写请求最后转化为对磁盘阵列相应地址的读写命令,读写过程完成后,把结果通过iSCSI协议传递给iSCSI启动器用户,继续完成数据的读写过程;请求处理完成后返回步骤202。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。