目录
什么是存储
狭义上的存储
指的是不同的业务场景下所选用的存储介质,也就是具体的设备(存储是用来记录信息的载体)
例如:DVD、磁带、硬盘等
广义上的存储
指的是通过专用的存储设备为行业、企业定制的存储解决方案,包含存储硬件系统、存储软件、存储网络、存储备份等
例如:容灾备份方案等
存储的作用
保证数据能够临时或长期的驻留在存储介质上
保证数据能够及时的被读取或被保存
保证数据的完整安全有效
能够对数据进行检索
RAID基本概念
RAID(Redundant Array of Independent Disks)独立冗余磁盘阵列,简称硬盘阵列
RAID是一种把多个单独的物理硬盘以不同的方式组合成一个逻辑硬盘,将逻辑硬盘挂载给操作系统,在系统中读取到的是逻辑硬盘,而非独立的物理磁盘
作用
提高硬盘的读写性能和数据安全性
注意事项
做RAID的物理磁盘尽量容量一致或相近
当使用多块物理磁盘做RAID时,会以最小容量的盘的大小作为计算标准
即:1T、2T、4T、8T4块物理硬盘组成RAID后的逻辑硬盘最多为4T(以1T为标准,最多4块同时利用,也就是4T)
RAID实现方式
硬件RAID——通过RAID卡实现
有独立的硬件,不会消耗硬盘性能
相对于操作系统独立,不需要操作系统也可以创建RAID
成本高
当RAID卡出现故障后必须更换同型号或与故障RAID卡相互兼容的型号,受硬件限制
有管理上限,不利于扩展
软件RAID——通过软件实现RAID
通过软件来进行实现,成本低
允许用户重新配置磁盘阵列,不受硬件限制
一般没有管理上线,利于扩展
没有硬件来统一管理,读写性能差,并且软件在工作时会消耗主机性能
需要运行在操作系统之上,且不能用于操作系统之间共享的分区
RAID的数据组织形式
硬盘条带化:
将硬盘空间按照设定的大小分为多个条带,数据写入时也按照条带的大小来划分数据模块
条带:单个硬盘中单个或着多个连续的扇区构成一个条带(组成分条的元素) 扇区一般512B
分条:同一硬盘阵列中的多个硬盘驱动器上的相同“位置”的条带(相同编号的条带)
分条的深度:条带的大小
分条的宽度:硬盘的个数
数据写入是按照分条来进行数据写入的(跨盘的数据存放)
RAID的数据保护方式
镜像
在另一块大小一样的硬盘上保存数据的副本,该硬盘就为镜像盘
原数据 原封不同的 复制到镜像盘一份
奇偶校验算法(XOR)(异或算法)
进行奇偶校验(相同为假0,相异为真1)
RAID级别
常用的RAID类型有RAID0、RAID1、RAID3、RAID5、RAID6、RAID10、RAID50等
RAID0
RAID0也被称为条带化RAID,只是将硬盘整合在了一起,没有冗余功能
特点
具有最高的存储性能,磁盘利用率为100%
创建RAID0最少需要2块盘
数据读写——读写速率最优
数据写入时并行将数据写入到RAID对应的物理盘中
数据读取时并行读取RAID对应的物理盘
不支持重构
RAID1
RAID1称为镜像,使用一半的物理硬盘做为镜像盘做数据备份
特点
磁盘利用率为50%(一半硬盘保存的是数据的副本)
创建RAID1最少需要2块盘(必须是偶数的硬盘,每个工作盘对应一个镜像盘)
相比于RAID0增加了安全性,但是降低了容量和读写速率
数据读写——读速率相比于RAID0有所下降
数据写入时将数据写入到镜像器中,然后由镜像器分别写入到物理盘和镜像盘(镜像器就是由RAID卡来实现的)
数据读取时读取工作盘的数据,当工作盘故障后会读取镜像盘的数据
数据重构
当2块硬盘做RAID时,允许1块盘损坏
当数据丢失/或者磁盘故障更换新的磁盘后,重构的方式都是将镜像盘的数据依次复制到工作盘中
重构过程快(读镜像盘的数据,写入到工作盘中)
RAID3
在RAID 3中,一块专用硬盘(校验盘)用来保存同一分条上其他硬盘的相应条带中的校验数据,其余盘存放用户数据,存在性能瓶颈
特点
磁盘利用率为(n-1)/n
创建RAID3最少需要3块盘,只允许损坏1个数据盘
数据读写
数据写入时将数据分别写入到数据盘,然后读取同条带的数据块,并计算所有同条带的校验值,将校验值写入到独立的校验盘中
数据读取时并行从多个数据盘中读取数据;如果读取的数据位于失效磁盘,则系统需要读取同一条带的数据块,根据校验值获取到丢失的数据,读取性能受到影响
数据重构
如果其他数据盘上的数据出现丢失,或者磁盘出现损坏,我们可以使用校验盘的信息来恢复,损失的数据
如果磁盘某数据块丢失,会读取同一条带的所有数据块,通过异或获取到丢失的数据,然后将此数据写入到数据盘中
如果磁盘故障并更换新的磁盘后,会读取所有条带的所有数据块,进行异或得到数据然后写入到新的硬盘中
重构过程比RAID 1较慢(读数据 进行异或计算 数据写入)
RAID5
RAID 5使用的是分布式奇偶校验,每个成员硬盘将用于存储用户数据和奇偶校验数据,易扩展
特点
磁盘利用率为(n-1)/n
创建RAID5最少需要3块盘,只允许损坏1个数据盘
最常见的RAID等级
数据读写
数据写入时,与RAID 3相比,同时进行数据的写入与校验值的计算,校验数据存在于所有盘中
数据读取时与RAID 3一致
数据重构
重构类似于RAID 3,比RAID 3更快,并且不会出现RAID 3恢复数据时出现的性能瓶颈问题
RAID6
特点
磁盘利用率为(n-2)/n
创建RAID6最少需要4块盘,只允许损坏2个数据盘
RAID6 P+Q算法
RAID6 P+Q需要计算出两个校验数据P和Q,当有两个数据丢失时,根据P和Q恢复出丢失的数据。校验数据P和Q是由以下公式计算得来的:
- P = D0 ⊕ D1 ⊕ D2…
- Q = (α ⊕ D0) ⊕ (β ⊕ D1) ⊕ (γ ⊕ D2)…
数据重构(1和2磁盘损坏)
RAID6 DP算法
DP - Double Parity,就是在RAID 4所使用的一个行XOR校验硬盘的基础上又增加了一个硬盘用于存放斜向的XOR校验信息 具体实现过程如下:
- 横向校验盘中P0 - P3为各个数据盘中横向数据的校验信息,例:P0=D0 XOR D1 XOR D2 XOR D3
- 斜向校验盘中DP0 - DP3为各个数据盘及横向校验盘的斜向数据校验信息,例:DP0=D0 XOR D5 XOR D10 XOR D15
第一个校验信息(斜向校验)与RAID 6 P+Q的P算法类似
第二个不同于RAID 6 P+Q,采用的是斜向异或运算得到行对角奇偶校验数据块。
数据重构(1和2磁盘损坏)
RAID10
先进行RAID1,在进行RAID0
RAID50
先进行RAID5,在进行RAID0
RAID级别总结
* | RAID0 | RAID1 | RAID3 | RAID5 | RAID6 P+Q | RAID6 DP | RAID10 | RAID50 |
冗余技术 | 无冗余能力 | 镜像冗余 | 奇偶校验 | 分布式奇偶校验 | 2种校验方式 P+Q校验方式 | 2种校验方式 横向和斜向校验方式 | 先RAID1,再RAID0 | 先RAID5,再RAID0 |
磁盘利用率 | 100% | 50% | (n-1)/n | (n-1)/n | (n-2)/n | (n-2)/n | 50% | (n-2)/n |
最小盘数 | 1块 | 2块 | n≥3块 | n≥3块 | n≥4块 | n≥4块 | n≥4块 | n≥6块 |
允许损坏的最大盘数 | * | (镜像盘不坏就行) | 1块(非校验盘) | 1块 | 2块 | 2块 | (镜像盘不坏就行) | 2块 |
热备盘选项 | 无 | 有 | 有 | 有 | 有 | 有 | 有 | 有 |
读性能 | 高 | 低 | 高 | 高 | 高 | 高 | 一般 | 一般 |
随机/连续写性能 | 高 | 低 | 低 | 低 | 低 | 低 | 一般 | 一般 |
应用场景 | 性能最好,安全性不高,传输带宽需求大的应用 | 安全性要求最高的应用 (一般用作系统盘) | 1块单独的校验盘 (基本不用了) | 读写效率较高,安全性要求高的应用 (一般用于金融、数据库、存储等场景) | 相比于RAID5多了一种Q校验方式,安全性高 (一般用于金融、数据库、存储等场景) | 一种横向校验,一种斜向校2种校验,安全性高 (一般用于金融、数据库、存储等场景) | 读写速率不是很高,安全性高 (一般用于银行、金融等领域) | 读写速率不是很高,安全性高 (一般用于银行、金融等领域) |