因为笔者的使用HPE gen10 plus来做学习服务器,该款服务器不配置阵列卡,所以准备使用软raid来完成4块硬盘的raid化。一方面是保证数据的安全,做好数据的防丢失;另一方面则是将四块硬盘合起来扩大容量使用。

软件依赖

  1. mdadm
  2. parted
  3. wipefs

挂载流程

假设以sda sdb sdc sdd四块硬盘做raid10

  1. 清空磁盘
for i in sda sdb sdc sdd; do
        sudo wipefs -a /dev/$i
        sudo mdadm --zero-superblock /dev/$i
done
  1. 创建分区
for i in sda sdb sdc sdd; do
        sudo parted --script /dev/$i "mklabel gpt"
        sudo parted --script /dev/$i "mkpart primary 0% 100%"
        sudo parted --script /dev/$i "set 1 raid on"
done
  1. 创建raid10
sudo mdadm --create /dev/md10 --level=10 --raid-devices=4 /dev/sd[a-d]1
  1. 格式化
sudo mkfs.ext4 /dev/md10
  1. 挂载
sudo mkdir /data
sudo mount /dev/md10 /data
  1. 系统自动挂载
sudo echo "/dev/md10 /data ext4 defaults 0 0" | sudo tee -a /etc/fstab

取消挂载流程

  1. 取消挂载
sudo umount /dev/md10
  1. 停止raid10
sudo mdadm -S /dev/md10
  1. 移除raid10
sudo mdadm --remove /dev/md10
  1. 清除硬盘分区
sudo mdadm --zero-superblock /dev/sd[a-d]
  1. 清除分区挂载 编辑/etc/fstab文件,将对raid10的挂载删除并保存文件

硬盘损坏以及恢复

  1. 将损坏盘设置为损坏
sudo mdadm /dev/md10 -f /dev/sda1
  1. 关机卸载掉损坏盘,后替换为新硬盘
  2. 将新硬盘添加到阵列中
sudo mdadm /dev/md10 -a /dev/sda1

阵列信息检查

sudo mdadm -D /dev/md10
显示结果如下:
/dev/md10:
           Version : 1.2
     Creation Time : Wed Feb  3 08:44:00 2021
        Raid Level : raid10
        Array Size : 1953257472 (1862.77 GiB 2000.14 GB)
     Used Dev Size : 976628736 (931.39 GiB 1000.07 GB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent
 Intent Bitmap : Internal

Update Time : Thu Apr 29 01:50:02 2021 State : clean Active Devices : 4

Working Devices : 4 Failed Devices : 0 Spare Devices : 0

        Layout : near=2
    Chunk Size : 512K

Consistency Policy : bitmap

          Name : localhost.localdomain:10  (local to host localhost.localdomain)
          UUID : 0c01136f:fc87f0a0:11bdd0a0:0a38b4ac
        Events : 436340

Number Major Minor RaidDevice State 0 8 1 0 active sync set-A /dev/sda1 1 8 17 1 active sync set-B /dev/sdb1 2 8 33 2 active sync set-A /dev/sdc1 3 8 49 3 active sync set-B /dev/sdd1

参考资料

  1. https://en.wikipedia.org/wiki/RAID raid 介绍
  2. https://en.wikipedia.org/wiki/Nested_RAID_levels#RAID_10_.28RAID_1.2B0.29 raid10 介绍
  3. https://en.wikipedia.org/wiki/Mdadm mdadm相关资料
  4. https://www.cnblogs.com/diantong/p/10547081.html 软raid实现