创建 RAID 1(镜像)阵列在 CentOS 7 上的实验过程如下。RAID 1 提供了数据冗余,这意味着在其中一块硬盘故障时,数据可以从另一块硬盘恢复,但同时它的性能和容量利用率低于 RAID 0。
如果想要使用 /dev/sdb
和 /dev/sdc
这两个完整硬盘来创建一个 RAID 1 镜像阵列,你需要首先确保这两个硬盘没有任何分区或者数据,或者你已经备份了所有重要数据,因为接下来的操作将会清除这些硬盘上的所有信息。
实验步骤
步骤1: 确认硬盘
确认 /dev/sdb
和 /dev/sdc
是否为空或者准备好被使用。
lsblk
步骤2: 删除现有分区
如果硬盘上有分区,使用 gdisk
或者 fdisk
来删除所有分区。
gdisk /dev/sdb
gdisk /dev/sdc
在 gdisk
中,你可以使用 d
命令来删除分区,然后用 w
来保存更改并退出。
步骤3: 创建 RAID 1 阵列
使用 mdadm
创建 RAID 1 阵列。
mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
步骤4: 查看 RAID 阵列信息
检查新创建的 RAID 1 阵列的状态。
mdadm -D /dev/md1
步骤5: 格式化 RAID 设备
格式化 RAID 1 设备,这里我们使用 XFS 文件系统。
mkfs.xfs /dev/md1
步骤6: 挂载 RAID 设备
创建一个挂载点并挂载 RAID 设备。
mkdir /mnt/raid1
mount /dev/md1 /mnt/raid1
步骤7: 编写配置文件
确保系统重启后 RAID 阵列能够自动组装。
echo "/dev/md1 UUID=$(blkid -s UUID -o value /dev/md1) xfs defaults 0 0" | sudo tee -a /etc/fstab
步骤8: 测试 RAID 功能
- 创建一个测试文件。
echo "hi" > /mnt/raid1/file1
- 标记一个磁盘为故障。
mdadm /dev/md1 --fail /dev/sdb
- 检查文件是否依然可访问。
cat /mnt/raid1/file1
步骤9: 移除故障磁盘
如果测试成功,移除故障磁盘。
mdadm /dev/md1 --remove /dev/sdb
步骤10: 添加新磁盘
添加一个新的磁盘,假设新磁盘是 /dev/sdb
(这里假设你有一个新的或替换的磁盘)。
mdadm /dev/md1 --add /dev/sdb
步骤11: 重新同步阵列
等待阵列重新同步。
watch -n 1 'mdadm --detail /dev/md1'
步骤12: 重启测试
重启系统并检查 RAID 阵列是否在系统启动时自动组装。
reboot
然后使用 cat /proc/mdstat
或 mdadm --detail /dev/md1
来验证阵列状态。
请注意,如果在步骤8中将 /dev/sdb
标记为故障并移除,而步骤10中又将其添加回去,这实际上并不会重建一个完整的阵列,除非你使用的是一个全新的或格式化的磁盘。在实际操作中,如果磁盘故障,你应该更换为一个全新的磁盘,而不是将同一个磁盘再次加入阵列。