RAID 磁盘阵列及RAID配置实战

目录

一.RAID磁盘阵列介绍

二.常用的RAID磁盘阵列的介绍

1.RAID 0 (条带化存储)

2.RAID 1(镜像存储)

3.RAID 5

4.RAID 6 

5.RAID 1+0(先做镜像,再做条带)

6.RAID 0+1 (先做条带,再做镜像)

7.RAID 磁盘阵列的区别

8.阵列卡介绍

三.构建软RAID磁盘阵列

1.添加硬盘,fdisk分区,分区类型ID设置为 fd

2.使用mdadm创建软raid

 3.格式化

4.挂载使用

5.查看RAID5配置信息

6.尝试损坏一块硬盘后是否还能还原数据

7.mdadm命令其它常用选项

8.删除坏的硬盘和加入新的硬盘

9.停止 和启动 RAID 的步骤


一.RAID磁盘阵列介绍

1.RAID是Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列。

(1)是把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。

(2)具有冗余能力,即使某个硬盘发生故障,也能通过同位检查(Parity Check)的观念读出数据,保证数据的可靠性和安全性。

2.组成磁盘阵列的不同方式称为RAID级别(RAID Levels);常用的RAID级别有:

RAID0,RAID1,RAID5,RAID6,RAID1+0 等

二.常用的RAID磁盘阵列的介绍

1.RAID 0 (条带化存储)

(1)RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输

率,但它没有数据冗余

(2)RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将

影响到所有数据;

(3)RAID 0不能应用于数据安全性要求高的场合

                                                 

RAID 0是两个磁盘组成的,两块磁盘都用于数据存储和传输,数据传输具有很高的传输率,但是没有冗余能力;磁盘受损后,数据容易丢失。

2.RAID 1(镜像存储)

(1)通过磁盘数据镜像实现数据几余,在成对的独立磁盘上产生互为备份的数据

(2)当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能

(3)RAID 1是磁盘阵列中单位成本最高的但提供了很高的数据安全性和可用性。当一个磁盘失效

时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据

                                                     

RAID1 也是由两个磁盘组成的,他的两个磁盘是互为备份的,记录的都是一样的内容,具有很强的安全性。

3.RAID 5

(1)N(N>=3)块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据共N份数据在N块盘

上循环均衡存储

(2)N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高

(3)(N-1)/N磁盘利用率

(4)可靠性高,允许坏1块盘,不影响所有数据

                                  

RAID 5 是由至少三块磁盘组成,可以通过纠删码还原数据;内存利用率为(N-1)N;损坏一块磁盘后,可以根据其他几块磁盘还原数据。

4.RAID 6 

(1)N(N>=4)块盘组成阵列,(N-2)/N磁盘利用率

(2)与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块

(3)两个独立的奇偶系统使用不同的算法,即使两块磁盘同时失效也不会影响数据的使用

(4)相对于RAID 5有更大的“写损失”,因此写性能较差

                                    

RAID 6 由至少四块磁盘组成,磁盘利用率为(N-2)N;比RAID5多谢一份纠删码,且是独立的一份纠删码,RAID5的纠删码是分布在所有的磁盘上的。

5.RAID 1+0(先做镜像,再做条带)

(1)N(偶数,N>=4)块盘两两镜像后,再组合成一个RAID 0

(2)N/2磁盘利用率

(3)N/2块盘同时写入,N块盘同时读取

(4)性能高,可靠性高

                                    

6.RAID 0+1 (先做条带,再做镜像)

(1)读写性能与RAID 10 相同

(2)安全性能低于RAID 10

7.RAID 磁盘阵列的区别

RAID级别硬盘要求数量磁盘利用率是否有冗余能力读写性能
RAID0NN单个硬盘的N倍
RAID1N(偶数)N/2有,允许一个设备故障读性能提升,写没有提升
RAID5N>=3(N-1)/N有,允许一个设备故障需要多写一份纠删码,所以写性能相对RAID0低一些
RAID6N>=4(N-2)/N有,允许两个设备故障需要多写两份纠删码,所以写性能相对RAID5更低一些
RAID10N>=4(偶数)N/2有,允许不同组中各坏一个

读性能可提升N倍,写性能提升N/2倍

8.阵列卡介绍

(1)阵列卡是用来实现RAID功能的板卡

(2)通常是由I/0处理器、硬盘控制器、硬盘连接器和缓存等一系列组件构成的

(3)不同的RAID卡支持的RAID功能不同:例如支持RAID0、RAID1、RAID5、RAID10等

(4)RAID卡的接口类型:IDE接口、SCSI接口、SATA接口和SAS接口

三.构建软RAID磁盘阵列

1.添加硬盘,fdisk分区,分区类型ID设置为 fd

[root@192 ~]# fdisk /dev/sdb                 #设置分区(这里添加四块)
欢迎使用 fdisk (util-linux 2.23.2)。          #四块都是同样操作

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x895b7142 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB

