RAID的介绍和配置

Linux系统RAID磁盘列阵的介绍和配置

一、RAID磁盘阵列介绍

  • 是 Redundant Array of Independent Disks的缩写,独立磁盘阵列。
  • 是把多个独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。
  • 组成磁盘阵列的不同方式称为RAID级别(RAID Levels)
  • 常用的RAID级别
    • RAID0、RAID1、RAID5、RAID6、RAID1+0等
1.RAID 0磁盘阵列介绍

RAID 0(条带化)是一种磁盘阵列配置,它通过将数据分成较小的块并分散存储在多个硬盘上来提高数据传输速度。这种配置方式可以显著提升系统的读写性能,因为每个硬盘只需要处理一部分数据,从而实现了并行处理。然而,RAID 0不提供任何数据冗余,这意味着如果任何一个硬盘出现故障,整个磁盘阵列的数据都会丢失。因此,RAID 0适用于对性能有极高要求但对数据安全性要求不高的场景,例如临时文件存储或对数据丢失风险可接受的应用程序。

特点:

  • RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余。
  • 数据并行写入多个硬盘,RAID 0提供了极高的数据传输速度。
  • RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。
  • RAID 0不能应用于数据安全性要求高的场合。
  • 如果任何一个硬盘出现故障,整个磁盘阵列的数据都会丢失。
  • 原理图

写入:把数据A分成A1和A2,分别写入两个盘。
读取:从两个盘把A1和A2拿出来合成数据A。

**

2.RAID 1(镜像存储)

RAID 1(镜像)是一种磁盘阵列配置,它通过将相同的数据同时写入两个或多个磁盘来提供数据冗余。这意味着如果其中一个磁盘发生故障,系统仍然可以从另一个磁盘中恢复数据。RAID 1 提供了最高的数据安全性,但牺牲了一半的磁盘空间用于存储冗余数据。

特点:

  • 通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。
  • 当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能。
  • RAID 1是磁盘阵列中单位成本最高的但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。
  • 适用于需要高数据安全性和读取性能的场景。
  • 原理图
    写入:把数据A1分别存到两个盘里。
    读取:可从其中一个盘中读取数据。

    在这里插入图片描述
3.RAID 5

RAID5是一种在多个硬盘上分散存储数据和奇偶校验信息的方法,也称为奇偶校验。它的优点是可以在提高数据传输速度的同时,保证一定程度的容错能力。如果某个硬盘出现故障,其他硬盘上的数据和奇偶校验信息可以用来恢复丢失的数据。它的缺点是写入性能较低,因为每次写入数据都要计算和写入奇偶校验信息。另外,如果超过一个硬盘出现故障,整个磁盘阵列就会损坏,数据无法恢复。

特点:

  • N(N>=3) 块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘上循环均衡存储.
  • N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高。
  • (N-1)/N磁盘利用率。
  • 可靠性高,允许坏1块盘,不影响所有数据。
  • 优点:兼顾数据冗余和性能,适合大多数企业应用场景。
  • 缺点:如果超过一个硬盘出现故障,整个磁盘阵列可能会失效,需要热备盘来恢复数据。
  • 原理图
    把数据A分成3份放入三个不同的盘,并且有额外一个盘做数据校验(通过奇偶校验,确保在单个硬盘故障时数据不会丢失)。

在这里插入图片描述

4.RAID 6
  • N (N>=4)块盘组成阵列,(N-2)/N磁盘利用率。
  • 与RAID-5相比,RAIDG增加了第二个独立的奇偶校验信息块。
  • 两个独立的奇偶系统使用不同的算法,即使两块磁盘同时失效也不会影响数据的使用。
  • 相对于RAID 5有更大的“写损失”,因此写性能较差。
5.RAID 1+0(先做镜象‘raid1’,再做条带‘raid0’)

RAID 10(镜像条带化)是一种结合了RAID 1(镜像)和RAID 0(条带化)优点的磁盘阵列配置。它通过将数据分散存储在多个镜像对上,既提高了数据传输速度,又确保了数据的安全性

特点:

  • N(偶数,N>=4)块盘两两镜像后,再组合成一个RAID0。
  • N/2磁盘利用率。
  • N/2块盘同时写入,N块盘同时读取。
  • 性能高,可靠性高。
  • 兼顾安全性和速度,适合对数据安全性要求高且需要高性能的场景。
  • 磁盘使用率为50%,成本较高。
  • RAID 10通常比RAID 0+1更受欢迎,因为它提供了更高的性能和更好的数据冗余性。
6.RAID 0+1(先做条带,再做镜象)

