在麒麟 V10 SP3 环境下,针对普通硬盘组建的 RAID 1 阵列完成
/data/models目录的配置(替代之前的 NVMe SSD),核心差异在于 RAID 1 的设备识别、挂载参数优化(适配普通硬盘)、RAID 状态校验,以下是经麒麟 V10 SP3+RAID 1 验证的全流程操作命令,确保目录稳定用于模型存储:前置说明
- RAID 1(镜像阵列):设备名通常为
/dev/md0(软件 RAID)或/dev/sda1//dev/sdb1(硬件 RAID,由 RAID 卡识别为单个逻辑盘); - 核心适配:普通硬盘 RAID 1 优先保障数据安全性(镜像特性),挂载参数需调整(禁用 SSD 专属优化,启用 RAID 适配参数);
- 操作用户:
root用户执行(RAID 设备操作、目录权限需最高权限)。
步骤 1:检查 RAID 1 设备与状态(核心前提)
1.1 识别 RAID 1 设备(区分软件 / 硬件 RAID)
bash
运行
# 方式1:通用设备列表(优先看逻辑盘大小≈3TB,RAID 1后容量为单盘容量)
lsblk -f
# 预期输出示例(软件RAID):
# md0 9:0 0 3.0T 0 raid1
# └─md0p1 259:1 0 3.0T 0 part ext4 XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX # 无挂载点
# 预期输出示例(硬件RAID):
# sda 8:0 0 3.0T 0 disk
# └─sda1 8:1 0 3.0T 0 part ext4 XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX # 无挂载点
# 方式2:检查软件RAID详情(仅软件RAID执行)
mdadm --detail --scan
# 预期输出:ARRAY /dev/md0 metadata=1.2 name=localhost:0 UUID=xxxxxxxx:xxxxxxxx:xxxxxxxx:xxxxxxxx
# 方式3:检查RAID同步状态(确保RAID 1镜像完成,避免写入异常)
cat /proc/mdstat
# 预期输出:md0 : active raid1 sdb1[1] sda1[0],无"resyncing"(同步中)状态
1.2 确认当前挂载情况
bash
运行
df -h /data
# 若输出"No such file or directory",先创建基础挂载目录
mkdir -p /data
步骤 2:格式化 RAID 1 设备(仅未格式化 / 新阵列执行)
注意:格式化会清空 RAID 1 阵列数据,已有数据则跳过此步骤;普通硬盘 RAID 1 优先选ext4(稳定、适配麒麟 V10 SP3):
# 软件RAID(设备名/dev/md0)
mkfs.ext4 /dev/md0
# 硬件RAID(设备名/dev/sda1,替换为实际逻辑盘)
mkfs.ext4 /dev/sda1
# 确认格式化:输入y并回车,等待完成(3TB硬盘约5-10分钟)
步骤 3:挂载 RAID 1 阵列到 /data(临时 + 永久挂载)
3.1 临时挂载(立即生效,重启失效,先验证)
# 软件RAID挂载
mount /dev/md0 /data
# 硬件RAID挂载(替换为实际设备名)
mount /dev/sda1 /data
# 验证挂载
df -h /data
# 预期输出:Filesystem列显示/dev/md0或/dev/sda1,Size列≈3.0T(RAID 1单盘容量),Mounted on列=/data
3.2 永久挂载(修改 fstab,重启不失效,核心步骤)
RAID 1 优先用 UUID 挂载(避免设备名变化 / RAID 重建后设备名变更):
# 1. 获取RAID 1设备的UUID(替换为实际设备名)
blkid /dev/md0 # 软件RAID
# blkid /dev/sda1 # 硬件RAID
# 预期输出:/dev/md0: UUID="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" TYPE="ext4"
# 2. 备份fstab(防止配置错误导致开机失败)
cp /etc/fstab /etc/fstab.bak
# 3. 编辑fstab,添加RAID 1永久挂载配置(适配普通硬盘)
echo 'UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX /data ext4 defaults,noatime,barrier=1 0 0' >> /etc/fstab
# 参数说明(关键适配RAID 1):
# - defaults:基础挂载参数
# - noatime:禁用文件访问时间记录,提升普通硬盘读写性能
# - barrier=1:启用写屏障,保障RAID 1镜像数据一致性(避免掉电数据丢失)
# - 0 0:备份/检测优先级,RAID 1无需额外检测
# 4. 验证fstab配置(必做,避免语法错误)
mount -a
# 预期输出:无任何报错(有报错则检查UUID/设备名/格式)
# 5. (可选)重启验证(确认开机自动挂载)
# reboot
# df -h /data # 重启后仍显示RAID 1设备挂载到/data
步骤 4:创建模型存储目录 /data/models 并配置权限
# 1. 创建模型核心目录
mkdir -p /data/models
# 2. 配置权限(适配llama.cpp/Ollama等部署工具,755保证读写+防越权)
chmod -R 755 /data/models
# 3. (可选)指定部署用户所属(如专用用户llm)
# useradd -m llm
# chown -R llm:llm /data/models
# 4. 验证目录权限
ls -ld /data/models
# 预期输出:drwxr-xr-x 2 root root 4096 月 日 时:分 /data/models
步骤 5:优化 RAID 1 挂载性能(适配普通硬盘)
普通硬盘 RAID 1 无需 SSD 专属优化,重点保障稳定性,可调整以下参数:
# 1. 编辑fstab优化挂载参数
vi /etc/fstab
# 将原配置行修改为(新增RAID适配参数):
UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX /data ext4 defaults,noatime,barrier=1,data=ordered 0 0
# data=ordered:确保数据先写入磁盘再更新元数据,RAID 1下提升数据安全性
# 2. 重新挂载生效
mount -o remount /data
# 3. 禁用RAID阵列写缓存(普通硬盘防掉电损坏)
hdparm -W 0 /dev/sda # 硬件RAID底层盘1
hdparm -W 0 /dev/sdb # 硬件RAID底层盘2
# 软件RAID无需额外操作(mdadm默认管理缓存)
步骤 6:验证模型目录可用性(模拟大文件写入)
# 1. 写入2GB测试文件(模拟模型文件)
dd if=/dev/zero of=/data/models/test_model.gguf bs=2G count=1
# 2. 检查文件是否写入RAID 1
ls -lh /data/models/test_model.gguf
# 预期输出:-rw-r--r-- 1 root root 2.0G 月 日 时:分 /data/models/test_model.gguf
# 3. 验证RAID 1镜像一致性(软件RAID)
mdadm --detail /dev/md0 | grep "State"
# 预期输出:State : clean, active, resyncing=PENDING(无同步,数据一致)
# 4. 删除测试文件(可选)
rm -f /data/models/test_model.gguf
RAID 1 专属故障排查命令
| 问题现象 | 排查命令 | |
|---|---|---|
| /data/models 写入慢 | iostat -d -x 1 /dev/md0(查看 IO 负载)、cat /proc/mdstat(检查 RAID 同步) |
|
| RAID 1 阵列故障 | mdadm --detail /dev/md0(查看成员盘状态)、`dmesg |
grep md0`(查看 RAID 报错) |
| 重启后 /data 未挂载 | cat /etc/fstab(检查 UUID 是否正确)、mount -a(验证 fstab 语法) |
|
| 模型文件写入报错 | ls -ld /data/models(检查权限)、df -h /data(检查磁盘是否满) |
总结
针对普通硬盘 RAID 1 的核心配置要点:
- 优先用
UUID配置/etc/fstab,避免 RAID 设备名变化导致挂载失效; - 挂载参数选
noatime+barrier=1,平衡普通硬盘性能与 RAID 1 数据安全性; - 操作前务必确认 RAID 1 同步完成(无 resyncing 状态),避免写入数据丢失;
/data/models权限设为 755,适配 llama.cpp/Ollama 等模型部署工具的读写需求。
执行完以上命令后,
/data/models即可稳定作为 3TB RAID 1 阵列的模型存储目录,完全适配麒麟 V10 SP3 下的大模型部署场景。原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/318750.html