linux RAID详解与配置实战

目录

一、RAID磁盘阵列详解

1.1 RAID磁盘阵列介绍

 1.2 RAID 0磁盘阵列介绍

 1.3 RAID 1 磁盘阵列介绍

1.4 RAID 5 磁盘阵列介绍 

 1.5 RAID 6 磁盘阵列介绍

1.6 RAID 1+0 磁盘阵列介绍

1.7 RAID级别对比 

二、构建软RAID磁盘阵列(配置实战)

2.1 RAID环境准备

2.2 mdadm命令解析

2.3 RAID实战演示

2.3.1 RAID 5

2.3.2 RAID 10

总结


一、RAID磁盘阵列详解

1.1 RAID磁盘阵列介绍

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

 1.2 RAID 0磁盘阵列介绍

RAID 0 (条带话存储)--------N块硬盘并行组合成一个逻辑盘

  • RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余
  • RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据
  • RAID 0不能应用于数据安全性要求高的场合

总结

  •  读写快、安全性相对不高   牺牲冗余提高性能

 1.3 RAID 1 磁盘阵列介绍

RAID 1 (镜像存储)--------N(偶数)块硬盘组合成一组镜像,N/2容量

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

总结    

  •   有备份、安全相对于RAID高
  •   整体读写速度弱于RAID 0
  •   成本高       

 

1.4 RAID 5 磁盘阵列介绍 

RAID 5

  • N(N>=3)块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘乐循环均衡存储
  • N块盘同时读写,续性能很高,但由于有校验机制的问题,写性能相对不高
  • (N-1)/N磁盘利用率
  • 可靠性高,允许坏1块盘,不影响所有数据

 总结

  • 读性能高、写性能相对不高
  • 有校验机制 坏一块盘不影响所有数据

 

 1.5 RAID 6 磁盘阵列介绍

RAID 6

  • N (N>=4)块盘组成阵列,N(N-2)/N磁盘利用率
  • RAID-5相比,RAID增加了第二个独立的奇偶校验信息块
  • 两个独立的奇偶系统使用不同的算法,即使两块磁盘同时失效也不会影响数据的使用
  • 相对于RAID 5有更大的“写损失”  因此写性能较差

 总结

  • 提高了容灾能力------允许两块盘失效
  • 损失一部分写能力

1.6 RAID 1+0 磁盘阵列介绍

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

  • N(偶数,N>=4)块盘两两镜像后,再组合成一个RAID 0
  • N/2磁盘利用率
  • N/2块盘同时写入,N块盘同时读取
  • 性能高,可靠性高

 总结

  • 冗余高
  • 读取快、写入相对慢

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

  • 读写性能与RAID 10 相同
  • 安全箱低于RAID 10

1.7 RAID级别对比 

RAID级别硬盘数量硬盘利用率是否有校验保护能力写能力
RAID 0NN单个硬盘的N倍
RAID 1N(偶数)N/2允许一个设备故障需要写两队存储设备,互为主备
RAID 5N>=3(N-1)/N允许一个设备故障需要写计算校验
RAID 6N>=4(N-2)/N允许两个设备故障写双重计算校验
RAID 1+0N>=4(偶数)N/2允许两个基组中各坏一个N/2块盘写入
RAID 0+1N>=4N/2允许两个基组中各坏一个N/2块盘写入

二、构建软RAID磁盘阵列(配置实战)

2.1 RAID环境准备

  • rpm -qa | grep "mdadm"  ---检查是否安装了组件
  • 可以使用 yum install -y mdadm 

 检查有没有磁盘已经安装RAID

[root@localhost ~]# mdadm -E /dev/sd[b-e]1
mdadm: No md superblock detected on /dev/sdb1.
mdadm: No md superblock detected on /dev/sdc1.
mdadm: No md superblock detected on /dev/sdd1.
mdadm: No md superblock detected on /dev/sde1.

2.2 mdadm命令解析

[root@localhost ~]# mdadm -C -v /dev/md5 -l5 -n3 /dev/sd[b-d]1 -x1 /dev/sde1

-C:表示新建;

-v:显示创建过程中的详细信息。
/dev/md5:创建 RAID5 的名称。
-a yes:–auto,表示如果有什么设备文件没有存在的话就自动创建,可省略。
-l:指定 RAID 的级别,l5 表示创建 RAID5。
-n:指定使用几块硬盘创建 RAID,n3 表示使用 3 块硬盘创建 RAID。
/dev/sd[bcd]1:指定使用这四块磁盘分区去创建 RAID。
-x:指定使用几块硬盘做RAID的热备用盘,-x1表示保留1块空闲的硬盘作备用

