跳转到内容

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图像生成中等必须

只想快速跑通一个本地大模型:

  1. 安装 Ollama — 一行命令安装
  2. ollama run llama3.1 — 开始聊天

为团队提供可用的 AI 服务:

  1. NVIDIA 驱动与 CUDA — 安装 GPU 驱动
  2. Ollama — 安装并下载模型
  3. Open WebUI — 部署 Web 聊天界面
  4. Nginx 反向代理 — 配置 HTTPS 和域名
  5. 防火墙 — 配置访问控制

高并发、低延迟的推理服务:

  1. NVIDIA 驱动与 CUDA — GPU 驱动和 CUDA
  2. vLLM — 高性能推理引擎
  3. Nginx 反向代理 — 负载均衡和 SSL
  4. 系统监控 — GPU 和服务监控
  5. 性能调优 — 内核和网络优化
  • 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 官方仓库,避免与内核版本不兼容

部署后最常见的问题是”nvidia-smi 正常,但 Ollama/vLLM 看不到 GPU、退回到 CPU 运行”。按以下顺序排查:

  1. 确认宿主机能看到 GPU

    Terminal window
    nvidia-smi # 列不出 GPU 说明驱动没装好,先回到 NVIDIA 驱动文档
  2. 容器化部署:检查 NVIDIA Container Toolkit

    纯宿主机安装跳过此步。容器内看不到 GPU,通常是没装/没配置 nvidia-container-toolkit

    Terminal window
    # 安装后生成 CDI 设备配置(Podman 推荐 CDI 方式)
    sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
    # 运行时挂载 GPU
    podman run --rm --device nvidia.com/gpu=all nvidia/cuda:12.4.0-base-ubi9 nvidia-smi
  3. SELinux 阻止容器访问设备

    Terminal window
    # 允许容器访问 /dev 下的 GPU 设备节点
    sudo setsebool -P container_use_devices on
    # 排查时可临时看 AVC 拒绝记录
    sudo ausearch -m avc -ts recent
  4. CUDA / 驱动版本不匹配

    vLLM/PyTorch 报 CUDA driver version is insufficient 时,说明驱动版本低于框架要求的 CUDA 运行时。nvidia-smi 右上角显示的是驱动支持的最高 CUDA 版本,需 ≥ 框架要求。

  5. 显存不足(OOM)

    vLLM 启动报 CUDA out of memory:调小 --gpu-memory-utilization(默认 0.9)、降低 --max-model-len,或对大模型使用 --tensor-parallel-size N 在多卡间切分。