内卷了!DAS、NAS、SAN区别和FC SAN存储

内卷了!DAS、NAS、SAN区别和FC SAN存储

https://www.toutiao.com/i6943518812004172299/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1&timestamp=1616815647&app=news_article&utm_source=weixin&utm_medium=toutiao_ios&use_new_style=1&req_id=2021032711272701021209922549448DF0&share_token=5C236279-BA23-4889-BB3D-3EF3173A276E&group_id=6943518812004172299

存储分类

内卷了!DAS、NAS、SAN区别和FC SAN存储

NAS、SAN和DAS区别

内卷了!DAS、NAS、SAN区别和FC SAN存储

直连式存储(Direct Attached Storage)

1.通过IDE、SCSI以及光纤(FC)接口与服务器直接相连,以服务器为中心

2.每个服务器都需要独立的存储设备(磁盘),且连接距离短,连接数量有限

3.数据分散,共享、管理困难

4.单位成本高-存储空间浪费

内卷了!DAS、NAS、SAN区别和FC SAN存储

网络附加存储 (NAS)

1.基于NFS、CIFS文件级共享存取,支持HTTP

2.存储设备功能上独立于网络中的主服务器,不占用服务器资源

3.扩展较容易,广泛支持操作系统及应用,安装简单方便

4.数据备份及恢复占用网络带宽

内卷了!DAS、NAS、SAN区别和FC SAN存储

存储区域网络(Storage Area Networks)

1.将存储和服务器隔离,简化了存储管理,能够统一、集中的管理各种资源

2.SAN能屏蔽系统的硬件,可以同时采用不同厂商的存储设备

3.这一方法能降低文件冗余度。

4.跨平台性能没有NAS好,价格偏高,搭建SAN比在服务器后端安装NAS要复杂得多。

内卷了!DAS、NAS、SAN区别和FC SAN存储

FC SAN:采用Fibre Channel等存储专用协议,通过光纤通道交换机等连接设备,使网络服务器与多种存储设备连接在一个高速专用独立于以太网的网络中,数据采用FCP协议以块方式存取,不占用服务器运算处理的网络带宽。

IP SAN:使用以太网代替光纤通道(Fibre Channel)网和使用iSCSI协议代替FCP协议,进行块状数据存储访问的SAN。

FC SAN、IP SAN都要有存储管理软件(如卷管理、数据的快照、镜像、备份、恢复、归档等等)。

SAN与NAS的区别

NAS和SAN在以下方面区别:

1.SAN是以数据为中心的,而NAS是以网络为中心的

2.SAN具有高带宽块状数据传输的优势,而NAS则更加适合文件系统级别上的数据访问

3.用户可以部署SAN运行关键应用,比如数据库、备份等,以进行数据的集中存取与管理,而NAS支持若干客户端之间或者服务器与客户端之间的文件共享,所以用户可使用NAS作为日常办公中需要经常交换小文件的地方,比如文件服务器、存储网页等

SAN与NAS的联系

NAS和SAN在以下方面提供互补:

1.NAS产品可放置在特定的SAN网络中,为文件传输提供优

化的性能

2.SAN可以扩展为包括IP和其他非存储关联的网络协议

总结

内卷了!DAS、NAS、SAN区别和FC SAN存储

FC SAN与IP SAN体系架构

早期的SAN存储系统中,服务器与交换机的数据传输是通过光纤进行的,因为服务器是把SCSI指令传输到存储设备上,不能走普通LAN网的IP协议,所以需要使用FC传输,因此这种SAN就叫FC-SAN。

后期出现了用IP协议封装的SAN,可以完全走普通LAN网络,因此叫做 IP-SAN,其中最典型的就是现在热门的iSCSI。

FC SAN与IP SAN比较

在IP SAN中,以太网交换机代替了价格昂贵且只有FC SAN专用的光纤交换机 ,并且其端口速率可以无限制的随着以太网技术的发展而提升

在IP SAN中,客户端的Initiator或iSCSI卡代替了价格较高的主机HBA卡

在IP SAN中,具有iSCSI接口的高性价比的存储设备代替了光纤磁盘阵列

FC概述

FiberChannel简称FC(FibreChannel),是一种高速网络技术标准(T11),主要应用于存储网络。

FibreChannel(FC)技术标准是1994年由ANSI标准化组织制订的一种适合于千兆位数据传输通信的网络技术。光纤通道用于服务器共享存储设备的连接,存储控制器和驱动器之间的内部连接。

从分层协议栈的角度看,FC仅仅包含了从物理层到传输层的规范。它的上层定义了把其他协议作为应用层协议进行封装的接口,如SCSI或IP协议。而将SCSI封装起来后整个协议,就是FCP(FCProtocol)。

