Linux服务器磁盘阵列配置步骤:零基础也能建RAID

为什么要先了解磁盘阵列

磁盘阵列(RAID)能让多块硬盘组合成一个逻辑盘,要么提升读写速度(RAID 0),要么提供数据冗余(RAID 1/5/10)。
对于Linux服务器,尤其是网站、文件共享或数据库场景,合理配置磁盘阵列能直接提升稳定性和性能。
本文以最常见的mdadm工具为例,带你把Linux服务器磁盘阵列配置的每一步跑通。

前置准备:确认你的环境

开始之前,确认以下条件已满足:

  • 至少两块空数据盘:建议使用全新或已备份数据的硬盘,因为创建阵列会清空盘上所有数据。
  • 操作系统:CentOS 7/8、Ubuntu 20.04+ 或 Debian 11+,已联网。
  • root权限:需要用 sudo 或直接 root 用户执行命令。
  • 检查硬盘设备名:执行 lsblkfdisk -l,记下你要用的盘,例如 /dev/sdb/dev/sdc

分步操作:用mdadm创建RAID

第一步:安装mdadm

CentOS / RHEL / Rocky Linux 系:

yum install -y mdadm

Ubuntu / Debian 系:

apt update && apt install -y mdadm

第二步:创建RAID阵列

示例:RAID 1(镜像,2块盘)

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

执行后会提示是否继续,输入 y 并回车。
等待几秒,阵列就创建好了。

如果想做RAID 5(需要至少3块盘),命令改为:

mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd
注意--level 后跟 RAID 级别,--raid-devices 后跟硬盘数量。盘名要按实际 lsblk 结果填写,切勿把系统盘(如 /dev/sda)加进去。

第三步:查看阵列创建状态

cat /proc/mdstat

正常输出会显示类似 md0 : active raid1 sdc[1] sdb[0],并看到进度或 [UU] 表示两块盘都正常。
如果是 RAID 5,会看到多个盘符和 [UUU]

第四步:格式化并挂载

阵列设备 /dev/md0 需要格式化文件系统,例如 ext4:

mkfs.ext4 /dev/md0

创建挂载点,例如 /mnt/raid

mkdir -p /mnt/raid
mount /dev/md0 /mnt/raid

挂载后可用 df -h 检查,正常会显示 /dev/md0 挂载到了 /mnt/raid

第五步:配置开机自动挂载

先获取阵列的UUID:

blkid /dev/md0

输出类似 UUID="abc123..."
然后编辑 /etc/fstab

echo 'UUID=abc123... /mnt/raid ext4 defaults 0 0' >> /etc/fstab

注意:UUID请替换成实际值,不要抄样例。

同时保存阵列配置,防止重启后丢失:

mdadm --detail --scan >> /etc/mdadm.conf

避坑指南:新手最容易栽跟头的地方

  1. 盘名认不准/dev/sda 往往是系统盘。创建阵列时误加到系统盘会导致系统无法启动。建议用 lsblk 查看各盘大小,空数据盘一般没有分区表。
  2. 忘记保存阵列配置:不执行 mdadm --detail --scan >> /etc/mdadm.conf,重启后阵列可能无法自动组装。
  3. 挂载路径权限:如果挂载点用于网站文件,记得用 chown www:www /mnt/raid(根据你Web服务用户调整)。
  4. RAID 0 没有容错:任何一块盘损坏,所有数据都会丢失。生产环境请至少用RAID 1或5。

效果验证:确认阵列工作正常

用下面几个命令检查:

  • 查看阵列详细信息mdadm --detail /dev/md0,输出应显示 State : cleanActive Devices : 2 等。
  • 测试写入与读取dd if=/dev/zero of=/mnt/raid/testfile bs=1M count=100,写入速度正常即阵列无异常。
  • 模拟磁盘故障(仅测试)mdadm --manage /dev/md0 --fail /dev/sdb,然后 cat /proc/mdstat 应看到 [U_] 表示一块盘坏了。接着 mdadm --remove /dev/md0 /dev/sdb 移除坏盘,再 mdadm --add /dev/md0 /dev/sdb 换上新盘,等待重建完成。

高频问题解答

Q:创建阵列时提示“device is busy”怎么办?
A:该磁盘可能已挂载或有分区表。先用 swapoff /dev/sdb 关掉交换分区,再用 wipefs -a /dev/sdb 清理签名(注意清空数据)。

Q:重启后阵列没了?
A:检查 /etc/mdadm.conf 是否存在且包含正确的 ARRAY 行。手动执行 mdadm --assemble --scan 可以临时恢复,然后重新保存配置。

Q:可以给已存在的阵列扩容吗?
A:可以。例如RAID 1增加盘:mdadm --grow /dev/md0 --raid-devices=3 --add /dev/sdd,但文件系统需要额外支持扩容(如 ext4 需 resize2fs)。新手建议先按原始需求规划好盘数。

如果你正在处理Linux服务器磁盘阵列配置,建议先按本文步骤完整执行,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分。
用好 man mdadm 和社区文档,大部分问题都能自行解决。

分享到:
上一篇
服务器运维安全最佳实践:新手也能上手的6个关键步骤
下一篇
宝塔面板MySQL备份定时任务:手把手教你配置宝塔面板
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意