AI on EL 部署概览
在 EL 系统上部署 AI 推理服务,需要完成从硬件驱动到应用层的完整链路。本页帮你理解整体架构,选择合适的工具组合。
硬件层 GPU (NVIDIA) ↓驱动层 NVIDIA Driver + CUDA Toolkit ↓运行时 Ollama / vLLM / llama.cpp ↓模型 LLaMA / Qwen / Gemma / Mistral (GGUF/HF 格式) ↓API 层 OpenAI 兼容 API (内置) ↓前端 Open WebUI / 自定义应用 ↓网关 Nginx 反向代理 + SSL| 方案 | 适合场景 | 难度 | GPU 要求 |
|---|---|---|---|
| Ollama | 个人体验、开发测试 | 简单 | 可选 |
| vLLM | 生产推理服务、高并发 | 中等 | 必须 |
| llama.cpp | 极致优化、CPU 推理、量化 | 中等 | 可选 |
| Open WebUI + Ollama | 团队内部 ChatGPT 替代 | 简单 | 可选 |
| Stable Diffusion | 图像生成 | 中等 | 必须 |
推荐部署顺序
Section titled “推荐部署顺序”快速体验(30 分钟)
Section titled “快速体验(30 分钟)”只想快速跑通一个本地大模型:
- 安装 Ollama — 一行命令安装
ollama run llama3.1— 开始聊天
标准部署(2-4 小时)
Section titled “标准部署(2-4 小时)”为团队提供可用的 AI 服务:
- NVIDIA 驱动与 CUDA — 安装 GPU 驱动
- Ollama — 安装并下载模型
- Open WebUI — 部署 Web 聊天界面
- Nginx 反向代理 — 配置 HTTPS 和域名
- 防火墙 — 配置访问控制
高并发、低延迟的推理服务:
- NVIDIA 驱动与 CUDA — GPU 驱动和 CUDA
- vLLM — 高性能推理引擎
- Nginx 反向代理 — 负载均衡和 SSL
- 系统监控 — GPU 和服务监控
- 性能调优 — 内核和网络优化
EL 上的 AI 部署注意事项
Section titled “EL 上的 AI 部署注意事项”- SELinux:容器化部署时注意 SELinux 上下文,
setsebool -P container_use_devices on允许容器访问 GPU - 防火墙:AI 服务默认监听高位端口(8080/11434 等),需要在 firewalld 中放行或通过 Nginx 反向代理
- systemd 服务:将 Ollama/vLLM 注册为 systemd 服务确保开机自启和崩溃重启
- 存储:大模型文件通常 5-70 GB,确保
/var或模型目录有足够空间 - NVIDIA 驱动兼容性:EL 9 推荐使用 NVIDIA 官方仓库,避免与内核版本不兼容
常见排查:GPU 不可用
Section titled “常见排查:GPU 不可用”部署后最常见的问题是”nvidia-smi 正常,但 Ollama/vLLM 看不到 GPU、退回到 CPU 运行”。按以下顺序排查:
-
确认宿主机能看到 GPU
Terminal window nvidia-smi # 列不出 GPU 说明驱动没装好,先回到 NVIDIA 驱动文档 -
容器化部署:检查 NVIDIA Container Toolkit
纯宿主机安装跳过此步。容器内看不到 GPU,通常是没装/没配置
nvidia-container-toolkit:Terminal window # 安装后生成 CDI 设备配置(Podman 推荐 CDI 方式)sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml# 运行时挂载 GPUpodman run --rm --device nvidia.com/gpu=all nvidia/cuda:12.4.0-base-ubi9 nvidia-smi -
SELinux 阻止容器访问设备
Terminal window # 允许容器访问 /dev 下的 GPU 设备节点sudo setsebool -P container_use_devices on# 排查时可临时看 AVC 拒绝记录sudo ausearch -m avc -ts recent -
CUDA / 驱动版本不匹配
vLLM/PyTorch 报
CUDA driver version is insufficient时,说明驱动版本低于框架要求的 CUDA 运行时。nvidia-smi右上角显示的是驱动支持的最高 CUDA 版本,需 ≥ 框架要求。 -
显存不足(OOM)
vLLM 启动报
CUDA out of memory:调小--gpu-memory-utilization(默认 0.9)、降低--max-model-len,或对大模型使用--tensor-parallel-size N在多卡间切分。
- NVIDIA 驱动与 CUDA — GPU 驱动安装详解
- Ollama — 最简单的入门方案
- Claude Code — AI 编码助手