FC物理层具有很高的传输带宽,从1Gb/s、2Gb/s、4Gb/s到8Gb/s、16Gb/s,采用NMb的编码方式,同步串行方式传输。

FC协议栈

内卷了!DAS、NAS、SAN区别和FC SAN存储

FC与OSI参考模型的对比关系

内卷了!DAS、NAS、SAN区别和FC SAN存储

FCSANFC-0

作为一种高速的网络传输技术,FC协议体系的物理层具有比较高的速度,从1Gb/s、2Gb/s、4Gb/s到当前的8Gb/s。作为高速网络的代表,其底层也使用了同步串行传输方式,而且为了保证传输过程中的电直流平衡、时钟恢复和纠错等特性,其传输编码方式采用NMb编码方式。为了实现远距离传输,传输介质起码要支持光纤。铜线也可以,但是距离受为限制。FC协议集中物理层的电气子层为FC-0。

FC SANFC-1

现代通信在链路层一般都是成帧的,也就是将上层发来的一定数量的位流打包加头尾传输。FC协议在链路层也是成帧的。既然需要成帧,那么一定要定义帧控制字符。FC协议定义了一系列的帧控制策略及对应的字符。这些控制字符不是ASCII码字符集中定义的那些控制字符,而是单独定义了一套专门用于FC协议的字符集,称为“有序集”。其中的每个控制字符其实是由4个8位字节组成的,称为一个“字”(word),而每个控制字开头的一个字节总是经过810b编码之后的的0011111010(左旋)或者1100000101(右旋)。

FC协议给这个字符起了一个名字,叫做K28.5。这个字未经过810b编码之前的值是十六进制BC,即10111100,它的低5位为11100(十进制的28),高3位为101(十进制的5)。FC协议便对这个字表示为“K28.5”,也就是说高三位的十进制是5,低5位的十进制是28,这样便可以组合成相应的二进制位码。然后再加上一个描述符号K(控制字符)或者D(数据字符)。K28.5这个字符没有ASCII字符编码与其冲突,它的二进制流中又包含了连续的5个1,非常容易被电路识别,当然符合这些条件的字符还有好几个。每个控制字均由K28.5字符开头,后接3个其他字符(可以是数据字符),由这4个字符组成的字来代表一种意义,比如SOF(StartOfFrame)、EOF(EndOfFrame)等。

FC协议定义了一个24B的帧头。以太网帧头才14B,用起来还绰绰有余,为什么FC需要定义24B呢?在这个问题上,协议的设计者独树一帜,因为这24B的帧头不但包含了寻址功能,而且包含了传输保障的功能。网络层和传输层的逻辑都用这24B的信息来传递。我们知道,基于以太网的TCP/IP网络,它的开销一共是:14B(以太网帧头)+20B(IP头)+20B(TCP头)=54B,或者把TCP头换成8B的UDP头,一共是42B。这就注定了FC的开销比以太网加上TCP/IP的开销要小,而实现的功功能类似。

FC 帧格式

内卷了!DAS、NAS、SAN区别和FC SAN存储

FC拓扑结构 FC-2

Fibre Channel有三种拓扑结构:

1.点对点(Point-to-Point)–两个设备之间互连

2.仲裁环(Arbitrated Loop)–最多支持126(采用一个字节的寻址容量)个设备互连,形成一个仲裁环

3.交换式Fabric(Switch Fabric)–最多2的24次方个设备互连

内卷了!DAS、NAS、SAN区别和FC SAN存储

点到点(Point-to-Point)

• ‘N’端口光纤通道设备之间的专用连接

• 所有链路带宽都分派给两个节点之间的通信

• 适用于小规模存储设备的方案,不具备共享功能

内卷了!DAS、NAS、SAN区别和FC SAN存储

仲裁环(FC-AL)

每个节点的TX端口连接到邻近节点的RX端口,直到形成闭环为止

•最大带宽:800MB/秒(环路上所有节点中共享)

•环路上最多126个节点

•不是令牌传输方案--不限制设备保留控制的时间

•操作顺序:

环路控制仲裁

打开到目标设备的通道

传送数据

关闭

•环路上的节点数直接影响性能,当一个节点出现故障,会把此节点bypass掉

内卷了!DAS、NAS、SAN区别和FC SAN存储

交换机(Fabric)

•每个端口8Gb/16Gb带宽

•添加新设备可以增加总的带宽

•高达2的24次方可能的地址

•支持zoning分区功能

内卷了!DAS、NAS、SAN区别和FC SAN存储

C协议—网络层:编址 FC-2

