mdamd软RAID的用途

mdadm 是 多磁盘和设备管理(Multiple Disk and Device Administration) 的缩写。它是一个命令行工具,可用于管理 Linux 上的软件 RAID 阵列

模拟环境

[root@1111-test-env-1111-11e11e11e11 ~]# lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sdm       8:192  0 893.1G  0 disk
├─sdm1    8:193  0    50G  0 part  /
└─sdm2    8:194  0 843.1G  0 part  /var
sdf       8:80   0   7.3T  0 disk
sdd       8:48   0   7.3T  0 disk
sdb       8:16   0   7.3T  0 disk
sdk       8:160  0   7.3T  0 disk
sdi       8:128  0   7.3T  0 disk
sdg       8:96   0   7.3T  0 disk
sde       8:64   0   7.3T  0 disk
sdc       8:32   0   7.3T  0 disk
sdl       8:176  0   7.3T  0 disk
sda       8:0    0   7.3T  0 disk
sdj       8:144  0   7.3T  0 disk
sdh       8:112  0   7.3T  0 disk
​
​
#需要在系统内部将未使用的12块盘合并成一块盘,也就是我们 raid 中的 raid5;

创建RAID流程

1.安装并配置 mdadm 工具:
​
  yum install mdadm -y
​
2.创建 RAID 设备:
​
  mdadm --create /dev/md0 --level=5 --raid-devices=12 /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh /dev/sdi /dev/sdj /dev/sdk /dev/sdl
  
  #注意:/dev/md0  这个代表合并后唯一的盘符
  #注意:--level=5 这个代表 raid的模式, 5代表 raid5
  #注意:--raid-devices=12  这个代表raid里面跟的有多少块盘,12代表raid5里面有12块盘
  #注意:--raid-devices=12 /dev/sda .......  前方写的12后面就必须带有12块未使用的盘符
  
3.获取磁盘UUID,唯一值
​
    mdadm --examine /dev/sdb | grep UUID | grep Array   #随便挑一个12块盘中的一块,将 Array UUID 提取出来
    Array UUID : 36e3d534:2d90ba23:fcd105bc:a9fc3b69
​
4.将磁盘的UUID统一
​
    mdadm --assemble --uuid=36e3d534:2d90ba23:fcd105bc:a9fc3b69   /dev/md0  /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh /dev/sdi /dev/sdj /dev/sdk /dev/sdl
    
    
5.统一后将UUID写入配置文件
​
    mdadm --detail --scan > /etc/mdadm.conf
​
6.格式化合并后的分区并挂载在特定目录
​
    mkfs.ext4 /dev/md0
​
    mkdir /data
​
    mount /dev/md0 /data
​
    echo "/dev/md0 /data ext4  defaults 0 0 " >> /etc/fstab
    
7.#查看是否创建成功
​
    mdadm --detail  /dev/md0
​
8.查看raid的详细信息
​
    cat /proc/mdstat

卸载RAID流程

如果要停止和卸载 MDRAID 设备,需要遵循以下步骤:
​
卸载文件系统,并确保没有任何进程正在使用该设备。使用 umount 命令来卸载文件系统。
umount /mnt/md0
停止 MDRAID 设备并删除它。
mdadm --stop /dev/md0
mdadm --remove /dev/md0
禁用对组装的 MDRAID 设备的引导启动支持:在 grub.conf 文件中注释掉相关条目。
​
删除 /etc/mdadm.conf 配置文件中包含的 RAID 阵列配置行。
​
在 /etc/fstab 中删除挂载 RAID 阵列的行,这样系统重启时就不会尝试再次挂载已经被卸载的阵列了。
​
注意事项:
​
在写入 mdadm.conf 文件之前,请确保保存备份副本。

在RAID添加磁盘

如果您想要使用 mdadm 来添加新的硬盘到 RAID 组中,可以按照以下步骤操作:
​
将新硬盘插入服务器,并用 fdisk 命令创建一个新分区。 例如:
fdisk /dev/sdc
n    #创建新分区
p    #选择为主分区
1    #将其设为第一个分区
w    #保存并退出
使用 mdadm 命令创建一个新的 RAID 设备。例如,如果您要将硬盘添加到名为 md0 的 RAID 1 设备中,请使用以下命令:
mdadm --add /dev/md0 /dev/sda
等待 RAID 重新同步所有硬盘。这可能需要一段时间才能完成,具体取决于您的硬盘和 RAID 配置的大小。
​
验证 RAID 设备与新硬盘的状态。您可以使用以下命令来检查 RAID 状态:
​
cat /proc/mdstat

从RAID中剔除磁盘

如果您需要从 mdadm RAID 中删除(踢出)一块硬盘,可以按照以下步骤操作。
​
1.使用下列命令查看你的RAID状态:
​
cat /proc/mdstat
输出应跟类似于这个样子:
​
Personalities : [raid1] [raid0] [raid6] [raid5] [raid4] [linear] [multipath]
md1 : active raid1 sdc2[0] sdb2[1]
      125024000 blocks [2/2] [UU]
​
unused devices: <none>
在以上的例子中,我们有一个 RAID 1 设备,它包含两个硬盘 (sdc2 和 sdb2)。
​
确认要移除的硬盘设备名称,比如说为 sdc2。
​
停用该硬盘上的 RAID 设备。 这将防止系统再次将其添加到 RAID 设备中。
​
mdadm /dev/md0 --fail /dev/sda --remove /dev/sda
从 RAID 盘阵中拆除已移除的硬盘
mdadm /dev/md0 -r failed
等待 RAID 重新同步所有硬盘。这可能需要一段时间才能完成,具体取决于您的硬盘和 RAID 配置的大小。
​
查看 RAID 组和硬盘状态以确保操作已成功完成。使用以下命令检查RAID状态:
​
cat /proc/mdstat