存储基础(SATA、SCSI、RAID、SAN、SAS、FC)

本文涉及如下知识:

SAN(存储区域网络)
SCSI:小型计算机系统级接口的独立处理器标准
iSCSI:Internet(i)小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术
SATA:基于行业标准的串行硬件驱动器接口
RAID:磁盘阵列
FC(Fibre Channel):FC协议、FC网络、FC互联
Fiber Channel:光纤通道
InfiniBand(IB):无限带宽

大部分内容转载自:http://www.51testing.com/html/92/450992-831484.htm

参考文章:

《SCSI/iSCSI及SAS、NAS、SAN的基本介绍》


我的其他相关文章:

真正弄懂存储虚拟化、软件定义存储

文件系统、POSIX标准及VFS

对象存储、文件存储、块存储的区别和联系


一、计算机存储基础知识


1、 存储历史的发展,存储在这里的含义为信息记录,是伴随人类活动出现的技术,主要经历如下过程

a)        竹简和纸张

b)        选数管

c)        穿孔卡

d)        穿孔纸带

e)        磁带

f)         磁鼓存储器

g)        硬盘驱动器

h)        软盘

i)          光盘

j)          Flash芯片和卡式存储

k)        硬盘阵列

l)          大型网络化硬盘阵列

2、 信息、数据、数据存储概念

a)        信息是客观存在的,可以说,世界在生物眼中就是信息,世界通过信息来反映,脱离了信息,世界什么都不是

b)        数据就是一种描述信息的信息,这种信息称为数据

c)        文件系统,数据存放在磁盘上,需要有一定的组织,组织数据这个任务就是文件系统来完成

d)        数据存储是存储数据的一些物质和技术。



1、总线:IO是通过共享一条总线的方式来实现的。总线就是一条或者多条物理上的导线,每个部件都接到这些导线上,导线上的电位每个时刻都是相等的,这样总线上的所有部件都会收到相同的信号,也就是说总线是共享的,同一时刻只能有一个部件在接收或者发送,是全单工的工作模式

2、总线的划分

2.1、按功能划分

数据总线:部件之间交互数据用的总线

控制总线:互相传递控制信号用的总线

中断总线:中断与仲裁用的总线

地址总线:用来确认通信时的目标设备

2.2、按类型划分

系统(CPU)总线或前端总线:连接CPU与北桥的总线

内存总线:连接北桥与内存的总线

桥间总线:连接南桥与北桥的总线

USB总线:连接南桥与U盘的总线

IDE总线:连接南桥与硬盘的总线

PCI总线:连接南桥与外接设备(网卡、显卡、声卡、SCSI卡)的总线

SCSI总线:SCSI卡与外接硬盘的总线

3、网络是什么

用一句话来说就是要通信的所有节点连接起来,然后找到目标,找到后发送数据。简单来说就是“连-找-发”

4、协议

协议就是语言,就是让通信双方知道对方传过来的Bit流里面到底包含了什么,怎么由笔画组成字,由字组成词,词组成句子,等等



1、软盘:将布满磁性粒子的一片圆形软片包裹在一个塑料壳中,中间开孔,以便电机夹住这张软片来旋转,这就是软盘。将软盘插入驱动器,电机便会带动这张磁片旋转,同时磁头也夹住磁片进行数据读写。软盘上的磁性粒子的磁极,不管是N极还是S极,其磁化强度都是一样的,磁头只要探测到N极,就认为是1,探测到S极,就认为是0,这就是用0和1来记录的数字信号数据

2、块式和流式

2.1、块式就是指数据分成一块块地存放在介质上,可以直接选择读写某一块数据,定位这个块的速度比较块(硬盘、软盘)

2.2、流式就是指数据是连续不断地存放在介质上(磁带),定位的比较慢

3硬盘结构以及相关设备

硬盘大致由盘片、读写磁头、马达、底座、电路板等几大项组合而成。

3.1、盘片

盘片的基板是由金属或玻璃材质制成,为达到高密度高稳定性的要求,基板要求表面光滑平整不可有任何瑕疵。然后将不含任何杂质的极细微的磁粉均匀地渡到基板表面上,最后涂上保护润滑层

3.2、磁头

磁盘的存储原理是将数据用其控制电路通过硬盘读写头(磁头)去改变磁盘表面上极细微的磁性粒子簇(磁性粒子指的是一个区域内的若干磁性分子,这些磁性分子聚集到一起,直到磁头可以感觉到它的磁性为止,根据这片区域的分子是N极还是S极,转换成电信号1或0,产生字节,记录数据)的N、S极性加以存储。磁头悬浮在磁片表面上的距离是0.0005微米-0.01微米(相当于波音机在1米的地面的高速飞行),这样的距离才能达到数据读写的高可靠性、高稳定性。(同一个时刻,只能有一个磁头在读写)

3.3、步进电机或者是音圈电机

利用精确的齿轮或者音圈,使磁头每次旋转可以进行微米级的位移,这样磁头就可以精确定位到每个磁道。主要作用是推动磁头去每一个不同的磁道,为了寻道。

4、磁片上的数据组织

硬盘被划分为磁道、柱面、以及扇区硬盘由多个盘片叠加在一起组成,每一个盘片的每个面都有一个读写磁头,磁头起初停在盘片的最内圈,称为启停区(磁盘开始旋转,旋转速度达到一定时,磁头就会因磁盘旋转产生的气流抬起来,悬浮在磁片表面,才敢去读数据),启停区外就是数据区。在最外圈,离主轴最远的地方是0磁道(存放着用于操作系统启动所必需的程序代码),硬盘数据存放就是从最外圈开始的。

4.1、盘面:硬盘里有2-14个盘片,每一个盘片都有两个盘面,即上、下盘面,每个盘面都能利用,都可以存储数据,称为有效盘片。盘面号从上到下的顺序从0开始依次编号

4.2、磁道:磁盘在格式化时被划分成许多同心圆,这些同心圆轨迹叫作磁道。磁到从最外圈向内圈从0开始顺序编号。磁盘的每一个盘面有300-1024个磁道。外圈磁道的读写速度比内圈快。

4.3、扇区:磁道不是连续记录数据的,而是被划分成一段段的圆弧(每个环形磁道等距离切割,形成等长度的圆弧),每一段圆弧就叫一个扇区,扇区从1开始编号,每个扇区中的数据作为一个单元同时读写,是读写的最小单位,不可再分割每个扇区512字节。(扇区的编号采用的是交叉因子编号,而不用顺序编号)