任何网络都需要寻址机制,FC当然也不例外, 但FC的寻址和编制方式与以太网有所不同,例如:在以太网交换机的端口上不需要有MAC地址,而FC交换机上的端口都有自己的WWPN地址,这是因为在FC网络中,FC交换机担当了很重要的角色,它要处理到FC协议的最上层——应用层。也就是说,FC终端设备只负责产生数据,其他功能(封包、流控和安全等)均由FC交换机来保障,下面是FC的编址类型:

• —— WWNN:不管这个设备上有多少个FC端口,FC设备自身都有一个唯一的WWNN地址来代表它自己。

• —— WWPN:FC设备的每个端口都有一个全球唯一的WWPN地址,地址的长度是64位,但用8个字节来做路由,是不明智的,因此还需要再映射一层地址。

内卷了!DAS、NAS、SAN区别和FC SAN存储

•—— Fabric ID:WWPN和Fabric ID之间需要建立映射关系,就像MAC和IP的映射一样,设备会为每个连接到FC网络中的接口分配一个Fabric ID,用这个ID嵌入到链路帧中做路由,这个ID长24位,格式如下:

Domain ID:前8位是Domain ID,用来区分网络中每台FC交换机。WWNN最小者获胜成为主交换机,然后这个交换机向所有其他交换机分配Domain ID。

Area ID:中8位是Area ID,用来区分同一台交换机上不同的端口组,比如1、2、3、4端口属于Area 1。

Port ID:后8位是Port ID,用来区分一个同Area中不同端口。

• 通过这样的寻址体系,可以在一个FC网络中,区分每个交换机、每个端口组、每个端口

• FC交换机里面使用Name Server(名称服务)将WWPN号和FCID进行转换。

• Linux系统上查看设备HBA卡的命令为lsscsi –t –H,里面可以看到WWPN和FCID信息.

内卷了!DAS、NAS、SAN区别和FC SAN存储

FC协议——网络层:寻址(1)

•既然定义了两套编制体系:WWPN和FabricID,那么一定要有映射机制,就像ARP协议一样,FC协议中的地址映射步骤如下:

1.注册:一个接口连接到FC网络中时,如果是Fabric架构,那么这个接口会发起一个注册到Fabric网络的动作,向目的地址FFFFFE(注册服务器)发送一个登录帧,称为FLOGIN。

2.映射:交换机收到目的地址为FFFFFE的帧之后,会动态地给这个接口分配一个24位的FabricID,并记录这个接口对应的WWPN,做好映射。

3.发送:此后这个接口发出的所有帧都不会携带WWPN地址,而是携带其被分配的FabricID作为源地址。

4.仲裁环:当连接到仲裁环网络中时,所有节点会选出一个临时节点(WWPN号最小者胜出),然后由这个节点发送一系列的初始化帧,给每个节点分配环路ID。

内卷了!DAS、NAS、SAN区别和FC SAN存储

FC协议——网络层:寻址(2)

• 因为从一开始FC就是被设计给专用、高速、高效的网络使用的,为了避免人为操作失误,FC网络中所有操作都不需要人工介入,设备将自动分配和管理各种地址(WWPN)、自动运行和设置路由协议(SPF最短路径优先)。

• FC交换机接口所连接的设备在登录到FC网络时都会向一个指定的ID(这个ID只是运行在交换机上的一个名称服务程序)发送注册帧,设备完成注册之后,名称服务程序便会将网络上存在的其他节点信息告诉这个接口上所连接的设备。

• 寻址的安全性问题:

—— 软ZONE:让名称服务器只告诉某个设备特定的节点。例如:网络上存在A、B、C三个节点,可以让名称服务只向A通告B节点,而隐藏C节点,这样A看不到C。但如果A知道C的ID,也可以直接去访问d,这就是软ZONE。

—— 硬ZONE:也可以将 A 和 B 划入一个ZONE中,该方式为底层硬件隔离,这样即使知道ID也无法通信了。

—— LUN Masking:SCSI指令集中有一个指令叫做Report LUN,作用是发起端发出这条指令,目标端收到后,就要向发起端报告自己的LUN信息。根据这个原理,我们可以让磁盘控制器根据发起端的WWPN地址,提供相应的LUN给它。例如:针对主机A,控制器就报告LUN1、LUN2,主机B,就报告LUN3,如果某个主机强行访问不属于它的LUN,盘阵控制器便会拒绝这个请求。还可以配置选择性地将某个LUN分配到盘阵的指定前端端口上。

内卷了!DAS、NAS、SAN区别和FC SAN存储

FC-LS链路服务--会话管理

• 登录

