Lazy loaded image
运维
Raid技术
字数 5331阅读时长 14 分钟
2024-7-31
2024-7-31
type
status
date
slug
summary
tags
category
icon
password

什么是Raid?

中文全称:廉价冗余磁盘阵列 英文全称:Redundant Array of Inexpensive Disk) 简称:Raid
Raid是一种把【一块及多块独立的物理磁盘】按不同的技术方式组合起来形成一个磁盘组,在逻辑上看起来就是一块大的磁盘,可以提供比单个物理磁盘更大的存储容量或更高的存储性能,同时又能提供不同级别数据冗余备份的一种技术。

为什么服务器需要Raid?

服务器运行痛点: 1)单块盘容量不够大。 2)磁盘损坏数据丢失。 3)磁盘速度不够快。
磁盘阵列可以把多个磁盘驱动器通过不同的连接方式连接在一起协同工作,大大提高了读取速度,同时把磁盘系统的可靠性提高到接近无错的境界,使其可靠性极高。
用RAID最直接的好处是: 1)提升数据安全性。 2)提升数据读写性能。 3)提供更大的单一逻辑磁盘数据容量存储。
怎么才能够持续坚持下去? 1.做的好处,并放大。 2.不做的坏处,放大。 3.学习很痛苦,跑步痛苦么? 用比学习更痛苦的事情,去对抗学习。 如果每天没有按时上课,罚款50,每天学习没有学16个小时,交100罚款。

什么是Raid级别?

把多个物理磁盘通过【不同技术方式】组成的磁盘阵列,这个不同的技术方式就被称为RAID级别。
Raid级别一般有: Raid 0、1、2、3、4、5、6、7、0+1(也称Raid 10)、53等。 生产环境常用Raid级别:0、1、5、10。(核心面试点)

Raid有哪些实现方式?

RAID的实现方式: 1.独立扩展卡。 速度快、支持read级别更多0、1、5、10。 2.内置主板集成RIAD控制器。 速度还行,只支持0,1。 3.通过os系统软件实现。 软raid,软件实现,性能差,操作系统损坏数据容易丢失。
态度远大于能力: 1.有【能力】,能找到工作,没有态度,做不长久。 2.有态度,领导给你机会,给你时间,可以获得【能力+原本】的态度, 领导更会给你机会,超越有能力的人了。

什么是RAID0

raid0原理(无差错控制的带区组)
RAID0技术把多块(至少两块)物理硬盘设备通过软件或硬件的方式串联在一起,组成一个大的卷组,并将数据依次写入到各个物理硬盘中。这样,在最理想的情况下,硬盘设备的读写性能会提升数倍,但是若任意一块硬盘发生故障将导致整个系统的数据都受到破坏。虽然,RAID0技术能够有效的提升硬盘数据的吞吐速度,但是不具备数据备份和错误修复能力。如下图,数据被分别写入到不同的硬盘设备中,即disk1和disk2硬盘设备会被分别保存数据资料,最终实现提升读取、写入速度的效果
要实现 RAID 0 必须要有两个以上硬盘驱动器,RAID 0 实现了带区组,数据并不是保存在一个硬盘上,而是分成数据块保存在不同驱动器上。因为将数据分布在不同驱动器上,所以数据吞吐率大大提高,驱动器的负载也比较平衡。
如果刚好所需要的数据在不同的驱动器上效率最好。它不需要计算校验码,实现容易。它的缺点是它没有数据差错控制,如果一个驱动器中的数据发生错误,即使其它盘上的数据正确也无济于事了。不应该将它用于对数据稳定性要求高的场合。如果用户进行图象(包括动画)编辑和其它要求传输比较大的场合使用 RAID 0 比较合适。同时,RAID 可以提高数据传输速率,比如所需读取的文件分布在两个硬盘上,这两个硬盘可以同时读取。那么原来读取同样文件的时间被缩短为 1/2 。在所有的级别中,RAID 0 的速度是最快的。但是 RAID 0 没有冗余功能的,如果一个磁盘(物理)损坏,则所有的数据都无法使用。
如果两块硬盘:160G + 120G = 240G
notion image
三块盘形成raid0
notion image
四块盘形成radi0
notion image
如图所示:系统向四个磁盘组成的逻辑磁盘(RADI0磁盘组)发出的I/O数据请求被转化为4项操作,其中的每一项操作都对应于一块物理磁盘。我们从图中可以清楚的看到通过建立RAD0,原先顺序的数据请求被分散到所有的4块磁盘中同时执行。从理论上讲,四块磁盘的并行操作使同一时间内磁盘读写速度提升了4倍
但由于总线带宽等多种因素的影响,实际的提升速率肯定会低于理论值,但是,大量数据并行传输与串行传输比较,提速效果显著显然毋庸置疑。RAD0的缺点是不具备数据冗余,因此一旦用户数据损坏,损坏的数据将无法得到恢复。RAID0具有的特点,使其特别适用于对性能要求较高,而对数据安全不太在乎的领域,
raid0特点
  • 容量
    • 是4块盘加在一起的容量,在raid级别中具备最高的存储性能,原理是把连续的数据分散到多个磁盘上存取
  • 性能
    • 理论上磁盘读写速度比单盘提升4倍,磁盘越多倍数会越小
  • 冗余
    • 无任何冗余,坏1块盘,整个RAD就都不能用了
  • 场景
    • 负载均衡集群下面的多个相同RS节点服务器
    • 分布式文件存储下面的主节点或CHUNK SERVER
    • MySQL主从复制的多个Slave服务器
    • 对性能要求很高,对冗余要求很低的相关业务

