L20显卡驱动安装+部署Ollama+Qwen2:14B

内网服务器 AI 部署完整指南

项目概述

目标:在内网 Ubuntu 24.04 服务器(L20 显卡)上部署 Ollama + Qwen2.5-14B 大模型

环境

  • 服务器:Ubuntu 24.04(无外网)
  • 显卡:NVIDIA L20(48GB 显存)
  • 本地电脑:Windows + Docker Desktop

当前进度

阶段一:本地准备文件(✅ 已完成)

任务状态说明
下载 NVIDIA 驱动 ✅ 完成 NVIDIA-Linux-x86_64-560.35.03.run (322MB)
下载 Docker 离线包 ✅ 完成 5 个 .deb 文件
下载 NVIDIA Container Toolkit ✅ 完成 3 个 .deb 文件
下载 Ollama 镜像 ✅ 完成 ollama-latest.tar (~1GB)
下载 Qwen2.5-14B 模型 ✅ 完成 约 9GB,包含 5 个文件

阶段二:传输到服务器(✅ 已完成)

  • 验证本地文件完整性
  • 使用 scp 传输到服务器(10.86.40.152)
  • 验证服务器端文件完整性(12GB)

阶段三:服务器部署(🔄 进行中)

  • 安装 NVIDIA 驱动
  • 安装 Docker
  • 安装 NVIDIA Container Toolkit
  • 部署 Ollama 容器
  • 加载模型
  • 测试 API

📁 文件清单

本地文件结构

C:\Users\e3songj25e\Desktop\navid\
├── NVIDIA-Linux-x86_64-560.35.03.run          # NVIDIA 驱动
├── docker-offline\                             # Docker 离线包
│   ├── docker-ce_27.4.1-1~ubuntu.24.04~noble_amd64.deb
│   ├── docker-ce-cli_27.4.1-1~ubuntu.24.04~noble_amd64.deb
│   ├── containerd.io_1.7.24-1_amd64.deb
│   ├── docker-buildx-plugin_0.19.3-1~ubuntu.24.04~noble_amd64.deb
│   └── docker-compose-plugin_2.32.1-1~ubuntu.24.04~noble_amd64.deb
├── nvidia-container-toolkit\                  # NVIDIA Container Toolkit
│   ├── libnvidia-container1_1.17.3-1_amd64.deb
│   ├── libnvidia-container-tools_1.17.3-1_amd64.deb
│   └── nvidia-container-toolkit_1.17.3-1_amd64.deb
├── ollama\                                     # Ollama 镜像
│   └── ollama-latest.tar
└── ollama-models\                              # 模型文件
    └── (Qwen2.5-14B 模型数据)

 详细部署步骤

步骤 1:完成本地准备(当前步骤)

1.1 保存 Ollama 镜像

cd C:\Users\e3songj25e\Desktop\navid\ollama
docker save ollama/ollama:latest -o ollama-latest.tar

1.2 下载模型

# 返回上级目录
cd ..
mkdir ollama-models

# 启动临时容器
docker run -d --name ollama-temp -v C:\Users\e3songj25e\Desktop\navid\ollama-models:/root/.ollama ollama/ollama

# 下载 Qwen2.5-14B 模型(约 9GB)
docker exec -it ollama-temp ollama pull qwen2.5:14b

# 下载完成后清理
docker stop ollama-temp
docker rm ollama-temp

1.3 验证文件

cd C:\Users\e3songj25e\Desktop\navid
Get-ChildItem -Recurse -File | Format-Table Name, Length -AutoSize

步骤 2:传输到服务器

方法一:使用 WinSCP(推荐)

  1. 下载 WinSCP:https://winscp.net/
  2. 连接服务器:
    • 主机名:服务器 IP
    • 用户名:hcms
    • 密码:你的密码
  3. 将整个 navid 文件夹拖到 /home/hcms/

方法二:使用 scp 命令

cd C:\Users\e3songj25e\Desktop
scp -r navid hcms@服务器IP:/home/hcms/

步骤 3:服务器部署

3.1 安装 NVIDIA 驱动

# SSH 连接到服务器
ssh hcms@服务器IP

# 禁用 Nouveau 驱动
sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
sudo update-initramfs -u
sudo reboot

# 重启后,安装驱动
cd /home/hcms/navid
sudo chmod +x NVIDIA-Linux-x86_64-560.35.03.run
sudo ./NVIDIA-Linux-x86_64-560.35.03.run --no-opengl-files

# 验证
nvidia-smi

期望输出:显示 L20 显卡信息


3.2 安装 Docker

cd /home/hcms/navid/docker-offline

# 安装所有 deb 包
sudo dpkg -i *.deb

# 如果有依赖问题
sudo apt --fix-broken install

# 启动 Docker
sudo systemctl start docker
sudo systemctl enable docker

# 添加用户到 docker 组
sudo usermod -aG docker $USER
newgrp docker

# 验证
docker run hello-world

3.3 安装 NVIDIA Container Toolkit

cd /home/hcms/navid/nvidia-container-toolkit

# 按顺序安装
sudo dpkg -i libnvidia-container1_*.deb
sudo dpkg -i libnvidia-container-tools_*.deb
sudo dpkg -i nvidia-container-toolkit_*.deb

# 配置 Docker
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

