Linux基础篇学习——Linux磁盘管理及维护之RAID磁盘阵列

RAID

概念

磁盘阵列(Redundant Arrays of Independent Drives,RAID),有独立磁盘构成的具有冗余能力的阵列之意。
磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。
磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。

类别

RAID类型 个数 利用率 优缺点
RAID0 条带集 2,2+ 100% 读写性能提升,不容错
RAID1 镜像集 2,2+ 50% 读性能提升,写性能下降,有冗余能力
RAID5 奇偶校验条带集 3+ n-1/n 读写性能提升,容错,允许坏一块盘
RAID6奇偶校验条带集双校验 4+ n-2/n 读写性能提升,容错,允许坏2块盘
RAID10 4+ 50% 读写性能提升,容错
RAID01 4+ 50% 读写性能提升,容错

RAID 级别比较
在这里插入图片描述RAID 卡支持的硬盘接口类型
在这里插入图片描述

如何保证磁盘坏了之后,数据不丢失?映像,冗余备份
如何提高磁盘数据的读写速率? 条带

RAID0

磁盘的有效利用率 100%
特点 只做条带,提高磁盘的读写性能
   没有映像,不做冗余
   数据存在丢失风险
应用场景 对数据的读写性能要求较高,安全性要求较低的场景(视频、音频、临时缓存)
在这里插入图片描述

RAID1

磁盘的有效利用率 50%
特点 只有镜像,提高数据冗余
   没有条带,磁盘写性能降低,读性能不受影响
   数据绝对安全
应用场景 对数据的安全性要求较高,顺序读写的场景(邮件系统、系统盘)

在这里插入图片描述

RAID01,RAID10

RAID01 先做条带,再做镜像
RAID10 先做镜像,再做条带

RAID01本质是对物理磁盘实现镜像,RAID10是对虚拟磁盘实现镜像。相同的配置下,通常 RAID01比RAID10具有更好的容错能力。

磁盘的有效利用率 50%
特点 有镜像,也有条带,可以实现数据冗余,提高读写性能
   保证安全
   成本高
在这里插入图片描述
在这里插入图片描述

RAID5

只能允许一个磁盘故障
磁盘的有效利用率 n-1/n(n>=3)
特点 有镜像,也有条带
   读写性能提高
   扩展性强
   是兼顾存储性能、数据安全、存储成本等多方面因素的综合方案
   同一个盘上存在存储数据和校验数据
在这里插入图片描述

RAID6

允许2个磁盘故障
磁盘的有效利用率 n-2/n(n>=4)
特点 有镜像,也有条带
   写性能较RAID5下降
   扩展性强
   实现复杂,成本高
   同一个盘上存在存储数据和校验数据
在这里插入图片描述

配置RAID

RAID卡带电池和不带电池有什么区别?
raid卡开启回写的情况下,数据是先写到缓存,在缓存累计到一定量的数据再顺序写入磁盘,这样能显著提高小文件的交换速度。但是由于缓存是易失性的,所以主机掉电的话,缓存数据就丢失了。这样会造成系统记录与实际数据的不对称。
通写情况下,所有数据直接写进磁盘,与缓存无关。

例子
当数据库写入一个条目的时候,raid卡先把这个条目放进缓存。这时数据库会认为这个条目已经被存放好了。其实不是,因为它没有被写入磁盘。当这时主机掉电,缓存中的条目丢失,会造成以下情况:数据库认为刚才的条目已经存储了,但是在磁盘上却找不到该条目,数据库就会进入死循环,严重的数据库就直接崩了。
电池就是为了防止这种现象才存在的。

知识补充

同一台服务器上安装的RAID卡型号可能不同
RAID卡要有对应的驱动

容错

容错是指在子系统出现磁盘错误或磁盘故障时,可以保证数据完整性和数据处理能
力。

容错性能提高了系统的可用性,即磁盘故障时,系统仍可正常运行。因此,在故障修
复流程中,容错是非常重要的特性。

扩容

  1. 只有RAID 0、RAID 1、RAID 5、RAID 6支持增加硬盘扩容。
  2. RAID10、RAID 50、RAID 60不支持增加硬盘扩容。
  3. 当硬盘组中包含了2个或2个以上的VD时,无法通过添加新硬盘扩容。
  4. 添加新硬盘扩容时,每次扩容操作只能增加一块硬盘。

存储容量

在选择RAID级别时,其存储容量也是一个重要参数。

  1. RAID 0:在指定一组磁盘后,同等情况下,RAID 0可以提供个最大的存储容量,可用容量=成员盘最小容量x成员盘个数。
  2. RAID 1:由于对一个磁盘进行写入时,必须同时写入另一个磁盘,导致存储空间损耗。可用容量=成员盘最小容量。
  3. RAID 5:校验数据块与常规数据块隔离,因此整体上来说,校验数据会占用1个成员盘的容量。可用空间=成员盘最小容量x(成员盘个数-1)。
  4. RAID 6:由于2个独立的校验数据块与常规数据块隔离,整体上来说,校验数据会占用2个成员盘的容量。可用空间=成员盘最小容量x(成员盘个数-2)。
  5. RAID 10:可用容量=成员盘最小容量x成员盘个数/2。
  6. RAID 50:可用容量=子组容量x子组数。
  7. RAID 60:可用容量=子组容量x子组数。