0

0

如何配置磁盘阵列 mdadm管理RAID

P粉602998670

P粉602998670

发布时间:2025-08-18 12:51:01

|

362人浏览过

|

来源于php中文网

原创

首先安装并配置mdadm工具,使用sudo mdadm --create创建raid 1、raid 5或raid 10阵列,1. 创建后用mkfs.ext4格式化/dev/md0,2. 挂载到/mnt/raid并添加到/etc/fstab实现开机自动挂载,3. 通过mdadm --detail --scan保存配置至/etc/mdadm/mdadm.conf并更新initramfs,4. 使用mdadm --detail和cat /proc/mdstat查看阵列状态,5. 可设置mailaddr实现邮件告警,6. 故障时可使用--fail、--remove、--add命令更换磁盘,7. 删除阵列时需先umount、stop并zero-superblock清除元数据,所有操作均需提前备份数据并确认磁盘无重要信息,配置完成后应定期检查状态以确保数据安全。

如何配置磁盘阵列 mdadm管理RAID

配置磁盘阵列并使用

mdadm
管理 RAID 是 Linux 系统中实现数据冗余和性能提升的常用方式。下面以常见的 RAID 1 和 RAID 5 为例,介绍如何使用
mdadm
工具创建、管理 RAID 阵列。


一、准备工作

  1. 确认系统支持 mdadm
    大多数现代 Linux 发行版默认安装

    mdadm
    ,若未安装可使用以下命令安装:

    # Ubuntu/Debian
    sudo apt update
    sudo apt install mdadm
    
    # CentOS/RHEL/Rocky Linux
    sudo yum install mdadm
    # 或使用 dnf
    sudo dnf install mdadm
  2. 准备磁盘
    使用额外的硬盘或分区(不包含重要数据),例如:

    • /dev/sdb
    • /dev/sdc
    • /dev/sdd

    可用

    lsblk
    fdisk -l
    查看磁盘信息。

  3. 备份数据
    RAID 创建过程会清除磁盘数据,操作前请确保数据已备份。


二、创建 RAID 阵列

1. 创建 RAID 1(镜像)

适用于两块磁盘,数据完全镜像,提高安全性。

sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc

参数说明:

  • --create /dev/md0
    :创建名为 md0 的阵列设备
  • --level=1
    :RAID 级别为 1
  • --raid-devices=2
    :使用 2 块设备
  • /dev/sdb /dev/sdc
    :参与阵列的磁盘

2. 创建 RAID 5(带奇偶校验条带化)

至少需要三块磁盘,兼顾性能和冗余。

sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd
注意:RAID 5 在一块磁盘故障时仍可运行,但重建过程较慢,建议在重要场景使用 RAID 6 或 RAID 10。

3. 创建 RAID 10(嵌套 RAID)

需至少四块磁盘,结合 RAID 1 和 RAID 0 的优势。

sudo mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde

三、格式化并挂载 RAID 设备

创建完成后,对

/dev/md0
进行格式化并挂载:

# 格式化为 ext4 文件系统
sudo mkfs.ext4 /dev/md0

# 创建挂载点并挂载
sudo mkdir /mnt/raid
sudo mount /dev/md0 /mnt/raid

# 设置开机自动挂载(可选)
echo '/dev/md0 /mnt/raid ext4 defaults 0 0' | sudo tee -a /etc/fstab

四、保存 RAID 配置

mdadm
配置需保存到配置文件,以便系统重启后能自动识别阵列。

# 保存当前阵列配置
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

# 更新 initramfs(重要,否则可能无法在启动时识别阵列)
sudo update-initramfs -u

Debian/Ubuntu 使用

update-initramfs
,CentOS/RHEL 使用
dracut -f


五、查看与监控 RAID 状态

  1. 查看阵列详细信息

    蛙蛙写作——超级AI智能写作助手
    蛙蛙写作——超级AI智能写作助手

    蛙蛙写作辅助AI写文,帮助获取创意灵感,提供拆书、小说转剧本、视频生成等功能,是一款功能全面的AI智能写作工具。

    下载
    sudo mdadm --detail /dev/md0

    输出包括:

    • RAID 级别
    • 成员磁盘状态(如
      active sync
      表示正常)
    • 是否降级(
      degraded
    • 同步进度
  2. 查看所有阵列

    cat /proc/mdstat

    示例输出:

    Personalities : [raid1] [raid5]
    md0 : active raid1 sdc[1] sdb[0]
          1048576 blocks super 1.2 [2/2] [UU]

    [UU]
    表示两个磁盘都正常,
    [_U]
    表示有磁盘缺失。

  3. 监控 RAID 状态(可配置邮件告警)

    编辑

    /etc/mdadm/mdadm.conf
    ,添加邮件通知:

    MAILADDR your-email@example.com

    系统会在磁盘故障等事件发生时发送邮件。


六、管理与维护

1. 模拟磁盘故障测试

# 标记某磁盘为故障(测试用)
sudo mdadm --fail /dev/md0 /dev/sdb

# 查看状态,应显示磁盘已失效
sudo mdadm --detail /dev/md0

2. 移除故障磁盘

sudo mdadm --remove /dev/md0 /dev/sdb

3. 添加新磁盘替换

# 添加新磁盘(如 /dev/sdb 已更换)
sudo mdadm --add /dev/md0 /dev/sdb

阵列将自动开始重建。

4. 停止并删除 RAID

# 卸载文件系统
sudo umount /mnt/raid

# 停止阵列
sudo mdadm --stop /dev/md0

# 清除超级块(每个成员磁盘执行)
sudo mdadm --zero-superblock /dev/sdb
sudo mdadm --zero-superblock /dev/sdc

注意:

zero-superblock
会清除磁盘上的 RAID 元数据,务必确认磁盘无其他用途。


七、常见问题

  • RAID 同步很慢?
    可通过调整内核参数加快同步速度:

    echo 100000 > /proc/sys/dev/raid/speed_limit_min
  • 启动时无法识别阵列?
    确保已运行

    update-initramfs -u
    并检查
    /etc/mdadm/mdadm.conf
    是否包含阵列信息。

  • 磁盘顺序变化导致识别失败?
    使用 UUID 或

    /dev/disk/by-id/
    路径更稳定。


基本上就这些。

mdadm
虽然命令行操作稍显复杂,但稳定可靠,适合在服务器环境中长期使用。关键是配置后保存设置并定期检查状态,避免在磁盘真正故障时措手不及。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1349

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

703

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

294

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

776

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

572

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

545

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

297

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

381

2023.07.25

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

2

2026.01.19

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.4万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号