@
目录第三章 存储技术基础
1 存储基础介绍
1.1 什么是存储
狭义的存储定义:
- CD、DVD、ZIP,磁带,硬盘等存储介质
广义的存储定义:
- 存储硬件系统(磁盘阵列,控制器,磁盘柜,磁带库等)
- 存储软件(备份软件,管理软件,快照,复制等增值软件)
- 存储网络(HBA卡,光纤交换机,FC/SAS线缆等)
- 存储解决方案(集中存储,归档,备份,容灾等)
1.2 存储发展历程
从附属于服务器到剥离成独立系统
从独立系统到网络共享存储
通过存储引擎直接与服务器互联的方式可以解决之前的硬盘槽位有限、单盘存放数据、硬盘接口性能成为系统性能瓶颈等问题。但无法解决存储空间利用率低、各存储系统之间数据分散管理、各存储系统之间数据文件共享能力弱等问题。
网络共享存储可以通过SAN和NAS两种服务模式解决这些痛点问题。
1.3 主流硬盘类型
1.3.1 硬盘简介
硬盘是计算机最主要的存储设备。
硬盘接口是硬盘与主机系统间的连接部件,作用是在硬盘缓存和主机内存之间传输数据。不同的硬盘接口决定着硬盘与计算机之间的连接速度,直接影响着程序运行快慢和系统性能好坏。
SATA | SAS | NL-SAS | SSD | |
---|---|---|---|---|
主流转速(RPM) | 7,200 | 15,000/10,000 | 7200 | NA |
串行/并行 | 串行 | 串行 | 串行 | 串行 |
主流容量(TB) | 1 T/2 T/3 T | 0.6 T/0.9 T | 2 T/3 T/4 T | 0.6 T/0.8 T/1.2 T/1.6 T |
MTBF(h) | 1,200,000 | 1,600,000 | 1,200,000 | 2,000,000 |
备注 | 由ATA硬盘发展而来,采用串行方式传输,SATA 3.0实现600 MB/s最高数据传输率。 SATA硬盘年故障率大约2%。 | SAS专为满足高性能企业需求而设计, 并且兼容SATA硬盘。能够提供3.0 Gb/s到6.0 Gb/s的传输率,未来规划到12.0 Gb/s。 SAS硬盘年故障率小于2%。 | 带SAS接口的“企业级SATA驱动器”,适用于在一个磁盘阵列系统中实现分 级存储,简化了磁盘阵列系统的设计。 NL-SAS硬盘年故障率大约2%。 | 固态硬盘(Solid State Disk) 用固态电子存储芯片阵列而制成 的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态硬盘的接口规范和定义、功能及使用方法与普通硬盘完全相同,在产品外形和尺寸上也完全与普通硬盘一致。 |
MTBF:Mean Time Between Failure,平均无故障工作时间。
在价格方面,通常来说SATA和NL-SAS硬盘较为便宜,SAS硬盘较贵一些,SSD最为昂贵。
1.3.2 硬盘关键指标
硬盘容量(Disk Capacity):容量的单位为兆字节(MB)或千兆字节(GB)。影响硬盘容量的因素有单碟容量和碟片数量。
转速(Rotational speed):硬盘的转速指硬盘盘片每分钟转过的圈数,单位为RPM(Rotation Per Minute)。一般硬盘的转速都达到5400 RPM/7200 RPM。SCSI接口硬盘转速可达10000-15000 RPM。
平均访问时间(Average Access Time)=平均寻道时间+平均等待时间。
数据传输率(Date Transfer Rate):硬盘的数据传输率是指硬盘读写数据的速度,单位为兆字节每秒(MB/s)。硬盘数据传输率包括内部传输率和外部传输率两个指标。
IOPS(Input/Output Per Second):即每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指标之一。
IOPS/带宽,越高越好。
随机读写频繁的应用,如OLTP(Online Transaction Processing),IOPS是关键衡量指标。
另一个重要指标是数据吞吐量(Throughput),指单位时间内可以成功传输的数据数量。
硬盘类型 | IOPS (4K随机写) | 带宽 (128K顺序读) |
---|---|---|
SATA | 330 | 200 MB/s |
SAS 10K | 350 | 195 MB/s |
SAS 15K | 450 | 290 MB/s |
SATA SSD | 30~60K | 540 MB/s |
SAS SSD | 155K | 1000 MB/s |
NVMe SSD | 300K | 3500 MB/s |
1.4 存储组网类型
1.4.1 DAS 存储简介
1.4.2 NAS 存储简介
NFS(Network File System)是Sun Microsystems在1984年创建的Internet标准协议。开发NFS是为了允许在局域网上的系统之间共享文件。
Linux NFS客户端支持三个版本的NFS协议:NFSv2 [RFC1094]、NFSv3 [RFC1813] 和NFSv4 [RFC3530]。其中NFSv2使用UDP协议,数据访问和传输能力有限,已经过时;
CIFS(Common Internet File System)是一种网络文件系统协议,用于在网络上的机器之间提供对文件和打印机的共享访问。现在主要实现在Windows主机之间进行网络文件共享功能。
1.4.3 SAN存储简介
SAN: Storage Area Networks,存储区域网络,是通过专用高速网将一个或多个网络存储设备和服务器连接起来的专用存储系统。
存储区域网络(Storage Area Networks,SAN):一个存储网络是一个用在服务器和存储资源之间的、专用的、高性能的网络体系。 SAN是独立于LAN的服务器后端存储专用网络。 SAN采用可扩展的网络拓扑结构连接服务器和存储设备,每个存储设备不隶属于任何一台服务器,所有的存储设备都可以在全部的网络服务器之间作为对等资源共享。
SAN主要利用Fibre Channel Protocol(光纤通道协议),通过FC交换机建立起与服务器和存储设备之间的直接连接,因此我们通常也称这种利用FC连接建立起来的SAN为FC-SAN。FC特别适合这项应用,原因在于一方面它可以传输大块数据,另一方面它能够实现较远距离传输。SAN主要应用在对于性能、冗余度和数据的可获得性都有很高要求的高端、企业级存储应用上。
随着存储技术的发展,目前基于TCP/IP协议的IP-SAN也得到很广泛的应用。IP-SAN具备很好的扩展性、灵活的互通性,并能够突破传输距离的限制,具有明显的成本优势和管理维护容易等特点。
NAS和SAN最大的区别就在于NAS有文件操作和管理系统,而SAN却没有这样的系统功能,其功能仅仅停留在文件管理的下一层,即数据管理。SAN和NAS并不是相互冲突的,是可以共存于一个系统网络中的,但NAS通过一个公共的接口实现空间的管理和资源共享,SAN仅仅是为服务器存储数据提供一个专门的快速后方存储通道。
1.4.4 FC-SAN简介
FC: Fiber Channel,光纤通道,是指一种用于在光纤或者铜缆上传输100 Mbit/s到4.25 Gbit/s信号的标准数据存储网络。用于建立存储区域网的高速传输技术。光纤通道能够用于支持ATM, IP等协议的一般网络,但它主要用途是从服务器上传输小型计算机系统接口(SCSI)流量到磁盘阵列。
1.4.5 IP-SAN简介
iSCSI: Internet Small Computer System Interface,Internet小型计算机系统接口,是一种基于因特网及SCSI-3协议下的存储技术,它将原来只用于本机的SCSI协议透过TCP/IP网络发送,使连接距离可作无限延伸。在后续课程中我们会了解到它的协议封装、工作原理及使用场景。
1.4.6 三种存储网络总结对比
DAS | NAS | SAN | ||
---|---|---|---|---|
FC-SAN | IP-SAN | |||
传输类型 | SCSI、FC、SAS | IP | FC | IP |
数据类型 | 块级 | 文件级 | 块级 | 块级 |
典型应用 | 任何 | 文件服务器 | 数据库应用 | 视频监控 |
优点 | 易于理解 兼容性好 | 易于安装 成本低 | 高扩展性、高性能 高可用性 | 高扩展性 成本低 |
缺点 | 难管理,扩展性有限 存储空间利用率不高 | 性能较低 对某些应用不适合 | 较昂贵,配置复杂 组网兼容性问题 | 性能较低 |
1.5 存储形态简介
1.5.1 集中式存储
集中式存储系统,即整个存储是集中在一个系统中的。企业级的存储设备一般都是集中式存储。但集中式存储并不是一个单独的设备,是集中在一套系统当中的多个设备。以华为公司的存储为例,整个存储系统可能需要几个机柜来存放。集中式存储按照技术架构可以划分为SAN和NAS,其中SAN又可以细分为FC-SAN、IP-SAN。
集中式存储最大的特点就是部署结构简单,无需考虑如何对服务进行多个节点的部署,也就不用考虑多个节点之间的分布式协作问题。
1.5.2 分布式存储
分布式存储系统,是将数据分散存储在多台独立的服务器上。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。随着分布式存储越来越普及,现在一些对性能要求比较高的应用也开始使用分布式存储,比如金融系统的数据库。
分布式存储利用软件重构存储服务形式,通过软件模拟原先硬件控制器实现功能的同时,规避硬件控制器的种种弊端。
资源池:类似于SAN的RAID组概念。
存储业务类型
对象存储是一种新兴存储技术,对象存储系统综合了NAS和SAN的优点,同时具有SAN的高速直接访问和NAS的数据共享等优势,提供了高可靠性、跨平台性以及安全的数据共享的存储体系结构。对象存储与块存储、文件存储的对比如下:
块存储对存储层直接访问,开销最小,效率最高,速度最快。但成本最高,扩展困难。块存储采用iSCSI/FC协议,很难跨网络传输。适合的应用场景是企业数据库,如运行Oracle等;
文件存储是在块存储之上构建了文件系统,采用目录-目录-文件的方式组织数据,更容易管理。因为大多数应用程序都是对文件进行操作,因此文件存储更容易和应用系统对接。文件系统受目录树的限制,扩展性受限,一般最多扩展到几十PB。文件系统适用于企业内部应用整合,文件共享场景;
对象存储是在块存储之上构建了对象管理层,与文件系统相比,对象系统层是扁平的,扩展限制少,因此拥有近乎无限的扩展性。对象由唯一的Key,文件,数据(文件),元数据,自定义元数据构成,由于包含了自管理信息,更加智能。对象存储采用兼容标准的互联网协议接口,可以跨地域传输。对象存储适用于面向互联网服务的存储场景,以及企业内部的归档、备份场景。
2 存储关键技术
2.1 RAID 技术
2.1.1 RAID 基本概念
RAID: Redundant Array of Independent Disks,独立磁盘冗余阵列,RAID技术将多个单独的物理硬盘以不同的方式组合成一个逻辑硬盘,从而提高了硬盘的读写性能和数据安全性。
根据不同的组合方式可以分为不同的RAID级别
RAID 0 | 数据条带化,无校验 |
---|---|
RAID 1 | 数据镜像,无校验 |
RAID 3 | 数据条带化读写,校验信息存放于专用硬盘 |
RAID 5 | 数据条带化,校验信息分布式存放 |
RAID 6 | 数据条带化,分布式校验并提供两级冗余 |
同时采用两种不同的RAID方式还能组合成新的RAID级别
RAID 0+1 | 先做RAID 0,后做RAID 1,同时提供数据条带化和镜像 |
---|---|
RAID 10 | 类似于RAID 0+1,区别在于先做RAID 1,后做RAID 0 |
RAID 50 | 先做RAID 5,后做RAID 0,能有效提高RAID 5的性能 |
2.1.2 RAID的数据组织形式
硬盘的条带化:将硬盘空间按照设定的大小分为多个条带,数据写入时也按照条带的大小来划分数据模块。
条带(strip):硬盘中单个或者多个连续的扇区构成一个条带,是组成分条的元素。
分条(stripe):同一硬盘阵列中的多个硬盘驱动器上的相同“位置”(或者说是相同编号)的条带。
分条宽度
指一个磁盘组在进行分条时所使用的磁盘的个数,例如一个由3个成员盘组成的磁盘组,其分条宽度为“3”。
分条深度
指一个分条的容量大小。
2.1.3 RAID的数据保护方式
方法一:镜像(Mirroring),在另一块冗余的硬盘上保存数据的副本。
方法二:奇偶校验算法(XOR)。
-
XOR运算广泛地使用在数字电子和计算机科学中。
-
XOR校验的算法—相同为假,相异为真:
n0⊕0=0; 0⊕1=1; 1⊕0=1; 1⊕1=0;
2.1.4 RAID热备和重构概念
热备(Hot Spare)的定义
当冗余的RAID组中某个硬盘失效时,在不干扰当前RAID系统正常使用的情况下,用RAID系统中另外一个正常的备用硬盘自动顶替失效硬盘,及时保证RAID系统的冗余性。
热备一般分为两种
全局式:备用硬盘为系统中所有的冗余RAID组共享。
专用式:备用硬盘为系统中某一组冗余RAID组专用。
一般来说, RAID不可作为数据备份的替代方案,它对非磁盘故障等造成的数据丢失无能为力,比如病毒、人为破坏、意外删除等情形。
2.1.5 常见 RAID 级别介绍
RAID 0 :没有容错设计的条带硬盘阵列,以条带形式将RAID组的数据均匀分布在各个硬盘中。
RAID 1 :又称镜像(Mirror),数据同时一致写到主硬盘和镜像硬盘。
RAID 3 :带有校验的并行数据传输阵列,数据条带化分布在数据盘中,同时使用专用校验硬盘存放校验数据。
RAID 5 :与RAID 3机制类似,但校验数据均匀分布在各数据硬盘上,RAID成员硬盘上同时保存数据和校验信息,数据块和对应的校验信息保存在不同硬盘上。RAID 5是最常用的RAID方式之一。
RAID 10 :将镜像和条带进行两级组合的RAID级别,第一级是RAID 1镜像对,第二级为RAID 0。RAID 10 也是一种应用比较广泛的RAID级别。
2.1.6 RAID 6 DP工作原理(了解)
DP: Double Parity,就是在RAID 4所使用的一个行XOR校验硬盘的基础上又增加了一个硬盘用于存放斜向的XOR校验信息。
横向校验盘中P0-P3为各个数据盘中横向数据的校验信息。
例:P0=D0 XOR D1 XOR D2 XOR D3
斜向校验盘中DP0-DP3为各个数据盘及横向校验盘的斜向数据校验信息。
p例:DP0=D0 XOR D5 XOR D10 XOR D15
RAID 6 DP有两个独立的校验数据块,分别是横向校验和斜向校验。
横向校验盘中的校验值,也叫行奇偶校验值,是同一分条的用户数据异或运算获得到,如图所示:P0是由分条0上的D0,D1,D2和D3异或运算得到,P1由分条1上的D4,D5,D6,D7异或运算得到。所以,P0 = D0 ⊕D1⊕ D2⊕D3,P1 = D4⊕D5⊕D6⊕D7,如此类推。
斜向校验采用的是斜向异或运算得到行对角奇偶校验数据块。数据块的选择过程比较复杂。DP0是由硬盘1的分条0上的D0,硬盘2的分条1上的D5,硬盘3上的分条2的D10和硬盘上4 分条3上的D15异或操作得到。DP1是对硬盘2的分条0上的D1,硬盘3的分条1上的D6,硬盘4上分条2的D11,和第一块校验硬盘分条3上的P3进行异或运算得到。DP2是硬盘3分条0上的D2,硬盘4上的分条1的D7,奇偶硬盘分条2的P2,和硬盘1分条3上的D12进行异或运算得到。所以,DP0 = D0⊕D5⊕D10⊕D15,DP1 = D1⊕D6⊕D11⊕P3,如此类推。
一个RAID 6阵列能够容忍双硬盘失效。
一个RAID 6组的性能:采用双盘校验,相对都比较慢。因此,RAID 6适用两种场景:
数据非常重要,需要尽可能长的时间处于在线和可使用的状态。
使用的硬盘容量非常大(通常超过2 T)。大容量硬盘的重建时间较长,两个硬盘都失效是会造成数据较长时间不能访问。在RAID 6中,可以实现一个硬盘重构时另一个硬盘失效。一些企业希望在使用大容量硬盘后,存储阵列的供应商使用一个双重保护的RAID组。
2.1.7 RAID 2.0技术介绍
块级虚拟化的含义是:将系统中的硬盘划分成若干个连续的固定大小的存储空间,称为存储块,即Chunk,或简称CK。
RAID 2.0
增强型RAID技术,有效解决了机械硬盘容量越来越大,重构一块机械硬盘所需时间越来越长,传统RAID组重构窗口越来越大而导致重构期间又故障一块硬盘而彻底丢失数据风险的问题。
RAID 2.0+
在RAID 2.0的基础上提供了更细粒度(可以达几十KB粒度)的资源颗粒,形成存储资源的标准分配及回收单位,类似计算虚拟化中的虚拟机,我们称之为虚拟块技术。
华为RAID 2.0+
是华为针对传统RAID的缺点,设计的一种满足存储技术虚拟化架构发展趋势的全新的RAID技术,其传统固定管理模式为两层虚拟化管理模式,在底层块级虚拟化(Virtual for Disk)硬盘管理的基础之上,通过一系列Smart效率提升软件,实现了上层虚拟化(Virtual for Pool)的高效资源管理。
2.1.8 RAID 2.0+块虚拟化技术
存储的数据最终都会存储到SSD盘上,如果有些盘片上存放的数据不均匀,就可能导致某些压力大的SSD盘成为系统的瓶颈。
为应对该问题,华为存储系统采用新型的RAID 2.0+块虚拟化技术,通过更细粒度的划分,实现所有LUN的数据均衡的分布在每个SSD盘上,实现盘的负载均衡。
多块硬盘组成一个存储池。
存储系统将存储池中的每个SSD硬盘划分为固定大小的CK(通常大小为4MB)进行逻辑空间管理。
来自不同SSD硬盘的CHUNK按照用户在DeviceManager上设置的“RAID策略”组成CKG。
CKG再被划分为更细粒度的Grain(通常为8KB)。用户创建LUN时,存储系统以Grain为单位映射到LUN,实现对存储资源的精细化管理。
相比传统RAID机制,RAID2.0+具备如下优势:
- 业务负载均衡,避免热点。数据打散到资源池内所有硬盘上,没有热点,硬盘负荷平均,避免个别盘因为承担更多的写操作而提前达到寿命的上限。
- 快速重构,缩小风险窗口。当硬盘故障时,故障盘上的有效数据会被重构到资源池内除故障盘外的所有盘上,实现了多对多的重构,速度快,大幅缩短数据处于非冗余状态的时间。
- 全盘参与重构。资源池内所有硬盘都会参与重构,每个盘的重构负载很低,重构过程对上层应用无影响。
2.2 存储协议
-
SCSI 协议
SCSI: Small Computer System Interface,小型计算机系统接口,最初是一种为小型机研制的接口技术,用于主机与外部设备之间的连接。
-
iSCSI 协议
iSCSI: Internet SCSI,把SCSI命令和块状数据封装在TCP中在IP网络中传输,基本出发点是利用成熟的IP网络技术来实现和延伸SAN。
iSCSI的发起端与目标端
发起端(Initiator)
SCSI层负责生成CDB(命令描述符块),将CDB传给iSCSI。
iSCSI层负责生成iSCSI PDU(协议数据单元),并通过IP网络将PDU发给target。
目标器(Target)
iSCSI层收到PDU,将CDB传给SCSI层。
SCSI层负责解释CDB的意义,必要时发送响应。
-
FC 协议与 TCP 协议融合
从现有的情况来看,以太网技术和FC技术都在飞速发展,IP-SAN和FC-SAN在很长的一段时间内都将是并存且互为补充的。
TCP/IP网络承载FC信道方式:
- iFCP
- FCoE
FCIP:Fibre Channel over IP,基于IP的光纤通道,是连接TCP/IP网络链路上的光纤通道架构的一项IETF建议标准。利用目前的IP协议和设施来连接两个异地FC SAN的隧道,用以解决两个FC SAN的互连问题。
iFCP:Internet Fibre Channel Protocol,Internet光纤信道协议,是一种网关到网关的协议,为TCP/IP网络上的光纤设备提供光纤信道通信服务。iFCP 使用 TCP提供拥塞控制、差错监测与恢复功能。iFCP主要目标是使现有的光纤信道设备能够在IP网络上以线速互联与组网。此协议及其定义的帧地址转换方法允许通过透明网关(transparent gateway)将光纤信道存储设备附加到基于IP的网络结构。
FCoE:Fibre Channel over Ethernet,利用以太网路,传送光纤通道(Fibre Channel)的信号,让光纤通信的资料可以在10 Gigabit以太网路网络骨干中传输,但仍然是使用光纤通道的协定。
IPFC:IP over Fiber Channel,在光纤通道上的IP。IPFC使用在两个服务器之间的光纤通道连接作为IP数据交换的媒介。为此,IPFC定义了如何通过光纤通道网络传送IP分组。跟所有的应用协议一样,IPFC实现为在操作系统中的一个设备驱动器。对本地IP配置的连接使用“ifconfig”“或“ipconfig”。然后IPFC驱动器寻址光纤通道主机适配卡,就可以在光纤通道上发送IP分组。
-
iFCP 协议
iFCP:Internet
Fibre Channel Protocol,是一种网关到网关协议,为TCP/IP网络中的光纤通道设备提供光纤通道通信服务,实现端到端IP连接。
iFCP 协议栈
iFCP协议位于光纤通道和TCP/IP之间,这意味着iFCP可以与光纤通道或TCP/IP进行交互。
-
FCoE 协议
FCoE:Fibre Channel over Ethernet,以太网光纤通道。FCoE允许在一根通信线缆上传输LAN和FC SAN通信,融合网络可以支持LAN和SAN数据类型,减少数据中心设备和线缆数量,同时降低供电和制冷负载,收敛成一个统一的网络后,需要支持的点也跟着减少了,有助于降低管理负担。
FCoE把FC帧封装在以太网帧中,允许LAN和SAN的业务流量在同一个以太网中传送。
FCoE 协议封装
FCoE将FC-2及以上层的内容封装成以太网报文进行传输
总结
FC:Fiber Channel,光纤通道
FCIP:Fibre Channel over IP,基于IP的光纤通道
FCoE:Fibre Channel over Ethernet,以太网光纤通道
iFCP:Internet Fibre Channel Protocol,Internet光纤信道协议
iSCSI:Internet Small Computer System Interface,Internet小型计算机系统接口
IPFC:IP over Fiber Channel,在光纤通道上的IP
IOPS:Input/Output Per Second,每秒的输入输出量或读写次数
MTBF:Mean Time Between Failure,平均无故障工作时间
NAS:Network Attached Storage,网络附加存储
RAID:Redundant Array of Independent Disks,独立磁盘冗余阵列
SAN:Storage Area Networks,存储区域网络
SCSI:Small Computer System Interface,小型计算机系统接口
标签:存储,RAID,SAN,IP,存储技术,基础,校验,第三章,硬盘 From: https://www.cnblogs.com/acodemonkey/p/17552282.html