设置模型开机自启动
适用场景
基于vLLM部署的模型在系统开机/重启后自动运行的需求场景,支持用户自定义conda环境及模型启动参数。
操作步骤
步骤1:创建模型自启动脚本
- 登录服务器,切换至模型部署的业务用户(示例dev用户,若启动命令含
sudo,需确保该用户有sudo权限)。 - 创建自启动脚本文件(建议存放至模型部署目录,示例路径:
/home/dev/mt/vllm/model_scripts/start_model.sh):vim /mt/vllm/model_scripts/start_model.sh - 将以下模板内容复制到脚本中,替换所有示例内容为实际配置:
#!/bin/bash# 模型开机自启脚本# 日志文件路径(可自定义,用于排查启动问题)LOG_FILE="/home/dev/mt/vllm/model_scripts/model_start.log"# 清空历史日志(可选,根据需求保留)> $LOG_FILE# 1. 设置MUSA库环境变量echo "[$(date +%Y-%m-%d\ %H:%M:%S)] 设置MUSA库路径" >> $LOG_FILEexport LD_LIBRARY_PATH=/usr/local/musa/lib:$LD_LIBRARY_PATH# 验证路径生效echo "[$(date +%Y-%m-%d\ %H:%M:%S)] 当前LD_LIBRARY_PATH:$LD_LIBRARY_PATH" >> $LOG_FILE# 2. 加载并激活自定义conda环境echo "[$(date +%Y-%m-%d\ %H:%M:%S)] 加载conda配置" >> $LOG_FILE# 替换为你的conda安装路径(执行which conda可查看,示例:安装路径为/home/dev/miniforge3/bin/conda → conda.sh路径为/etc/profile.d/conda.sh,source /你的conda安装路径/etc/profile.d/conda.sh)source /home/dev/miniforge3/etc/profile.d/conda.sh# 激活用户自定义conda环境(示例:v1.3.2,替换为实际环境名)echo "[$(date +%Y-%m-%d\ %H:%M:%S)] 激活conda环境:v1.3.2" >> $LOG_FILEconda activate v1.3.2# 检查环境激活是否成功if [ $? -ne 0 ]; thenecho "[$(date +%Y-%m-%d\ %H:%M:%S)] ERROR: conda环境激活失败" >> $LOG_FILEexit 1fi# 3. 执行模型启动命令(示例,替换为实际命令)echo "[$(date +%Y-%m-%d\ %H:%M:%S)] 开始启动模型" >> $LOG_FILE# 执行模型启动命令(示例,替换为实际模型参数)ENABLE_MUSA_MMA=1 vllm serve /home/dev/mt/vllm/models/gptq-Qwen2.5-7B-Instruct -tp 1 \--gpu_memory_utilization 0.8 --quantization gptq --block_size 32 \--num-gpu-blocks-override 512 --max-model-len 16384 --max-num-seqs 1 \--swap_space 0 --enforce-eager >> $LOG_FILE 2>&1# 检查模型启动是否成功if [ $? -eq 0 ]; thenecho "[$(date +%Y-%m-%d\ %H:%M:%S)] 模型启动成功" >> $LOG_FILEelseecho "[$(date +%Y-%m-%d\ %H:%M:%S)] ERROR: 模型启动失败" >> $LOG_FILEexit 1fi
- 保存并退出脚本文件(vim编辑器:按
Esc,输入:wq回车)。 - 为脚本添加可执行权限:
chmod +x /home/dev/mt/vllm/model_scripts/start_model.sh