Linux系统-RAID磁盘阵列(配置软RAID和硬RAID)

本文详细介绍了软RAID(包括RAID0、RAID1和RAID5)的配置示例,展示了如何在Linux中创建、格式化、挂载和管理这些RAID级别,以及RAID5的故障恢复机制。同时提到了硬RAID配置方法,主要针对DELL服务器。
摘要由CSDN通过智能技术生成

目录

一、介绍

二、软RAID常见的级别

RAID0 条带集(卷)

RAID1 镜像集(卷)

RAID5 带奇偶校验条带集(卷)

三、配置软RAID示例

1、RAID5 示例

(1)查看没有用过的磁盘,用于做实验

(2)创建RAID5

(3)格式化RAID5

(4)挂载RAID5

(5)查看RAID5

(6)RAID5模拟故障示例

2、RAID1 示例

(1)创建RAID1

(2)格式化RAID1

(3)挂载RAID1

(4)RAID1模拟故障示例

3、RAID0 示例

(1)创建RAID0

(2)格式化RAID0

(3)挂载RAID0

(4)验证RAID0读写速率

四、删除RAID 示例

五、配置硬RAID 示例

术语:

配置DELL服务器的RAID

坚持学习很容易,但是坚持到底很难,希望大家不忘初心,好好学习,天天向上。


一、介绍

  • 廉价磁盘阵列RAID(Redundatnt Array of lndependent Disks),全称独立磁盘冗余阵列;
  • 解释:RAID阵列是一种把多块独立的硬盘,按不同的RAID级别组成的一个硬盘组,从而提供比单个硬盘更好的读取速率 和 数据安全性更强的技术。
  • 不同的RAID级别,提供的磁盘读取速率和数据可靠性技术都不相同。
  • RAID磁盘阵列有软RAID硬RAID之分
  • 软RAID:基于操作系统(练习可使用)
  • 硬件RAID:基于物理服务器(工作使用)

二、软RAID常见的级别

RAID0 条带集(卷)

由两块或两块以上的硬盘并行组成,会将数据分散存储在各个硬盘内,正因会将数据分散存储,所以硬盘读写速率很快。不能容错,只要有一块硬盘损坏,其它存储数据硬盘全部损坏。

结构图:

特性:

  • 由两块或以上硬盘并行组成;
  • 读写速率快,磁盘数量越多读写速率越快,读写速率 = 100% * 硬盘数量;
  • 不能容错,只要一块硬盘损坏,其它硬盘数据全部不能访问。例如有1份数据,RAID0有4块硬盘,一份数据就会分成四份分别存储在四个硬盘里,只要其中有一块硬盘损坏,其它硬盘的数据自然无法访问;
  • 能完全使用磁盘容量。例如有两块硬盘,每块硬盘大小为10G,RAID0就能完全使用这20G容量。

应用场景:对于数据安全性要求不高的数据,例如浏览器记录,视频、音频等。

RAID1 镜像集(卷)

至少由两块硬盘组成,在第一块硬盘写入数据时,另一块硬盘同时会对数据进行备份,当任何一块磁盘损坏时,对应的备份磁盘会自动恢复数据,并且不会造成数据丢失。数据安全性非常强。

RAID1只能使用50%的容量,例如RAID1总容量为10G,那么它可用容量只有5G,因为另外50%需要用来备份数据。RAID1不能完全使用容量,所以读写速率一般。

结构图:

因为每一块磁盘的数据都有备份,所以每份数据都是成对出现。

特性:

  • 最少由两块磁盘或以上组成;
  • 可以容错,数据可靠性(安全性)非常强;
  • 因为只能使用50%的容量,所以读写速率一般;
  • 磁盘数量必须为偶数;

应用场景:对于数据安全性要求高的数据,例如:交易系统、用户系统等。

RAID5 带奇偶校验条带集(卷)

最少由3块盘组成,3块个工作盘(2块数据盘,1块校验位盘)。数据将分散存储在RAID5阵列中的每块数据盘上。任何一个磁盘数据丢失或损坏,都不会导致整个数据丢失,因为校验盘会通过其它没有损坏的盘计算出损坏的盘内容数据。

热备盘,一块备用的盘。当三块工作盘中其中一块损坏,热备盘会立马顶上,将损坏盘里的数据自动更新到热备盘里。

结构图:

存储数据和校验位磁盘的位置不是固定的,是随机的。

RAID5利用率计算:

n=磁盘数量

特性:

  • 最少由三块磁盘组成;
  • 数据安全性强(可靠性);
  • 数据分散存储在多块数据盘中;
  • 读写速率不如RAID0,因为RAID5有一块校验盘;

三、配置软RAID示例

1、RAID5 示例

(1)查看没有用过的磁盘,用于做实验

(2)创建RAID5

命令:mdadm,管理RAID设备。

