构建软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 阵列后,通常需要重新执行此命令更新配置文件,以保持配置与实际状态一致。
相关推荐
IT小白农民工2 小时前
安装SAP Business one for HANA之前的准备
linux·经验分享·sap
小虾爬滑丫爬2 小时前
.net8发布Linux 版本程序,部署到Linux服务器上
linux·.net8·打包部署
l1l2x1x22 小时前
DNS配置作业
运维·服务器
阿巴~阿巴~3 小时前
UDP网络编程:从客户端封装到服务端绑定的深度实践
linux·网络·socket网络编程·sendto函数·ip绑定·udp网络编程
wanhengidc3 小时前
云手机的核心价值
运维·游戏·智能手机·云计算
m0_639817153 小时前
基于springboot纺织品企业财务管理系统【带源码和文档】
java·服务器·前端
硬核子牙3 小时前
ext4文件系统与jbd2
linux
Lynnxiaowen3 小时前
今天我们开始学习ansible之playbook的简单运用
linux·运维·学习·云计算·ansible
誰能久伴不乏3 小时前
Linux 进程通信与同步机制:共享内存、内存映射、文件锁与信号量的深度解析
linux·服务器·c++