更新时间:2022-10-27 GMT+08:00

使用mdadm工具创建RAID阵列

操作场景

本章节指导用户通过mdadm工具创建RAID阵列,以RAID10为例。

本文以云服务器的操作系统为“CentOS 7.4 64bit ”为例。不同云服务器的操作系统的配置可能不同,本文仅供参考,具体操作步骤和差异请参考对应操作系统的产品文档。

操作步骤

  1. 使用root用户登录云服务器。
  2. 执行以下命令,查看磁盘并记录设备名称。

    fdisk -l | grep /dev/vd | grep -v vda

    回显类似如下信息:
    [root@ecs-raid10 ~]# fdisk -l | grep /dev/vd | grep -v vda
    Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
    Disk /dev/vdc: 10.7 GB, 10737418240 bytes, 20971520 sectors
    Disk /dev/vdd: 10.7 GB, 10737418240 bytes, 20971520 sectors
    Disk /dev/vde: 10.7 GB, 10737418240 bytes, 20971520 sectors

    可以看到云服务器上挂载的4块磁盘,设备名称分别为“/dev/vdb”、“/dev/vdc”、“/dev/vdd”和“/dev/vde”。

  3. 执行以下命令,安装mdadm工具。

    yum install mdadm -y

    mdadm是Linux下的RAID管理工具,务必确保安装mdadm工具的云服务器已开通弹性公网IP。

    回显类似如下信息:
    [root@ecs-raid10 ~]# yum install mdadm -y
    ......
    Installed:
      mdadm.x86_64 0:4.0-13.el7
    
    Dependency Installed:
      libreport-filesystem.x86_64 0:2.1.11-40.el7.centos
    
    Complete!

  4. 执行以下命令,使用2中查到的4块磁盘创建RAID阵列。

    mdadm -Cv RAID阵列设备名 -a yes -n 磁盘数量 -l RAID级别 磁盘1设备名 磁盘2设备名 磁盘3设备名 磁盘4设备名...

    参数说明如下:
    • RAID阵列设备名:可自定义,此处以/dev/md0为例。
    • 磁盘数量:根据实际情况填写,此处RAID10至少为4块。

      不同的RAID阵列要求的最小磁盘数量不同,具体说明请参见方案概述

    • RAID级别:根据实际情况填写,此处以RAID10为例。
    • 磁盘设备名:此处需要填写待组建RAID阵列的所有磁盘设备名,中间以空格隔开。

    命令示例:

    mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/vdb /dev/vdc /dev/vdd /dev/vde

    回显类似如下信息:
    [root@ecs-raid10 ~]# mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/vdb /dev/vdc /dev/vdd /dev/vde
    mdadm: layout defaults to n2
    mdadm: layout defaults to n2
    mdadm: chunk size defaults to 512K
    mdadm: size set to 10476544K
    mdadm: Defaulting to version 1.2 metadata
    mdadm: array /dev/md0 started.

  5. 执行以下命令,格式化新建的RAID阵列。

    mkfs.文件格式 RAID阵列设备名

    命令示例:

    mkfs.ext4 /dev/md0

    回显类似如下信息:
    [root@ecs-raid10 ~]# mkfs.ext4 /dev/md0
    mke2fs 1.42.9 (28-Dec-2013)
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=128 blocks, Stripe width=256 blocks
    1310720 inodes, 5238272 blocks
    261913 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=2153775104
    160 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks:
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
            4096000
    
    Allocating group tables: done
    Writing inode tables: done
    Creating journal (32768 blocks): done
    Writing superblocks and filesystem accounting information: done

  6. 执行以下命令,创建挂载目录。

    mkdir 挂载目录

    命令示例:

    mkdir /RAID10

  7. 执行以下命令,挂载RAID阵列设备名。

    mount RAID阵列设备名 挂载目录

    命令示例:

    mount /dev/md0 /RAID10

  8. 执行以下命令,查看RAID阵列的挂载结果。

    df -h

    回显类似如下信息:
    [root@ecs-raid10 ~]# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/vda2        39G  1.5G   35G   5% /
    devtmpfs        911M     0  911M   0% /dev
    tmpfs           920M     0  920M   0% /dev/shm
    tmpfs           920M  8.6M  911M   1% /run
    tmpfs           920M     0  920M   0% /sys/fs/cgroup
    /dev/vda1       976M  146M  764M  17% /boot
    tmpfs           184M     0  184M   0% /run/user/0
    /dev/md0         20G   45M   19G   1% /RAID10 

  9. 执行以下步骤,设置云服务器系统启动时自动挂载RAID阵列。

    1. 执行以下命令,打开“/etc/fstab”文件。

      vi /etc/fstab

    2. 按“i”进入编辑模式。
      回显类似如下信息:
      [root@ecs-raid10 ~]# vi /etc/fstab
      
      #
      # /etc/fstab
      # Created by anaconda on Tue Nov  7 14:28:26 2017
      #
      # Accessible filesystems, by reference, are maintained under '/dev/disk'
      # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
      #
      UUID=27f9be47-838b-4155-b20b-e4c5e013cdf3 /                       ext4    defaults        1 1
      UUID=2b2000b1-f926-4b6b-ade8-695ee244a901 /boot                   ext4    defaults        1 2
    3. 参考以下示例,在文件的最后一行添加如下配置:
      /dev/md0                                  /RAID10                 ext4    defaults        0 0
    4. 按“Esc”,输入“:wq!”,并按“Enter”。

      保存设置并退出vi编辑器。

  10. 执行以下命令,查看磁盘RAID阵列的信息。

    mdadm -D RAID阵列设备名

    命令示例:

    mdadm -D /dev/md0

    回显类似如下信息:
    [root@ecs-raid10 ~]# mdadm -D /dev/md0
    /dev/md0:
               Version : 1.2
         Creation Time : Thu Nov  8 15:49:02 2018
            Raid Level : raid10
            Array Size : 20953088 (19.98 GiB 21.46 GB)
         Used Dev Size : 10476544 (9.99 GiB 10.73 GB)
          Raid Devices : 4
         Total Devices : 4
           Persistence : Superblock is persistent
    
           Update Time : Thu Nov  8 16:15:11 2018
                 State : clean
        Active Devices : 4
       Working Devices : 4
        Failed Devices : 0
         Spare Devices : 0
    
                Layout : near=2
            Chunk Size : 512K
    
    Consistency Policy : resync
    
                  Name : ecs-raid10.novalocal:0  (local to host ecs-raid10.novalocal)
                  UUID : f400dbf9:60d211d9:e006e07b:98f8758c
                Events : 19
    
        Number   Major   Minor   RaidDevice State
           0     253       16        0      active sync set-A   /dev/vdb
           1     253       32        1      active sync set-B   /dev/vdc
           2     253       48        2      active sync set-A   /dev/vdd
           3     253       64        3      active sync set-B   /dev/vde