(Tips:如果在阅读本文时遇到代码块无法正常显示的情况时,请刷新页面访问即可)

一、任务目标

  1. 添加一块20G的硬盘,使用fdisk命令对该硬盘进行分区,要求分出四个大小为 5G 的分区

  2. 使用这三个分区,创建名为/dev/md15,raid级别为5的阵列,第四个 分区为热备盘

  3. 创建完成后使用xfs文件系统进行格式化,并挂载到/mnt目录下,并使用autofs实现自动挂载。

  4. 模拟一块磁盘损坏

二、具体操作

1.在 OpenStack 管理平台中,首先为实例添加一个 10GB 的硬盘卷。

  • 浏览器输入http://192.168.20.20,登录 OpenStack Dashboard,将新的 20GB 云硬盘卷挂载到实例上(假设硬盘被识别为 /dev/vde)。

2.使用 fdisk 对新硬盘进行分区

登录到云主机,使用以下命令对新的硬盘进行分区。

fdisk /dev/vde

按照以下步骤进行操作:

  1. 输入 n 创建新分区

  2. 选择 p 进行主分区创建

  3. 输入分区编号 1,然后输入开始扇区和结束扇区,直接默认即可,

  4. 将分区设置为 5G(输入 +5G 表示分出 5G 大小的分区)

  5. 再次输入 n 创建第二个分区,同样分配 5G 大小。以此类推,创建四个分区

  6. 完成分区后,输入 w 保存退出

  7. 再次输入 fdisk /dev/vde 命令

  8. 输入 t ,再次输入 4 ,输入 fd

  9. 再次输入 t3fd ,直到配置完四个分区,输入 p 查看配置结果,出现 raid 即为配置成功

  10. 输入 w 保存并退出

3.查看新创建的分区

使用 lsblkfdisk -l 检查新创建的分区

4.创建 RAID 5 阵列

使用 mdadm 工具创建 RAID 5 阵列。假设已经安装了 mdadm(如未安装可使用 yum install mdadm 安装)。

使用前三个分区创建 RAID 5 阵列,并将第四个分区作为热备盘:

mdadm --create /dev/md15 --level=5 --raid-devices=3 /dev/vd1 /dev/vde2 /dev/vde3 --spare-devices=1 /dev/vde4

检查 RAID 阵列状态:

cat /proc/mdstat

5.使用xfs文件系统进行格式化,并使用autofs实现自动挂载

mkfs.xfs /dev/md15

创建挂载目录并手动挂载:

mkdir /mnt
mount /dev/md15 /mnt

使用 autofs 实现自动挂载

安装autofs

yum -y install autofs

编辑 /etc/auto.master 文件,添加以下行:

/- /etc/auto.mnt

创建 /etc/auto.mnt 文件,并添加如下内容:

/mnt -fstype=xfs,rw :/dev/md15

重启autofs服务

systemctl restart autofs

6.模拟磁盘故障

假设你想要模拟其中一个 RAID 5 分区损坏,比如 /dev/vde1,可以使用 mdadm 将它标记为“故障”:

mdadm /dev/md15 --fail /dev/vde1

然后查看 RAID 阵列状态,确认分区被标记为故障:

cat /proc/mdstat

你会看到 /dev/vde1 被标记为 F(failed),RAID 处于降级(degraded)状态。

将故障磁盘从 RAID 阵列中移除:

mdadm /dev/md15 --remove /dev/vde1

再次查看状态,/dev/vde1已经没有了

添加磁盘

mdadm /dev/md15 --add /dev/vde1

RAID 会自动开始重建数据到新的磁盘上。你可以使用以下命令查看重建进度:

cat /proc/mdstat

重建完成后,RAID 5 阵列将回到健康状态。

以上即为RAID 5的基本操作流程,如果你还有什么问题,欢迎在评论区提问!