Ubuntu服务器环境下的千问3.5-9B生产级部署与运维指南

1. 前言:为什么选择Ubuntu部署大模型

在服务器操作系统选择上,Ubuntu凭借其稳定的LTS版本和丰富的软件生态,成为部署AI模型的首选平台。特别是对于千问3.5-9B这样的生产级大模型,Ubuntu提供了从硬件驱动到容器管理的完整支持链。

本教程将带您完成从裸机到生产环境的完整部署流程,重点解决三个核心问题:

  • 如何快速搭建符合大模型要求的Ubuntu基础环境
  • 如何利用Docker实现模型服务的标准化部署
  • 如何配置专业级的运维保障体系

整个过程不需要复杂的手动编译,我们将使用星图GPU镜像实现一键式部署。

2. 系统准备:Ubuntu安装与安全加固

2.1 系统安装最佳实践

建议选择Ubuntu 22.04 LTS服务器版,这是目前对NVIDIA GPU支持最完善的长期支持版本。安装时需注意:

  1. 分区方案:

    • / 根分区:至少100GB(建议200GB)
    • swap分区:物理内存的1.5-2倍
    • /data分区:单独挂载用于模型存储
  2. 关键软件包选择:

    • 预选OpenSSH server
    • 取消所有桌面环境选项
# 安装后立即更新
sudo apt update && sudo apt upgrade -y

2.2 基础安全配置

生产环境必须完成以下安全加固:

  1. 防火墙配置:
sudo ufw allow 22/tcp
sudo ufw allow 80,443/tcp
sudo ufw enable
  1. SSH安全增强:
sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin no/' /etc/ssh/sshd_config
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart sshd
  1. 创建专用运维账户:
sudo adduser deploy
sudo usermod -aG sudo deploy

3. 环境部署:Docker与GPU支持

3.1 Docker引擎安装

使用官方仓库安装最新版Docker:

# 安装依赖
sudo apt install -y ca-certificates curl gnupg

# 添加Docker官方GPG密钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# 设置仓库
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3.2 NVIDIA容器工具链配置

确保已安装NVIDIA驱动后,配置容器运行时:

# 添加NVIDIA容器仓库
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

# 安装nvidia-container-toolkit
sudo apt update
sudo apt install -y nvidia-container-toolkit
sudo systemctl restart docker

验证GPU是否可在容器中使用:

sudo docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi

4. 模型部署:使用星图镜像启动千问3.5-9B

4.1 镜像拉取与准备

星图镜像已预装所有依赖,直接拉取即可:

docker pull registry.cn-hangzhou.aliyuncs.com/csdn_mirror/qwen-3.5-9b:latest

建议创建专用数据卷存储模型文件:

docker volume create qwen_data

4.2 服务启动配置

创建docker-compose.yml文件:

version: '3.8'

services:
  qwen:
    image: registry.cn-hangzhou.aliyuncs.com/csdn_mirror/qwen-3.5-9b:latest
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    volumes:
      - qwen_data:/app/models
    ports:
      - "8000:8000"
    environment:
      - MODEL_NAME=Qwen-3.5-9B
      - MAX_GPU_MEMORY=24GB
    restart: unless-stopped

volumes:
  qwen_data:
    external: true

启动服务:

docker compose up -d

4.3 服务验证

检查服务日志:

docker logs -f qwen_qwen_1

测试API接口:

curl -X POST http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen-3.5-9B",
    "messages": [{"role": "user", "content": "请介绍一下你自己"}]
  }'

5. 生产级配置:高可用与监控

5.1 Nginx反向代理配置

安装Nginx并配置SSL:

sudo apt install -y nginx certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com

配置反向代理:

server {
    listen 443 ssl;
    server_name your-domain.com;

    ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;

    location / {
        proxy_pass http://localhost:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        
        # 大模型请求需要较长时间
        proxy_read_timeout 300s;
        proxy_send_timeout 300s;
    }
}

5.2 系统服务管理

创建systemd服务单元:

# /etc/systemd/system/qwen.service
[Unit]
Description=Qwen-3.5-9B Service
After=docker.service
Requires=docker.service

[Service]
Restart=always
ExecStart=/usr/bin/docker compose -f /path/to/docker-compose.yml up
ExecStop=/usr/bin/docker compose -f /path/to/docker-compose.yml down

[Install]
WantedBy=multi-user.target

启用服务:

sudo systemctl daemon-reload
sudo systemctl enable --now qwen.service

5.3 监控方案配置

安装Prometheus和Grafana:

docker run -d --name=prometheus -p 9090:9090 -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
docker run -d --name=grafana -p 3000:3000 grafana/grafana

配置Docker监控指标采集:

# prometheus.yml
scrape_configs:
  - job_name: 'docker'
    static_configs:
      - targets: ['localhost:9323']

6. 日常运维与问题排查

这套架构在实际运行中表现稳定,但有几个关键点需要注意:

首先是GPU内存管理,当并发请求量较大时,建议在docker-compose.yml中设置合理的MAX_GPU_MEMORY参数。我们实测发现9B模型在24GB显存下可以稳定处理3-5个并发请求。

其次是日志管理,建议配置logrotate定期压缩和清理容器日志:

# /etc/logrotate.d/docker
/var/lib/docker/containers/*/*.log {
  rotate 7
  daily
  compress
  delaycompress
  missingok
  copytruncate
}

遇到服务异常时,可以按照以下流程排查:

  1. 检查GPU状态:nvidia-smi
  2. 查看容器日志:docker logs qwen_qwen_1
  3. 测试API连通性:curl -v localhost:8000/health
  4. 检查资源使用:docker stats qwen_qwen_1

获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