云服务器通过软 RAID 获得高性价比硬盘 IO 性能(mdadm)

最近研究大模型用的服务器,vCPU达768核,内存2T有余,发现云硬盘读写反而成了最大的瓶颈,创建大号硬盘并开启额外性能开关可以一定程度上解决这个问题,但是钱包不太允许,于是只能曲线救国,使用 Linux 的软 RAID 来实现。

一、准备工作

  • 创建一台云服务器,并附加10块100G的数据盘。
  • Linux 系统中配置 RAID 0(条带化阵列)主要通过软件实现,常用工具为 mdadm

安装 mdadm 工具

apt install mdadm

确认磁盘状态

使用 lsblkfdisk -l 确认要用于 RAID 0 的磁盘(如 /dev/vdb/dev/vdc),确保磁盘无分区或数据已备份(RAID 0 创建会清除磁盘数据)。

二、创建 RAID 0 阵列

执行创建命令

mdadm --create /dev/md0 --level=0 --raid-devices=10 /dev/vdb /dev/vdc \
   /dev/vdd /dev/vde /dev/vdf /dev/vdg /dev/vdh /dev/vdi /dev/vdj /dev/vdk
  • /dev/md0:RAID 设备名称,可自定义(如 /dev/md/raid0
  • --level=0:指定 RAID 级别为 0
  • --raid-devices=10:指定磁盘数量

验证阵列状态

cat /proc/mdstat
mdadm --detail /dev/md0

为确保重启后阵列仍被识别,需保存配置信息

mdadm --detail --scan | tee -a /etc/mdadm/mdadm.conf
update-initramfs -u

三、格式化与挂载

格式化后立即挂载

mkfs.ext4 /dev/md0
mount /dev/md0 /mnt

配置开机自动挂载

编辑 /etc/fstab 文件,添加以下内容:

/dev/md0 /mnt ext4 defaults 0 0

四、注意事项

RAID 0 无冗余功能,任一磁盘故障将导致数据全部丢失,仅适用于对性能要求高且数据可重建的场景(如临时缓存)。

五、扩展操作示例

  • 监控 RAID 状态:mdadm --monitor --scan --daemonize
  • 移除故障盘:mdadm /dev/md0 --remove /dev/vdb
  • 添加新磁盘:mdadm /dev/md0 --add /dev/vdd
文章作者: 若海; 原文链接: https://www.rehiy.com/post/591/; 转载需声明来自技术写真 - 若海

添加新评论