Ubuntu24.04部署模型及DIFY

125 阅读2分钟

今天又接客户电话,让帮部署一台算力服务器,里面八张GPU卡,安装的Ubuntu系统。

环境准备

使用lsblk查看了一下磁盘空间,发现SDA3下面创建了一个逻辑组和逻辑卷,但还有244G空间剩余。

所以首先用 lvcreate 又创建了一个逻辑卷,使用完剩余空间,并 mount 到 /model 目录下。

安装显卡驱动

英伟达官网驱动页面

image.png

会下载一个 deb 文件,上传到服务器上。 在服务器上执行 sudo dpkg -i nvidia-driver-local-repo-ubuntu2404-580.65.06_1.0-1_amd64.deb 解压

image.png

然后复制最后一行脚本,执行。

执行以下命令安装驱动

sudo apt-get update
sudo apt-get install -y cuda-drivers

安装CUDA

CUDA Toolkit - Free Tools and Training | NVIDIA Developer下载对应CUDA驱动,这里选择13.0版本和驱动保持一致:

image.png

按照提示执行脚本即可:

wget https://developer.download.nvidia.com/compute/cuda/13.0.0/local_installers/cuda_13.0.0_580.65.06_linux.run
sudo sh cuda_13.0.0_580.65.06_linux.run

验证

image.png

安装ollama

还是使用的官方脚本,一键安装部署,结果提示重启后悲催了,启动时候进入系统黑屏。咨询了一下chatgpt,是因为ollama装的驱动可能和内核不兼容。由于是客户方自己安装的OS,为快速解决,直接重装了Ubuntu24.04 LTS。 默认情况下,ollama拉取的模型存储目录为:

/usr/share/ollama/.ollama/models

一键部署安装完成后,修改 /etc/systemd/system/ollama.service 文件

添加:

Environment="OLLAMA_MODELS=/home/ollama/models"
Environment="OLLAMA_HOST=0.0.0.0:11434

修改默认模型保存位置

刷新配置并重启服务

sudo systemctl daemon-reload
sudo systemctl restart ollama.service
sudo systemctl status ollama

一切正常,拉取使用的模型

安装dify

按照官网clone git文件后, 使用 docker-compose up -d 即可。

部署xinference

按照教程启动容器的时候,提示:

Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running hook #0: error running hook: exit status 1, stdout: , stderr: Auto-detected mode as 'legacy' nvidia-container-cli: initialization error: load library failed: libnvidia-ml.so.1: cannot open shared object file: no such file or directory: unknown

这个问题看上去简单,但是浪费了有三个小时,搜索并借助chatGPT,查看库路径以及libnvidia-ml.so.1 链接都正常,nvidia 驱动也测试正常,nvidia-container-cli 测试也正常,反复按照AI给的步骤检查都没问题。就是启动容器的时候提示这个错误。

最后偶尔在一个网页上看到可能是因为snap安装的docker问题。果断将snap 安装的 docker 删除后,重新使用官方源安装最新的docker之后解决。

这次启动容器的脚本:

docker run -d --restart=always --name=xinference \
-e XINFERENCE_MODEL_SRC=modelscope \
-e XINFERENCE_HOME=/opt/xinference \
-v /home/xinference:/opt/xinference \
--runtime=nvidia \
--gpus all \
-p 9997:9997 xprobe/xinference:v1.7.0 \
xinference-local -H 0.0.0.0 --log-level debug