4.4、柱面:所有盘面上的同一磁道,在竖直方向构成一个圆柱,通常称为柱面,每个圆柱上的磁头由上而下从0开始编号。数据的读写按柱面进行,即磁头读写数据时首先在同一柱面内从0磁头开始进行操作,依次向下在同一柱面的不同盘面上进行操作。切换柱面就是寻道的意思。数据的读写是按柱面进行而不是按盘面进行。

4.5、读写数据的流程:首先0号读写磁头在硬盘的0号柱面的最上面的0盘面的最外圈的0磁道的1号扇区开始写数据,一直写,把0磁道的所有扇区写完以后,然后1号读写磁头在硬盘的第二面1盘面的最外圈的0磁道的1号扇区开始写数据,依次类推,写完最外圈的0号柱面的所有盘面之后,开始写1号柱面,依然用0号读写磁头在硬盘的1号柱面的第二盘面的1盘面的第二外圈的0磁道的1号扇区开始写数据。。。。

4.6、顺序编制(逻辑块地址,LBA,Logical Block Address)指的是把盘面想象成只有一个磁道,这个磁道无限长哦直线,扇区为这条直线上的等长线段,从1开始顺序编号,直到无限远。LBA1表示0号柱面0号盘面0号磁道0号扇区。每一个LBA是512字节。

4.7、磁盘一次IO:就是磁头在一次连续读或写。而一次连续读或写的过程,不管读或写了几个扇区,扇区剩余部分均不能再使用

5、磁盘相关的技术

5.1、 磁盘缓存:磁盘上必须有缓存,主要用来接收指令和数据,还被用来进行预读

5.2、无序传输技术:当控制器发出一条指令要求读取某些扇区中的内容时,磁盘可以才不从数据所在的初始扇区开始读,而是采取就近原则

6、影响磁盘性能的因素

6.1、转速:是影响硬盘连续IO吞吐量性能的首要因素,读写数据时,磁头不会动,全靠盘面的转动来将对应扇区中的数据感应到磁头,转速越快,数据传输时间越短。一般中高端磁盘转速在每分钟10000转

6.2、寻道速度:是影响硬盘随机IO性能的首要因素,随机IO情况下,磁头臂需要频繁更换磁道,磁头臂越快,寻道速度越快。一般高端磁盘寻道速度在10ms以下

6.3、单盘容量:单盘容量大的,寻道会更少,提高性能

6.4、接口速度:基本不影响性能,接口速度已经满足了最高外部传输带宽。

7、硬盘接口技术(硬盘提供的物理接口有:)

接口是包括物理、逻辑在内的抽象出来的接口,也就是说,一个事物面向外部的时候,为达到被人使用的目的而向外提供的一种打开的、抽象的协议,类似于说明书。

IDE = Integrated Drive Electronics 电子集成驱动器

ATA = Advanced Technology Attachment 高级技术附加

SCSI = Small Computer System Interface 小型计算机系统接口

7.1、IDE硬盘接口,也称为PATA接口(Parallel ATA,并行传输ATA)、ATA接口: 本意是指把控制电路和盘片、磁头等放在一个容器中的硬盘驱动器,使用一个40芯电缆与主板上的ATA接口进行连接

7.2、SATA硬盘接口,也称为串行传输ATA(Serial ATA),相对于PATA模式的IDE接口来说,SATA用串行线路传输数据,但是指令集还是ATA指令集。SATA与IDE结构在硬件上有本质的区别,IDE速度慢,目前基本已淘汰,两者对比参见:

https://baijiahao.baidu.com/s?id=1606789077160135005&wfr=spider&for=pc

7.3、SCSI硬盘接口,一种较为特殊的接口总线,具备与多种类型的外设进行通信的能力,比如硬盘、CD-ROM、磁带机和扫描仪等。是一套完整的数据传输协议,分为:

SCSI-1、SASI 数据传输速度5MB/s

SCSI-2、Fast SCSI数据传输速度20MB/s

SCSI-3、 Ultra SCSI数据传输速度40MB/s

Ultra 2 SCSI数据传输速度80MB/s

Ultra 160 SCSI数据传输速度160MB/s

Ultra 320 SCSI数据传输速度320MB/s

8、IDE数据传输模式

8.1、PIO模式(Programming Input/Output Model)是一种通过CPU执行I/O端口指令来进行数据读写的数据交换模式。

8.2、DMA模式(Direct Memory Access)直接内存访问 是一种不经过CPU直接从内存存取数据的数据交换模式。

8.3、Ultra DMA模式(Ultra Direct Memory Access)高级直接内存访问

9、LUN(逻辑单元编号Logical Unit Number)对于带RAID功能的SCSI接口磁盘阵列设备来说,由于会产生很多的虚拟磁盘,所以只靠SCSI ID来唯一指定一个设备是不够的,这个时候要用到LUN来扩充。所以习惯上称磁盘阵列生成的虚拟磁盘为LUN

10、OSI模型中各层的作用

物理层:就是用来描述传输速率、电气技术性能

链路层:就是用来将数据帧成功地传送到该线路的对端

网络层:就是用来寻址的

传输层:就是保障此端的数据成功地传送到彼端

会话层、表示层、应用层是程序的事情了,是程序细节问题,与底层网络通信语言无关。

11、磁盘传输速率的区别

11.1、磁盘内部传输速率:指的是磁头读写磁盘时的最高速率,这个速率不包括寻道以及等待扇区旋转到磁头下所耗费时间的影响。通常每秒10000转的SCSI硬盘的内部传输速率大概在1000MB/s左右。

11.2、磁盘外部传输速率:指的是从外部接口传送到硬盘控制器时候的传输速率,通常每秒10000转的SCSI硬盘的外部传输速率大概在80MB/s左右。

12、并行传输和串行传输

12.1、并行传输:传输效率高,速度慢。多条电路同时传输。(例如 IDE / PATA)

12.2、串行传输:传输效率低,速度快。一条电路传输。(例如 SATA)

13、磁盘的IOPS和传输带宽(吞吐量)

13.1、磁盘的IOPS,也就是每秒能进行多少次IO,每次IO写入数据的大小。公式 IOPS=1/(换道时间+数据传输时间)。具有高IOPS的硬盘在传输小块不连续的数据时具有优势。写入10000个大小为1KB的文件到硬盘上,耗费的时间要比写入一个10MB大小的文件多的多。因为写入10000个文件时,根据文件分布情况和大小情况,可能需要几万甚至几十万的IO才能完成,而写入一个10MB的大文件,如果这个文件是在磁盘上连续存放的,那么几十个IO就可以完成

13.2、传输带宽:指的是硬盘或设备在传输数据的时候数据流的速度。


二、RAID及磁盘管理


1、相关概念

1.1、RAID = Redundant Array of Independent Disks 独立的磁盘组成的具有冗余特性的阵列

