《大话存储》第12章-存储网络的新军IP SAN

1.TCP/IP与FC

  • FC的优势:
    • FC在OSI下四层都有定义,TCP/IP只有网络层和传输层(租用以太网等其他底层传输网络);
    • FC目前普遍能跑出4Gb/s的速度,以太网100Mb/s的速度算正常,1Gb/s算超常发挥,10Gb/s还在修炼中;
    • TCP/IP办事拖泥带水,笨重不堪。TCP和IP头开销合起来要40B,FC只有24B;以太网交换机MTU一般为1500B,FC交换机则超过2000B,传输效率上也高过以太网。
  • TCP/IP的优势:使用广泛、便宜、FC的兼容性差扩展性差和费用太高。

2.为何不是以太网+TCP/IP

  • 以太网可寻址容量很大,甚至比IP的地址容量都要大,是IP的216倍。而其地址是定长的,且使用专用电路完成交换动作。以太网除了双绞线之外,还可以用光纤进行传输。最重要的一点就是以太网非常廉价、部署简单。
  • 但是,以太网和FC网络比起来,也有其先天不足之处:速度没有FC快;以太网是一个不可靠的网络,不是一个端到端的协议,不管源和目的的状态,只是一味地向接口上塞数据,这也是下层协议的普遍特点。
  • Disk SAN是唯一一个没有被以太网攻克的领域,最大的原因就是以太网的速度相对FC来说慢了很多。

3.攻陷Disk SAN阵地

  • iSCSI:Internet Small Computer Sysytem Interface。在这种协议中,SCSI语言甚至可以通过Internet来传递,也就是承载于TCP/IP之上。只要IP可达,则两个节点就可以通过iSCSI通信。
  • SCSO指令和数据,作为”客人“,需要被TCP/IP这架”飞机“运载到目的地,SCSI本身并不关心也不想关心诸如从哪登机、行李托运、安检、海关交涉等一系列问题,于是需要有一个代理来完成这些动作,这个角色就是iSCSI Initiator和iSCSI Target。
  • iSCSI Target端运行在存储系统一侧,其作用是接收iSCSI Initiator 端传输过来的SCSI协议指令和数据,并将这些指令和数据转交给自己这一侧的SCSI协议栈处理。iSCSI Initiator 端运行在想要获得存储空间的主机一侧,其目的是向iSCSI Target端发起连接,并传输SCSI指令和数据。
    • 在iSCSI Initiator 端程序中需要配置所要连接的iSCSI Target端的IP地址,iSCSI Initiator 会主动向这些IP地址的3326端口发起iSCSI Login过程;
    • iSCSI连通之后,Initiator会主动向Target发起一个SCSI Report Lun指令,Target便向Initiator报告所有的Lun信息;
    • 拿到Lun表之后,Initiator端主动发起SCSI Inquery Lun指令查询每个Lun的属性,然后Initiator端便向OS内核注册这些Lun;
    • OS内核便针对每个Lun加载各自的驱动,在对应的/dev/下生成各自的设备。
  • 所以,iSCSI Initiator其实就是一个虚拟的Port Driver,其通过调用TCP/IP,TCP/IP再继续调用底层网卡的Port Driver实现数据发送。
  • FC也是一个网络,也是替代了SCSI协议栈的下四层,FC也不是为了专门承载SCSI协议才被发明的,那么利用FC网络发送SCSI协议的哪个应用程序或者说角色是什么?就是俗称FCP的一个协议,相当于FC体系下的一个应用,也就类似TCP/IP体系下的FTP、Talnet等。
    • FTP要发起连接传文件,首先要向对方的TCP端口号21发起链接,同样利用FC传输SCSI指令的FCP,也需要向对方FC Target端某个特定端口号发起链接,FC Target端的某个程序正在监听这个端口的一切动作。
    • 为何主机端不需要安装FCP Initiator程序呢?其实FCP的Initiator程序就是集成自阿勒FC适配卡的驱动里了,因为FC的HBA卡目前来讲专门分配给存储用,所以直接集成到驱动里,不需要额外安装,而以太网则不同,一般都是独立开发独立安装。
    • 另外,FC协议也像TCP/IP协议一样有类似”端口号“的概念,只不过没有像TCP/IP这样被广为人知罢了,所以用FC承载任何上层应用都是可以的,当然,这些都需要自己去开发。
    • 同样,SAS网络里也是这样一套运作流程,利用SAS网络承载SCSI协议,需要SSP发起端和目标端,同样,也被集成到了驱动里。

