本文作者为Charlie Schluting,他是业界知名的存储领域撰稿人和技术专家。
媒体们喜欢iSCSI(存储在线注:实际上,我们也很喜欢iSCSI,主要的理由与Charlie所说基本相同):iSCSI的部署成本不高,而且可以为DAS(直连式存储)或NAS(网络附加存储)带来许多优势。本期存储课堂并不是讲述iSCSI的运作原理,而是探讨关于IP存储的一些主要问题。在理解了光纤通道和iSCSI技术的一些重要方面后,我们可以更好地作出购买决策。
iSCSI的支持者们很容易就能举出iSCSI的优点。这些优点包括但不限于:
由于使用现有的IP架构,因此iSCSI成本更低;
iSCSI便于部署;
由于可以使用10Gb以太网,因此iSCSI更"快"。
从不同程度上,根据其使用环境和性能需求,这些优点确实是真的。但是,不幸的是,iSCSI不能满足要求严格的企业级需求。
性能
让我们先来看一下性能。事实上iSCSI确实可以承载相当大的吞吐量。一些特殊应用程序上,大部分的协议、标准或设备都可以良好地运行,而且iSCSI确实在有些领域非常胜任。
毫无疑问,仅支持iSCSI的设备是针对中小型企业市场的。没有厂家声称说客户可以在iSCSI存储上存放大型的事务性数据库,但是iSCSI的市场宣传却让许多IT管理者相信了iSCSI在这方面的成本节约性。请特别小心,不要陷入这个陷阱。
出于许多原因,光纤通道(FC)能够提供更好的性能。我们经常将关于性能的讨论转移到那些其实并不具备可比性的那些因素的讨论上。我们经常看到有关iSCSI性能方面的争论最后变成批评SATA(串行ATA)性能上的劣势,而这种情况仅仅是因为许多SATA阵列厂商同时也提供iSCSI支持。当然,在承载大量的随机输入/输出工作负荷的时候,SATA确实会性能下降许多,当然这和底层的访问协议毫无关系。
光纤通道的设计就是针对大型块IO,并且同样地,做了非常多的优化以便传输存储数据。以太网则不然,但是通过使用巨型帧(9K的数据单位,而不是1.5K的数据单位),以太网也可以减少这方面的顾虑。但是,光纤通道主机总线适配器卡要比以太网主机总线适配器卡更有效率。简单的说,光线通道本质上需要更少的CPU资源,因为使用以太网的话,那么每个帧上都要会产生一个中断请求。以太网实际上是针对小型的和经常性的数据包的处理,而不是针对大型数据流。iSCSI也是处在TCP协议的上层,因此需要传输的数据在操作系统内要需要通过更多的层才能实际从网线发出,这更增加了延迟性。由于TCP具有校验和卸载引擎,因此出于实际考虑,我们排除了额外的TCP负荷。简而言之,光纤通道能够提供更低的延迟性,和更高的吞吐量。重复一次,当你在基于光纤通道的存储局域网(SAN)和基于iSCSI的存储局域网之间做抉择时,需要考虑你所面对的特定的性能需求。
网络利用是另一个重要问题。iSCSI的一个主要卖点就是你可以使用现有的网络架构;事实上,你可以使用同样的网络接口卡,让其他的IP传输和iSCSI传输一起通过。如果是偶尔使用还好,但是对于那些同时需要良好的存储访问时间的高传输量(从TCP/IP的角度)服务器来说,将iSCSI部署在单一的网络接口上会明显影响服务器的性能。事实上,iSCSI的用户经常发现,由于他们实际上并不需要很强的性能,基于网络附加存储的解决方案(例如,采用网络文件系统或通用网际文件系统)实际上也可以做得同样好。
我们还有一些选择有助于我们减缓主机端的网络堵塞问题。我们当然可以部署第二个网卡,而且幸运的是,现在的大部分服务器都提供2到4Gb的网络接口。当我们开始讨论关于10Gb以太网的需求时,我们很可能会碰到我们前面所述的其他性能问题。如果使用环境的访问特征非常适合iSCSI,那么的确可以选择10Gb以太网。
那么一个网络如何处理10Gb以太网呢?可能我们需要更新一些架构来达成这一点。解决IP存储网络中的网络堵塞经常需要分离一些工作任务--一个针对存储的完全分离的IP网络。如果10Gb以太网对网络的负荷太高,而且只有一个服务器需要性能提升的话,那么人们可能倾向于直接将一个以太网网线连接到他们的存储设备。不幸的是,这样只会把你带回到DAS(直连式存储)时代,而且事实是,一个DAS设置确实能提供更好的性能。