SCSI总线和协议以及SAN存储网络详解

在讲解SAN存储网络之前,我想先在物理层面为大家讲解一下以太网网卡,FC-HBA卡(光纤网卡),iSCSi-HBA卡的区别。

        以太网卡:就是我们平常见到的电脑或服务器上面的网卡,它传输的是IP协议,通过双绞线(网线)跟以太网交换机相连,因为我们平时使用的网卡最大的传输速率为千兆,所以在生产环境中为了提高IP报文的传输速率,有时会用万兆的光网卡,使用光纤线缆与光纤以太网交换机相连,它传输的同样为IP协议,只是传输速率由原来的千兆升级到了万兆。万兆网卡的传输速率最大为2Gb/s。

        备注:有的人太明白为什么万兆需要使用光纤介质,这是由于传输介质的编码问题导致的,传统的双绞线(网线)最大的传输速率只能达到千兆,要想提高传输速率就只能更换传输介质,把双绞线(网线)更换为光线。

        

         存储使用的统一称为HBA卡,它又分为FC-HBA卡跟iSCSI-HBA卡

         FC-HBA卡(光纤网卡):全称为Fibre  Channel HBA传输的FC协议,这是专门用储网络的中的一种协议,通过光纤线缆与FC交换机(光线存储交换机)相连,然后接入到后端存储矩阵中。它的传输速率最大可以达到2Gb/s--4Gb/s.

       备注:大家在实际生产中所说的光纤网卡实际上指的就是FC网卡也就是FC-HBA卡


        iSCSI-HBA卡:全称叫做iSCSI HBA卡,它传输的是iSCSI协议,因为iSCSI-HBA卡在传输数据的过程中是将iSCSI协议封装成TCP/IP协议来进行数据传输的,所以iSCSi网卡的接口跟千兆的以太网卡接口相同,都使用双绞线(网线)跟传统的以太网交换机相连,然后接后端接存储矩阵。有时我们也是用iSCSI-HBA卡当做以太网网卡使用让它直接传输以太网的TCP/IP报文。

        ???为什么我们这里可以把iSCSI当做以太网卡使用,而且为什么iSCSC在实际生产环境中连接的网络传输设备为传统的以太网交换机,而没有专门的iSCSI交换机供其连接,后续我会做详细解答。


下面我就具体来讲解一下SCSI总线和协议

第一节:SCSI总线和协议

         SCSI协议我个人理解它为块级别的存储协议。它是一种I/O技术,让数据以块的方式进行传输的一种协议规范。这个术语也常被用来指称运行该协议的并行线缆机制,将磁盘和磁带设备连接到应用服务器上的一种总线机制 。

           我们来看下面这一张图:

        image.png

         SCSI总线是SCSI设备之间传输数据的通路,所以SCSI总线又被称为SCSI通道。


         image.png

         SCSI控制器称为主适配器,其作用就像SCSI总线和PC系统总线之间的网关 ,SCSI控制器逻辑上可以分为一个任务管理单元负责管理target,以及多个逻辑单元,负责管理LUN.4

SCSI连接示意图:

       image.png

     

       我们知道SCSI总线上可挂载的设备数量是有限的,一般为8个或者16个,可以用target ID(SCSI ID)来描述这些设备,设备只要加入系统,就会有一个代号,我们在区分设备的时候,只需要说几号即可。而实际上我们需要用来表示的对象,是远远超过该数字的,于是我们引入了LUN的概念,也就是说LUN ID的作用就是扩充了Target ID。每个Target下都可以有多个LUN Device,我们通常简称为LUN.每个SCSI ID上最多有32个LUN,一个LUN对应一个逻辑设备,一个逻辑设备可能是一个分区,也有可能是一个独立的磁盘.


SCSI通信模型:

        image.png

         服务端的Traget通过任务分发器进行任务调度,进而控制逻辑单元。

SCSI通信过程:

        image.png

       SCSI协议分为三层

            应用层

            传输层

            物理层

       物理层使用SCSI线缆进行数据传输,也可以替换成其它额介质,如光纤,以太网双绞线等。


第二节:SCSI协议的封装iSCSI协议以及FC协议

          image.png

         在我们的实际生产环境中,为了结合现有网络同时为了使用成熟的TCP/IP协议,特地将SCSI的物理层封装FC,iSCSI,iSER协议结合现有网络来使用。

        FC可以理解为光设备驱动:使用FC协议,物理介质使用光纤相连组成FC SAN存储网络,另外还有思科自主研发的FCoE协议,借助万兆以太网传输。

        然后就是大名鼎鼎的iSCSI协议,它是将SCSI报文封装成iSCSI报文,然后在进行二次封装成TCP/IP报文,最后借助于以太网传输,用双绞线(网线)组成IP SAN存储网络

        还有就是代表了下一代I/O技术使用iSER协议组成的IB SAN网络。它指的是一种交换结构的I/O技术,使用infiniBand交换机来连接后端存储。


我们在实际生产环境中使用的比较多了是使用FC协议借助光纤存储交换机将存储设备与客户端相连组成的FC SAN网络。这种存储网络架构是SCSI的传输层SCSI报文直接封装成FC协议借助光纤进行数据传输

而iSCSI得先经过SCSI报文封装成iSCSI协议,然后由iSCSI驱动管理器转换成TCP\IP报文,然后经由以太网卡借助IP网络跟以太网交换机相连,从而将存储设备跟客户端连接在一起组成IP SAN存储网路。

这也是我上文中提到的为什么iSCSI协议可以借助于以太网卡进行传输。


第三节:IP SAN存储的三种连接方式

        第一种:以太网卡+initiator软件方式

             需要使用存储设备的服务器使用标准的以太网卡,通过网线直接与以太网交换机相连,iSCSI存储也通过网线连接到交换机上。在服务器上安装Initiator软件。iSCSI存储端通常安装的是Target软件。Initiator软件可以实现iSCSI协议拆封装成TCP/IP协议的功能。从而实现借助于以太网卡传输iSCSI协议的功能。

             这种方式的采用标准的以太网卡跟以太网交换机,无需额外的适配器,成本较低。但是无论是存储服务器端的Target软件对iSCSI报文的拆解封装还是Initiator软件对iSCSI报文的拆解分装都是有内核来完成的,故性能较低。

        第二种:硬件TOE卡方式

             其实TOE卡说白了就是以太网卡的升级版,它将iSCSI报文打包封装成TCP/IP报文这一过程的处理工作全部转到网卡上来完成,替系统内核分担一部分流量。这样乐意大大提高数据的传输速率,但是SCSI协议到iSCSI协议的转换还是经由主机内核来完成。它同样是借助以太网卡跟以太网交换机来完成的。

        第三种:iSCSI-HBA卡+iSCSI交换机

             采用HBA卡可以将SCSI协议封装成iSCSI协议,以及iSCSI封装成TCP/IP的过程全部由HBA卡来完成,极大的提升的数据的传输速率。它同样是借助于亚太网交换机来完成网络连接,之所以不使用iSCSI交换机是因为iSCSI交换机不是真正意义上的交换机,而是一种集成在HBA卡上面的协议转换器。用来进行协议转换。


        这些大概就是SCSI协议跟IP SAN组网的一些知识点,协议小结我会在实验环境中将IP SAN存储网络的步骤整理出来。

                

猜你喜欢

转载自blog.51cto.com/11970509/2322308
今日推荐