iSCSI性能瓶颈
&">nbsp; iSCSI协议建立在传统的TCP/IP协议之上,在进行实际数据传输时,其传输系统性能受限于TCP/IP协议栈负载及以太网最大带宽,另外iSCSI协议层也会额外增加一些负载开销,在实际应用中,iSCSI数据传输性能仍然存在瓶颈。以发送端的写操作为例,一次完整的iSCSI协议数据传输包括数据封装、数据拷贝、数据传输三个步骤。
1.数据封装
iSCSI协议层首先将接收到的命令封装成iSCSI协议层的PDU数据包,此过程还需要对PDU数据包进行CRC校验计算,以便接收端接收到数据后进行正确性检验。数据封装过程还必须进行CRC循环冗余校验计算,由于校验生成与检测属于高密度计算型操作,需要消耗大量CPU资源,因此会严重影响iSCSI系统的性能。
2.数据拷贝
封装完毕后的PDU数据包以数据拷贝的方式传递给操作系统的TCP/IP协议层缓冲区,再由该缓冲区发送给数据链路层进行网络传输,一个PDU数据包可能对应多个TCP连接。数据拷贝过程也会占用发送端或接收端的大量CPU资源及内存带宽,从而影响系统性能。
3.数据传输
TCP/IP层接收到数据包后通过PCI DMA的方式将数据传递给网卡,经物理链路传输到目标服务器。读操作过程的操作顺序正好相反,目标服务器端操作也与启动服务器端类似。数据传输过程是利用TCP/IP协议进行网络传输的,必然受限于TCP/IP协议栈本身的开销负载以及实际的网络带宽,因此进行数据传输也会占用系统CPU资源。
iSCSI性能优化
通过前面的介绍,已经了解了影响iSCSI性能的瓶颈,因此如何优化现有的iSCSI系统的问题就变得显而易见了。下面根据iSCSI协议在数据传输、数据拷贝、数据校验三个方面存在的性能瓶颈问题,分别介绍对iSCSI网络存储进行性能优化的几种方法。
1.优化网络传输
iSCSI协议利用通用的TCP/IP协议进行海量存储数据传输,传统的TCP/IP协议用于在不可靠的数据链路上实现可靠的数据传输,其性能必然受限于TCP/IP本身的传输性能,基于通用TCP/IP协议的网络存储面临的一个很重要的性能问题就是TCP/IP协议栈开销。目前已经出现了一些新的网络技术用于改善TCP/IP协议栈开销。
1)有些新型网卡可以分担过去由主机CPU完成的CRC校验和计算功能,利用这些网卡,可进一步释放主机CPU资源,进而降低CPU利用率。
2)一些新型网卡可以实现过去由主机TCP/IP软件协议栈完成的TCP包拆分功能,这样也可缓解主机CPU的压力。
3) iSCSI SAN网络绝不能与一般的以太网用户混合。如果混合不仅会削弱SAN的性能,还会使LAN的存储数据受到影响。正确的做法是将iSCSI SAN网络与日常的用户网络分开。最常见的分离方法是采用虚拟局域网( VLAN),限制iSCSI网络通向虚拟局域网,保持正常的网络通道。
2.避免数据挎贝
iSCSI协议层建立在传统的TCP/IP协议层之上,其PDU数据包必须通过内存拷贝的方式传递给TCP/IP协议栈的缓冲区进行网络传输。而内存拷贝要进行内存读写操作各一次,内存数据拷贝又必须依赖于CPU执行指令来完成,因此会消耗CPU资源并降低内存性能,最终影响iSCSI系统性能。为了避免数据拷贝操作,目前主要的方法是采用TOE硬件方案:TOE方案是将过去由操作系统完成的TCP/IP协议栈直接转移到TOE网卡上由硬件实现。这个方案有效她避免了TCP/IP协议栈对系统CPU资源的占用,优化了iSCSI系统性能。TOE卡可以从一些供应商处获得,如Alacritech、LeWiz Communications、
QLogic等。
3.数据校验的优化
CRC校验数据的生成或检测均是计算密集型操作,会消耗大量的CPU资源,因此如何优化数据校验性能成为优化iSCSI性能的关键。目前常用的优化方案有下面几种。
(l) iSCSI HBA硬件方案
为了进一步消除CRC校验运算对系统CPU资源的影响,工业界将iSCSI协议及TCP/IP协议全部集成到网卡上构成iSCSI的HBA适配卡,这种方式中的iSCSI HBA适配卡对主机来说就是一块SCSI卡,既不存在数据拷贝问题,也不存在数据校验问题。采用硬件方案虽然能进一步释放CPU资源,但iSCSI HBA硬件处理能力有限制,无法分享CPU日益提升的性能。
(2)优化数据校验
通过优化CRC校验算法来加快校验过程也是提高iSCSI性能的一个途径。
(3)直接关闭校验
CRC校验主要保证PDU数据在传输中的安全性和可靠性,避免数据被篡改。如果不强调安全性,CRC校验意义就不大,所以在一些对性能要求很高而对数据安全性要求不高的场合,可以通过关闭CRC校验的方法来优化iSCSI性能,而数据的正确性可以依靠TCP/IP层的CRC校验数据来保证。
本文主要讲述了网络存储iSCSI技术的概念、组成、安装、配置和使用,还介绍了iSCSI在安全方面的设置方法。通过本章的学习,读者能够对iSCSI有一个基本的了解和认识,同时也能够迅速地搭建出一套iSCSI存储系统。
利用iSCSI技术构建的基于IP的存储网络系统,无需昂贵的专用存储网络,易于管理维护,并可以有效减少用户投资,节约成本。同时,iSCSI还具有良好的扩展性,方便进行异地容灾。而对iSCSI存储系统的优化,主要集中在对iSCSI数据校验、数据拷贝、数据传输三个方面进行改善。随着iSCSI技术的日益成熟,采用iSCSI技术构建的IP存储网络系统将拥有广阔的应用前景。