FLOGI — 交换机登录(Fabric Login)

PLOGI — 端口登录(Node Port Login)

PRLI — 进程登录(Process Login)

• 登出LOGO/PRLO

内卷了!DAS、NAS、SAN区别和FC SAN存储

FLOGI — 交换机登录(Fabric Login)

• 确定交换机是否存在

• 协商操作参数,如最大帧长度、BB_Credit

• 与F_port建立一条对话

PLOGI — 端口登录(Port Login)

• 建立与N_port的对话

• 协商服务参数,如EE_Credits

• 在两个 N_ports之间创建一个对话

• 在PLOGL成功之前,无上层操作

PRLI — 进程登录(Process Login)

• 可选

• 通信进程级别的服务参数

通用服务

• FC-PH 为特殊功能定义了多个地址:24位地址空间的高位16个地址

• 常用的公认地址

内卷了!DAS、NAS、SAN区别和FC SAN存储


名称服务器(Name Serevr)

• 名称服务器的公认地址为0xFFFFFC

• N _port 把信息注册到名称服务器的数据库中

• N_port 查询数据库获得其它端口的信息

• N_port 可以从名称数据库撤销注册

FC端口类型

• N端口:Node Port节点端口;光纤通道通信的终端;主机端口、存储端口,或者开启AG模式的光纤交换机端口

• NL端口:Node Loop Port 节点环路端口

• F端口: Fabric Port 光纤端口;一种交换连接端口

• FL端口:Fabric Loop Port光纤环路端口;AL设备提供进入光纤网络服务的端口

• E端口:Expansion Port 扩展端口;用于通过ISL(内部交换链接)连接多个交换机

• G/U端口:Generic Port 通用端口;可根据连接方式,在F端口和E端口之间进行切换

内卷了!DAS、NAS、SAN区别和FC SAN存储

FC协议 —— 传输层:包结构(FC-4)

• FC传输层同样也与TCP类似,也对上层的数据进行segment,而且还要区分上层程序,TCP是利用端口来区分,FC则是利用Exchange ID来区分。

• 每个Exchange发过来的数据包,被FC传输层分割成Information Unit,也就相当于TCP分割成的Segment。然后FC传输层将这些Unit提交给FC的下层进行传输。下层将每个segment当作一个Sequence,并给予一个Sequence ID,然后将这个Sequence再次分割成FC所适的帧,给每个帧赋予一个Sequence Count,这样便可以保证帧的排列顺序。接收方接收到帧之后,会组合成Sequence,然后根据Sequence ID来顺序提交给上层协议处理。

内卷了!DAS、NAS、SAN区别和FC SAN存储

• 传输层还有一个重要角色,就是适配上层协议,如下图所示:比如IP可以通过FC进行传输,SCSI指令也可以通过FC传输。FC会提供适配上层协议的接口,就是IP over FC及SCSI over FC。FC只是给IP和SCSI提供了一种通路,一种传输手段,就像IP over Ethernet和IP over ATM一样。

内卷了!DAS、NAS、SAN区别和FC SAN存储

• 在传输层,FC定义了几种服务类型,也就是类似于TCP/IP协议中规定的TCP和UDP,具体类型如下:

• —— Class 1:这是一种面向连接的服务,类似于电路交换的模式,将为通信的双方保留一条虚电路,以进行可靠地传输。

• —— Class 2:它提供的是一种端到端确认传输的服务,类似于TCP。

• —— Class 3:这种服务类型不提供确认,类似于UDP。

• —— Class 4:这种类型是在链路上保留一定的带宽资源给上层应用,但不是保留整个链路,工作原理类似于RSVP服务。

• 为了进一步提高FC网络的速度和效率,FC协议的大部分逻辑功能被直接做到一块独立的适配卡当中,而不是运行在操作系统中,因为如果将协议逻辑置于系统上运行,会占用主机CPU和内存资源,下面是TCP/IP和FC协议之间的比较:

操作系统中运行:IP和TCP/UDP模块就是运行在操作系统之上的协议,而只有以太网逻辑是运行在以太网卡芯片中,CPU从以太网卡接收到的数据是携带有IP头部及TCP/UDP头部的,需要运行在CPU中的TCP/IP协议代码来进一步处理这些头部,才能生成最终的应用程序需要的数据。

适配卡中运行:FC协议物理层到传输层的逻辑功能,大部分都运行在FC交换机和FC适配卡的芯片中,只有小部分关于上层API的逻辑运行于操作系统FC卡驱动程序中,这样就使FC协议的速度和效率都较TCP/IP协议高。

猜你喜欢

转载自blog.csdn.net/z136370204/article/details/115292974