Linux下软RAID管理工具mdadm的基本操作实践 - 图1
    RAID (Redundant Array of Independent Disks独立磁盘冗余阵列) 是将多颗独立的硬盘整合成一个存储单元的数据存储技术。

    1)RAID 类型有多种,分别提供不同级别的性能、存储容量和可靠性。
    2)RAID技术按实现方式不同分为硬RAID和软RAID。硬RAID具备专门的硬件控制/处理芯片和I/O处理芯片,所提供的功能和性能都要比软RAID要好很多,目前基本所有的服务器都配置了RAID卡或是在主板上集成了RAID控制芯片,因而都可以实现硬RAID,而软RAID的所有功能都是由操作系统层面来完成,效率会低一些
    在Linux系统中目前以MD(Multiple Devices)虚拟块设备的方式实现软件RAID,利用多个底层的块设备虚拟出一个新的虚拟设备,并且利用条带化(stripping)技术将数据块均匀分布到多个磁盘上来提高虚拟设备的读写性能,利用不同的数据冗余算法来保护用户数据不会因为某个块设备的故障而完全丢失,而且还能在设备被替换后将丢失的数据恢复到新的设备上


    mdadm是multiple devices admin的简称,它是Linux下的一款标准的软件 RAID 管理工具,主要用法模式如下

    1)创建模式
    -C
    专用选项:
    -l :级别
    -n : 设备个数
    -a {yes|no}: 是否自动为其创建设备文件
    -c:CHUNK大小, 2^n,默认为64K
    -x : 指定空闲盘(热备磁盘)个数,空闲盘(热备磁盘)能在工作盘损坏后自动顶替
    关于-c mkfs在格式化时,可以指定-E选项下的stride参数指定条带是块大小的多少倍,有在一定程度上提高软RAID性能,如块默认大小为4k,而条带大小默认为64k,则stride为16,这样就避免了RAID每次存取数据时都去计算条带大小
    mkfs.ext4 -E stride=16 -b 4096 /dev/md0
    其中stride=chunk/block,为2的n次方
    2)管理模式
    -a(—add) -d(—del,) -r(—remove) -f(—fail)
    -S(—stop)停止阵列

    3)监控模式
    -F
    4)增长模式 用于增加磁盘,为阵列扩容
    -G
    5)装配模式
    -A


    image.png

    以RAID1为例,在CentOS虚拟机中添加三块20G虚拟硬盘来进行软RAID的操作实验
    image.png
    1)创建磁盘整列
    mdadm -Cv /dev/md0 -l 1 -n 2 /dev/sdb /dev/sdc
    磁盘阵列的名称/dev/md0
    -l 指定级别 1为RAID1

    -n 指定磁盘的个数2 后面接具体的磁盘编号
    image.png
    以上创建过程中的提示是说软raid不建议用作/boot启动分区
    mdadm -D /dev/md0 查看/dev/md0磁盘阵列的详细信息
    可以看见创建后RAID1的两块盘正在同步状态

    2)格式化,创建目录,挂载并测试是否可以正常使用
    mkfs.ext4 /dev/md0
    mkdir /data_RAID1
    mount -t ext4 /dev/md0 /data_RAID1
    cd /data_RAID1/
    dd if=/dev/zero of=RAID1_Test.iso count=1 bs=200M
    image.png
    3)vi编辑/etc/fstab
    最后一行加入/dev/md0 /data_RAID1 ext4 defaults 0 0
    image.png
    4)将当前RAID信息保存至配置文件,以便以后进行装配
    mdadm -D —scan > /etc/mdadm.conf
    Linux下软RAID管理工具mdadm的基本操作实践 - 图7重启后验证是否能正常挂载
    5)模拟损坏磁盘阵列及修复
    例如模拟损坏/dev/md0磁盘阵列中的/dev/sdc

    [root@CentOS_Lab ~]# mdadm /dev/md0 -f /dev/sdc
    mdadm: set /dev/sdc faulty in /dev/md0
    Linux下软RAID管理工具mdadm的基本操作实践 - 图8
    这时再mdadm -D /dev/md0 查看/dev/md0磁盘阵列的状态信息
    可以看到/dev/sdc为faulty状态

    Linux下软RAID管理工具mdadm的基本操作实践 - 图9
    这时我们加入一块修复盘/dev/sdd
    mdadm /dev/md0 -a /dev/sdd
    然后mdadm -D /dev/md0 查看/dev/md0磁盘阵列的状态信息
    可以看到磁盘阵列正在重建rebuild,可以看到重建的完成进度

    image.png
    完成重建后移除故障盘mdadm /dev/md0 -r /dev/sdc

    Linux下软RAID管理工具mdadm的基本操作实践 - 图11
    以上就是mdadm进行软RAID的基本操作实验