命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

2.使用mdadm创建软raid

[root@192 ~]# mdadm -C -v /dev/md5 -l5 -n3 /dev/sd[bcd]1 -x1 /dev/sde1
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 20953088K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
[root@192 ~]# watch -n 5 'cat /proc/mdstat'
[root@192 ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sdb1[0]
      41906176 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

unused devices: <none>

watch -n 5 'cat /proc/mdstat'   进入下图界面

拓展:创建raid10:(先做镜像,再做条带)   mdadm -Cv /dev/md0 -l1 -n2 /dev/sdXX
                                                                     mdadm -Cv /dev/md1 -l1 -n2 /dev/sdXX
                                                               mdadm -Cv /dev/md10 -l0 -n2 /dev/md0 /dev/md1

 3.格式化

[root@192 ~]# mkfs -t xfs /dev/md5
meta-data=/dev/md5               isize=512    agcount=16, agsize=654720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=10475520, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=5120, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@192 ~]# mkdir /opt/test
[root@192 ~]# ls /opt/
rh  test

4.挂载使用

[root@192 ~]# mount /dev/md5 /opt/test
[root@192 ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs                   tmpfs     1.9G   13M  1.9G    1% /run
tmpfs                   tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        36G  4.9G   31G   14% /
/dev/sda1               xfs       509M  181M  329M   36% /boot
tmpfs                   tmpfs     378M   12K  378M    1% /run/user/42
tmpfs                   tmpfs     378M     0  378M    0% /run/user/0
/dev/md5                xfs        40G   33M   40G    1% /opt/test

5.查看RAID5配置信息

[root@192 ~]# echo 'DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1' > /etc/mdadm.conf
[root@192 ~]# mdadm --detail --scan >> /etc/mdadm.conf
[root@192 ~]# cat /etc/mdadm.conf
DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
ARRAY /dev/md5 metadata=1.2 spares=1 name=192.168.80.202:5 UUID=f4af24d8:dea93504:28db9825:9272b88e

6.尝试损坏一块硬盘后是否还能还原数据

[root@192 ~]# cd /opt/test/
[root@192 test]# touch file{1..50}
[root@192 test]# mkdir file{51..100}
[root@192 test]# ls
file1    file16  file23  file30  file38  file45  file52  file6   file67  file74  file81  file89  file96
file10   file17  file24  file31  file39  file46  file53  file60  file68  file75  file82  file9   file97
file100  file18  file25  file32  file4   file47  file54  file61  file69  file76  file83  file90  file98
file11   file19  file26  file33  file40  file48  file55  file62  file7   file77  file84  file91  file99
file12   file2   file27  file34  file41  file49  file56  file63  file70  file78  file85  file92
file13   file20  file28  file35  file42  file5   file57  file64  file71  file79  file86  file93
file14   file21  file29  file36  file43  file50  file58  file65  file72  file8   file87  file94
file15   file22  file3   file37  file44  file51  file59  file66  file73  file80  file88  file95
[root@192 test]# mdadm /dev/md5 -f /dev/sdc1   #-f 选项指定某个硬盘损坏
mdadm: set /dev/sdc1 faulty in /dev/md5
[root@192 test]# mdadm -D /dev/md5                  #查看RAID情况
/dev/md5:
           Version : 1.2
     Creation Time : Tue Apr 16 23:42:47 2024
        Raid Level : raid5
        Array Size : 41906176 (39.96 GiB 42.91 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Tue Apr 16 23:53:48 2024
             State : clean, degraded, recovering
    Active Devices : 2
   Working Devices : 3
    Failed Devices : 1
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

    Rebuild Status : 14% complete

              Name : 192.168.80.202:5  (local to host 192.168.80.202)
              UUID : f4af24d8:dea93504:28db9825:9272b88e
            Events : 24

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       3       8       65        1      spare rebuilding   /dev/sde1
       4       8       49        2      active sync   /dev/sdd1

       1       8       33        -      faulty   /dev/sdc1
[root@192 test]# cat /proc/mdstat             #查看取代的过程,需要等待
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3] sdc1[1](F) sdb1[0]
      41906176 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [U_U]
      [===========>.........]  recovery = 55.3% (11600384/20953088) finish=0.7min speed=206256K/sec

unused devices: <none>
[root@192 test]# watch -n 5 'cat /proc/mdstat'
[root@192 test]# mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Tue Apr 16 23:42:47 2024
        Raid Level : raid5
        Array Size : 41906176 (39.96 GiB 42.91 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Tue Apr 16 23:55:20 2024
             State : clean
    Active Devices : 3
   Working Devices : 3
    Failed Devices : 1
     Spare Devices : 0

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : 192.168.80.202:5  (local to host 192.168.80.202)
              UUID : f4af24d8:dea93504:28db9825:9272b88e
            Events : 43

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       3       8       65        1      active sync   /dev/sde1
       4       8       49        2      active sync   /dev/sdd1

       1       8       33        -      faulty   /dev/sdc1
[root@192 test]# cd /opt/
[root@192 opt]# ls
rh  test
[root@192 opt]# ls test/
file1    file16  file23  file30  file38  file45  file52  file6   file67  file74  file81  file89  file96
file10   file17  file24  file31  file39  file46  file53  file60  file68  file75  file82  file9   file97
file100  file18  file25  file32  file4   file47  file54  file61  file69  file76  file83  file90  file98
file11   file19  file26  file33  file40  file48  file55  file62  file7   file77  file84  file91  file99
file12   file2   file27  file34  file41  file49  file56  file63  file70  file78  file85  file92
file13   file20  file28  file35  file42  file5   file57  file64  file71  file79  file86  file93
file14   file21  file29  file36  file43  file50  file58  file65  file72  file8   file87  file94
file15   file22  file3   file37  file44  file51  file59  file66  file73  file80  file88  file95

7.mdadm命令其它常用选项

-r:移除设备
-a:添加设备
-S:停止RAID
-A:启动RAID
查看软raid的状态信息      
cat /proc/mdstat        
mdadm -D /dev/mdX

8.删除坏的硬盘和加入新的硬盘

[root@192 opt]# mdadm /dev/md5 -r /dev/sdc1      #-r 选项删除硬盘
mdadm: hot removed /dev/sdc1 from /dev/md5
[root@192 opt]# mdadm -D /dev/md5                 #查看RAID情况
/dev/md5:
           Version : 1.2
     Creation Time : Tue Apr 16 23:42:47 2024
        Raid Level : raid5
        Array Size : 41906176 (39.96 GiB 42.91 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 3
       Persistence : Superblock is persistent

       Update Time : Tue Apr 16 23:57:56 2024
             State : clean
    Active Devices : 3
   Working Devices : 3
    Failed Devices : 0
     Spare Devices : 0

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : 192.168.80.202:5  (local to host 192.168.80.202)
              UUID : f4af24d8:dea93504:28db9825:9272b88e
            Events : 44

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       3       8       65        1      active sync   /dev/sde1    #sde1会取代sdc1
       4       8       49        2      active sync   /dev/sdd1
[root@192 opt]# mdadm /dev/md5 -a /dev/sdc1        #重新添加sdc1
mdadm: added /dev/sdc1
[root@192 opt]# mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Tue Apr 16 23:42:47 2024
        Raid Level : raid5
        Array Size : 41906176 (39.96 GiB 42.91 GB)
     Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Tue Apr 16 23:58:40 2024
             State : clean
    Active Devices : 3
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : 192.168.80.202:5  (local to host 192.168.80.202)
              UUID : f4af24d8:dea93504:28db9825:9272b88e
            Events : 45

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       3       8       65        1      active sync   /dev/sde1
       4       8       49        2      active sync   /dev/sdd1

       5       8       33        -      spare   /dev/sdc1

9.停止 和启动 RAID 的步骤

需要保证配置文件存在,且需要解挂载后才能停止

[root@192 opt]# ls /etc/mdadm.conf            #确保文件存在
/etc/mdadm.conf
[root@192 opt]# cat /etc/mdadm.conf
DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
ARRAY /dev/md5 metadata=1.2 spares=1 name=192.168.80.202:5 UUID=f4af24d8:dea93504:28db9825:9272b88e
[root@192 opt]# umount /opt/test             #解挂载后才能停止RAID
[root@192 opt]# df
文件系统                   1K-块    已用     可用 已用% 挂载点
devtmpfs                 1913552       0  1913552    0% /dev
tmpfs                    1930628       0  1930628    0% /dev/shm
tmpfs                    1930628   12624  1918004    1% /run
tmpfs                    1930628       0  1930628    0% /sys/fs/cgroup
/dev/mapper/centos-root 37202180 5094412 32107768   14% /
/dev/sda1                 520868  184532   336336   36% /boot
tmpfs                     386128      12   386116    1% /run/user/42
tmpfs                     386128       0   386128    0% /run/user/0
[root@192 opt]# mdadm -S /dev/md5            #停止RAID
mdadm: stopped /dev/md5
[root@192 opt]# ls /dev/md5                  #查看RAID
ls: 无法访问/dev/md5: 没有那个文件或目录
[root@192 opt]# cat /proc/mdstat             #查看RAID
Personalities : [raid6] [raid5] [raid4]
unused devices: <none>
[root@192 opt]# mdadm -As /dev/md5            #启动RAID
mdadm: /dev/md5 has been started with 3 drives and 1 spare.
[root@192 opt]# ls /dev/md5                   #查看RAID
/dev/md5
[root@192 opt]# cat /proc/mdstat              #查看RAID
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdb1[0] sdc1[5](S) sdd1[4] sde1[3]
      41906176 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

unused devices: <none>


 

  • 44
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值