IP网络存储iSCSI
1.存储的概念和术语
1.1 SCSI
SCSI是小型计算机系统接口(Small Comouter System Interface)的简称,作为输入/输出接口;
1.2 DAS
DAS是直连式存储(Direct-Attached Storage)的简称,是指将存储设备通过SCSI接口或光纤通道直接连接到一台计算机上.当服务器在地理位置上比较分散,很难通过远程进行互连时,DAS是比较好的解决方案.
但是这种存储只能通过与之连接的主机进行访问,不能实现数据与其他主机的共享,同时,DAS会占用服务器操作系统资源,如CPU资源,IO资源等,并且数据量越大,占用操作系统资源就越严重;
1.3 NAS
网络介入存储(Network-Attached Storage)简称NAS,它通过网络交换机连接存储系统和服务器,建立专门用于数据存储的私有网络,用户通过TCP/IP协议访问数据,采用标准的文件共享协议如NFS,HTTP,CIFS来实现基于文件级的数据共享.
其局限性表现为会受到网络带宽和网络拥堵的影响,在一定程度上限制了NAS的网络传输能力;
1.4 SAN
存储区域网络(Storage Area Network)简称SAN,它是一种通过光纤交换机,光纤路由器,光纤集线器等设备将磁盘阵列,磁带等存储设备与相关服务器连接起来的高速专用子网;
SAN由3个部分组成,分别是连接设备,接口,通信协议,这三个部分在加上存储设备和服务器就构成了一个SAN系统.SAN系统提供了一个灵活的,高性能的和高扩展的存储网络环境,可以更加有效的传输数据块,由于采用了光纤接口,因此SAN还具有更高的带宽;
2.iSCSI概念
iSCSI即internet SCSI,用于将SCSI数据块映射为以太网数据包.从根本上说,它是一种基于IP Storage理论的新型存储技术,即将存储行业广泛应用的SCSI接口技术与IP网扩技术相结合,实现在IP网络上构建SAN.
简单的说,iSCSI就是在IP网络上运行SCSI协议的一种网络存储技术.
iSCSI的优势主要表现为:首先,iSCSI沿用网络方面最通用,最成熟的TCP/IP协议,其次,iSCSI支持一般的以太网交换机而不是特殊的光纤交换机,减少了异构网络带来的麻烦,而且iSCSI是通过IP封包传输存储命令,因此,可以在整个Internet上传输数据,没有了距离的限制;
3.iSCSI的组成
一个简单的iSCSI系统大致由以下部分组成:
iSCSI Initiator或者iSCSI HBA
iSCSI Target
以太网交换机
一台或多台服务器
一个完整的iSCSI系统的拓扑结构为:
3.1 iSCSI Initiator
iSCSI Initiator是一个安装在计算机上的软件或硬件设备,它负责与iSCSI存储设备进行通信;
iSCSI服务器与iSCSI存储设备之间的连接方式有两种:
第一种是基于软件的方式,即iSCSI Initiator软件。在iSCSI服务器上安装Initiator后,Initiator软件可以将以太网卡虚拟为iSCSI卡,今儿接受和发送iSCSI数据报文,从而实现主机和iSCSI存储设备之间的iSCSI协议和TCP/IP协议传输功能。
这种方式需要以太网卡和以太网交换机,无需其他设备,因此成本是最低的,但是iSCSI报文和TCP/IP报文转换需要消耗iSCSI服务器的一部分CPU资源;
第二种是硬件iSCSI HBA(Host Bus Adapter)卡方式,即iSCSI Initiator硬件。这种方式需要购买iSCSI HBA卡,然后将其安装在iSCSI服务器上,从而实现iSCSI服务器与交换机之间,iSCSI服务器与存储设备之间的高效数据传输。
硬件iSCSI HBA卡方式不会消耗iSCSI服务器的CPU资源,同时硬件设备是专用的,所以基于硬件的iSCSI Initiator可以提供更好的数据传输和存储性能,但是价格比较昂贵;
3.2 iSCSI Target
一个可用于存储数据的iSCSI磁盘阵列或者具有iSCSI功能的设备都可以被称为iSCSI Target,因为大多数操作系统都可以利用一些软件将系统转变为一个iSCSI Target。
而所谓的PC架构的iSCSI存储系统是指选择一个普通的,性能优良的,可支持多块磁盘的PC(一般为PC服务器),然后选择一款相对成熟稳定的iSCSI Target软件,将iSCSI Target软件安装在PC服务器上,使普通的PC服务器转变为一台iSCSI存储设备,并通过PC服务器的以太网卡对外提供iSCSI数据传输服务;
利用iSCSI Target软件可以将服务器的存储空间分配给客户机使用,客户机可以像使用本地硬盘一样来使用iSCSI磁盘,包括对其进行分区,格式化及读写等。而且每个客户端都可以向iSCSI磁盘写数据,互不干扰,并且不会破坏存储到服务器中的数据;
4.iSCSI的工作原理
iSCSI的层次结构:
4.1 SCSI层
根据客户端发出的请求建立SCSI CDB(命令描述块),并传给iSCSI层。同时接收来自iSCSI层的CDB,并向应用返回数据;
4.2 iSCSI层
对SCSI CDB 进行封装,以便能够在基于TCP/IP协议的网络上进行传输,完成SCSI到TCP/IP的协议映射。这一层是iSCSI协议的核心层。
4.3 TCP/IP层
对IP报文进行路由和转发,并且提供端到端的透明可靠的传输;
iSCSI协议定义了在TCP/IP网络发送,接收数据块存储数据的规则和方式。首先发送端将SCSI命令和数据封装到TCP/IP包中,然后通过IP网络转发,接收端收到TCP/IP包后,将其还原为SCSI命令和数据并执行,执行完成后,将返回的SCSI命令和数据在封装到TCP/IP包中,之后在传回发送端这样就完成了数据传输的整个过程;
iSCSI的协议结构
协议组成:
相关资料:高性能Linux服务器构建实战(高俊峰 著) 第7章
阅读(1441) | 评论(0) | 转发(0) |