软RAID相关概念介绍及配置方法

发布时间:2020-07-18 09:34:25 作者:mb5c7bb57d7f7e8
来源:网络 阅读:396

企业级的数据库应用大多部署在RAID磁盘阵列的服务器上,这样能提高磁盘的访问性能,并能够实现容错/容灾。
RAID(冗余磁盘阵列),简单理解,就是拿一些廉价的硬盘来做成阵列。其目的无非是为了扩展存储容量,提升读写性能,实现数据冗余(备份容灾)。

主流的大概可以分为几个级别:RAID 0、RAID 1、RAID 5、RAID6、RAID 10、 RAID 01、RAID 50等。

通过上面RAID 10的介绍也就明白了RAID 50的性能模式了吧?这里就不介绍了。

下面是一个综合各种RAID 等级的性能以及应用场景:
软RAID相关概念介绍及配置方法

软RAID配置命令——mdadm
命令格式:

[root@localhost ~]# mdadm -C /dev/md5 -a yes -l 5 -n 3 -x 1 /dev/sd[b,c,d,e]
或者
[root@localhost ~]# mdadm -C /dev/md0 -ayes -l5 -n3 -x1 /dev/sd[b-e]1

关于上述的选项与参数介绍:

创建RAID举例(以RAID 5为例)
需求如下:

  1. 利用4个分区组成RAID 5,其中一个分区作为预备磁盘,当工作中的RAID损坏后,预备磁盘顶上;
  2. 每个分区大小为20GB;
  3. 利用1个分区设置为预备分区;
  4. 挂载到/test目录使用】

开始配置:

1、创建RAID 5:

[root@localhost ~]# fdisk -l | grep  磁盘      #以下就是用来做RAID 5的磁盘
                    ..........................#省略部分内容
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
磁盘标签类型:gpt
磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
磁盘标签类型:gpt
磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
磁盘标签类型:gpt
磁盘 /dev/sde:21.5 GB, 21474836480 字节,41943040 个扇区
磁盘标签类型:gpt
                    ..........................#省略部分内容
[root@localhost ~]# mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sd[b,c,d,e]
                     ........................#忽略部分提示信息
Continue creating array? y                   #输入“y”进行确认
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.       #/dev/md0创建成功。
[root@localhost ~]# cat /proc/mdstat       #查询刚刚创建的RAID信息
Personalities : [raid6] [raid5] [raid4] 
md0 : active raid5 sdd[4] sde[3](S) sdc[1] sdb[0]   #组成RAID的实体磁盘及其顺序
 41908224 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]  
 #相关信息,chunk大小及RAID等级说明,后面的三个U代表正常,若不是U则代表有误。

unused devices: <none>

[root@localhost ~]# mdadm -D /dev/md0      #这个命令查看出来的结果更人性化写
/dev/md0:                          #RAID的设备文件名
           Version : 1.2
     Creation Time : Thu Sep  5 09:37:42 2019    #创建RAID的时间
        Raid Level : raid5      #RAID的等级,这里是RAID5
        Array Size : 41908224 (39.97 GiB 42.91 GB)    #整组RAID的可用量
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)     #每颗磁盘的可用容量
      Raid Devices : 3      #组成RAID的磁盘数量
     Total Devices : 4       #包括spare的总磁盘数
       Persistence : Superblock is persistent

       Update Time : Thu Sep  5 09:39:28 2019
             State : clean          #目前这个RAID的使用状态
    Active Devices : 3        #启动的设备数量
   Working Devices : 4       #目前使用于此RAID的设备数量
    Failed Devices : 0            #损坏的设备数量
     Spare Devices : 1      #预备磁盘的数量

            Layout : left-symmetric
        Chunk Size : 512K             #chunk的小区块容量

Consistency Policy : resync

              Name : localhost.localdomain:0  (local to host localhost.localdomain)
              UUID : d395d245:8f9294b4:3223cd47:b0bee5d8
            Events : 18
#以下是每个磁盘的使用情况,包括三个active  sync和一个spare
    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       4       8       48        2      active sync   /dev/sdd

       3       8       64        -      spare   /dev/sde
#RaidDevice是指此RAID内的磁盘顺序

2、格式化并进行挂载使用:

[root@localhost ~]# mkfs.xfs /dev/md0          #格式化刚刚创建的RAID 5
[root@localhost ~]# mkdir /test       #创建挂载点
[root@localhost ~]# mount /dev/md0 /test       #挂载
[root@localhost ~]# df -hT /test      #确认挂载,使用起来和普通文件系统没有区别
文件系统       类型  容量  已用  可用 已用% 挂载点
/dev/md0       xfs    40G   33M   40G    1% /test
#将挂载信息写入/etc/fstab中进行开机自动挂载了,设备名可以是/dev/md0,也可以是设备的UUID。
[root@localhost ~]# blkid /dev/md0     #查询该RAID 5的UUID
/dev/md0: UUID="93830b3a-69e4-4cbf-b255-f43f2ae4864b" TYPE="xfs" 
[root@localhost ~]# vim /etc/fstab   #打开/etc/fstab,写入下面内容
UUID=93830b3a-69e4-4cbf-b255-f43f2ae4864b /test xfs     defaults        0 0

3、测试RAID 5:

关于测试,必然涉及到了一些管理RAID的参数,如下:


[root@localhost ~]# echo "hi,girl,good morning." > /test/a.txt   #写入数据
[root@localhost ~]# cat /test/a.txt     #查看
hi,girl,good morning.
[root@localhost ~]# mdadm /dev/md0 -f /dev/sdb    #将/dev/sdb损坏
mdadm: set /dev/sdb faulty in /dev/md0
[root@localhost ~]# mdadm -D /dev/md0     #查看RAID  5的状态
/dev/md0:
           Version : 1.2
     Creation Time : Thu Sep  5 09:37:42 2019
        Raid Level : raid5
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Thu Sep  5 10:47:00 2019
             State : clean 
    Active Devices : 3
   Working Devices : 3
    Failed Devices : 1        #查到失败的磁盘有1个
     Spare Devices : 0

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : localhost.localdomain:0  (local to host localhost.localdomain)
              UUID : d395d245:8f9294b4:3223cd47:b0bee5d8
            Events : 39

    Number   Major   Minor   RaidDevice State
       3       8       64        0      active sync   /dev/sde
       1       8       32        1      active sync   /dev/sdc
       4       8       48        2      active sync   /dev/sdd

       0       8       16        -      faulty   /dev/sdb       #这就是刚才损坏的磁盘
#可以发现作为预备磁盘已经顶替了损坏的磁盘了
[root@localhost ~]# df -hT /test      #可用容量还是40G
文件系统       类型  容量  已用  可用 已用% 挂载点
/dev/md0       xfs    40G   33M   40G    1% /test
root@localhost ~]# mdadm /dev/md0 -r /dev/sdb     #将损坏的磁盘移除RAID组
mdadm: hot removed /dev/sdb from /dev/md0
[root@localhost ~]# mdadm /dev/md0 -a /dev/sdf      #添加一块磁盘到RAID组
mdadm: added /dev/sdf
[root@localhost ~]# mdadm -D /dev/md0    #查看RAID组的成员状态
/dev/md0:
                       .............#省略部分内容
    Number   Major   Minor   RaidDevice State
       3       8       64        0      active sync   /dev/sde
       1       8       32        1      active sync   /dev/sdc
       4       8       48        2      active sync   /dev/sdd

       5       8       80        -      spare   /dev/sdf   
             #新添加的磁盘已经成为了RAID组的预备磁盘

4、将RAID组重设置为普通磁盘

[root@localhost ~]# umount /test
[root@localhost ~]# vim /etc/fstab
                       .............#省略部分内容
UUID=93830b3a-69e4-4cbf-b255-f43f2ae4864b /test xfs     defaults        0 0             
#将设置的RAID  5自动挂载删除
[root@localhost ~]# dd if=/dev/zero of=/dev/md0 bs=1M count=50
#损坏RAID的超级区块
[root@localhost ~]# mdadm --stop /dev/md0     #停止RAID的使用
mdadm: stopped /dev/md0
#以下操作是将RAID中成员磁盘的超级块信息覆盖
[root@localhost ~]# dd if=/dev/zero of=/dev/sdc bs=1M count=10
[root@localhost ~]# dd if=/dev/zero of=/dev/sdd bs=1M count=10
[root@localhost ~]# dd if=/dev/zero of=/dev/sde bs=1M count=10
[root@localhost ~]# dd if=/dev/zero of=/dev/sdf bs=1M count=10
[root@localhost ~]# cat /proc/mdstat         #确认下面不存在该RAID
Personalities : [raid6] [raid5] [raid4] 
unused devices: <none>

经过以上操作即恢复成了普通磁盘,但是原本的数据都没有了,后续使用没有深入研究,可以使用一些重新检测的命令进行系统扫描或者重启系统,即可挂载使用,否则可能会挂载不上。

重新检测命令:

[root@localhost ~]# partprobe /dev/sdc

———————— 本文至此结束,感谢阅读

推荐阅读:
  1. Linux软raid
  2. Linux磁盘管理及软raid使用方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

raid卷配置 raid卷

上一篇:pg_resetxlog清理的pg_xlog下的WAL日志

下一篇:php继承类的方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》