RAID 0+1是一种磁盘阵列配置,它结合了RAID 0(条带化)和RAID 1(镜像)的特点。在RAID 0+1配置中,数据首先被分割成多个块,并跨多个硬盘进行条带化存储(RAID 0),然后这些条带化的数据又被镜像到另一组硬盘上(RAID 1)。

特点:

  • 读写性能与RAID 10相同。
  • 安全性低于RAID 10。
  • 磁盘使用率为50%,成本较高。
7.对比
RAID级别硬盘数量磁盘利用率有无校验保护能力写性能
RAID 0NN单个硬盘的N倍
RAID 1N(偶数)N/2允许一个设备故障需写两对存储设备,互为主备
RAID 5N>=3(N-1)/N允许一个设备故障需写计算校验
RAID 6N>=4(N-2)/N允许两个个设备故障需双重写计算能力
RAID 10N>=4(偶数)N/2允许两个基组中各坏一个N/2块盘同时写入
RAID 0+1N>=4N/2不考虑其它因素几个基组能把分割的数据组成完整就行N/2块盘同时写入

二、创建RAID磁盘列阵过程

mdadm命令
rpm -qa | grep "mdadm"  ---检查是否安装了组件
1.创建RAID 0
mdadm -Cv /dev/md10 -l0 -n2 /dev/sdb1 /dev/sdb2
  • mdadm:这是用来管理RAID设备的命令。
  • -Cv:-C表示创建(Create),-v表示详细模式(verbose mode),即显示创建过程的详细信息。
  • /dev/md0:这是新创建的RAID设备的名称。
  • -l1:-l表示指定RAID级别,1表示RAID 1 。
  • -n2:-n表示指定RAID阵列中的设备数量,2表示使用两个设备。
  • /dev/sd[bc]1:这是要用于创建RAID阵列的设备列表。[bc]是一个字符集,表示b或c,所以这个命令会使用/dev/sdb1和/dev/sdc1这两个设备来创建RAID阵列。
2.创建RAID 1
mdadm -Cv /dev/md0 -l1 -n2 /dev/sd[bc]1 
3.创建RAID 10

#先做2个raid 1,再做一个raid 0。(RAID 0+1 的创建顺序相反)

mdadm -Cv /dev/md0 -l1 -n2 /dev/sd[bc]1   
mdadm -Cv /dev/md1 -l1 -n2 /dev/sd[de]1
mdadm -Cv /dev/md10 -l0 -n2 /dev/md0 /dev/md1

以下为一条命令(包含一个热备盘)

mdadm -Cv /dev/md0 -l10 -n4 -x1 /dev/sd{b,c,d,e,f}1      -x1表示一个热备盘

创建5个硬盘,1个做热备份

4.创建RAID 5
mdadm -C -v /dev/md5 -l5 -n3 /dev/sd[b-d]1 -x1 /dev/sde1

##注意:创建完后需格式化和创建系统文件,再进行挂载使用。

5.删除RAID

1.先解挂载

umount /dev/md0

2.停止raid设备

mdadm -S /dev/md0              -S 停止raid选项

3.此时如果忘了raid中的硬盘名称,要么重启系统,要么运行:mdadm -A -s /dev/md5
然后再用mdadm -D /dev/md0查看raid
中包含哪几个硬盘。再次运行第二步停止命令:mdadm -S /dev/md0

4.删除raid里的所有硬盘:

mdadm --misc --zero-superblock /dev/sdc
mdadm --misc --zero-superblock /dev/sdd
mdadm --misc --zero-superblock /dev/sde
mdadm --misc --zero-superblock /dev/sdf
  • mdadm:是用于管理 RAID 设备的工具。
  • –misc:表示这是一个杂项(miscellaneous)操作。
  • –zero-superblock:表示要清除(归零)指定设备的超级块(superblock)。
  • /dev/sdc:是要操作的设备的路径。
  • 有几块硬盘,就按格式删几次,注意最后面的硬盘名称,也可以写在一条命令:
mdadm --misc --zero-superblock /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

5.删除配置文件

rm -rf /etc/mdadm.conf

其它可用到的命令及选项

rpm -qa | grep "mdadm"       检查是否安装了组件
cat /proc/mdstat             检查磁盘阵列进度
watch -n 1 cat /proc/mdstat  每秒自动查看磁盘列阵进度一次
mdadm -D /dev/md5            查看RAID磁盘详细信息
mdadm命令其它常用选项
r:移除设备
-a:添加设备
-S:停止RAID
-A:启动RAID
mdadm /dev/md5 -f /dev/sdb1  ---模拟故障
  • 10
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值