DOSTOR存储在线 4月26日国际报道:长期以来,我一直是FCoE(以太网光纤通道)的支持者。在2008年经济危机以前,我还曾认为颠覆性的技术变革(比如对象存储和FCoE)已经近在眼前。
事情发展得没有我想象的那样好。我只能遗憾地说遵守T10标准的对象存储就是一个空中楼阁。现在市场上没有任何对象磁盘驱动器,而我们还是在大量使用块存储。FCoE曾经被许多人寄望,希望它能将光纤通道挤出市场,但是直到目前,FCoE的发展还是没有达到市场的期望。
另一方面, iSCSI(互联网小型计算机系统接口)11年前就开始缓慢发展,直到不久以前还只有少量针对低端存储的iSCSI目标端,然而现在,中端和企业级存储都有在使用iSCSI.我甚至在我自己家里将iSCSI存储作为一个NAS(网络附加存储)目标端,因为iSCSI便于设置,而且比起将它用作网络驱动器要快许多。现在,我的在线互联网备份服务使用一个iSCSI驱动器而不是一个网络驱动器。
FCoE vs. iSCSI
在这篇文章中,我将根据我进行过的研究以及我一些同事的研究和看法来对比FCoE和iSCSI.这也就是说,我们将探讨FCoE和iSCSI的优势和劣势。当然,和以前一样,我将采用和我的同行不同的策略。
同时,我也要提醒一件事:关于FCoE和iSCSI的比较,现在已经有各种各样的标杆测试和性能测试。我已经浏览了许多这样的测试。我看到一些标杆测试在8Gb/秒FC(光纤通道)已经出来了之后还是将4Gb/秒光纤通道和10Gb/秒以太网相比。我还看到一些研究使用驱动程序或其他专门调整过的软件堆栈来证明自己的某个观点。我的方法是假设你有高效率的软件和一个优化过后的硬件环境而且没有部署一些SBT(狡猾的标杆手段)。记住,我自己曾经是标杆的制作者。
基本事实
在以前的讨论中,有两个重要的领域被人们所遗漏,下面我想讨论一下:
1.IP头的大小
2.实时文件系统问题,而不是数据流或IOPS(每秒输入输出)
IP头的大小
我们都知道,iSCSI的“i”字代表IP.IPv4头的大小是20八位位组(octet)或20字节。现在我们正在从IPv4过渡到IPv6.有许多人认为未来我们将在WAN(广域网)之间使用IPv6,在本地使用IPv4.我知道有一些公司–还有美国政府和外国政府–表示如果你指的是“I字母”,它将是IPv6.当然,这在目前还不是现实,但是它将在今年底变得更加真实,在2012年和2013年更是如此。这意味着,IP头的大小将从目前的20字节变为40字节。FCoE在IP封装中不需要这额外的20或40字节。我们需要记住的是,鉴于IPv6将成为现实,IP头的大小将变为40字节。
实时文件系统的问题
无论我们喜欢还是不喜欢,在真实世界中测试任何IO性能都需要考虑文件系统。一些文件系统比另一些文件系统要更有效率。仅仅在一个LUN(逻辑单元号)上衡量IOPS、数据流或进行其他测试不能让我们看到真实的文件系统的I/O操作性能。我和其他人一些人多年来一直指出,对于大多数现代文件系统而言,瓶颈在于针对文件系统元数据的I/O.下面我将定义元数据的范畴:
– 文件系统超级块。超级块是在载入文件系统的时候读取的,可以提供文件系统的布局。有些文件系统需要不时更新这些超级块。
– 文件系统分配映射表在文件被写入和删除的时候定期更新。这些映射表用各种方式来表现,包括位图和多路搜索树。
– 文件系统索引节点和扩展属性,包括文件位置、文件的属性:包括UID(用户身份)、GID(群组身份)、访问时间、创建时间和其他属性。一些属性是依赖于文件系统的。
我认为元数据性能经常是文件系统性能的限制性因素。元数据瓶颈已经为许多人所知,而且随着文件数量的大幅增长,元数据瓶颈正变得越来越严重。元数据的更新几乎一直是一个小型块随机I/O问题,而且在一些情况下,需要同步进行以满足不同的POSIX(可移植操作系统接口)和文件系统的要求。
为什么这些因素如此重要?
我们需要知道iSCSI会用到IP头,而IP头会占用通道空间。无论喜不喜欢,空间是很重要的。
在考虑到文件系统的情况下,我注意到请求大小从512字节增加到16384字节,在某些情况下还更高(见上表)。坦白地说,512字节的请求并不常见。光IPv6的头便使用通道中7.81%的带宽,而这不能改善效率,而不会改善延迟性,因为鉴于IP头的要求,需要传输更多的数据。FCoE没有额外的IP头,因此不会碰上这种渠道限制性开销。在评估FCoE和iSCSI的时候,必须考虑文件系统元数据开销。也许也有一些测试已经这么做了,但是我还没有看到任何跨文件系统的比较。因此,我必须问我自己一个问题:如果FCoE能够消耗更少的开销,那么iSCSI为什么如今比FCoE发展得更好呢?
iSCSI崛起的原因
如同所述,iSCSI的发展已经超过10年,开始的时候发展得非常慢,不过在过去10年中,有许多开发人员已经熟悉iSCSI并有许多iSCSI产品推向市场。同时,在这10年中,厂商们已经晓得如何优化主机端和目标端的协议实施。另一方面,FCoE是相对新的协议,没经过几年优化。这使得iSCSI拥有内在的优势。
即使不从性能的角度来看,我也认为iSCSI会继续主导市场。FCoE市场上厂商的分裂不会帮助FCoE的发展。如果厂商们还是开发那些完全无法互操作的产品的话,FCoE就不会成功–我的意思是说要像现在的光纤通道那样可以完全互操作。
我总是看到有些存储厂商经常搬起石头砸自己的脚。在FCoE这个例子中,厂商们所热衷的性能并不能带来市场优势。我不认同厂商们的这种做法。不过不可否认的是,存储性能确实对存储行业的生存至关重要,尤其是在关键领域(比如元数据性能),性能会限制系统的扩展。
这些年,我一直在想,为什么存储行业没有做什么事情来解决存储性能的扩展缺乏问题。我们已经缩小了应用程序、操作系统、文件系统和存储之间的接口。存储界少有几次通力合作,比如OSD(对象存储设备),结果合作的成果也没有得到广泛使用。厂商们经常告诉我说OSD没有成功的原因是碰到了经济衰退。现在,我们已经走出了经济衰退,但是我还没有看到市场上有任何OSD产品。
我担心的是FCoE会落到和OSD一样的命运。存储厂商们在FCoE上的作为很平庸。这种情况在美国的许多行业都发生过,结果都不好。如果存储行业没有做出大的改变的话,那么我认为0层和1层存储可能将成为过去时,而我们可能将只有归档存储和服务器上的非易失性存储–不是很好的情况,不过也许是某些厂商希望的。