2008年(8065)
分类: 服务器与存储
2008-05-28 08:34:25
性能
让我们先来看一下性能。事实上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设置确实能提供更好的性能。
弹性
在光纤通道世界中,其设置是具有非常高的可靠性的。每个连接到存储局域网的节点都可以使用两个主机总线适配器端口,并在不同路径上分别两次"看到"存储逻辑单元号。如果设置正确,这些逻辑单元好可以通过一个虚拟的逻辑单元号进行访问,而如果发生故障,则驱动器可以在实际的逻辑单元号之间进行故障复原。这就是存储局域网的存储原理,每个人都很喜欢这一点。
在一个光纤通道存储局域网里面,我们可以一边更新或替换存储设备控制器以及交换机,一边不产生宕机时间。但是在iSCSI世界里,我们则不能。每个主机都是直接连接到单一的交换机,无论它们是否使用同一个网络接口卡来进行TCP/IP传输。如果交换机消失,那么就没有故障复原能力了。一些厂商可能已经为iSCSI设计了专用分路解决方案,但是这种解决方案只能用于一种操作系统,并且只能适用于他们自己的存储设备。
所有这些麻烦事中的好消息就是你实际上可以选择多种技术。
我一直在劝说大家将iSCSI看成一种介于高性能光纤通道存储局域网和文件共享(NAS)之间的技术。大部分光纤通道存储阵列厂商现在都为阵列本身直接提供iSCSI支持,促使企业采用复合式的部署方式。本来连接到SAN的磁盘阵列现在可以同时连接到IP,并根据不同的性能和可靠性要求来满足两种不同的需求。
不要因为反对者反对就否定iSCSI,也不要在没有慎重考虑的情况下就采用iSCSI。
总而言之
所谓的iSCSI优点实际上却存在性能障碍;
光纤通道提供多路机制、更小的延迟性、更有效的大型数据块处理方式;
对于许多用途来说,iSCSI的性能表现经常已足够胜任。