减少延迟
10GbE的以太网能提高性能的另外一个领域是延迟领域。但是,它们之间的差别也许并不想你想象的那样明显。除了一些磁盘问题之外,还有两个和延迟有关的问题必须要考虑:传输和序列化。
传输是指数据通过特定介质(光纤,铜线,等等)的速度。无论是实施10GbE的以太网还是1GbE的以太网,只要使用的介质相同,那么绝对不会对传播速度造成什么影响的——电子或光学信号从导线的一端传送到导线另外一端的速度都是一样的,这和你把多少数据放入了那个管道没有什么关系。另一方面,序列化是指你把指定数量的数据放入那个管道的速度。在这方面,10GbE的以太网可以快10倍。
在延迟时间中,序列化时间只占很小的一部分。连接层的巨大延迟主要是由连接的每一端的接口和系统引入的。在一天快要结束的时候,你可能会发现,对于一个特定的包来说,它通过一个调整好的1GbE的连接的往返时间是135µs,而它通过一个10GbE的连接的往返时间只能下降到75µs——大多数其他的开销都是来自于设备的两端,而不是来自于连接本身。
虽然10GbE以太网的延迟时间比1GbE以太网的延迟时间要少,但是,一般来说,这个差别并不会对存储性能造成太大的影响——尤其是你使用传统的旋转式磁盘的时候。当你的存储设备要花费长达100倍的时间来响应的时候,减少60微秒的连接延迟时间并不会起到什么明显的效果。如果你大量使用SSD的话,那么,相对于存储的延迟时间来说,这个连接延迟时间所占的比例会更大一些,也许在这种情况下,值得进行这项额外的投资。
可管理性和聚合
10GbE以太网的亮点是容易管理。虽然通过多个1GbE的连接,使用现有的硬件和软件也可以实现MPIO (Multi-Path IO),但是配置,监控和管理起来都比较痛苦。甚至布线也成为了一种痛苦——一个1GbE的SAN,在两个冗余控制器之间可能有8个或8个以上的1GbE连接,而且,一个1GbE的SAN通常会使用上限为4个控制器的主动/被动控制器架构。
即使在存储设备上你不选择10GbE的以太网,你也应该认真地考虑一下在服务器端使用它——尤其是你处在虚拟化的环境下。一个支持iSCSI的虚拟主机主机,如果使用1GbE网络的话,每次(也许是每两次)进行主机管理,虚拟机通信,以及iSCSI访问至少会消耗掉6个1GbE的端口。你可以用一对冗余的10GbE接口替换掉那6个接口,这是很容易做到的,你可以通过这对接口来做任何事情,虽然你的端口消耗量和电缆数显著地减少了,但是你的总体可用带宽却增加了。
此外,如果你使用“刀片”架构的话,那么你可以通过使用智能的聚合网络(converged networking)进一步深化这个模型。HP为他们的C类“刀片”产品提供的Virtual Connect模块就是一个很好的例子(当然,这方面的例子不止这一个)。通过这个VC(Virtual Connect)模块,你可以在“刀片”服务器内置的10GbE接口上创建多个“Flex NIC”,它们每个都有自己的带宽限制和网络设置。一个完整的“刀片”框架也许只需要两个或四个外部的10GbE连接就可以连接到你的物理交换网络的其余部分了——令人难以置信的管理和成本优势。
不要冲动,冲动是“魔鬼”
概括起来,10GbE的IP存储比1GbE的IP存储更快,更容易管理,但是,它还是太贵了,并且,你可能根本就不需要它(但是如果你能得到它,那么你会喜欢它的)。
当然,在接下来的几年里,这些陈述也许会变得十分不合时宜,就像我在几年之前(那时我的笔记本还没有Gb级的接口)说的话一样:“除了核心的网络骨干之外,没有人会需要1GbE的网络。”或者,再往前几年,人们会说:“除了核心的网络骨干之外,没有人会需要100Mbps的网络。”或者,许多,许多年以前,人们会说:“LocalTalk比较不错——以太网太贵了。”欢迎大家在评论中谈谈自己的想法。