RAID 介绍(含有硬件RAID卡)

1、RAID的概念?

RAID(Redundant Array of Inexpensive Disks)是一种利用多个磁盘驱动器实现数据冗余或提高读写性能的技术。RAID技术按照不同的方式组织多个磁盘,其中包括RAID 0、RAID 1、RAID 2-10等不同的级别,下面简要介绍这些级别的优缺点:

2、什么叫数据冗余

数据冗余是指在存储数据时,在原始数据的基础上增加冗余数据,以提高数据的可靠性和可恢复性冗余数据通常是从原始数据中计算得出的校验信息或备份数据,当原始数据损坏或丢失时,通过校验信息或备份数据可以恢复原始数据。数据冗余可以通过多种技术实现,如RAID、冗余备份、容错码等。

3、RAID的优缺点?

以下是RAID 0、RAID 1和RAID 5的主要优点和缺点的概述:

RAID 0:

所示,RAID0将 (≥2)块硬盘上选择合理的带区来创建 带区集。其原理是将数据分割成不同条带 (stripe)分散写入到多个硬盘 中。多块硬盘的并行操作使单位时间内磁盘读写的速度提升。

条带大小一般为 128KB、256KB、512KB 等。如 2 块硬盘组成一个RAID 0,选择 128KB 为条带大小,则 1MB 的数据会被分成 8 块。块 1、3、5、7存放在硬盘1,块 2、4、6、8 存放在硬盘 2。可以想象,若访问这1MB 的数据,由于 2 块硬盘可以同时工作,相比于 1块硬盘,速度提高了倍。
虽然 RAID O 可以提供最大的空间(磁盘使用率是 100%) 和更好的性能,但整个系统是非常不可靠的,任意一块硬盘故障,就会引起整个逻辑盘的数据丢失。因此,RAID O 一般只在那些对数据安全性要求不高的场合或者上层应用已经实现数据冗余的场合下采用

  • 优点:

    • 提供了较高的读/写性能,通过并行读写操作多个磁盘来增加吞吐量。

    • 线性增加存储容量,将多个磁盘组合为一个逻辑卷。

      扫描二维码关注公众号,回复: 16060690 查看本文章
  • 缺点:

    • 没有冗余备份,一块磁盘故障将导致所有数据丢失。

    • 故障率增加,因为每个额外的磁盘都增加了整个阵列失败的可能性。

RAID 1:

RAID 1 称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块镜像磁盘上同时写入相同的数据。这样,只要系统中任何一对镜像盘有一块磁盘可以使用,系统都可以正常运行。当一块硬盘故障失效时,系统会忽略该硬盘,转而使用镜像盘读写数据,具备很好的磁盘冗余能力。虽然这样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为 50% (只能使用一半的磁盘存放有效数据,另外一半磁盘存放镜像数据)。另外,出现硬盘故障的 RAID 系统不再可靠,应当及时更换故障的硬盘,否则一旦剩余的硬盘也出现问题,那么整个系统就会因丢失数据而崩溃。更换新盘后会需要一定时间重新构建镜像盘的数据,上层应用对数据的访问不会受到影响,只是这时整个系统的性能有所下降。因此,RAID 1 多用在保存重要数据的场合

  • 优点:

    • 提供了数据冗余和备份,一块磁盘故障时仍然可以从镜像磁盘恢复数据。

    • 读性能较高,因为数据可以从多个镜像磁盘并行读取。

  • 缺点:

    • 存储容量低效,每个数据需要使用两块磁盘来进行镜像。

    • 写性能略低,因为数据必须同时写入多个镜像磁盘。

RAID 5:

  • 优点:

    • 提供了数据冗余和容错能力,一块磁盘故障时可以通过校验信息恢复数据。

    • 存储容量高效,相比RAID 1,只需要一块磁盘来存储校验信息。

    • 读性能较高,数据可以从多个磁盘并行读取。

  • 缺点:

    • 写性能较低,因为需要计算和写入校验信息。

    • 故障恢复时间较长,当一块磁盘故障时,需要计算校验信息来恢复数据,这需要一定时间。

需要根据具体的需求和情况选择适合的RAID级别。如果需要高性能而且数据冗余不是关键考虑因素,可以选择RAID 0。如果需要数据冗余和备份,可以选择RAID 1。如果需要兼顾性能和数据冗余,可以选择RAID 5。

RAID卡(RAID Controller Card),也称为磁盘阵列控制器卡或RAID适配器,是一种硬件设备,用于管理和控制RAID阵列。它是一块插入计算机主板上的扩展卡,负责处理RAID级别、数据读写、数据校验、故障检测和磁盘恢复等任务。

RAID卡通常具有自己的处理器、内存和固件,它与计算机主机通过总线(如PCIe)进行通信,并连接到硬盘驱动器。RAID卡提供了硬件级别的RAID功能和管理,以提供更高的性能、可靠性和数据保护。

4、数据和校验条带之间的关系

在RAID 5中,数据和校验信息是分布在多个磁盘驱动器上的。具体来说,数据被分成条带并分别存储在不同的磁盘上而校验信息则通过计算其他磁盘上相应数据的校验值而生成,这种数据和校验信息的分布方式使得RAID 5具有容错能力。当一个磁盘故障时,可以通过读取其他磁盘上的数据和校验信息来恢复丢失的数据。通过重新计算校验信息,可以重建出故障磁盘上的数据。

数据条带是将数据分割成固定大小的块,并将这些块分布在RAID阵列中的多个磁盘上。数据条带的目的是提高读写性能,通过并行访问多个磁盘驱动器来加快数据的传输速度。

