mdadm介绍

管理软raid工具:mdadm

mdadm是linux下用于创建和管理软件RAID的命令,是一个模式化命令

mdadm 命令的参数

-C 建立一个新阵列
-A 激活磁盘阵列
-a 添加设备到阵列
-D 打印阵列设备详细信息
-s 扫描配置文件或者/proc/mdstat 得到阵列缺失信息
-v 显示详细信息
-r 移除设备
-f 将设备状态定为故障
-l 设定磁盘阵列的级别
-n 指定磁盘阵列的成员(分区/磁盘的数量)
-x 指定阵列中备用磁盘的数量

实战raid 0

新增两块硬盘

[root@centos7-xinsz08 ~]# ll /dev/sd*
brw-rw----. 1 root disk 8,  0 2月  27 14:49 /dev/sda
brw-rw----. 1 root disk 8,  1 2月  27 14:49 /dev/sda1
brw-rw----. 1 root disk 8,  2 2月  27 14:49 /dev/sda2
brw-rw----. 1 root disk 8, 16 2月  27 14:49 /dev/sdb
brw-rw----. 1 root disk 8, 32 2月  27 14:49 /dev/sdc
[root@centos7-xinsz08 ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。

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

Device does not contain a recognized partition table
使用磁盘标识符 0xb7cb3eac 创建新的 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):+5G
分区 1 已设置为 Linux 类型,大小设为 5 GiB

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

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

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@centos7-xinsz08 ~]# ll /dev/sd*
brw-rw----. 1 root disk 8,  0 2月  27 14:49 /dev/sda
brw-rw----. 1 root disk 8,  1 2月  27 14:49 /dev/sda1
brw-rw----. 1 root disk 8,  2 2月  27 14:49 /dev/sda2
brw-rw----. 1 root disk 8, 16 2月  27 14:49 /dev/sdb
brw-rw----. 1 root disk 8, 32 2月  27 14:51 /dev/sdc
brw-rw----. 1 root disk 8, 33 2月  27 14:51 /dev/sdc1
brw-rw----. 1 root disk 8, 34 2月  27 14:51 /dev/sdc2

RAID基本思想:把好几块便宜的硬盘通过一定组合方式把它组合起来,成为一个新的硬盘阵列组,从而使它能够达到高性能硬盘的要求

RAID有三个关键技术:
镜像:提供了数据的安全性;
条带(块大小也可以说是条带的粒度),它的存在的就是为了提高I/O性,提供了数据并发性
数据的校验:提供了数据的安全

创建raid0

[root@centos7-xinsz08 ~]# rpm -qf `which mdadm`
mdadm-4.1-1.el7.x86_64
//创建
[root@centos7-xinsz08 ~]# mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdc1 /dev/sdc2
mdadm: chunk size defaults to 512K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
//查看
[root@centos7-xinsz08 ~]# mdadm -D
mdadm: No devices given.
[root@centos7-xinsz08 ~]# mdadm -Ds
ARRAY /dev/md0 metadata=1.2 name=centos7-xinsz08:0 UUID=fa65ca42:f3f9d039:7ee6fad1:1e005f45
[root@centos7-xinsz08 ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Thu Feb 27 14:57:37 2020
        Raid Level : raid0
        Array Size : 10475520 (9.99 GiB 10.73 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Thu Feb 27 14:57:37 2020
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

        Chunk Size : 512K

Consistency Policy : none

              Name : centos7-xinsz08:0  (local to host centos7-xinsz08)
              UUID : fa65ca42:f3f9d039:7ee6fad1:1e005f45
            Events : 0

    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       34        1      active sync   /dev/sdc2

备注:
chunk值:
条带大小 它分有很多“块”(Chunk),如果块尺寸(Chunksize)设置过小就一定会增加占用的块数

把配置信息保存起来

[root@centos7-xinsz08 ~]# mdadm -Ds
ARRAY /dev/md0 metadata=1.2 name=centos7-xinsz08:0 UUID=fa65ca42:f3f9d039:7ee6fad1:1e005f45
[root@centos7-xinsz08 ~]# mdadm -Ds > /etc/mdadm.conf
[root@centos7-xinsz08 ~]# cat !$
cat /etc/mdadm.conf
ARRAY /dev/md0 metadata=1.2 name=centos7-xinsz08:0 UUID=fa65ca42:f3f9d039:7ee6fad1:1e005f45
[root@centos7-xinsz08 ~]# 

对raid 0创建分区

[root@centos7-xinsz08 ~]# fdisk /dev/md0
欢迎使用 fdisk (util-linux 2.23.2)。

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

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

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

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

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@centos7-xinsz08 ~]# ll /dev/md*
brw-rw----. 1 root disk   9, 0 2月  27 15:17 /dev/md0
brw-rw----. 1 root disk 259, 1 2月  27 15:17 /dev/md0p1

格式化分区并挂载

[root@centos7-xinsz08 ~]# mkfs.xfs /dev/md0p1
meta-data=/dev/md0p1             isize=512    agcount=8, agsize=65408 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=523264, 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@centos7-xinsz08 ~]# 
[root@centos7-xinsz08 ~]# mkdir /raid0
[root@centos7-xinsz08 ~]# mount /dev/md0p1 /raid0/
[root@centos7-xinsz08 ~]# df -h |tail -1
/dev/md0p1               2.0G   33M  2.0G    2% /raid0
[root@centos7-xinsz08 ~]# 

设置开机自动挂载

[root@centos7-xinsz08 ~]# umount /raid0/

[root@centos7-xinsz08 ~]# df -h  |tail -1
tmpfs                    378M     0  378M    0% /run/user/0
[root@centos7-xinsz08 ~]# mount  -a
[root@centos7-xinsz08 ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 1.9G     0  1.9G    0% /dev
tmpfs                    1.9G     0  1.9G    0% /dev/shm
tmpfs                    1.9G   13M  1.9G    1% /run
tmpfs                    1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root   17G  4.7G   13G   28% /
/dev/sda1               1014M  219M  796M   22% /boot
tmpfs                    378M   12K  378M    1% /run/user/42
tmpfs                    378M     0  378M    0% /run/user/0
[root@centos7-xinsz08 ~]# vim /etc/fstab
/dev/md0p1   /raid0   xfs  defaults 0 0
[root@centos7-xinsz08 ~]# mount -a
[root@centos7-xinsz08 ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/md0p1               2.0G   33M  2.0G    2% /raid0