构建软RAID磁盘阵列

一、添加新硬盘

二、安装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

复制代码
![](https://i-blog.csdnimg.cn/img_convert/6994d44296db593c22586ca137b72b4d.png)

<font style="color:#DF2A3F;"></font>

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

规划分区

fdisk /dev/sdb

复制代码
![](https://i-blog.csdnimg.cn/img_convert/214626f68948dfc2d5309240ee12ac28.png)

<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
  1. mdadm
    是 Linux 下用于管理软件 RAID(多磁盘阵列)的工具。
  2. -C
    表示 创建 一个新的 RAID 阵列。
  3. -v
    启用 详细输出(verbose),显示创建过程中的信息。
  4. /dev/md0
    指定新创建的 RAID 阵列的设备名(md 是 "multiple devices" 的缩写,md0 是第一个 RAID 设备)。
  5. -a yes
    自动为 RAID 阵列 创建设备文件(如果不存在),并自动添加指定的磁盘到阵列中。
  6. -n4
    -n 指定 RAID 阵列中 包含的磁盘数量,这里是 4 块磁盘。
  7. -l5
    -l 指定 RAID 级别5 表示创建 RAID 5 阵列(具有分布式奇偶校验,允许单盘故障,空间利用率为 (n-1)/n)。
  8. /dev/sd[bcde]1
    指定用于创建 RAID 5 的 物理磁盘分区
    • sd[bcde] 表示磁盘 sdbsdcsddsde
    • 1 表示这些磁盘的第一个分区(即 sdb1sdc1sdd1sde1)。

最终效果:

sdb1sdc1sdd1sde1 这 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 ```

  1. mdadm -vDs
    如前所述,这部分用于扫描系统中所有已存在的 RAID 阵列,并以详细模式(-v)输出它们的详细配置信息(-D 表示详细信息,-s 表示自动扫描所有 RAID)。
    输出内容通常包括:RAID 设备名(如 /dev/md0)、RAID 级别、UUID(唯一标识符)、成员磁盘分区(如 sdb1sdc1 等)等关键信息。
  2. > /etc/mdadm.conf
    • > 是 Linux 中的重定向符号,用于将前面命令的输出内容写入到指定文件中(若文件已存在则覆盖,若不存在则创建)。
    • /etc/mdadm.confmdadm 工具的核心配置文件,用于记录系统中 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 阵列后,通常需要重新执行此命令更新配置文件,以保持配置与实际状态一致。
相关推荐
Evan芙10 小时前
用Shell脚本破解经典鸡兔同笼问题
linux·运维·网络
悟能不能悟10 小时前
登录jenkins默认用户密码
运维·jenkins
大大大水蜜桃10 小时前
Nginx HTTPS服务搭建实验
运维·nginx·https
BugShare11 小时前
粗心大意必酿大祸,记录nginx配置文件的一次闹剧
运维·nginx
꧁坚持很酷꧂11 小时前
Ubuntu系统下Qt程序连接串口设备没有问题,但运行时出现Permission denied的解决方法
linux·qt·ubuntu
jerryinwuhan11 小时前
机器人控制程序
linux·运维·网络
honeysuckle_luo11 小时前
香橙派ai pro安装支持昇腾NPU的ollama
linux·运维·服务器
池央12 小时前
从“算子不支持”到“NPU高效执行”:CANN 8.0 TBE 自定义算子落地实践
linux·人工智能
小锋学长生活大爆炸12 小时前
【教程】CentOS在不知道root密码的情况下进入shell和重置密码
linux·运维·centos
weixin_466812 小时前
Docker常用命令与操作
运维·docker·容器