一、制作RAID1阵列

1、添加磁盘

1)使用 lsblk 查看当前主机磁盘分区情况

image.png

2)添加两块大小一致的硬盘

image.png

3)查看主机总线号

  1. ls /sys/class/scsi_host/

image.png

4)重新扫描SCSI总线来添加设备

  1. echo "- - -" > /sys/class/scsi_host/host0/scan
  2. echo "- - -" > /sys/class/scsi_host/host1/scan
  3. echo "- - -" > /sys/class/scsi_host/host2/scan

再通过 lsblk 查询当前主机磁盘,此刻即可看到新添加的两块 sdb sdc
image.png

2、对新硬盘进行分区

使用 fdisk 进行分区,下图为/dev/sdb设备示例,/dev/sdc同理即可
image.png

3、制作RAID1

1)使用 mdadm 创建raid1

  1. mdadm -C /dev/md127 -ayes -l1 -n2 /dev/sd[b,c]1

参数说明:

  • -C:创建阵列
  • /dev/md1:阵列的设备名称
  • -a:同意创建设备
  • -l:阵列模式,1为raid1
  • -n:阵列磁盘的数目

    2)查看是否制作成功

    1. cat /proc/mdstat
    查看/proc路径下mdstat文件可以看到三块硬盘正在做同步,等一会儿时间就会同步成功,最后再用mdadm工具查看RAID1的详细信息
    1. mdadm -D /dev/md127

3)挂载使用

格式化硬盘:mkfs.ext4 /dev/md127
创建workspace目录,进行挂载
image.png
将挂载的阵列添加至fstab文件中

  1. echo "/dev/md127 /workspace ext4 defaults 0 0" >> /etc/fstab

二、模拟硬盘故障并修复RAID1阵列

1、模拟一块硬盘坏掉

先在阵列挂载的目录随意写入数据:
image.png
然后移除一块虚拟机硬盘后重启:
image.png
查看当前系统硬盘情况,可以看到当前RAID阵列中已经被移除出一块磁盘
image.png
但是数据依旧存在,这就表现了RAID1的数据冗余功能
image.png

2、添加新设备,恢复RAID1阵列

添加一块大于或等于当前RAID1阵列设备容量的硬盘
image.png

3、重新扫描SCSI总线来添加设备

  1. echo "- - -" > /sys/class/scsi_host/host0/scan
  2. echo "- - -" > /sys/class/scsi_host/host1/scan
  3. echo "- - -" > /sys/class/scsi_host/host2/scan

image.png

4、同步两硬盘分区情况

  1. sfdisk -d /dev/sdb | sfdisk -f /dev/sdc

参数解释:
sdb代表第一块盘(正常的硬盘) sdc代表第二块盘 (重新更换的硬盘以实际识别出来的盘符为准)

  • -d:显示硬盘分区的设置
  • -f:禁用所有一致性检查

image.png

5、将第二块加入RAID中

  1. mdadm /dev/md127 -a /dev/sdc1

6、查看阵列状态

  1. mdadm -D /dev/md127
  2. cat /proc/mdstat

image.png

三、删除软RAID

1、卸载设备

  1. umount /dev/md127

2、停止raid设备

  1. mdadm -S /dev/md127

3、删除raid中的所有磁盘

  1. mdadm --misc --zero-superblock /dev/sdb
  2. mdadm --misc --zero-superblock /dev/sdc

4、删除配置文件

  1. rm -f /etc/mdadm.conf

5、修改fstab文件

vim /etc/fstab,将raid相关的内容删除即可。
至此,已经全部完成了
image.png