什么是RAID1

raid1原理(镜象结构)
尽管RAID0技术提升了硬盘设备的读写速度,但是它将数据一次写入各个物理硬盘中,也就是说,它的数据是分开存放的,其中任何一块硬盘发生故障都会损坏整个系统的数据。因此,如果生产环境对硬盘设备的读写速度没有要求,而是希望增加数据的安全性时,就需要用到RAID1技术了。
RAID1技术示意图如下图,它是把两块以上的硬盘设备进行绑定,在写入数据时,是将数据同时写入到多块硬盘设备上(可以将其视为数据的镜像或备份)。当其中某一块硬盘发生故障后,一般会立即自动以热交换的方式来恢复数据的正常使用。
RAID1技术虽然十分注重数据的安全性,但是因为是在多块硬盘设备中写入了相同的数据,因此硬盘设备的利用率下降了一半。从理论上说,如下图所示的应哦按空间的真实可用率只有50%,由三块硬盘设备组成的RAID1磁盘阵列的可用率只有33%左右,以此类推。由于需要把数据同时写入两块以上的硬盘设备,这无疑也在一定程度上增大了系统计算功能的负载
对于使用这种 RAID 1 结构的设备来说,RAID 控制器必须能够同时对两个盘进行读操作和对两个镜象盘进行写操作。通过下面的结构图您也可以看到必须有两个驱动器。因为是镜象结构在一组盘出现问题时,可以使用镜象,提高系统的容错能力。它比较容易设计和实现。每读一次盘只能读出一块数据,也就是说数据块传送速率与单独的盘的读取速率相同。因为 RAID 1 的校验十分完备,因此对系统的处理能力有很大的影响,通常的 RAID 功能由软件实现,而这样的实现方法在服务器负载比较重的时候会大大影响服务器效率。
当您的系统需要极高的可靠性时,如进行数据统计,那么使用 RAID 1 比较合适。而且 RAID 1 技术支持“热替换”,即不断电的情况下对故障磁盘进行更换,更换完毕只要从镜像盘上恢复数据即可。当主硬盘损坏时,镜像硬盘就可以代替主硬盘工作。镜像硬盘相当于一个备份盘,可想而知,这种硬盘模式的安全性是非常高的,RAID 1 的数据安全性在所有的 RAID 级别上来说是最好的。但是其磁盘的利用率却只有50%,是所有 RAID 级别中最低的。
如果两块硬盘:160G + 120G = 120G
notion image
radi1特点
  • 容量
    • 损失50%的数据容量。例如:2块1T的盘,做RAD1后,容量为1T
  • 性能
    • Mirror不能提高存储性能。理论上写性能和单盘相差不大
  • 冗余
    • 在所有RAD级别中,RAID1提供最高的数据安全保障。冗余度100%
  • 场合
    • 适用于存放重要数据,如服务器系统分区和对性能要求很高的数据库存储等领域

什么是RAID5?

RAID5原理(分布式奇偶校验的独立磁盘结构)
RAID5技术是把硬盘设备的数据奇偶校验信息保存到其他硬盘设备中。RAID5磁盘阵列组中数据的奇偶校验信息并不是单独保存到某一块磁盘设备中,而是存储到除自身以外的其他每一块应哦按设备上,这样的好处是其中任何一个设备损坏后不至于出现致命缺陷。下图“parity”部分存放的就是数据的奇偶校验信息,换句话说,就是RAID5技术实际上没有备份磁盘中的真实数据信息,而是当硬盘设备出现问题后通过奇偶校验信息来尝试重建损坏的数据。RAID5这样的技术特性“妥协”的兼顾了硬盘设备的读写速度、数据安全性与存储成本问题
从下面示意图上可以看到,它的奇偶校验码存在于所有磁盘上,其中的 p0 代表第 0 带区的奇偶校验值,其它的意思也相同。RAID5 的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性,允许单个磁盘出错。RAID 5 也是以数据的校验位来保证数据的安全,但它不是以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于各个硬盘上。这样,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。硬盘的利用率为n-1。但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。RAID 3 与RAID 5 相比,重要的区别在于 RAID 3 每进行一次数据传输,需涉及到所有的阵列盘。而对于 RAID 5 来说,大部分数据传输只对一块磁盘操作,可进行并行操作。在 RAID 5 中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。RAID 5 的话,优点是提供了冗余性(支持一块盘掉线后仍然正常运行),磁盘空间利用率较高 (N-1/N) ,读写速度较快(N-1倍)。RAID 5 最大的好处是在一块盘掉线的情况下,RAID 照常工作,相对于 RAID 0 必须每一块盘都正常才可以正常工作的状况容错性能好多了。因此 RAID5 是 RAID 级别中最常见的一个类型。RAID 5 校验位即P位是通过其它条带数据做异或 (xor) 求得的。计算公式为 P = D0 xor D1 xor D2 … xor Dn,其中 p 代表校验块,Dn 代表相应的数据块,xor 是数学运算符号异或
notion image
raid5特点
  • 容量
    • 至少三块盘,只损失一块盘的数据容量,即n-1
  • 冗余
    • 可损失一块盘。RAID5数据安全保障程度比RAD1低,而磁盘空间利用率要比RAID1高
  • 性能
    • RAID5具有和RAID0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度较慢
  • 场合
    • RAID5可以理解为是RAID0和RAID1的折衷方案。适合对性能和冗余都有一定要求,又都不是十分高的情况。MySQL的主从库都可以,存储也可以。普通的服务器为了减少维护成本,又保持一定冗余和读性能都可以做RAID5

