软raid5
[root@localhost ~]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 Dec 2 09:55 /dev/sda
brw-rw----. 1 root disk 8, 1 Dec 2 09:55 /dev/sda1
brw-rw----. 1 root disk 8, 2 Dec 2 09:55 /dev/sda2
brw-rw----. 1 root disk 8, 16 Dec 2 09:55 /dev/sdb
brw-rw----. 1 root disk 8, 32 Dec 2 09:55 /dev/sdc
brw-rw----. 1 root disk 8, 48 Dec 2 09:55 /dev/sdd
brw-rw----. 1 root disk 8, 64 Dec 2 09:55 /dev/sde
brw-rw----. 1 root disk 8, 80 Dec 2 09:55 /dev/sdf
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─cs-root 253:0 0 61.2G 0 lvm /
├─cs-swap 253:1 0 7.8G 0 lvm [SWAP]
└─cs-home 253:2 0 29.9G 0 lvm /home
sdb 8:16 0 20G 0 disk
sdc 8:32 0 20G 0 disk
sdd 8:48 0 20G 0 disk
sde 8:64 0 20G 0 disk
sdf 8:80 0 20G 0 disk
sr0 11:0 1 12.8G 0 rom /run/media/root/CentOS-Stream-9-BaseOS-x86_64
raid命令
mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd{b,c,d,e}
mkfs.ext4 /dev/md0
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─cs-root 253:0 0 61.2G 0 lvm /
├─cs-swap 253:1 0 7.8G 0 lvm [SWAP]
└─cs-home 253:2 0 29.9G 0 lvm /home
sdb 8:16 0 20G 0 disk
└─md0 9:0 0 40G 0 raid5
sdc 8:32 0 20G 0 disk
└─md0 9:0 0 40G 0 raid5
sdd 8:48 0 20G 0 disk
└─md0 9:0 0 40G 0 raid5
sde 8:64 0 20G 0 disk
└─md0 9:0 0 40G 0 raid5
sdf 8:80 0 20G 0 disk
sr0 11:0 1 12.8G 0 rom /run/media/root/CentOS-Stream-9-BaseOS-x86_64
[root@localhost ~]# mount /dev/md0 /mnt/raid5/
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 1.6G 9.7M 1.6G 1% /run
/dev/mapper/cs-root 62G 5.4G 56G 9% /
/dev/sda1 960M 399M 562M 42% /boot
/dev/mapper/cs-home 30G 252M 30G 1% /home
tmpfs 791M 96K 791M 1% /run/user/0
/dev/sr0 13G 13G 0 100% /run/media/root/CentOS-Stream-9-BaseOS-x86_64
/dev/md0 40G 24K 38G 1% /mnt/raid5
raid解释
-
mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd{b,c,d,e}mdadm: Linux 下的软件 RAID 管理工具-C /dev/md0: 创建一个名为/dev/md0的 RAID 设备-l5: 设置 RAID 级别为 RAID 5(提供数据冗余和性能平衡)-n3: 指定使用 3 个活跃磁盘 组成阵列-x1: 指定 1 个备用磁盘 (用于在活跃磁盘故障时自动替换)/dev/sd{b,c,d,e}: 指定使用的物理磁盘是/dev/sdb,/dev/sdc,/dev/sdd,/dev/sde- 这条命令的作用是: 用
sdb,sdc,sdd作为活跃磁盘,sde作为备用磁盘,创建一个 RAID 5 阵列/dev/md0。
-
mkfs.ext4 /dev/md0mkfs.ext4: 创建 ext4 文件系统的工具/dev/md0: 指定在哪个设备上创建文件系统- 这条命令的作用是: 在刚刚创建的 RAID 阵列
/dev/md0上格式化一个 ext4 文件系统。
这两条命令先创建了一个由三块磁盘加一块热备盘组成的 RAID 5 阵列,然后在该阵列上创建了 ext4 文件系统,之后就可以像使用普通磁盘一样挂载和使用 /dev/md0 了。
mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Dec 2 11:35:31 2025
Raid Level : raid5
Array Size : 41908224 (39.97 GiB 42.91 GB)
Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistentIntent Bitmap : Internal
Update Time : Tue Dec 2 11:39:18 2025
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1Layout : left-symmetric
Chunk Size : 512KConsistency Policy : bitmap
Name : localhost.localdomain:0 (local to host localhost.localdomain)
UUID : 89e11658:9a513295:6b7549c4:987eb27d
Events : 25Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
4 8 48 2 active sync /dev/sdd3 8 64 - spare /dev/sde
watch -n 1 'mdadm --detail /dev/md0'
这个命令用于实时监控 /dev/md0 软件 RAID 阵列的状态,每秒刷新一次显示。以下是详细说明:
命令结构:
watch -n 1 'mdadm --detail /dev/md0'
组成部分解析:
-
watch
周期性执行指定命令的工具 -
-n 1
设置刷新间隔为 1 秒(默认 2 秒) -
mdadm --detail /dev/md0mdadm:Linux 软件 RAID 管理工具--detail:显示 RAID 设备详细信息/dev/md0:目标 RAID 设备路径(需替换为实际设备名)
输出内容示例:
/dev/md0:
Version : 1.2
Creation Time : Mon Jan 01 00:00:00 2023
Raid Level : raid1
Array Size : 2095104 (2046.00 MiB)
Used Dev Size : 2095104 (2046.00 MiB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Tue Jan 02 12:30:00 2023
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Name : server:0
UUID : 5a1f3c8b:7e62d4a1:01e5d3f7:3b7a1c9d
Events : 42
Number Major Minor RaidDevice State
0 8 0 0 active sync /dev/sda
1 8 1 1 active sync /dev/sdb
关键监控指标:
State:阵列状态(clean/degraded/recovering 等)Active Devices:正常工作的磁盘数Failed Devices:故障磁盘数- 同步进度(重建时显示进度百分比)
使用场景:
- RAID 重建过程监控
- 磁盘故障实时诊断
- 阵列性能调优观察
退出方式
按 Ctrl+C 终止监控
注意:执行需 root 权限,设备路径
/dev/md0需根据实际配置修改。
谨慎执行
您已成功从阵列 /dev/md0 中移除了硬盘 /dev/sde。该硬盘已被标记为故障并执行热移除操作。此时阵列处于降级运行状态,建议立即执行以下步骤:
-
物理操作:
- 断开服务器电源
- 拔出故障硬盘
/dev/sde - 插入同容量或更大容量的新硬盘(需确认兼容性)
-
阵列修复:
# 查看新硬盘是否被识别为 /dev/sdX (如 /dev/sdf) lsblk # 将新硬盘加入阵列 mdadm /dev/md0 --add /dev/sdf # 监控重建进度 watch -n 1 cat /proc/mdstat重建过程中阵列仍可读写,但性能可能下降。
-
完整性验证(可选):
# 检查阵列状态 mdadm --detail /dev/md0 # 扫描文件系统错误(若阵列为文件系统底层设备) fsck /dev/md0
注意:若该阵列承载关键业务,建议在重建期间启用备份访问模式。重建时间取决于硬盘容量(例如 10TB 硬盘约需 6-10 小时)。
更多推荐



所有评论(0)