云服务器通过软 RAID 获得高性价比硬盘 IO 性能(mdadm)
最近研究大模型用的服务器,vCPU达768核,内存2T有余,发现云硬盘读写反而成了最大的瓶颈,创建大号硬盘并开启额外性能开关可以一定程度上解决这个问题,但是钱包不太允许,于是只能曲线救国,使用 Linux 的软 RAID 来实现。
一、准备工作
- 创建一台云服务器,并附加10块100G的数据盘。
- Linux 系统中配置 RAID 0(条带化阵列)主要通过软件实现,常用工具为
mdadm
。
安装 mdadm
工具
apt install mdadm
确认磁盘状态
使用 lsblk
或 fdisk -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