/dev/sde1:指定用作于备用的磁盘

cat /proc/mdstat        #还能查看创建RAID的进度
或者
mdadm -D /dev/md5       #查看RAID磁盘详细信息

mdadm命令其他常用选项

r:移除设备
-a:添加设备
-S:停止RAID
-A:启动RAID

2.3 RAID实战演示

2.3.1 RAID 5

[root@localhost ~]# mdadm -C -v /dev/md5 -l5 -n3 /dev/sd[b-d]1 -x1 /dev/sde1    #创建raid的磁盘阵列

mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 10476544K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
[root@localhost ~]# cat /proc/mdstat    #检查安装进度
Personalities : [raid6] [raid5] [raid4] 
md5 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sdb1[0]
      41908224 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
      [==>..................]  recovery = 10.5% (2203648/20954112) finish=1.4min speed=220364K/sec
      
unused devices: <none>
[root@localhost ~]# cat /proc/mdstat    #装完之后检查
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sdb1[0]
      20953088 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md5    #装完之后检查
/dev/md5:
           Version : 1.2
     Creation Time : Sun Aug 11 15:14:38 2024
        Raid Level : raid5
        Array Size : 20953088 (19.98 GiB 21.46 GB)
     Used Dev Size : 10476544 (9.99 GiB 10.73 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Sun Aug 11 15:15:31 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 : localhost.localdomain:5  (local to host localhost.localdomain)
              UUID : d03365fc:6c6f2080:db9cd390:5ab6e842
            Events : 18

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1
       4       8       49        2      active sync   /dev/sdd1

       3       8       65        -      spare   /dev/sde1        #备用盘

[root@localhost ~]# mkfs.xfs /dev/md5    #格式化
meta-data=/dev/md5               isize=512    agcount=16, agsize=327296 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5236736, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

[root@localhost ~]# mount /dev/md5 /mnt/abc/    #挂载
[root@localhost ~]# 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        37G  4.7G   33G   13% /
/dev/sda1               xfs      1014M  185M  830M   19% /boot
tmpfs                   tmpfs     378M   12K  378M    1% /run/user/42
tmpfs                   tmpfs     378M     0  378M    0% /run/user/0
/dev/md5                xfs        20G   33M   20G    1% /mnt/abc        #挂载成功

[root@localhost ~]# mdadm /dev/md5 -f /dev/sdb1    #模拟故障
mdadm: set /dev/sdb1 faulty in /dev/md5

[root@localhost ~]# mdadm  -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Sun Aug 11 15:14:38 2024
        Raid Level : raid5
        Array Size : 20953088 (19.98 GiB 21.46 GB)
     Used Dev Size : 10476544 (9.99 GiB 10.73 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Sun Aug 11 15:21:35 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 : 37% complete

              Name : localhost.localdomain:5  (local to host localhost.localdomain)
              UUID : d03365fc:6c6f2080:db9cd390:5ab6e842
            Events : 26

    Number   Major   Minor   RaidDevice State
       3       8       65        0      spare rebuilding   /dev/sde1    #备用盘正常运转
       1       8       33        1      active sync   /dev/sdc1
       4       8       49        2      active sync   /dev/sdd1

       0       8       17        -      faulty   /dev/sdb1        #故障盘已停止



2.3.2 RAID 10

这里注意的点是创建RAID10 需要先创建两个RAID1 ,
每个RAID1里分配两个硬盘,然后再创建RAID0,
将两个创建好的RAID1 配置上去,
这样就达到RAID10 的功能。

先做2个raid 1,再做一个RAID0

mdadm -Cv /dev/md0 -l1 -n2 /dev/sd[bc]1         #创建raid1
mdadm -Cv /dev/md1 -l1 -n2 /dev/sd[de]1         #创建raid1
mdadm -Cv /dev/md10 -l0 -n2 /dev/md0 /dev/md1        #以两个raid1为基本盘创建raid0

mdadm -D /dev/md0        #查看详细信息

mkfs.xfs /dev/md0        #格式化

mount /dev/md0 /data        #挂载

总结

创建raid磁盘阵列要注意磁盘分区时转换raid格式

raid创建好后记得格式化文件系统

  • 27
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值