基于 Ubuntu 22.04
安装前提条件
硬件检查
检查您的系统是否具有兼容的 NVIDIA GPU。如果您不知道系统中确切的 GPU 型号,请运行以下命令:
复制
1lspci -v | egrep "NVIDIA"此命令应针对每个已安装的 NVIDIA GPU 输出一行。请在我们的“硬件要求”页面上检查您的硬件是否兼容。请注意,您仍然可以在没有 NVIDIA GPU 的机器上安装 HEAVY.AI 的 CPU 版本。
安装前更新
升级系统和内核,然后根据需要升级机器。
复制
1sudo apt update复制
1sudo apt upgrade -y
2sudo reboot安装内核头文件
安装内核头文件和开发包。
复制
1sudo apt install linux-headers-$(uname -r)安装额外的软件包。
复制
1sudo apt install pciutils安装 Vulkan 库
HEAVY.AI 的渲染引擎(存在于企业版中)需要支持 Vulkan 的驱动程序和 Vulkan 库。如果没有这些组件,数据库本身可能无法启动。
使用 安装 Vulkan 库及其依赖项apt。
复制
1sudo apt install libvulkan1有关 Vulkan 故障排除的更多信息,请参阅Vulkan 渲染器部分。
安装 NVIDIA 驱动程序
运行该命令以获取可用驱动程序版本的列表
1apt list nvidia-driver-*![]()
安装所需的驱动程序版本apt
复制
1sudo apt install nvidia-driver-<version>NVIDIA 驱动程序安装后步骤
重新启动系统以确保已加载新版本的驱动程序
复制
1sudo reboot验证 NVIDIA 驱动程序安装成功
运行nvidia-smi以验证您的驱动程序是否正确安装并识别您环境中的 GPU。根据您的环境,您应该会看到类似这样的内容,以确认您的 NVIDIA GPU 和驱动程序存在。
![]()
安装 Vulkan 库
HEAVY.AI 的渲染引擎需要支持 Vulkan 的驱动程序和 Vulkan 库。如果没有这些组件,数据库本身甚至无法启动,除非禁用后端渲染器。
使用 安装 Vulkan 库及其依赖项apt。
复制
1sudo apt install libvulkan1有关 Vulkan 故障排除的更多信息,请参阅Vulkan 渲染器部分。
安装CUDA Toolkit
如果您使用上面的选项 1安装了 NVIDIA 驱动程序,则 CUDA 工具包已安装;您可以继续执行下面的验证步骤。
安装 NVIDIA 公共存储库 GPG 密钥。
复制
1distribution=$(. /etc/os-release;echo $ID$VERSION_ID | sed -e 's/\.//g')
2sudo apt-key adv --fetch-keys \
3https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/3bf863cc.pub添加存储库。
复制
1echo "deb http://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64 /" \
2| sudo tee /etc/apt/sources.list.d/cuda.list
3apt update列出可用的 Cuda 工具包版本。
1root@VM-8-208-ubuntu:~# apt list cuda-toolkit-* | grep -v config
2
3WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
4
5Listing...
6cuda-toolkit-11-7/unknown 11.7.1-1 amd64
7cuda-toolkit-11-8/unknown 11.8.0-1 amd64
8cuda-toolkit-12-0/unknown 12.0.1-1 amd64
9cuda-toolkit-12-1/unknown 12.1.1-1 amd64
10cuda-toolkit-12-2/unknown 12.2.2-1 amd64
11cuda-toolkit-12-3/unknown 12.3.2-1 amd64
12cuda-toolkit-12-4/unknown 12.4.1-1 amd64
13cuda-toolkit-12-5/unknown 12.5.1-1 amd64
14cuda-toolkit-12-6/unknown 12.6.3-1 amd64
15cuda-toolkit-12/unknown 12.6.3-1 amd64使用安装 CUDA 工具包apt。
复制
1sudo apt install cuda-toolkit-<version>确认
检查一切是否正常且工具包是否已安装。
复制
1/usr/local/cuda/bin/nvcc --version
2
3nvcc: NVIDIA (R) Cuda compiler driver
4Copyright (c) 2005-2020 NVIDIA Corporation
5Built on Mon_Nov_30_19:08:53_PST_2020
6Cuda compilation tools, release 11.2, V11.2.67
7Build cuda_11.2.r11.2/compiler.29373293_01root@VM-8-208-ubuntu:~# echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
2root@VM-8-208-ubuntu:~# echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
3root@VM-8-208-ubuntu:~# source ~/.bashrc
4root@VM-8-208-ubuntu:~# nvcc --version
5nvcc: NVIDIA (R) Cuda compiler driver
6Copyright (c) 2005-2024 NVIDIA Corporation
7Built on Tue_Oct_29_23:50:19_PDT_2024
8Cuda compilation tools, release 12.6, V12.6.85
9Build cuda_12.6.r12.6/compiler.35059454_0安装Clang
如果您使用 C++ 用户定义函数和/或用户定义表函数等高级功能来扩展数据库功能,则必须安装 Clang。使用 安装 Clang 和 LLVM 依赖项apt。
复制
1sudo apt install clang确认
检查软件是否已安装且位于执行路径中。
复制
1root@VM-8-208-ubuntu:~# clang --version
2Ubuntu clang version 14.0.0-1ubuntu1.1
3Target: x86_64-pc-linux-gnu
4Thread model: posix
5InstalledDir: /usr/bin安装 Docker
1apt install curl vim wget gnupg dpkg apt-transport-https lsb-release ca-certificates
2
3curl -sS https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
4
5echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list
6
7apt update && apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin1root@catcat:~# cat /etc/docker/daemon.json
2{
3 "log-driver": "json-file",
4 "log-opts": {
5 "max-size": "20m",
6 "max-file": "3"
7 },
8 "experimental":true,
9 "data-root": "/root/docker_data",
10 "registry-mirrors": ["https://docker.1ms.run" ]
11}
12systemctl restart docker安装 GPU-Docker 组件
1安装 gpu-docekr
2
3apt-get install -y nvidia-docker2
4nvidia-ctk runtime configure --runtime=docker
5
6这个会修改 daemon.json 文件,增加容器运行时
7root@VM-8-208-ubuntu:~# nvidia-ctk runtime configure --runtime=docker
8INFO[0000] Loading config from /etc/docker/daemon.json
9INFO[0000] Wrote updated config to /etc/docker/daemon.json
10INFO[0000] It is recommended that docker daemon be restarted.1root@VM-8-208-ubuntu:~# cat /etc/docker/daemon.json
2{
3 "data-root": "/root/docker_data",
4 "experimental": true,
5 "log-driver": "json-file",
6 "log-opts": {
7 "max-file": "3",
8 "max-size": "20m"
9 },
10 "registry-mirrors": [
11 "https://docker.1ms.run"
12 ],
13 "runtimes": {
14 "nvidia": {
15 "args": [],
16 "path": "nvidia-container-runtime"
17 }
18 }
19}验证安装
1root@VM-8-208-ubuntu:~# systemctl restart docker
2root@VM-8-208-ubuntu:~# docker run --rm -it --gpus all ubuntu:22.04 /bin/bash
3root@cad0abb4936b:/# nvidia-smi
4Tue Aug 1 00:57:29 2023
5+-----------------------------------------------------------------------------+
6| NVIDIA-SMI 520.61.05 Driver Version: 520.61.05 CUDA Version: 11.8 |
7|-------------------------------+----------------------+----------------------+
8| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
9| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
10| | | MIG M. |
11|===============================+======================+======================|
12| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |
13| 0% 51C P8 21W / 160W | 528MiB / 6144MiB | 29% Default |
14| | | N/A |
15+-------------------------------+----------------------+----------------------+
16
17+-----------------------------------------------------------------------------+
18| Processes: |
19| GPU GI CI PID Type Process name GPU Memory |
20| ID ID Usage |
21|=============================================================================|
22+-----------------------------------------------------------------------------+
23root@cad0abb4936b:/#1root@l4d2-forward:~/TeamSpeak# docker logs teamspeak-teamspeak-1
22024-12-12 05:48:10.030543|INFO |ServerLibPriv | |TeamSpeak 3 Server 3.13.7 (2022-06-20 12:21:53)
32024-12-12 05:48:10.030628|INFO |ServerLibPriv | |SystemInformation: Linux 5.10.0-30-amd64 #1 SMP Debian 5.10.218-1 (2024-06-01) x86_64 Binary: 64bit
42024-12-12 05:48:10.030651|INFO |ServerLibPriv | |Using hardware aes
52024-12-12 05:48:10.030986|INFO |DatabaseQuery | |dbPlugin name: MariaDB plugin, version 3, (c)TeamSpeak Systems GmbH
62024-12-12 05:48:10.031040|INFO |DatabaseQuery | |dbPlugin version: 2
72024-12-12 05:48:18.453775|INFO |SQL | |db_CreateTables() tables created
8
9------------------------------------------------------------------
10 I M P O R T A N T
11------------------------------------------------------------------
12 Server Query Admin Account created
13 loginname= "serveradmin", password= "zKqn6Y0j"
14 apikey= "BAAUOSo-F8ADMyaE9BqtVukv89P60wlNvFykSGq"
15------------------------------------------------------------------
16
172024-12-12 05:48:18.515954|WARNING |Accounting | |Unable to open licensekey.dat, falling back to limited functionality
182024-12-12 05:48:18.524291|INFO |Accounting | |Licensing Information
192024-12-12 05:48:18.524324|INFO |Accounting | |licensed to : Anonymous
202024-12-12 05:48:18.524344|INFO |Accounting | |type : No License
212024-12-12 05:48:18.524363|INFO |Accounting | |starting date : Tue Feb 1 00:00:00 2022
222024-12-12 05:48:18.524380|INFO |Accounting | |ending date : Thu Jul 1 00:00:00 2027
232024-12-12 05:48:18.524392|INFO |Accounting | |max virtualservers: 1
242024-12-12 05:48:18.524403|INFO |Accounting | |max slots : 32
252024-12-12 05:48:19.071662|INFO | | |Puzzle precompute time: 530
262024-12-12 05:48:19.072464|INFO |FileManager | |listening on 0.0.0.0:30033, [::]:30033
272024-12-12 05:48:19.077083|INFO |VirtualSvrMgr | |executing monthly interval
282024-12-12 05:48:19.077549|INFO |VirtualSvrMgr | |reset virtualserver traffic statistics
292024-12-12 05:48:19.084343|INFO |Query | |Using a query thread pool size of 2
302024-12-12 05:48:19.130955|INFO |VirtualServerBase|1 |listening on 0.0.0.0:9987, [::]:9987
312024-12-12 05:48:19.135106|WARNING |VirtualServer |1 |--------------------------------------------------------
322024-12-12 05:48:19.135139|WARNING |VirtualServer |1 |ServerAdmin privilege key created, please use the line below
332024-12-12 05:48:19.135158|WARNING |VirtualServer |1 |token=BK2xL7Bm4Q2NEq4hsYYUJm4N1pVFuyZn6s33Jr6x
342024-12-12 05:48:19.135173|WARNING |VirtualServer |1 |--------------------------------------------------------
35
36------------------------------------------------------------------
37 I M P O R T A N T
38------------------------------------------------------------------
39 ServerAdmin privilege key created, please use it to gain
40 serveradmin rights for your virtualserver. please
41 also check the doc/privilegekey_guide.txt for details.
42
43 token=BK2xL7Bm4Q2NEq4hsYYUJm4N1pVFuyZn6s33Jr6x
44------------------------------------------------------------------
45
462024-12-12 05:48:19.135520|INFO |Query | |listening for query on 0.0.0.0:10011, [::]:10011
472024-12-12 05:48:19.135711|INFO |CIDRManager | |updated query_ip_allowlist ips: 127.0.0.1/32, ::1/128,
48root@l4d2-forward:~/TeamSpeak#