常用参数:

  • -C:创建RAID,并把RAID信息写入每个成员的超级块中;
  • -l:指定RAID级别;
  • -n:指定RAID中活动磁盘的数量;
  • -x:指定RAID中的热备盘数量;
  • -D:显示RAID设备的详细信息;
  • -r:将指定磁盘移出RAID;
  • -f:将指定RAID磁盘设置为故障模式;
  • -v:显示详细执行过程;
  • -s:扫描配置文件以搜寻丢失的信息;
  • -S:停止RAID设备;
  • --zero--superblock:使用0覆盖RAID设备中的超级块;

-C:指定RAID名字    -l:指定RAID级别    -n:指定RAID中活动的磁盘数量    -x:指定RAID中的热备盘数量
[root@localhost ~]# mdadm -C /dev/md0 -l 5 -n 3 -x 1 /dev/sd{f,g,h,i}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@localhost ~]# 

(3)格式化RAID5
[root@localhost ~]# mkfs -t ext4 /dev/md0    #为RAID5创建ext4文件系统
mke2fs 1.42.9 (28-Dec-2013)
......                  
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 

[root@localhost ~]# 

(4)挂载RAID5

为什么组合了4个5G的磁盘,而RAID5只有10G容量?

因为活动的磁盘指定了3个,热备盘指定了1个。活动的磁盘当中有1个校验盘,所有剩余的两个磁盘作为了数据盘。

(5)查看RAID5
[root@localhost ~]# mdadm -D /dev/md0 #查看RAID5设备的详细信息
/dev/md0:
           Version : 1.2
     Creation Time : Sat Mar 16 20:35:50 2024    #raid5创建时间
        Raid Level : raid5    #raid级别
        Array Size : 10475520 (9.99 GiB 10.73 GB)    #raid5可用容量
     Used Dev Size : 5237760 (5.00 GiB 5.36 GB)
      Raid Devices : 3    #阵列的磁盘数量
     Total Devices : 4    #总的磁盘数量
       Persistence : Superblock is persistent

       Update Time : Sat Mar 16 20:40:09 2024
             State : clean #状态是clean,代表raid5是干净的,没问题的
    Active Devices : 3    #活动的磁盘数量
   Working Devices : 4    #工作中的磁盘数量
    Failed Devices : 0    #失败的磁盘数量
     Spare Devices : 1    #备用的磁盘数量

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : localhost.localdomain:0  (local to host localhost.localdomain)
              UUID : 80262b59:43510cd8:3446da9a:5e15e324
            Events : 18

    Number   Major   Minor   RaidDevice State
       0       8       80        0      active sync   /dev/sdf    #工作盘1
       1       8       96        1      active sync   /dev/sdg    #工作盘2
       4       8      112        2      active sync   /dev/sdh    #工作盘3

       3       8      128        -      spare   /dev/sdi    #热备盘
[root@localhost ~]# 

(6)RAID5模拟故障示例

例1:RAID5某块活动磁盘损坏,热备盘自动更换

步骤1:使用watch命令,每0.5秒执行一次查看RAID5磁盘信息命令。tial -n 6:查看最后6行信息

watch -n 0.5 "mdadm -D /dev/md0 | tail -n 6"

步骤2:将活动磁盘/dev/sdf设置为故障,并移出RAID5

热备盘自动更补完成,RAID5中的数据已经恢复。

例2:RAID5某块活动磁盘损坏,其余数据盘通过校验算法恢复数据

步骤1:RAID5磁盘未损坏前,正常查看数据

步骤2:模拟RAID5中的某块活动磁盘损坏

步骤3:再次查看RAID5中的数据,发现数据已经被RAID5通过校验算法恢复

2、RAID1 示例

(1)创建RAID1
[root@localhost ~]# mdadm -C /dev/md0 -l1 -n2 -x1 /dev/sd{b,c,d}

(2)格式化RAID1
[root@localhost ~]# mkfs -t ext4 /dev/md0
mke2fs 1.42.9 (28-Dec-2013)
......           
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 

[root@localhost ~]# 

(3)挂载RAID1

(4)RAID1模拟故障示例

例1:RAID1某块活动磁盘故障,热备盘自动替换

例2:RAID1某块活动磁盘故障,对应备份磁盘自动恢复数据

步骤1:在RAID1模拟故障前,访问RAID1里面的数据

步骤2:RAID1在某块活动磁盘发生损坏后,通过对应备份磁盘恢复数据。

3、RAID0 示例

(1)创建RAID0
[root@localhost ~]# mdadm -C /dev/md1 -l0 -n2 /dev/sd{h,i}    #创建RAID0
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
[root@localhost ~]# cat /proc/mdstat     #查看系统上的RAID状态
Personalities : [raid6] [raid5] [raid4] [raid1] [raid0] 
md1 : active raid0 sdi[1] sdh[0]    #创建成功
      10475520 blocks super 1.2 512k chunks
      
md0 : active raid1 sdb[0]
      5237760 blocks super 1.2 [2/1] [U_]
      
unused devices: <none>
[root@localhost ~]# 

(2)格式化RAID0
[root@localhost ~]# mkfs -t ext4 /dev/md1    #为RAID0创建文件系统
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
......
Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 

[root@localhost ~]# 

(3)挂载RAID0

