linux[基础]-23-[磁盘冗余阵列]-[RAID]-[01]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux[基础]-23-[磁盘冗余阵列]-[RAID]-[01]相关的知识,希望对你有一定的参考价值。

磁盘冗余阵列(RAID)

 

RAID:

  作用:防止硬盘物理损坏以及增加存储设备的吞吐量

      常见的RAID组合:0、1、5、10

 

RAID0:

  需要最少两块(含)硬盘,可以有效提高性能及吞吐量

  但是没有数据冗余和错误修复能力

 

RAID1:

  需要最少两块(含)硬盘,可以提高数据资料的安全性及

  恢复复能力,但是成本变高了

 

RAID5:

  需要最少三块(含)硬盘,兼顾存储性能,数据安全,存储

  成本

 

RAID10:

  需要最少四块(含)硬盘,兼具速度与安全性,但成本很高

 

mdadm命令用于管理系统软件RAID阵列

格式为:mdadm [模式] <RAID名称> [选项] 设备名称

 

参数

作用

assemble

将设备加入到以前定义的阵列

build

创建一个没有超级块的阵列

Create

创建一个新的阵列,每个设备具有超级块

Manage

管理阵列

Misc

允许单独对阵列操作

Follow or Monitor

监控状态

Grow

改变阵列容量

 

mdadm管理RAID阵列参数

 

参数

作用

-a

检测设备名称

-n

指定设备数量

-l

指定RAID级别

-C

创建

-v

显示过程

-f

模拟设备损坏

-r

移除设备

-a

添加设备

-Q

查看摘要信息

-D

查看详细信息

-S

停止阵列

 

 

实验1模拟RAID10阵列配置:

 

  环境:添加4块硬盘

 

  创建名为“md0”RAID10阵列

    [[email protected] ~]# mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde

    mdadm: layout defaults to n2

    mdadm: layout defaults to n2

    mdadm: chunk size defaults to 512K

    mdadm: /dev/sdb appears to be part of a raid array:

        level=raid5 devices=3 ctime=Thu Sep 14 18:43:01 2017

    mdadm: /dev/sdc appears to be part of a raid array:

        level=raid5 devices=3 ctime=Thu Sep 14 18:43:01 2017

    mdadm: /dev/sdd appears to be part of a raid array:

        level=raid5 devices=3 ctime=Thu Sep 14 18:43:01 2017

    mdadm: /dev/sde appears to be part of a raid array:

        level=raid5 devices=3 ctime=Thu Sep 14 18:43:01 2017

    mdadm: size set to 20954624K

    Continue creating array? y

    mdadm: Defaulting to version 1.2 metadata

    mdadm: array /dev/md0 started.

 

  格式化md0并且挂载使用:

    [[email protected] ~]# mkfs.ext4 /dev/md0

    [[email protected] ~]# mount /dev/md0 /RAID/

    [[email protected] ~]# df -hT

    Filesystem    Type  Size  Used Avail Use% Mounted on

    /dev/md0     ext4  40G   49M   38G   1% /RAID

     

  查看RAID阵列的详细信息:

    [[email protected] ~]# mdadm -D /dev/md0

    /dev/md0:

            Version : 1.2

      Creation Time : Thu Sep 14 21:36:49 2017

         Raid Level : raid10

         Array Size : 41909248 (39.97 GiB 42.92 GB)

      Used Dev Size : 20954624 (19.98 GiB 21.46 GB)

       Raid Devices : 4

      Total Devices : 4

        Persistence : Superblock is persistent

     

        Update Time : Thu Sep 14 21:40:35 2017

              State : active

     Active Devices : 4

    Working Devices : 4

     Failed Devices : 0

      Spare Devices : 0

     

             Layout : near=2

         Chunk Size : 512K

     

               Name : Msl23-linux.com:0  (local to host Msl23-linux.com)

               UUID : 8a466abb:9fbac7a0:014a25dd:2b13a08a

             Events : 18

     

        Number   Major   Minor   RaidDevice State

           0       8       16        0      active sync   /dev/sdb

           1       8       32        1      active sync   /dev/sdc

           2       8       48        2      active sync   /dev/sdd

           3       8       64        3      active sync   /dev/sde

 

 

  模拟有一块硬盘损坏:

    [[email protected] ~]# mdadm /dev/md0 -f /dev/sdb

    mdadm: set /dev/sdb faulty in /dev/md0

    [[email protected] ~]# mdadm -D /dev/md0

        Number   Major   Minor   RaidDevice State

           0       0        0        0      removed

           1       8       32        1      active sync   /dev/sdc

           2       8       48        2      active sync   /dev/sdd

           3       8       64        3      active sync   /dev/sde

           0       8       16        -      faulty   /dev/sdb

 

一个硬盘损坏并不影响RAID使用,可以添加新硬盘进去,也可以让sdb

恢复使用:重启后 : mdadm /dev/md0 -a /dev/sdb

 

 

  设置冗余备份磁盘:

 

    取消挂载:

      [[email protected] ~]# umount /dev/md0

      [[email protected] ~]# mdadm -S /dev/md0

      mdadm: stopped /dev/md0

       

    创建RAID5磁盘阵列设置一个备份磁盘:

      [[email protected] ~]# mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde

      Continue creating array? y

      mdadm: Defaulting to version 1.2 metadata

      mdadm: array /dev/md0 started.

 

    查看RAID详细信息:

      [[email protected] ~]# mdadm -D /dev/md0

          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      spare rebuilding   /dev/sdd

             3       8       64        -      spare   /dev/sde

 

    格式化使用挂载:

      [[email protected] ~]# mkfs.ext4 /dev/md0

      [[email protected] ~]# mount /dev/md0 /RAID/

       

    模拟故障sdb:

      [[email protected] ~]# mdadm /dev/md0 -f /dev/sdb

      mdadm: set /dev/sdb faulty in /dev/md0

      [[email protected] ~]# mdadm -D /dev/md0

          Number   Major   Minor   RaidDevice State

             3       8    64        0      spare rebuilding   /dev/sde

             1       8       32        1      active sync   /dev/sdc

             4       8       48        2      active sync   /dev/sdd

             0       8       16        -      faulty   /dev/sdb

 

 

以上是关于linux[基础]-23-[磁盘冗余阵列]-[RAID]-[01]的主要内容,如果未能解决你的问题,请参考以下文章

Linux RAID磁盘阵列各类型优势汇总

linux系统中RAID10磁盘冗余阵列配置

Linux软件RAID(磁盘冗余阵列)

Linux 独立冗余磁盘阵列介绍

使用 RAID 与 LVM 磁盘阵列技术

RAID阵列