今天又接客户电话,让帮部署一台算力服务器,里面八张GPU卡,安装的Ubuntu系统。
环境准备
使用lsblk查看了一下磁盘空间,发现SDA3下面创建了一个逻辑组和逻辑卷,但还有244G空间剩余。
所以首先用 lvcreate 又创建了一个逻辑卷,使用完剩余空间,并 mount 到 /model 目录下。
安装显卡驱动
会下载一个 deb 文件,上传到服务器上。
在服务器上执行 sudo dpkg -i nvidia-driver-local-repo-ubuntu2404-580.65.06_1.0-1_amd64.deb 解压
然后复制最后一行脚本,执行。
执行以下命令安装驱动
sudo apt-get update
sudo apt-get install -y cuda-drivers
安装CUDA
到CUDA Toolkit - Free Tools and Training | NVIDIA Developer下载对应CUDA驱动,这里选择13.0版本和驱动保持一致:
按照提示执行脚本即可:
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
验证
安装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