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(推荐)
- 下载 WinSCP:https://winscp.net/
- 连接服务器:
- 主机名:服务器 IP
- 用户名:
hcms - 密码:你的密码
- 将整个
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
当前状态总结
✅ 已完成的工作
-
本地准备(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)
-
文件传输(100%)
- ✅ 使用 scp 传输 12GB 文件到服务器
- ✅ 服务器路径:
/home/hcms/ollama/navid/ - ✅ 验证文件完整性
暂停原因
服务器为生产环境,需要计划维护窗口才能继续:
- 安装 NVIDIA 驱动需要重启服务器
- 需要禁用 Nouveau 驱动(系统默认显卡驱动)
- 重启会影响当前运行的业务
🔜 待完成的工作
阶段三:服务器部署(需要维护窗口)
-
安装 NVIDIA 驱动(需要重启)
- 禁用 Nouveau 驱动
- 重启服务器
- 安装 NVIDIA 驱动
- 验证
nvidia-smi命令
-
安装 Docker(无需重启)
- 离线安装 Docker 包
- 配置 Docker 服务
- 添加用户权限
-
安装 NVIDIA Container Toolkit(无需重启)
- 安装 Toolkit 包
- 配置 Docker Runtime
- 验证 GPU 在容器中可用
-
部署 Ollama(无需重启)
- 加载 Ollama 镜像
- 复制模型文件
- 启动 Ollama 容器
- 测试 API
-
后端对接
- 配置 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 分钟
负责人:[你的名字]
联系方式:[你的联系方式]
请相关人员提前做好准备,如有问题请及时联系。

浙公网安备 33010602011771号