Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11633138
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-08-22 12:50:42

  计算机系统外部,从纸带,磁带,软盘,硬盘,磁盘阵列,flash,经历了从低级到高级,由慢速到快速的发展过程。同样系统外部IO总线也随着这些外设速度的提升,经历了ISA,PCI,PCI-X的发展过程。而本地IO接口,ATA从当初的ATA33,ATA100,ATA133发展到现在的SATA150Mhz;SCSI也发展到现在命令和接口分离的SCSI3体系。

  研究一下网络传输我们可以发现,所有的网络传输技术都采用了清一色的串行编码技术,例如:10M以太网用曼彻斯特编码,100M以太网用4b5b编码,1000M以太网用8b10b编码,万兆以太用64b65b编码,都是串行传输,似乎从并行转向串行已经成为系统IO从本地化转为网络化的必经之路!

  引起接口网络化发展趋势的根本原因就是:传输速度的提高。现代接口的趋势可以概括为:高速、串行化。当速度提高之后,必将迫切的需要冲破系统后端IO只在本地化的限制,使各个节点之间的通信域扩大成网络规模,节点之间可以无障碍的通信,而传统网络IO的慢速的难题,已经被高频电路新技术发展所解决,万事具备,只欠东风……

  百花齐放的传输标准

  不久,以Fiber Channel传输技术为代表的存储区域网络(SAN),乘东风翩翩而来。Fiber Channel可以说是第一个吃螃蟹的,不仅吃到了螃蟹,而且取得了巨大的成功!Fiber Channel定义了一系列网络化元素,从物理层到传输层。比如物理层8b10b编码串行传输;链路层帧格式,寻址层(exchange,sequence,frame的三次结构模型),传输层(带确认或者不带确认机制)。FC和上层的接口由FC4层来定义,FC可以传输IP,SCSI等多种(在传输象IP这种已经定义了寻址机制的时候,必须设置neme server进行名称映射)。拓扑上,定义了private loop,public loop,p2p,fabric,intran fabric,inter fabric六种结构。

  FC的出现,催生了一大批做FC SAN的厂商,更加深了FC势力的扩张,同时出现了FC接口的磁盘(fSCSI,fata)FC的HBA,FC的控制器。。。。FC接口的磁盘串,可以形成一个loop,接入IO控制器或者盘阵中常用的DA(disk adaptor)。同时由于SCSI3体系分离了命令和接口,所以使得SCSI上层体系可以以FC为底层传输手段,再加上FC loop最多可以接127个设备(FC al地址字段长度为8位,所以最大地址数127),所以极大得扩展了原来SCSI总线最多接15个设备得而且最长25米线缆得限制。因此,在竞争者还并未发展强大的年代里,FC成为存储局域网的首选黄金标准。

  与此同时,另一路存储网络化大军:IP存储也在屯兵遣将,准备和FC存储分天下。同样是网络化,IP存储则是建立在非常成熟而且广泛使用并且价格低廉的IP网络基础之上的。由于IP已经提供了成熟的传输和寻址机制,所以基本就是拿来就用的程度(之所以用TCP/IP而不是UDP/IP,是因为IP协议是专门为大规模跨地域网络而设计,它假设链路传输是不可靠的,所以引入了TCP来保障传输,但是我认为现在的链路质量,完全可以用UDP传输,将纠错机制给上层处理,就像FC用class3服务来传输SCSI一样)。

  同样,以串行SCSI接口(SAS)技术和IBM自有的SSA接口技术为代表的存储区网络,也正在发展之中。(SSA由于IBM私有,已经淘汰)

  性能的争论

  FC SAN与IP SAN,当两大门派对峙的时候,真正的网络化,彻彻底底的网络化时代到来了。iSCSI,IATA(intransa,华为3com的架构),FCIP,IFCP等。其中最重要的就是ISCSI技术,将SCSI命令体系用TCP来传输,而不是用FC来传输,这引发了很多到底iSCSI和FCp谁快的争论。

  在此,笔者谈一下自己的看法,TCP传输的开销比FC要大,而且TCP协议站是运行在主机以太网络适配器上层的OS层的,需要消耗大量主机cpu时间的,包括ack,定时器,重传等,均通过消耗主机大量cpu时间来运行,而FC协议站则完全实现在FC HBA的芯片中,对于主机os,只利用底层驱动程序来作用,速度极快,相比TCP,消耗主机cpu资源极少。

  当然我们知道目前也推出了专门处理TCP的芯片,集成在iSCSI卡内,可以脱离主机cpu独立进行TCP处理,叫做TOE(TCP offload engine)。TCP每发一个或者一批(视窗口大小和队列延迟时间而定)包,接受方都要返回ack包,如果接受方没东西发送,则单纯发ack包不捎带任何上层数据,这样就浪费了带宽。

  基于以太网的IP传输廉价,易实施,而且已经有了万兆以太网,IP存储最大优势就是价格、实施容易,可扩展性强,大众化。笔者相信未来的趋势是:基于万兆以太的IP存储将占上锋;而相等速率的情况下,FC将占上锋。

  网络化时代的未来时

  除了以上我们谈到的两种主流存储局域网络标准外,还有一些处于萌芽的技术,也值得我们给予关注。

  Intransa是一家名气不大的小厂商,产品卖的也不好,但是他的思想是很超前的:彻底网络化,这就是时代的趋势!如今,连冰箱都想入网,还有什么不能入网的?Intransa的主要技术理念是将IP协议站加入到了磁盘上,就像将FC协议加入到磁盘上一样。尽管这个做法目前没有多少人感冒(华为基于这个技术推出了IX系列存储,不知道是全盘照搬还是自主研发)。但至少表现了一种思想和趋势。

  此外,SCSI over ethernet也有可能成为未来的可行的存储网络标准。所谓SCSI over ethernet就是直接丢弃IP这一层多余的寻址机制和TCP的传输机制,自定义一套高效的,针对性的inter switch寻址和传输机制,intran switch或者规模较小的fabric用mac地址直接寻址,inter switch或较大规模的fabric在ethII帧或者LLC SNAP之上再引入额外字段实现高层寻址。这样将极大的简化TCP/IP带来的开销,加上以太网的廉价广域LAN,以及万兆以太网这个杀手锏,相信这个技术方向未来有无限的发展潜力。

  Infiniband的核心思想,即所谓系统区域网络(SAN)。他起源并发展于是三个IO模型。这三个模型的思想就是IO分离,形成系统区域网络,将传统IO模型基于本地的IO,变为网络式IO。应该说SAS(serial attached SCSI)也是利用这种思想。其实Fiber Channel也有这种思想的体现,只不过没有规范化的表现出来。

  Infiniband可以说是分离IO的系统区域网络:是一种将网络化应用到系统IO,消除传统IO总线本地化的限制。彻底网络化的结果就是产生了子网、节点、寻址、寻址、网络管理、安全访问,黑客等名词。而IB(infiniband)也确实体现了这些内容。寻址采用了2层寻址,一层是LID,一种GID,intran subnet寻址采用LID,忽略GID,而inter subnet寻址则采用GID,这种寻址机制类似ATM网络中的VPI VCI寻址机制,提高了效率。定义了HCA(host channel adaptor)和TCA(target channel adaptor),类似HBA一样的作用。与高层的接口方面,定义了QP(queue pair)等。

  后记:彻底的网络化时代

  结语:未来将是一个彻底网络化的时代!恐怕再过一段时间,连内存总线都要网络化了,到时候,分布式处理将不再是难题,将不在需要分布式文件系统这种低效的机制。试想一下,将来各地都分布着强大的cpu阵列、内存阵列、存储阵列,北京有个2000GHz的cpu,青岛有个1000GHz的,北京有个10KG容量的内存阵列。

阅读(499) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~