首页 » Linux » iscsi基础

iscsi基础

 

一、iscsi的概念

iSCSI是一种在Internet协议上,特别是以太网上进行数据块传输的标准,它是一种基于Ip Storage理论的新型存储技术,该技术是将存储行业广泛应用的SCSI接口与IP网络技术相结合,可以在IP网络上构建SAN存储区域网络,简单地说,iSCSI就是在IP网络上运行SCSI协议的一种网络存储技术。

二、iSCSI的工作原理

要理解iSCSI的工作原理,就必须知道iSCSI的层次结构。根据OSI模型,iSCSI的协议自顶向下一共可以分为三层,从initiator端到target端,数据要进过封装-->IP网络传输-->解封装

 

如图是iSCSI的封装:最上层为二层以太网帧,中间为三层TCP/IP封装,最下面为iSCSI的封装

iSCSI protocal的封装格式

SCSI层:根据客户端发出的请求建立SCSI CDB(命令描述块),并传给iSCSI层。同时接收来自iSCSI层的CDB,并向应用返回数据。

iSCSI层:对SCSI CDB进行封装,以便能够在基于TCP/IP协议的网络上进行传输,完成SCSI到TCP/IP的协议映射。这一层是iSCSI协议的核心层。本章也主要针对这一层的配置和管理进行介绍。

TCP/IP层:对IP报文进行路由和转发,并且提供端到端的透明可靠的传输。

过程: iSCSI协议定义了在TCP/IP网络发送、接收数据块存储数据的规则和方式。先发送端将SCSI命令和数据封装到TCP/IP包中,然后通过IP网络转发,接收端收到TCP/IP包之后,将其还原为SCSI命令和数据并执行,执行完成后,将返回的SCSI命令和数据再封装到TCP/IP包中,之后再传回发送端。这样就完成了数据传输的整个过程。

iSCSI的整个数据传输过程在用户看来是完全透明的,用户使用远端的存储设备就像使用本地的硬盘设备一样。不过,这只是理论状态,实际上iSCSI的数据传输速率并不能完全达到本地硬盘的数据传输速率,但差别并不明显。而且这种网络存储模式还有一个优点是安全性高,这对于数据集中存储的iSCSI来说显然非常重要。

三、iSCSI的组成

一个简单的iSCSI系统大致由以下部分组成:

 

  •   iSCSI Initiator或者iSCSI HBA
  •   iSCSI Target
  •   以太网交换机
  •   一台或者多台服务器

 

一个完整的iSCSI系统的拓扑结构:

图7-1 完整的iSCSI系统拓扑结构

1.iSCSI的initiator有三种:

1:HBA卡,采用内键的SCSI指令及TOE引擎的ASIC芯片的适配卡价格最贵,性能最好,消耗CPU很少

如图:

2:内键的TOE引擎的ASIC芯片适配卡,由于SCSI指令任然以软件方式运行,所以任然会消耗一定的CPU资源,但价格相对便宜

如图

3:完全由软件驱动的initiator,会消耗大量的CPU资源,性能差

2、iSCSITarget

一个可以用于存储数据的iSCSI磁盘阵列或者具有iSCSI功能的设备都可以被称为“iSCSI Target”,因为大多数操作系统都可以利用一些软件将系统转变为一个“iSCSI Target”。本章重点讲述如何构建一个PC构架的iSCSI存储系统。所谓PC构架就是选择一个普通的、性能优良的、可支持多块磁盘的PC(一般为PC服务器),再选择一款相对成熟稳定的iSCSI Target软件,将iSCSI Target软件安装在PC服务器上,使普通的PC服务器转变成一台iSCSI存储设备,并通过PC服务器的以太网卡对外提供iSCSI数据传输服务

目前大多数iSCSI Target软件都是收费的,例如DataCorc  Software的SANmelody,FalconStor Software的iSCSI Server forWindows等,这些都是Windows平台支持的。不过,也有一些Linux平台的开源iSCSI Target软件,例如iSCSI Enterprise Target,后面的内容会重点介绍这个软件。

利用iSCSI Target软件,可以将服务器的存储空间分配给客户机使用,客户机可以像使用本地硬盘一样使用iSCSI磁盘,包括对其进行分区、格式化及读写等。而且每个客户端都可以向iSCSI磁盘写数据,互不干扰,并且不会破坏存储到服务器中的数据。同时,iSCSITarget软件对用户权限控制非常灵活,支持配置文件。

我们知道,iSCSI是使用TCP/IP协议进行通信的,因此,将iSCSI两端连接起来,仅仅需要一个以太网络就可以了。由此可知,iSCSI的存储性能和这个以太网络有直接关系,所以最好在iSCSI网络中使用千兆以太网交换机,劣质的网络设备会严重影响存储系统的性能,也就是说,要为每个服务器配备高质量的千兆以太网交换机,并提供两个连接。对于iSCSI Target,应该为每个独立阵列中的两个独立端口配备交换机,最后将交换机连接起来,采用这种配置方式,即使两个交换机中的一个出现了故障,整个iSCSI存储系统仍然能够正常工作,这保证了存储系统的不间断运行。

如图为一个SAN架构图:

原文链接:iscsi基础,转载请注明来源!

3