# 验证 GPU 在容器中可用
docker run --rm --gpus all nvidia/cuda:12.0-base-ubuntu22.04 nvidia-smi

期望输出:容器内也能看到 L20 显卡


3.4 部署 Ollama

cd /home/hcms/navid/ollama

# 加载 Ollama 镜像
docker load -i ollama-latest.tar

# 复制模型文件到数据目录
mkdir -p /home/hcms/ollama-data
cp -r /home/hcms/navid/ollama-models/* /home/hcms/ollama-data/

# 启动 Ollama 容器
docker run -d \
  --name ollama \
  --gpus all \
  -p 11434:11434 \
  -v /home/hcms/ollama-data:/root/.ollama \
  --restart unless-stopped \
  ollama/ollama:latest

# 查看日志
docker logs -f ollama

3.5 测试模型

# 查看已加载的模型
docker exec ollama ollama list

# 测试对话
curl http://localhost:11434/api/generate -d '{
  "model": "qwen2.5:14b",
  "prompt": "你好,请介绍一下你自己",
  "stream": false
}'

验证清单

检查项命令期望结果
NVIDIA 驱动 nvidia-smi 显示 L20 显卡,48GB 显存
Docker 运行 docker ps 显示 ollama 容器 Running
GPU 可用 docker exec ollama nvidia-smi 容器内看到显卡
Ollama API curl localhost:11434/api/version 返回版本信息
模型列表 docker exec ollama ollama list 显示 qwen2.5:14b
模型推理 发送测试请求 返回 AI 回复

🔗 后端对接

Spring Boot 配置

# application.yml
ollama:
  base-url: http://内网服务器IP:11434
  model: qwen2.5:14b

测试连接

# 从你的开发机测试
curl http://内网服务器IP:11434/api/version

资源占用预估

组件显存占用说明
Qwen2.5-14B ~18GB 模型加载后
Ollama 框架 ~2GB 运行时开销
总计 ~20GB L20 有 48GB,足够

常见问题

1. nvidia-smi 找不到命令

原因:驱动未安装或安装失败
解决:重新安装驱动,检查是否禁用了 Nouveau

2. Docker 容器看不到 GPU

原因:NVIDIA Container Toolkit 未安装或配置错误
解决:重新安装 Toolkit,执行 nvidia-ctk runtime configure

3. 模型加载失败

原因:模型文件未正确复制
解决:检查 /home/hcms/ollama-data 目录是否有模型文件

4. 显存不足

原因:模型太大
解决:使用量化版本,如 qwen2.5:14b-q4_0


当前状态总结

✅ 已完成的工作

  1. 本地准备(100%)

    • ✅ 下载 NVIDIA 驱动 560.35.03(CUDA 12.6)
    • ✅ 下载 Docker 离线安装包(5 个 .deb 文件)
    • ✅ 下载 NVIDIA Container Toolkit(3 个 .deb 文件)
    • ✅ 下载 Ollama Docker 镜像(3.2GB)
    • ✅ 下载 Qwen2.5-14B 模型(8.4GB)
  2. 文件传输(100%)

    • ✅ 使用 scp 传输 12GB 文件到服务器
    • ✅ 服务器路径:/home/hcms/ollama/navid/
    • ✅ 验证文件完整性

暂停原因

服务器为生产环境,需要计划维护窗口才能继续:

  • 安装 NVIDIA 驱动需要重启服务器
  • 需要禁用 Nouveau 驱动(系统默认显卡驱动)
  • 重启会影响当前运行的业务

🔜 待完成的工作

阶段三:服务器部署(需要维护窗口)

  1. 安装 NVIDIA 驱动(需要重启)

    • 禁用 Nouveau 驱动
    • 重启服务器
    • 安装 NVIDIA 驱动
    • 验证 nvidia-smi 命令
  2. 安装 Docker(无需重启)

    • 离线安装 Docker 包
    • 配置 Docker 服务
    • 添加用户权限
  3. 安装 NVIDIA Container Toolkit(无需重启)

    • 安装 Toolkit 包
    • 配置 Docker Runtime
    • 验证 GPU 在容器中可用
  4. 部署 Ollama(无需重启)

    • 加载 Ollama 镜像
    • 复制模型文件
    • 启动 Ollama 容器
    • 测试 API
  5. 后端对接

    • 配置 Spring Boot 连接 Ollama
    • 测试对话功能

生产环境部署建议

重启前准备清单

# 1. 查看当前运行的容器
docker ps

# 2. 查看系统服务
systemctl list-units --type=service --state=running

# 3. 确认自动启动的服务
systemctl list-unit-files | grep enabled

# 4. 备份重要数据(如有需要)

维护窗口建议

  • 时间选择:业务低峰期(凌晨 2:00-5:00 或周末)
  • 预计时长:30-60 分钟
  • 影响范围:服务器重启一次(约 2-5 分钟)
  • 回滚方案:如果驱动安装失败,可以卸载驱动恢复

通知模板

【系统维护通知】

维护时间:YYYY-MM-DD HH:MM - HH:MM
维护内容:安装 AI 服务所需的 GPU 驱动
影响范围:服务器将重启一次,预计中断 2-5 分钟
负责人:[你的名字]
联系方式:[你的联系方式]

请相关人员提前做好准备,如有问题请及时联系。

 

posted @ 2026-01-19 15:01  烈酒清茶  阅读(3)  评论(0)    收藏  举报