4.iSCSI磁盘阵列

  • 下图便是一个典型的iSCSI磁盘阵列的基本架构。其前端IO设备就是普通的以太网卡。TCP/IP以及iSCSI逻辑均运行在主内存中。后端的磁盘可以以任何方式接入总线,甚至可以是独立的磁盘阵列。磁盘经过VM(Volume Manager)虚拟化层之后,通过前端接口供主机访问。iSCSI盘阵与FC盘阵结构类似,只不过前端接口成了以太网而已。
    在这里插入图片描述
  • 这台盘阵的架构与PC无异,不管是主机还是磁盘阵列,都是由计算机系统的老三样——CPU、内存、外设组成的。其所实现的功能,关键是靠所运行的软件。目前,几乎各种操作系统都已经有了iSCSI Initiator软件,有些操作系统甚至有iSCSI Target软件;它们安装了Target软件,也就变成了盘阵,只不过在性能、功能和容量上没有专业盘阵强悍。
  • 目前,TCP/IP只是占领了盘阵前端接口的部分阵地。这个记过也是可以预知的,TCP/IP之所以可以与FC竞争,就是因为其优良的扩展性,而不是因为它的速度。后端需要的首先是性能,而不是扩展性。所以,后端还是乖乖地交给FC才是明智的选择。

5.IP SAN

  • 后来,人们索性将iSCSI为代表的以TCP/IP作为传输方式的网络存储系统称作IP SAN,即基于IP的存储区域网络。IP SAN并不一定要用以太网作为链路层,可以用过任何支持IP的链路层,比如ATM(IPoA)、PPP、HDLC,甚至是Fubre Channel也可以作为IP的链路层。
  • 这样,就使得IP SAN的可扩展性变成了无限,它可以扩展到世界上任何一个有Internet 网络接入的地方,这也是Internet Small Computer System Interface名称的由来。
  • FC网络虽然比并行SCSI总线的扩展性高了很多,但是相对于TCP/IP的扩展性,FC就是小巫见大巫了。
  • iSCSI和NAS的区别:
    • 虽然iSCSI与NAS都是利用TCP/IP+以太网来实现的,但是二者所传输的语言是大相径庭的。NAS传输的是文件系统语言,而iSCSI传输的是SCSI指令语言;
    • NAS设备上必须运行一种或者多种文件系统逻辑,才能成为NAS;而iSCSI Target设备上不需要运行任何文件系统逻辑(盘阵自身操作系统文件管理除外);
    • 在相同的条件下,iSCSI与NAS在速度与性能方面相差不大。

6.增强以太网和TCP/IP的性能

  • 1.Checksum Offload(CO)
    • 计算每个TCP包的校验数据是一件及其枯燥乏味和耗费资源的工作。由于TCP/IP程序均需要运行在主机操作系统中,所以计算校验数据的任务当然要落在主机CPU身上。CPU不得不拿出额外的指令周期来计算每个TCP包的校验数据。这对于CPU处理能力比较弱的主机来说,性能影响是不可忽略的。
    • Checksum Offload:为了将CPU解脱出来,这种技术奖计算校验数据的工作完全转移到了网卡的硬件上,对于向外发送的TCP包,CPU可以不经校验直接传送给网卡,由网卡芯片来做校验;同样,对于接收到的数据包,在没提交到主机内存之前,就已经做好了校验分配。
  • 2.Large Send Offload(LSO)
    • TCP需要根据底层链路的MTU值来适配其每次发送的数据大小。如果上层传递过来的数据大于其允许的最大分段长度(MSS值),则TCP会将这些数据分成若干个数据包发送出去,这就是所谓的Large Send。这项工作目前也可以转移到网卡上来完成。
  • 3.TCP/IP Offload(TO)
    • 干脆将TCP/IP整个程序都放到网卡硬件芯片上来运行。这种特殊的以太网卡称为TOE卡,即TCP/IP Offload Engine Card。
      在这里插入图片描述
  • 4.Security Offload(SO)
    • 不仅将TCP/IP协议从主机上Offload了下来,还可以在硬件上直接实现IPSEC相关的协议,将对数据包的加解密过程也从主机上Offload下来。
  • 5.iSCSI Offload(IO)
    • 将TCP/IP+iSCSI的整套逻辑都放到网络适配卡上来运行。由于iSCSI的上层是SCSI,所以一张iSCSI卡对于主机来说,会表现为一张SCSI卡。不同的是,这张虚拟的SCSI卡可以设置其自己独立的IP地址以及其他TCP/IP和iSCSI的参数。
      在这里插入图片描述

7.FC SAN节节败退

  • 1.成本问题
    • 部署FC SAN的成本是不刷IP SAN的10倍甚至十几倍。以太网卡和以太网交换机相比FC卡和FC交换机偏移了很多。对于性能要求不是很苛刻的用户来说,部署IP SAN无疑是性价比最高的方法。
  • 2.可扩展性问题
    • FC是一个专用网络。虽然FC当时是作为像以太网一样的通用的网络传输技术被设计出来,但是目前,其专门被用作存储网络。FC长期被束缚在这样一个狭小的环境内,不仅造成了其不思进取的性格,而且也造成了其成本的居高不下,所以FC很难被扩展出去。
  • 3.应用性问题
    • 曲高则和寡。既然FC这么不开放,那么就注定难用。部署一个FC存储网络比部署一个IP网络要复杂,对技术人员的要求也比较高。
  • 4.兼容性问题
    • 由于FC及其不开放,即使有相关的标准,但不同的生产厂家产出的FC设备,有时候并不一定会完全兼容,总会出现一些莫名其妙的问题。相对来说,TCP/IP由于已经在完全开放的环境中摸爬滚打了很长的时间,所有已经被发现的bug也都被修复了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值