既然是阵列,一定需要很多磁盘来组成,既然是冗余特性的,那么一定可以允许某块磁盘摔坏之后,数据仍然可用。

1.2、扇区(Sector):每个环形磁道等距离切割,形成等长度的圆弧。扇区采用的是交叉编号,一个扇区512字节

1.3、块(Block):每N个扇区(1、2、3、4号扇区)组成一个块。许多文件系统或卷管理软件都是用块而不是扇区作为基本存储单元。块的编号以横向条带方向开始一条一条地向下。

1.4、条带(Stripe):不同磁盘的相同偏移处的块组合成条带。

1.5、段(Segment):在一个条带所占用的单块磁盘上的区域。

1.6、条带深度:每个段包含的块或扇区的个数或字节容量,称为条带深度

1.7、条带长度:一个条带横跨过的扇区或块的个数或字节容量,就是条带长度

2、不同级别的RAID

2.1、RAID 0:访问循序:CPU控制器发出一条指令“读取初始扇区10000长度128”到RAID虚拟磁盘控制器,RAID控制器在Cache中经过计算(将数据放在某个条带不同的段的不同块中)分析出这些扇区说对应的物理硬盘的位置,然后将指令发送到磁盘控制器,磁盘控制器通过这些指令控制磁盘臂头读取相应的数据,传输给RAID虚拟控制器Cache中,再提交给CPU控制器。

一种模式是:把两块硬盘组合成一块,第一块用完了,接着用第二块;另一种模式是:第一块数据写在磁盘1,第二块写在磁盘2,第三段写在磁盘1,依次类推(条带化之后的多块硬盘,数据是被并行写入所有磁盘的,也就是多管齐下,在条带中某个段下的多个块可以同时写入不同的物理硬盘)第一、三、五…块数据写入1号盘,第二、四、六…块数据写入2号盘,并发写盘。读写性能最好的(相当于多个硬盘读写性能的叠加)、稳定性最差。不允许盘坏掉。

2.2、RAID 1

两块硬盘写相同的数据。第一块硬盘写1块A数据的时候,第二块硬盘也同时写1块A数据,增加可靠性。读写性能最低的(相当于一个硬盘的读写性能)、稳定性最好。允许多快盘坏掉

2.3、RAID 2

第一、三、五…块数据写入1号盘,第二、四、六…块数据写入2号盘,并发写盘,同时添加3号盘作为校验盘,让第一、第二块数据通过“汉明码”的方式进行校验,这样当1号数据盘坏掉的时候,可以通过校验盘和2号数据盘,计算出1号数据盘的数据,每两块数据盘就要一个校验盘。读写性能中等,有一定的稳定性。只允许一块盘坏掉。必须多个硬盘主轴同步

2.4、RAID 3

多块数据盘同时读写数据,只要一块数据盘通过“XOR布尔逻辑算式”的方式进行校验。在连续IO的情况下读写性能很高,在随机IO情况下读写性能没有提升,和单块数据盘一样。有一定的稳定性,允许一块硬盘坏掉。必须多个硬盘主轴同步

2.5、RAID 4

类似于RAID 3,只是增加了条带深度。一大败笔,性能还不如RAID 3,校验盘成了整个RAID的瓶颈。每个IO不管目标是哪个数据盘,但是一定要读写校验盘。所以成了瓶颈。

2.6、RAID 5

多快数据盘同时读写数据,同时把校验盘打散分布(分布式校验盘)在各个数据盘里,这样可以让校验盘也可以同时并发IO了。在随机读性能方面急剧提升,但是在写性能还是一个瓶颈。只允许一块盘坏掉。

2.7、RAID 6

同RAID 5没有什么区别,就是多添加了一个校验盘,有两个校验盘。

3、与IO相关的几个概念

3.1、读/写IO:读/写IO就是指发指令(一般通知磁盘开始扇区位置,以及该位置后读取的连续扇区个数)从磁盘读取/写入某段序号连续的扇区的内容。一次IO读写说要读取/写入的扇区段一定是要连续的,如果要提取或写入两段不连续的扇区段,只能放入两个IO中分别执行。

3.2、大/小块IO:指控制器的指令中给出的连续读取扇区数据的多少。

3.3、连续/随机IO:连续和随机是指本次IO给出的初始扇区地址和上一次IO的结束扇区地址是不是完全连续的或者相隔不多的,如果是这是连续IO,如果不是,则需要不断换道,那么就是随机IO。

3.4、顺序/并发IO:磁盘控制器如果可以同时对一个RAID系统中的多快磁盘同时发送IO指令,并且这些最底层的IO数据包含了文件系统级下发的多个IO数据,则是并发IO。如果只是一个IO数据,那么就是顺序IO。

3.5、IOPS:完成一次IO说需要的时间=寻道时间+数据传输时间,IOPS=IO并发系数/(寻道时间+数据传输时间)

3.6、每秒IO吞吐量:每秒IO吞吐量=IOPS×平均IO Size。



1、软件RAID的三个缺点

占用内存空间、

占用CPU资源、

软件RAID程序无法将安装有操作系统的那个磁盘分区做成RAID模式,因为RAID程序是运行在操作系统之上的,所以在启动操作系统之前,是无法实现RAID功能的。

2、RAID卡

RAID卡是一种利用独立硬件来实现RAID功能的方法,实现了RAID功能带CPU的板卡(SCSI卡或者IDE扩展卡)就叫RAID卡。

板载RAID芯片就是指南桥中有实现RAID功能的芯片

带CPU的RAID卡俨然是一个小的计算机系统,有自己的CPU、内存、ROM、总线和IO接口,只不过这个小计算机是为大计算机服务的。

RAID卡上的内存,有数据缓存(缓冲内存)和代码执行内存(RAM)两种作用

缓存的两种写模式回写模式(上层发来的数据,RAID控制器将其保存到缓存中,立即通知主机IO已经完成)和透写模式(上层发来的数据,只有切切实实被RAID控制器写入硬盘之后,才会通知主机IO完成)

缓存有两种思想非常好预取(在缓存中预先把硬盘的数据读取过来,预想主机将会用这个数据)和假设(在缓存中的数据不写入磁盘,假设主机还会使用这个数据)


3、卷管理层

3.1、逻辑磁盘管理,LDM(Logical Disks Management)就是将OS识别到的物理磁盘或虚拟化的逻辑磁盘进行组合,并再分配的软件LVM是 Logical Volume Manager,逻辑卷管理,类似于LDM,它是Linux环境下对磁盘分区进行管理的一种机制。

