一、添加新硬盘
二、安装madam工具
rpm -qa | grep mdadm

三、准备用于RAID阵列分区
ls /sys/class/scsi_host
##查询HBA总线编号###
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan
dmesg | grep -i "sd"
####检测新硬盘是否被识别#
查看新磁盘
fdisk -l

<font style="color:#DF2A3F;"></font>
<font style="color:#DF2A3F;">下面以/dev/sdb磁盘为例创建分区</font>
规划分区
fdisk /dev/sdb

<font style="color:#DF2A3F;">常用交互操作指令:标红为常用</font>
```plain
a:切换引导标志(bootable flag)。
b:编辑 BSD 磁盘标签(BSD disklabel)。
c:切换 DOS 兼容性标志(dos compatibility flag)。
d:删除一个分区。
g:创建一个新的空 GPT 分区表。
G:创建一个 IRIX(SGI)分区表。
l:列出已知的分区类型。
m:显示此菜单。
n:添加一个新的分区。
o:创建一个新的空 DOS 分区表。
p:打印分区表。
q:不保存更改并退出。
s:创建一个新的空 Sun 磁盘标签(Sun disklabel)。
t:更改分区的系统 ID。
u:更改显示/输入单位。
v:验证分区表。
w:将表写入磁盘并退出。
x:额外功能(仅供专家使用)。
创建分区sdb1
plain
#添加一个新的分区
n
#选择主分区
p
#选择分区号
1
#按"enter"键设置默认值
#增加分区容量
+1G
#打印分区表
p
#将表写入磁盘并退出
w

以此为例每个磁盘都要创建一个分区
查看分区
plain
fdisk -l | grep '/dev'

四、创建RAID设备
```plain mdadm -Cv /dev/md0 -a yes -n4 -l5 /dev/sd[bcde]1 ```

命令拆解:
bash
mdadm -Cv /dev/md0 -a yes -n4 -l5 /dev/sd[bcde]1
mdadm
是 Linux 下用于管理软件 RAID(多磁盘阵列)的工具。-C
表示 创建 一个新的 RAID 阵列。-v
启用 详细输出(verbose),显示创建过程中的信息。/dev/md0
指定新创建的 RAID 阵列的设备名(md是 "multiple devices" 的缩写,md0是第一个 RAID 设备)。-a yes
自动为 RAID 阵列 创建设备文件(如果不存在),并自动添加指定的磁盘到阵列中。-n4
-n指定 RAID 阵列中 包含的磁盘数量,这里是 4 块磁盘。-l5
-l指定 RAID 级别 ,5表示创建 RAID 5 阵列(具有分布式奇偶校验,允许单盘故障,空间利用率为(n-1)/n)。/dev/sd[bcde]1
指定用于创建 RAID 5 的 物理磁盘分区 :sd[bcde]表示磁盘sdb、sdc、sdd、sde1表示这些磁盘的第一个分区(即sdb1、sdc1、sdd1、sde1)。
最终效果:
用 sdb1、sdc1、sdd1、sde1 这 4 个分区创建一个名为 /dev/md0 的 RAID 5 阵列,该阵列支持单盘故障容错,总可用空间为 3 个分区的容量之和(因 1 个分区用于奇偶校验)。
查看信息
plain
ls -l /dev/md0 #查看设备文件
cat /proc/mdstat #查看具体参数

五、创建并挂载文件系统
plain
mkfs -t xfs /dev/md0 #格式化为xfs文件系统
mkdir /raidme #创建raidme文件夹
mount /dev/md0 /raidme/ #挂载文件系统
df -Th #查看详情配置


六、扫描查看磁盘阵列信息
```plain mdadm -vDs #查看 所有 RAID 阵列 的详细信息(扫描模式) mdadm -vD /dev/md0 # 查看 单个指定 RAID 阵列(/dev/md0) 的详细信息 ```

1. `mdadm -vDs`
- **参数拆解**: - `-v`:详细输出(verbose),显示更完整的信息。 - `-D`:查看 RAID 阵列的 **详细信息**(Detail)。 - `-s`:自动扫描系统中所有已存在的 RAID 阵列(Scan),无需手动指定设备名。 + **功能**: 扫描并显示系统中 **所有 RAID 阵列** 的详细信息,包括每个阵列的设备名(如 `/dev/md0`)、级别、成员磁盘、状态、容量、故障情况等。 常用于快速查看系统中所有 RAID 的整体状态。
2. `mdadm -vD /dev/md0`
- **参数拆解**: - `-v`:详细输出。 - `-D`:查看详细信息。 - `/dev/md0`:指定要查询的具体 RAID 设备名。 + **功能**: 显示 **指定 RAID 阵列(这里是 **`/dev/md0`**)** 的详细信息,包括其级别、成员磁盘(如 `sdb1`、`sdc1` 等)、每个成员的状态(正常/故障)、总容量、已用空间、奇偶校验信息等。 常用于针对性地检查某个特定 RAID 阵列的状态。
七、管理及恢复
```plain mdadm -vDs > /etc/mdadm.conf vim /etc/mdadm.conf ```

mdadm -vDs
如前所述,这部分用于扫描系统中所有已存在的 RAID 阵列,并以详细模式(-v)输出它们的详细配置信息(-D表示详细信息,-s表示自动扫描所有 RAID)。
输出内容通常包括:RAID 设备名(如/dev/md0)、RAID 级别、UUID(唯一标识符)、成员磁盘分区(如sdb1、sdc1等)等关键信息。> /etc/mdadm.conf>是 Linux 中的重定向符号,用于将前面命令的输出内容写入到指定文件中(若文件已存在则覆盖,若不存在则创建)。/etc/mdadm.conf是mdadm工具的核心配置文件,用于记录系统中 RAID 阵列的配置信息。系统启动时,mdadm会读取该文件来识别和组装已配置的 RAID 阵列,确保 RAID 能正常加载。
作用与意义:
执行这条命令后,系统中所有 RAID 阵列的配置会被持久化保存到 /etc/mdadm.conf 中。这样做的目的是:
- 确保系统重启后,
mdadm能自动识别并组装 RAID 阵列,避免手动重新配置。 - 当 RAID 成员磁盘的设备名(如
sdb可能变为sdc,因系统识别顺序变化)发生改变时,mdadm可通过配置文件中的 UUID 准确识别成员磁盘,保证 RAID 正常工作。
注意:
- 若
/etc/mdadm.conf已存在,此命令会直接覆盖原有内容,建议执行前先备份(如cp /etc/mdadm.conf /etc/mdadm.conf.bak)。 - 每次创建、修改或删除 RAID 阵列后,通常需要重新执行此命令更新配置文件,以保持配置与实际状态一致。