数据条带校验值(Data Stripe Parity)是用于提供容错能力和数据恢复的校验信息。在RAID 5中,每个数据条带都有一个相应的校验值,也称为校验条带(Parity Stripe)。校验条带是通过对其他数据条带进行逻辑计算而得到的。具体来说,校验条带是使用异或(XOR)操作对其他数据条带进行计算得到的结果。

数据恢复过程:

通过计算校验条带,可以在发生单个磁盘故障时恢复丢失的数据。当一个磁盘故障时,可以使用其他磁盘上的数据条带和校验条带进行重新计算,以恢复故障磁盘上的数据。

因此,数据条带和数据条带校验值是RAID 5中的两个关键概念。数据条带是数据在RAID 5中的存储单位,而数据条带校验值是用于提供容错和数据恢复能力的校验信息。

5、硬件设备(RAID卡)

使用RAID卡的好处包括:

  1. 性能增强:RAID卡处理RAID级别相关的任务,如数据条带化、数据并行访问和校验计算,这可以显著提高数据的读写性能和响应时间。

  2. 硬件加速:由于RAID卡具有自己的处理器和内存,它可以在硬件级别上执行RAID操作,减轻了主机CPU和内存的负担,从而提供更高的效率和吞吐量。

  3. 管理和监控:RAID卡通常提供管理软件或Web界面,使用户可以轻松配置和监控RAID阵列。这些工具可以提供故障检测、磁盘健康状态、阵列性能和事件日志等信息。

  4. 数据保护和冗余:RAID卡支持不同的RAID级别,如RAID 0、RAID 1、RAID 5等,提供数据冗余和容错能力,以保护数据免受磁盘故障的影响。

尽管RAID卡是一种独立的硬件设备,但一些主板集成了RAID功能,称为主板上的RAID(Motherboard RAID)或软RAID(Software RAID)。这种集成的RAID功能使用主机的CPU和内存来执行RAID操作,而不依赖于独立的RAID卡。

5、制作raid5

sdb、sdc、sdd 三块盘

fdisk /dev/sdb
p       #查看分区表(空的)
n       #新建分区
p       #主分区(直接回车默认主分区)
1       #分区编号(直接回车默认从1号开始)
回车   #指定分区大小(直接回车默认分配到最大的空间,如有需要指定大小则+2g)
p       #查看分区表(此时会产生一个sda1分区)
t        #转换分区格式
fd      #fd 表示转成raid格式
p       #再次查看确认
wq     #保存退出

sudo mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd

其中,--level=5指定RAID级别为5,--raid-devices=3指定使用3块磁盘驱动器,后面的/dev/sdb、/dev/sdc、/dev/sdd是要组成RAID 5阵列的磁盘驱动器设备名称。

查看是否创建成功:

mdadm -D /dev/md0

  1. 格式化RAID 5阵列:创建完成RAID 5阵列后,需要格式化它以便在系统中使用。可以使用mkfs命令进行格式化。例如,要使用ext4文件系统格式化/dev/md0设备,使用以下命令:

sudo mkfs.ext4 /dev/md0
​
  1. 挂载RAID 5阵列:格式化完成RAID 5阵列后,需要将它挂载到系统中的某个目录,例如/mnt/raid5。可以使用mount命令进行挂载。例如:

    sudo mount /dev/md0 /mnt/raid5

    以上就是在Linux系统中使用mdadm命令制作RAID 5阵列的步骤。需要注意的是,在创建RAID 5阵列之前,需要备份所有重要数据。RAID 5提供了数据冗余和容错能力,但并不能保证数据的绝对安全,因此建议定期备份数据,以防数据丢失。

  2. 配置重启自动挂载(永久挂载) vim /etc/fstab #在问价最后一行加上以下内容 /dev/md0 /mnt/raid5 ext4 defaults 0 0

  3. 刷新挂载 mount -a

  4. 配置重启自动启用软raid服务 mdadm -D -s > /etc/mdadm.conf

然后,可以使用以下命令来查看指定 RAID 设备的详细信息,例如 /dev/md0

bashCopy code
sudo mdadm --detail /dev/md0

在成功创建 RAID 5 之后,以下是一些可能感兴趣的参数解释:

  • Raid Level: RAID 级别,这里应该显示为 raid5

  • Array Size: RAID 阵列的大小,以块为单位。

  • Used Dev Size: 每个设备(磁盘)使用的空间大小。

  • Raid Devices: RAID 设备的数量,这里应该显示为创建阵列时指定的数量。

  • Total Devices: 参与 RAID 阵列的总设备数,包括激活的和备用的设备。

  • State: RAID 阵列的状态,应该显示为 clean

  • Active Devices: 活动设备的数量,应该等于 RAID 设备的数量减去已经损坏的设备数。

  • Working Devices: 工作设备的数量,应该等于 RAID 设备的数量减去已经损坏的设备数,包括备用设备。

  • Failed Devices: 失败设备的数量,应该为 0。

  • Spare Devices: 备用设备的数量,应该为 0。

  • Chunk Size: 奇偶校验数据块的大小,以字节为单位。

  • Layout: 数据和奇偶校验信息在设备上的排列方式。

  • UUID: RAID 设备的唯一标识符。

  • Events: RAID 设备上的事件计数器,可以用于诊断问题

删除raid5

  1. umount /dev/md5 #取消挂载

  2. 把 /etc/fstab 中自动挂载的配置暂时注释掉

  3. mdadm -S /dev/md0 #停止raid5

  4. mdadm --misc --zero-superblock /dev/sda #强制覆盖写0,其他sdb、sdc、sdd、sde、sdf同操作

  5. rm -f /etc/mdadm.conf #删除自启raid的配置(删除/etc/mdadm.conf文件中添加的DEVICE行和ARRAY行) rm -f /etc/raidtab

猜你喜欢

转载自blog.csdn.net/weixin_44815878/article/details/130687464