(4)验证RAID0读写速率

普通磁盘读入8G内容耗时1分20秒

RAID0读入8G内容耗时54秒

四、删除RAID 示例

请注意:删除RAID可以在实验中模拟,切勿在生产环境中删除RAID。

[root@localhost ~]# umount /dev/md0    #卸载挂载点
[root@localhost ~]# mdadm -Ss /dev/md0    #停止RAID设备
mdadm: stopped /dev/md0
[root@localhost ~# mdadm --zero-superblock /dev/sda{5,6,7,8}    #清空磁盘
[root@localhost ~]# cat /proc/mdstat     #查看系统上RAID的状态
Personalities : [raid6] [raid5] [raid4] [raid1] 
unused devices: <none>    #没有RAID设备

五、配置硬RAID 示例

术语:
  • Disk Group:磁盘组,这里相当于是阵列,例如配置了一个RAID5,就是一个磁盘组。
  • VD(Virtual Disk): 虚拟磁盘,虚拟磁盘可以不使用阵列的全部容量,也就是说一个磁盘组可以分为多个VD。
  • PD(Physical Disk):物理磁盘。

配置DELL服务器的RAID

(此操作适用于Dell R730、R720、R630、R620、R420、R530

1、启动服务器的时候,会看到界面有CTRL+R的提示,迅速并且多按几次CTRL+R,会进入RAID配置界面

2、进入RAID配置界面,按F2打开虚拟磁盘创建菜单

3、在“ Controller 0 ”选项 按下回车,再选择(按上下键控制)创建虚拟磁盘选项 按下回车

4、在RAID级别选项中,按上下键选择创建的级别,选择好后按回车。

RAID级别的选项,是根据磁盘数量决定的:RAID0 n>=1、RAID1 n>=2、RAID5 n>=3

我这里使用了10块硬盘,所以选择了RAID5

5、按下Tab键移动到“Physical Disks”列表中,上下键移动光标,按空格键选择硬盘。左边框框中显示X,则代表硬盘被选中。

6、选择硬盘后,按Tab键,将光标移至“Basic Settings”中填写VD Name(虚拟磁盘名字),然后再将光标移至OK那里,按回车键。

7、按回车后,会出现如下的提示:如果是一个全新的阵列,建议进行初始化操作,如果配置阵列的目的是为了恢复之前的数据,则不要进行初始化。按回车确认即可继续。

8、按下回车后,返回到RAID配置界面,上面可以看到RAID的配置信息

9、如果创建虚拟磁盘不是为了恢复数据,而是新的虚拟磁盘,则要初始化。按下F2,弹出选项菜单,选择“ Initialization ” 初始化选择,然后选择Fast Init(快速初始化)。Start Init(正常初始化)

10、按下回车后,会弹出提示:初始化将会清除所有数据,如果确认要进行初始化操作,在YES处按回车即可继续。

请注意:初始化会清除硬盘、RAID阵列中的所有信息,且无法恢复。

11、再次按下回车,RAID界面会出现初始化进度条、以及目前正在做的操作。

12、初始化完成后,会弹出提示窗口,选择OK,按下回车,RAID配置即完成。

13、配置完成后,按Esc键退出,选择OK按回车,重启服务器即可。

硬RAID配置参考文章:DELL服务器配置RAID图文教程-CSDN博客

  • 17
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Linux配置RAID5磁盘阵列,您可以按照以下步骤进行操作: 1. 确保您的系统已经连接了所有的磁盘。您可以使用命令`lsblk`或`fdisk -l`来查看当前连接的磁盘列表。 2. 安装所需的件包。通常,`mdadm`件包用于管理RAID。您可以使用以下命令进行安装: ``` sudo apt-get install mdadm ``` 3. 创建RAID5磁盘阵列。您需要使用`mdadm`命令来创建和配置RAID设备。以下是一个示例命令,用于创建一个由三个盘组成的RAID5阵列: ``` sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdX /dev/sdY /dev/sdZ ``` 请将`/dev/sdX /dev/sdY /dev/sdZ`替换为您实际的磁盘设备名称。 4. 等待RAID5阵列创建完成。这可能需要一些时间,取决于磁盘的大小和性能。 5. 创建文件系统并挂载RAID设备。一旦RAID5阵列创建完成,您可以使用`mkfs`命令创建文件系统,然后使用`mount`命令将其挂载到适当的目录下: ``` sudo mkfs.ext4 /dev/md0 sudo mount /dev/md0 /mnt/raid ``` 6. 配置自动挂载。如果您希望在系统启动时自动挂载RAID设备,您可以将其添加到`/etc/fstab`文件中。打开该文件并在末尾添加类似于以下行的条目: ``` /dev/md0 /mnt/raid ext4 defaults 0 0 ``` 7. 测试RAID5阵列。您可以通过在RAID设备上创建和删除文件来测试其功能。确保RAID设备正常工作并且数据可靠。 请注意,上述步骤是一个简单的概述,并且可能因您的具体情况而有所不同。在操作中,请确保备份重要数据,并小心操作以避免数据丢失。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值