什么是RAID01或Raid10

一些文献把这两种 RAID 等级看作是等同的,本文认为是不同的。 RAID01 是先做条带化再作镜像,本质是对物理磁盘实现镜像;而 RAID10 是先做镜像再作条带化,是对虚拟磁盘实现镜像。相同的配置下,通常 RAID01 比 RAID10 具有更好的容错能力、
RAID10即RAID0+RAID1的一个组合体。如下图所示,RAID10技术需要至少4块硬盘来组建,其中先分别两两制作成RAID1磁盘阵列,以保证数据的安全性;然后再对两个RAID1次哦按阵列实施RAID0技术,进一步提高硬盘设备的读写速度。这样从理论上讲,只要坏的不是同一组中的所有磁盘,那么最多可以损坏50%的硬盘设备而不丢失数据。由于RAID10技术继承了RAID0的高速写速度和RAID1的数据安全性,在不考虑成本的情况下RAID10的性能都超过了RAID5,因此当前成为广泛使用的一种存储技术
RAID01 兼备了 RAID0 和 RAID1 的优点,它先用两块磁盘建立镜像,然后再在镜像内部做条带化。 RAID01 的数据将同时写入到两个磁盘阵列中,如果其中一个阵列损坏,仍可继续工作,保证数据安全性的同时又提高了性能。 RAID01 和 RAID10 内部都含有 RAID1 模式,因此整体磁盘利用率均仅为 50%
notion image
raid01特点
  • 容量减半
  • 冗余,损失两块盘单边环
  • 读快
  • 没有应用场景
raid10特点
  • 容量减半
  • 冗余减少两块盘冗余大于raid5和raid0小于raid1
  • 性能大于raid1和raid5小于raid0
  • 应用场合:高并发存储和数据库系统

Raid总结

RAID级别
RAID0
RAID1
RAID5
RAID10
别名
带区
镜像
分布奇偶校验
镜像阵列带区
容错性
冗余类型
复制
奇偶校验
复制
热备盘选项
读性能
一般
随机写性能
一般
连续写性能
一般
最小硬盘
1
仅2
3
4
可用容量
N,一般不大于16
N/2,一般不大于16
N-1,一般不大于16
N/2,一般不大于16
应用场景
迅速读写 安全要求不高 如MYSQL Slave 集群节点RS
随机写入数据 安全性要求高 如服务器,数据库存储
随机数据传输 安全性要求性高 如数据库存储等
数据量高 安全性要求高 如金融银行

RAID选择成本/性能/可靠性对比图

notion image

Raid企业面试题

raid0 raid1 raid5 raid10特点和区别

RAID级别
关键优点
关键缺点
实际应用场景
RAID0
读写速度快,成本极低,1块硬盘以上
没有如何冗余
MYSQL Slave 集群节点RS
RAID1
100%冗余,镜像盘,只能两块盘
读写性能一般,成本高
单独的,数据重要 且不能宕机业务,监控,系统盘
RAID5
具备一定性能和冗余 ,可坏一块盘 读写性能不错
需要奇偶校验,写入性能不高,至少三块盘
对性能和安全要求不是很高,业务都要可以用
RAID0+1 RAID10
读写速度很快,100%冗余,可坏两块盘,至少四块盘
成本性极高,RAID0+1坏两块盘的概率大于RAID1+0
性能和冗余要求都很高业务,数据库和存储节点

Raid和Lvm区别?

什么是LVM(逻辑卷管理) 动态扩容的工具。
  • 分区动态扩容(1.事先规划好。2.尽量少分区)
  • 性能差(10%)
应用场景:测试服务器

案例分析

案例: 背景:公司内部最近要上新的ERP系统,公司内部旧的服务器已经无法满足需求。公司新上马的ERP系统,因为要满足各个分公司,各办事处,销售人员和后勤人员,服务人员甚至客户的协同的大量的24小时不间断的远程高负荷的数据操作,在数据储存方面需要采用更高级别的RAID磁盘阵列容错系统。 服务器R730 DELL型号已经确认,但是在raid存储方面还没定夺。你给领导RAID方案。
上一篇
python操作k8s资源
下一篇
修改linux系统密码