Featured image of post VMware虚拟机中为CentOS7创建3数据盘+1热备盘RAID5阵列完整操作流程

VMware虚拟机中为CentOS7创建3数据盘+1热备盘RAID5阵列完整操作流程

在 VMware 虚拟机环境中,为 CentOS 7 创建一个由 3 块数据盘 + 1 块热备盘 组成的 RAID 5 阵列,完整操作流程如下:


一、 准备工作(添加虚拟硬盘)

  1. 在 VMware 中选中 CentOS 虚拟机,确保其处于关机状态(或使用 SCSI 热插拔)。
  2. 点击 编辑虚拟机设置 -> 添加 -> 选择 硬盘 -> 磁盘类型选择 SCSI**。
  3. 新建 4 块虚拟磁盘(例如每块大小设为 20G),连续添加 4 次。
  4. 开机进入系统,运行以下命令确认新添加的 4 块磁盘(通常为 /dev/sdb, /dev/sdc, /dev/sdd, /dev/sde):
1
lsblk

二、 分区配置(可选但建议)

为 4 块新磁盘创建分区并将文件系统标识设为 fd(Linux raid auto):

1
2
3
for dev in sdb sdc sdd sde; do
    echo -e "n\np\n1\n\n\nt\nfd\nw" | fdisk /dev/$dev
done

说明:如果不进行 fdisk 分区,直接使用整块原生磁盘(如 /dev/sd[b-e])创建阵列同样可行。


三、 使用简写命令创建 RAID 5 阵列

使用 mdadm 的短参数与磁盘通配符快速创建阵列:

1
mdadm -Cv /dev/md0 -l 5 -n 3 -x 1 /dev/sd[b-e]1

**关键参数拆解:

  • -C**:创建新阵列(--create
  • -v:显示创建时的详细过程(--verbose
  • /dev/md0:新阵列设备名称
  • -l 5:指定级别为 RAID 5--level=5
  • -n 3:指定 3 块活动数据盘(--raid-devices=3
  • -x 1:指定 1 块热备盘(--spare-devices=1
  • /dev/sd[b-e]1:使用 Shell 通配符一次性传入 /dev/sdb1, /dev/sdc1, /dev/sdd1, /dev/sde1

过程中出现提示 Continue creating array? 时,输入 y 并按回车。


四、 查看与验证阵列状态

1. 查看阵列详细信息(简写命令)

1
mdadm -D /dev/md0

输出中可以观察到:

  • Raid Level : raid5
  • Array Size : …(大小等于 2 块盘的总容量)
  • Active Devices : 3
  • Working Devices : 4
  • Spare Devices : 1
  • 底部列表显示 /dev/sdb1 ~ /dev/sdd1active sync/dev/sde1spare

2. 保存 RAID 配置文件

为了确保系统重启后阵列设备名和编号不丢失,需要保存配置:

1
mdadm -Ds > /etc/mdadm.conf

-Ds 即为 --detail --scan 的简写。


五、 格式化与挂载使用

  1. **格式化阵列为 xfs 文件系统:
1
mkfs.xfs /dev/md0
  1. 创建挂载点并挂载:
1
2
mkdir -p /mnt/raid5
mount /dev/md0 /mnt/raid5
  1. 配置开机自动挂载: 获取阵列的 UUID:
1
blkid /dev/md0

编辑 /etc/fstab 追加挂载规则:

1
UUID=你的UUID值  /mnt/raid5  xfs  defaults  0 0

六、 模拟故障测试(可选)

模拟将其中一块活动盘(如 /dev/sdb1)标记为损坏,观察热备盘是否会自动顶替:

标记 sdb1 为损坏盘

mdadm /dev/md0 -f /dev/sdb1

立即查看状态

mdadm -D /dev/md0

你会看到 /dev/sde1(原热备盘)自动变为 rebuilding 或 active sync 状态,开始自动重建数据,从而验证热备机制生效。


🤖 —— Bosh,关注开源与去中心化的技术观察者

热爱生活 学无止境
使用 Hugo 构建
主题 StackJimmy 设计