3.2、物理卷PV,Physical:LVM将操作系统识别到的物理磁盘或RAID控制器提交的逻辑磁盘改了一个叫法,叫做物理卷如果PV本身是已经经过RAID控制器虚拟化而成的一个LUN,那么这些扇区很有可能位于若干条带中,也就是说这个8192个扇区物理上不一定连续。

3.3、大量卷组VG,Volume Group:多个PV可以被逻辑地放到一个VG中,VG是一个虚拟的大存储空间,逻辑上是连续的,尽管由多快PV组成,但是VG会将所有的PV首尾相连,组成一个逻辑上连续编址的大存储池

3.4、物理区块PP,Physical Partition:它是在逻辑上再将一个VG分割成连续的小块,LVM会记录PP的大小(由几个扇区组成)和PP序号偏移。这样相当于在VG这个大池中顺序切割,如果设定一个PP大小为4MB,那么这个PP就会包含8192个实际物理磁盘上的扇区

3.5、逻辑区块LP Logical Partition 一个LP可以对应一个PP也可以对应多个PP

3.6、逻辑卷LV Logical Volume也就是LVM提供的最终可用来存储数据的单位,生成的逻辑卷,在主机看来还是和普通磁盘一样,可以进行分区,格式化。


4、文件系统FAT16、FAT32、NTFS

FAT16(File Allocate Table)把每个完整的数据存放在磁盘的某一个位置称为文件

FAT32文件可以在磁盘上不连续存放,由单独的数据结构来描述这个文件在磁盘上的分布,这个数据结构就是文件分配表

NTFS采用元数据(用来描述其他数据是怎么组织存放的一种数据)来搜索文件文件系统从磁盘上删除数据的过程中,只会修改相关的链表,从元数据中抹掉相应的记录,而不会去抹掉或者覆盖被删除的文件原来所对应的扇区上的任何数据。

5、文件系统的IO

5.1、同步IO:是指程序的某一时刻进程或者线程,如果同时刻调用了同步IO接口,则IO请求发出后,这个进程或线程必须等待IO路径的下位程序返回的信号,如果不能立刻收到下位的信号,这一直处于等待状态,不继续执行后续的代码,被操作系统挂起,操作系统继续执行其他的进程或者线程。

倘若IO的下位程序尚未得到上位程序请求的数据有两种方式:

5.2、非阻塞IO:如果暂时没有得到上位程序请求的数据,则返回通知通告上位程序数据未收到。

5.3、阻塞IO:本下位程序也等待它自己的下位程序来返回数据,直到数据成功返回,才将数据送给上位程序。

5.4、异步IO:是指操作系统会继续执行本线程或进程中后续的代码,直到时间片到时或者因其他原因被挂起。异步IO程序的响应速度不会受IO瓶颈影响。

5.5、Direct IO:调用该接口的程序,其IO请求、数据请求以及回送的数据将都不被文件系统缓存(文件系统都有自己的缓存机制,增加缓存是为了使性能得到优化),而是直接进入应用程序的缓存。



1、磁盘阵列相关概念

1.1、磁盘柜:不带RAID控制器的一串外置的磁盘(JBOD Just a Bound Of Disks)

1.2、磁盘阵列:凡是自带RAID控制器的磁盘柜就叫磁盘阵列或盘阵,整个盘阵对于主机来说,就是主机SCSI总线上的一个或者多个设备,具有一个或多个SCSI ID,所有逻辑磁盘以LUN的形式展现给主机。

1.3、前端:对于盘阵来说,面向主机对外提供服务器的,即RAID控制器的左边称为前端

1.4、后端:对于盘阵来说,面向自己管理的磁盘用于内部管理而外部不需要了解的部分,即RAID控制器的右边称为后端

1.5、内部接口:是指盘阵RAID控制器连接其内部磁盘时用的接口。

1.6、外部接口:是指盘阵RAID控制器对于主机端提供的接口。

2、双RAID控制器的通信方式

为了避免单点故障,给盘阵安装一个额外的RAID控制器,这个控制器和原来的控制器在他们后端共享一条或者多条磁盘总线。通信方式有:

2.1、Active-Standby又称为HA方式(High Availability,高可用性)即两个控制器中同一时刻只有一个在工作,另外一个处于等待、同步和监控状态。出现故障,则备份控制器接管所有的。

2.2、Dual-Active即两个控制器同时工作,后端一半数量的总线交给一个控制器,另外一半交给另外一个控制器,出现故障,接管另外一半的总线

2.3、脑分裂Split Brain即某时刻两个控制器之间的通路出现了问题,不是其中某个控制器死机,此时两个控制器其实都是正常工作的,但是检测不到对方的存在,所以两者都接管所有的总线。


三、网络存储(SAN、FC等)


通信原理

1、OSI开放式系统互联模型七层模型

 Open System Interconnect Reference Model是一种被提取抽象出来的系统间通信模型,是一个描述两个或者多个系统之间如何交流的通用模型

只关心如何组织和表达要传送的数据

1.1、应用层表示一个系统要对另一个系统说传达的最终信息,应用层程序不关心这条指令是如何传达到对方的,只关心应用层自身的逻辑。

1.2、表示层就是对应用层数据的一种表示按双方规定好的格式来表示这些数据信息,一些加密等操作都是在表示层起作用的

1.3、会话层就是建立某种会话交互机制,交互一些信息,以便双方确定应用程序处于良好状态。通信的双方在发送实际数据之前,先建立一个会话。

只关心如何把数据传输到另一个系统

1.4、传输层就是负责端到端的数据保障机制

1.5、网络层就是负责寻址

1.6、链路层就是用来将数据帧按一定的链路规则排列以便物理层进行传送

1.7、物理层就是研究在一种介质上如何将数据编码发送给对方

2、网中有网

计算机总线这个微型网络,通过一个网卡,接入以太网交换机或者HUB,与其他在计算机总线网络形成一个局域网,然后这个局域网再连接到路由器网关,从而连接到更大的网络,甚至Internet。所有的网络,都按照OSI模型和“连找发”模型有条不紊地通信交互着,为我们服务。



1、SAN(Storage Area Network

SAN首先是一个网络,而不是指存储设备,这个网络专门是用来给主机连接存储设备用的,这个网络中有着很多的元件,它们的作用都是为了让主机更好的访问存储设备。

2、FC协议Fibre Channel或称网状通道或称FC网络或称FC互联

像TCP/IP一样,FC协议集同样具备TCP/IP协议集以及以太网的很多概念,这两个协议都遵循OSI的模型。

FC只是适用于SAN(存储区域网络)中的一种传输协议;可以将其看作SAN中的TCP/IP。

TCP/IP与FC的比较

TCP/IP优点是便宜,兼容性好、扩展性好。占领低端市场。

FC优点速度快、端到端的可靠性。缺点:成本高、可扩展性差、易用性差、兼容性差。占领高端市场。

IBM对Fibre Channel接口定义:“The Fibre Channel (FC) interface is a serial interface (usually implemented with fiber-optic cable).”

注意,Fibre Channel 和 Fiber Channel(光纤通道)的区别:

FC只是usually使用光纤,还有铜线缆;使用光纤做介质需要GBIC转换光电信号。


目前的存储协议除了iSCSI,FC外,还有SAS(Serial SCSI),以及FCoE(FC on Ethernet)通过以太网而不是光网传输的FC。


    2.1、物理层作为高速网络的代表,其底层使用了同步串行传输方式,而且为了保证传输过程中的电直流平衡、时钟恢复和纠错等特性,其传输编码方式采用NMb编码方式。为实现远距离高速传输,传输介质起码要支持光纤。FC协议集中物理层的电气子层名为FC0,编码子层名为FC1。

    2.2、链路层现代通信在链路层一般是成帧的,FC协议定义了24字节的帧头,这个24字节的帧头包含了寻址功能,传输保障功能。而TCP/IP协议这个帧头有42个以上的字节,这就是为什么FC协议比TCP/IP协议快。同时FC协议的MTC为2112字节而TCP/IP协议为1500字节,这也是另外一个为什么FC协议比TCP/IP协议快原因。FC协议的流控制策略一种为端到端的流控,一种是缓存到缓存的流控。

    2.3、网络层

2.3.1、两种网络拓扑模式:FC-AL拓扑类似于以太网共享总线拓扑,是一条仲裁环路(Arbitral Loop)每个FC AL设备首尾相接构成了一个环路,一个环路能介入的最多节点是128个。Fabric拓扑类似于以太网交换拓扑,Fabric意思为网状构造,是一个网状交换矩阵。这个寻址容量是2的24次方个。

2.3.2、寻址FC网络中的每个设备自身都有一个WWNN(World Wide Node Name),这个WWNN一般被写入ROM中不能改变。每个FC设备的每个端口都有一个WWPN(World Wide Port Name,世界范围的名字),也就是说这个地址在世界范围内是唯一的。WWPN地址长度是64位。FC网络中的每个接口都有一个Fabric ID,用这个ID而不是WWPN来嵌入链路帧中做路由。这个ID长24字节,分为高八位Domain ID(用来区分一个由众多交换机组成的大的FC网络中每个FC交换机本身)、中八位Area ID(用来区分同一台交换机上的不同端口组)、低八位Port ID(用来区分一个同端口组的不同端口号)。链路层和网络层统称为FC2

    2.4、传输层

FC利用Exchange ID来区分上层程序。FC协议中有四种服务类型,Class1是一种面向连接的服务,为通信双方保留一条虚电路,以进行可靠传输;Class2类型提供一种带端到端确认的保障传输的服务,类型于TCP;Class3类型不提供确定,类似于UDP;Class4类型是一个在一条连接上保留一定的带宽资源给上层应用,而不是像Class1类型那样保留整个连接。传输层统称为FC4。

    2.5、会话层、表示层、应用层

FC协议的上三层的确属于FC协议体系之中。详见:http://www.talkwithtrend.com/Question/408457-2847499


3、FC的七种端口类型

3.1、N端口和F端口

N端口和F端口专用于Fabric交换架构中,接入FC交换机的终端节点的端口为N端口,对应的交换机上的端口为F端口。

3.2、L端口

L端口指仲裁环上各个节点端口类型。

3.3、NL端口和FL端口

NL端口是开放环(即可以在环内节点通信,也可以和环外节点通信)中的一类端口,它具有N端口和L端口的双重能力,NL端口支持交换式光纤网登录和环仲裁。FL端口是FC交换机上用于连接开放仲裁环结构的中介端口

3.4、E端口

E端口是专门用于连接交换机和交换机的端口

3.5、G端口

G端口是万能端口,它可以转变上面讲到过的任何一种端口类型。


DAS、NAS和SAN

    DAS(Direct-Attached Storage)直接附加存储,存储设备一般通过scsi/ide总线直接连接到主机上,传输速度快,但距离受总线长度限制,且支持的并发主机数量少

    NAS(Network Attached Storage)网络附加存储,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于使用服务器存储,而效率却远远高于后者

    SAN(Storage Area Network)存储区域网络,采用FC(Fibre Channel)光纤通道或者Ethernet进行远距离传输,区别于Fiber Channel光纤通道技术,通过FC交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。

    DAS与SAN都是快级别的存储,而NAS是文件系统级的存储,因此NAS的存储速度不如前面两者(因为文件系统级别要进行数据的加封装解封装,处理数据报头等操作,而块级别是直接从磁盘进行数据的存取

    SAN(Storage Area Network)相当于模拟了远距离传输的DAS,特点是速度快。支持的并发服务主机数量多。


1、OSI参考三元素

1.1、连起来包括了OSI模型的物理层和链路层。要通信必须将所有的节点通过一种方式连接起来

1.2、找目标包括了OSI模型的网络层。要通信必须区分每一个节点,每一个节点必须具有一个唯一的身份标志,以太网中,这个标志使用的是一个6字节长的字段MAC(Media Access Control)地址。每个节点的网卡都有一个全球唯一的MAC地址,这个地址在网卡出厂时候被固化在芯片中。

1.3、发数据包括了OSI模型的传输层。在共享总线以太网中使用的是载波侦听机制(CSMA)来检测当前总线上是否有其他节点的信号正在传播,如果有,则不发送数据帧出去。为了保证总线的信号不冲突,使用了冲突检测(CD)技术。

2、总线上使用的技术

2.1、中继器的作用

其一是信号在总线上传输时受到干扰可能会迅速衰减,加了中继器后集线器将从一个接口收到的Bit流复制到每个接口,这样就避免了信号衰减

其二中继器可以防止由于不可知的原因,造成两个节点同时向总线上防止信号所造成的短路。

2.2、CSMA/CD技术

CSMA/CD技术靠的是电路逻辑来执行的,速度都是微妙级的,非常快。

载波监听机制(CSMA):每个节点都利用CSMA来检测当前总线上是否有其他节点的信号正在传播,一旦检测到信号,则暂时不发送缓冲区内的数据帧,并不断地侦听总线电路上的信号,一旦发现总线空闲,则立即向总线上放置信号,声明要使用总线。

冲突检测(CD):如果在完全相同的时刻,另一个节点也同样放置了信号,则两路信号会发生冲突,两个节点检测到冲突后,会撤销声明,继续回到侦听状态。两个节点在同一时刻同时发出信号的几率很小,因为在以太网中的所有节点的优先权都是一样的。

3、不同阶段的以太网

3.1、共享总线式以太网:

加了一个中继电路来避免信号衰减,多个节点形成一个冲突域,这样一个节点(端口)发送一个信号出去,总线上所有的节点都可以收到这个信号,不智能,也不安全。一条总线上有N个节点。没有大脑的

3.2、网桥式以太网(网桥):

加了中继电路的同时加了桥接电路芯片(逻辑运算电路和智能化的东西,使用MAC对应总线的方式),多个节点形成多个冲突域,这样就可以在以太网中分成更多的冲突域,增加信息的安全性。减少一条总线上的多个节点。有大脑但智商不高

3.3、交换式以太网(交换机):

加了中继电路的同时加了交换芯片(使用MAC对应节点的方式),两节点之间不再是共享总线通信,而是可以在任意时刻,任意两个节点之间同时收发数据。一条总线上一端只有一个节点。有大脑且是高智商

4、TCP/IP协议

应用层(DNS,HTTP)用户的数据。

传输层(TCP,UDP)保障发送发出的每个数据包,都会被最终传送到接收方。TCP是把应用层的数据分段

网络层(IP)通过ARP协议进行IP地址映射,以及分割数据,IP分片数据的时候,一定会把传输层头部分割在第一块货物中,也只有第一块货物会携带TCP或者UDP头。

链路层(Ethernet)进行数据在网络上的传输

TCP/IP协议是一套协议体系,以太网也是一套协议体系,它们之间是相互利用的关系,而不是相互依存的关系,由于TCP/IP协议在传输层和网络层的功能应用的太广泛了,但是在链路层和物理层是比较欠缺的,所以才会租用像以太网等底层协议。这就是Protocol over Protocol思想即Pop思想。



iSCSI (Internet Small Computer System Interface)因特网小型计算机系统接口。是TCP/IP协议为了兼容SCSI协议而设计出的一套新协议系统

iSCSI vs SCSI

    SCSI 结构基于客户/服务器模式,设备与SCSI设备要通过SCSI总线连接,所以距离受限,通常距离很近,而要想进行远距离的数据存储就要选择FC(Fabre Channel)光纤通道,传输速度超快而且距离不受限制,但是光纤通道的代价非常的高昂,所以IBM公司就开发了基于tcp/ip报文封装SCSI类型的数据,进而进行远距离存储SCSI数据的iSCSI,与FC相比iSCSI更加便宜,符合许多中小公司需求。

iSCSI将发起通信的一方称为Initiator,将被连接端称为Target,一般来说Initiator为主机设备,Target端为提供存储空间的设备。

iSCSI的initiator(硬件)有三种:

1、HBA卡,采用内键的SCSI指令及TOE引擎的ASIC芯片的适配卡价格最贵,性能最好,消耗CPU很少

如图:

2、内键的TOE引擎的ASIC芯片适配卡,由于SCSI指令任然以软件方式运行,所以任然会消耗一定的CPU资源,但价格相对便宜。

3、完全由软件驱动的initiator,会消耗大量的CPU资源,性能差。


iSCSI传输的是SCSI指令语言,而NAS传输的是文件系统语言,NAS设备上必须运行一种或者多种文件系统逻辑而ISCSI Target设备上不需要运行任何文件系统逻辑。

IP-SAN:将ISCSI为代表的以TCP/IP作为网络传输方式的网络存储系统称为IP SAN,即基于IP的存储区域网络

IP SAN 提高性能的措施:

    Checksum Offload(CO)计算TCP报的校验数据放到网卡里完成

    Large Send Offload(LSO)TCP分包的工作放到网卡里执行

    TCP/IP Offload(TO)TCP/IP整个程序放到网卡里执行

    Security Offload(SO)数据包的加密解密放到网卡里执行

    ISCSI Offload(IO) TCP/IP+ISCSI整套逻辑放到网卡上执行




1、PoP(Protocol over Protocol)即一种协议被打包封装或者映射到另一种协议之上,称为协议融合映射到以太网的IP称为IPoE;映射到帧中继的IP称为IPoFR;映射到ATM的IP称为IPoA等

2、网络通信协议的四级结构,下四层是所有通信协议所必需具备的:

2.1、Payload层 是协议所承载的与本协议逻辑无关的最终数据,是通信终端通过本协议最终需要传送给对方的数据。也可以是另一种协议的信息表示层+Payload数据,如果Payload封装的是另一种协议的信息表示层+Payload数据,那么这个协议此时正在承载那个协议。

2.2、信息表示层 附加在Payload数据之外的一段数据,也称作协议开销,因为这段数据和最终应用程序无关,是运行在通信双方的通信协议用来交互各自的状态,从而使双方作出正确动作的一段重要数据

2.3、交互逻辑层 这层就是协议的设计思想,是运行在双方协议系统上的动作程序代码逻辑,主要是将数据通过网络传输到目的地。

2.4、寻址层 帮助协议来找到需要通信的目标的一套编址和寻址机制。

3、协议融合的三种方式

3.1、调用(Use)就是一种协议完全利用另一种协议,也就是一种协议自身没有某些功能,需要使用另一种协议提供的功能

3.2、隧道封装(Tunnel)一种协议将另一种协议的完整数据包(包括Payload和信息表示层)全打包隧道封装到新协议数据包中

3.3、映射(Map)一种协议对另一种协议进行映射翻译,只将原来协议的Payload层数据提取出来,重新打包到新协议数据包中,不是简单的封装,是最彻底的融合。

4、两个独立系统连接的方式

4.1、两个系统在连接之后,在逻辑上还是独立的,即一个系统不影响另一个系统,但是它们之间可以通过协议转换设备来通信

4.2、两个系统融合融合层一个大系统,逻辑上是一体的,只不过相处两地,之间用协议转换设备来连接。




1、计算机虚拟化的一个流程

硬件逻辑被虚拟化层汇编语句

汇编语句再次被封装、虚拟化成高级语言的语句

高级语言的语句,再次被封装、形成一个特定的目的程序,或者称为函数

这些函数再通过互相调用,生成更复杂的函数组合起来,就形成了最终的应用程序

最终的应用程序被操作系统虚拟层一个可执行文件

一个可执行文件到底层就是对CPU的电路信号刺激。

通过不断地虚拟化,将底层复杂的逻辑变成上层简单逻辑,这就是计算机虚拟化技术。

2、操作系统多任务的实现

在操作系统上开发出了中断服务程序,即多任务操作系统中的调度程序。时钟中断到来的时候,CPU根据中断向量表的内容,指向调度程序所在的内存地址入口,执行调度程序的代码,调度程序所作的就是将CPU的执行跳转到各个应用程序所在的内存地址入口。每次中断,调度程序以一定的优先级,指向不同程序的入口。这样就能做到极细粒度的应用程序入口切换,如果遇到每个程序还没有执行完毕就被切出了,则操作系统会自动将这个程序的运行状态保存起来,待下轮到的时候,提取出来继续执行。如果每10ms中断一次,那么1s内可以同时运行100个程序,从宏观上看就是1s内运行了多个程序,这就是多任务。

3、存储子系统相关软硬件包括

磁盘控制器、存储网络、磁盘阵列、卷管理层、文件系统、目录虚拟层

4、硬网络和软网络

硬网络是指硬件网络设备,其功能终究还是靠软件来实现的。

软网络是指在硬件网络设备的基础上,模拟出一个纯软件的网络转发引擎。

5、VTL Virtual Tape Library虚拟磁带库,虚拟磁带库的出现为的就是解决物理磁带库速度慢、成本高的问题。

 



1、群集的定义

多台设备联合起来对外提供服务,这就是群集。

2、群集的作用

用多个节点代替一个节点完成任务,毫无疑问是为了提高处理能力;

做到高可用性,即一旦某个节点发生故障,不能再继续参与计算,那么群集中的其他节点可以立即接替故障节点的工作。

3、群集的分类

高可用性群集(HAC)在HA群集中,节点分为活动节点和备份节点,活动节点就是正在执行任务的节点,备份节点是活动节点的备份,一旦活动节点发生了故障,备份节点立即接替活动节点来执行任务。HA软件用来资源的监控和监管,监控对方节点的状态,一旦侦测到任何故障,按么便会强行将所有资源占为己有并向客户端继续提供服务。

负载均衡群集(LBC)群集中的所有节点都参与工作,每个节点的地位相同,接受工作量按照某种策略。

高性能群集(HPC)又称科学计算群集,和LBC差不多,只不过专用于科学计算,即超大运算量的系统,比如地址勘探,气象预测等。

4、群集的适用范围

4.1、硬件上:CPU、内存、显卡、显示终端、以太网卡、计算机本身、以太网及IP网络设备、FC卡、FC网络交换设备、磁盘阵列控制器本身、磁盘阵列控制器内部的各个组件、磁盘本身、磁盘内部的多片盘片和多个磁头

4.2、软件上:应用程序、文件系统、卷管理系统。




1、数据保护就是对当前位置上的数据进行备份,以防突如其来的磁盘摔坏,或者其他各种原因导致的数据不可被访问,或者部分数据损坏,影响到业务层。备份后的数据,可以在数据损坏之后回复到生产磁盘上,从而最大程度地降低损失。

2、数据保护的方法

2.1、文件级备份,即备份软件只能感知到文件这一层,将磁盘上所有的文件,通过调用文件系统接口备份到另一个介质上。会将原来不连续存放的文件,备份成连续的文件。备份速度快,因为不会备份一些没用的扇区。

2.2、块级备份,就是备份块设备上的每个块,不管这个块上有没有数据,或是这个块上的数据属于哪个文件这里块的概念,对于磁盘来说就是扇区Sector,块级备份是最底层的备份。原来不连续的文件备份之后还是不连续的。备份速度慢,因为会备份所有的扇区,包括没用的扇区。

3、高级数据保护方法

3.1、远程文件复制是把需要备份的文件,通过网络传输到异地容灾站点,代表是rsync异步远程文件同步软件,运行在linux的,可以只复制文件中有变化过的内容,这非常管用。(基于文件级备份)

3.2、远程磁盘(卷)镜像通过网络将备份的块数据传输到异地站点(基于块级备份)



1、容灾如果服务器磁盘损坏致使数据无法读写,主板损坏造成直接无法开机或者机房火灾等意外事件,我们必须将备份的数据尽快地恢复到生产系统中继续生产,这就是容灾,容灾可以在出现故障后手动完成,也可以靠程序自动完成。

2、IT系统的形象比喻

厨房系统

    生产工具:锅碗瓢盘、炉灶、铲勺

    生产资料:大米、面粉、蔬菜、油盐酱醋

    产品:美味菜肴

IT系统

    生产工具:服务器、硬盘、网络通信设备、电源等

    生产资料:录入的原始数据

    生产者:各种应用程序逻辑

    产品:客户需要的信息

3、IT系统的生产资料(数据)的特殊性

3.1、IT数据可以任意复制,并可以复制多份的数据

3.2、IT系统数据是不断变化的,在生产的同时,原始数据将会不断的变化,生产产生数据会覆盖原始数据

4、HADR:通过主机软件实现前端网络同步备份(数据流经的设备最长)

数据流经路径:本地磁盘阵列->本地后端网络交换设施->本地服务器内存->本地前端网络交换设施->电信交换机组->远端前端网络交换设施->远端服务器内存->远端后端网络交换设施->远端磁盘阵列

HADR High Availability Disaster Recovery是DB2数据库级别的高可用性数据复制机制;主机只需要把日志告诉备机,备机收到日志后便会在磁盘上重做这些操作,而不用传输大数据。处于备用角色的数据库不能被访问。

4.1、同步SYNC仅当日志已写入主数据库上的日志文件,而且主数据库已接收到来自备份数据库的应答,确定日志也已写入备用数据库上的日志文件时,方才认为日志写入是成功的,保证日志数据同时存储在这两处。不会导致数据丢失。会导致事务响应时间最长

4.2、接近同步NEAR SYNC:仅当日志已写入主数据库上的日志文件,而且主数据库已接收到来自备份数据库的应答,确定日志也已写入备用数据库上的日志文件时,方才认为日志写入是成功的,保证日志数据同时存储在这两处。仅当两处同时发生故障时,并且目标位置未将接收到的所有日志数据转移至非易失性存储器时,才会导致数据丢失。比SYNC更短的事务响应时间。局域网环境一般采用这个方式同步。

4.3、异步ASYNC只有当日志记录已写入主数据库上的日志文件,而且已将此记录传递给主系统主机的TCP层时,才认为日志写入是成功的。因为主系统不会等待来自备用系统的应答,所以发生数据丢失的几率最高。是事务响应时间最短的方式。

5、VxVM(Veritas Volume Manager):通过主机软件实现后端网络同步备份(数据流经次长)

数据流经路径:本地磁盘阵列->本地后端网络交换设施->本地服务器内存->电信交换机组->远端服务器内存->远端后端网络交换设施->远端磁盘阵列

主要是辅助或者代替操作系统自己的磁盘管理模块来管理底层的物理磁盘。可以实现对服务器上两个卷的景象操作,实现两个卷的数据同步,一旦某时刻主站点发生故障,则备站点的卷上数据和主站点发生故障的时候完全一致。有一款相同功能但是是开源软件的LVM(Logical Volume Manager)也可以实现后端网络同步备份。

6、Remote Mirror:通过存储设备软件实现专用网络同步备份(数据流经最短)

数据流经路径:本地磁盘阵列->本地后端网络交换设施->电信交换机组->远端后端网络交换设施->远端磁盘阵列

这种把备份软件放在存储设备上的数据同步,由于底层存储设备不会识别卷上的文件系统,所以同步的是块设备而不是文件。

7、IO Wait IO等待

如果应用程序使用的是同步IO,则其相关的进程或者线程就会被挂起,这种现象就叫IO Wait。IO等待,就是向存储设备发起一个IO而迟迟接收不到写入成功的信号。如果连接两个站点之间的网络链路出现拥塞、故障,便会发生IO Wait。

8、同步复制和异步复制

同步复制:有一个IO写入主站点,主站点会等待备份站点返回的确认包,才会向客户作出反应(安全性高、响应时间慢)

异步复制:有一个IO写入主站点,主站点向备份站点发送了一个写操作之后不等待备份站点返回确认包,就向客户作出反应。(安全性低、响应时间快)



SCSI和SATA的区别:


一、标准不同

SCSI是一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。

SATA是一种基于行业标准的串行硬件驱动器接口,是由Intel、IBM、Dell、APT、Maxtor和Seagate公司共同提出的硬盘接口规范。


二、工作方式不同

SCSI完全通过独立的高速的SCSI卡来控制数据的读写操作。

SATA接口需要硬件芯片的支持,例如Intel ICH5(R)、VIA VT8237、nVIDIA的MCP RAID和SiS964,如果主板南桥芯片不能直接支持的话,就需要选择第三方的芯片。


SATA其实是SCSI体系里抽取出的一部分,也就是说scsi能兼容sata,但sata反过来就不行。scsi本质上还是为服务器准备的磁盘系统,它非常强调所有的控制可以由scsi体系自己完成,不需要cpu控制,所以scsi非常省资源,而sata需要cpu介入控制传输过程。


三、设备性能不同

SCSI设备价格高些,性能更稳定、耐用,可靠性也更好。

SATA数据传输快,节省空间,价格也比SCSI设备便宜

四、连接方式不同

SATA不需要设置主从盘跳线。BIOS会为它按照1、2、3顺序编号。

SCSI需要在SCSI母线上可以连接主机适配器和八个SCSI外设控制器,外设可以包括磁盘、磁带、CD-ROM、可擦写光盘驱动器、打印机、扫描仪和通讯设备等。


SAS(串行化的SCSI)

    SAS(Serial Attached SCSI),串行连接SCSI接口,串行连接小型计算机系统接口。

    SCSI和SAS相比最大的不同就是SCSI是并行的而SAS是串行的,SAS是新一代的SCSI技术,和现在流行的Serial ATA(SATA)硬盘采用的原理相同,SAS是并行SCSI接口之后开发出的全新接口。此接口的设计是为了改善存储系统的效能、可用性和扩充性,提供与串行ATA (Serial ATA,缩写为SATA)硬盘的兼容性。


SAS与SCSI相比

1、更好的性能;

2、简便的线缆连结;

3、更好的扩展性:可以同时连结更多的磁盘设备。

4、硬盘价格太贵。

5、只有希捷、迈拓以及富士通等为数不多的硬盘厂商推出了SAS接口硬盘,可选择性少。


光纤通道 vs SCSI

    试想这样一个网络化存储环境:光纤通道用于传输SCSI数据,那么许多人都会问为什么要用光纤通道,毕竟SCSI已经兢兢业业为我们服务了多年。距离限制一直都是SCSI的问题,SCSI 25米的传输范围远远小于光纤通道所能提供的1万米,所以很多存储区域网络都无法应用SCSI。实际上,利用特殊的光收发设备,光纤通道的传输距离可由1万米扩展至10万米,把SCSI远远地抛在了后面。

    光纤通道的传输距离令人称道。不过最初光纤通道的速度并不比SCSI 3快,这说明过去光纤通道在存储区域网络中的真正价值在于距离,而不是速度。现在时代变了,光纤通道的速度达到了2GB以上,其性能和速度都超过了SCSI。

      SCSI的劣势还不止这些。SCSI 3每通道仅限于16台设备,而光纤通道每环路可以支持多达126台设备,在交换机fabric中支持数百万个节点。

    另一个重要的区别是利用光纤通道处理SCSI数据的方法。传统的SCSI是并行的,也就是说数据在平行的线缆中传输(这也正是SCSI需要50或68条线缆的原因)。光纤通道以串行方式传送数据,每路数据相差1个比特。

    光纤通道标准

    光纤通道标准有5层,每一层负责特定的一组功能。因为每一层都依赖于其上一层或下一层来执行特定的功能,所以在某种意义上有些象OSI模型(只不过OSI模型是7层)。这些层由下至上被命名为FC-0到FC-4,下面扼要解释一下每一层的定义和功能。

    FC-0 物理层:定义布线、连接器和控制数据的各种信号。其功能非常类似于OSI的物理层。

    FC-1 传输协议层:负责诸如故障检测、链路维护和数据同步等工作。

    FC-2 帧和信号协议层:负责设备所收发数据包的分段和重组,另外也进行排序和流程控制。

    FC-3 公共服务层:提供诸如单点对多点群播(multi-casting)、分散读写(striping)等服务。

    FC-4 上层协议映射层:提供上层协议(如SCSI)和FC低层之间的通信点,FC-4层可使非SCSI数据在光纤通道链路上传输。

    通过与分层格式相一致,适用于某一层的产品和应用能够自动与其它层的产品和应用兼容。

    来自市场的挑战

    现在InfiniBand(IB)已经成为光纤通道技术及产品一个难以对付的竞争对手,不过IB仍然是一项新兴的技术,尽管它能提供更快的I/O速度,但相关的产品还很不成熟。话虽这样说,一些公司如Mellanox Technologies等似乎想让IB成为连通技术的范例,很有可能在将来大力切入光纤通道市场。

    不过SCSI 3仍能发挥它的余热,而且由于它比光纤通道更能节省大量成本,所以仅在SCSI 3总线存储技术没有能力的时候才会用到光纤通道。现在光纤通道驱动器比SCSI驱动器贵,但是随着光纤通道驱动器的降价,SCSI驱动器的市场份额将会转移给光纤通道驱动器。

 

Infiniband 参见:

https://www.cnblogs.com/jiweilearn/p/10694254.html

https://baike.baidu.com/item/Infiniband/1963979?fr=aladdin


© 2009-2020 Zollty.com 版权所有。渝ICP备20008982号