GPU服务器硬件及软件

硬件

目录

硬件

软件

0、预安装软件

1、卸载旧的驱动并重启

2、禁止Nouveau

3、更新并重启

4、检查是否成功

5、安装显卡驱动

6、安装cuda11.3

7、安装nvidia-container-runtime

8、安装LXD、ZFS、Bridge-utils

9、磁盘

10、初始化LXD

11、创建容器

12、配置容器

13、容器内安装显卡驱动和cuda

14、配置网络

15、全局配置

16、安装、美化桌面

17、容器管理

推荐连接方式:

其他:


配件 具体型号
cpu AMD 3960x
主板 华硕TRX40-pro s
散热器 猫头鹰U12S TR4-SP3
显卡 索泰RTX3080TI *2
内存 英睿达32g 3600MHz *4
ssd 1T
hdd 东芝4T
机箱 追风者全塔机箱614PC
机箱风扇 追风者SK神风140mm风扇 6个
电源 长城巨龙2000w

低成本硬件:

单人使用:主板z170(华硕z170 pro gaming)、z370等,CPU i5 6500,其他看着买

多人使用(虚拟化):技嘉X99 ud4,E5 2696v3。

有钱的直接选主流配置。

CPU的选择要注意PCIE通道数,比如 intel 12400 的PCIE通道数为20,即可以满速带动一个x16(显卡)和一个x4(无线网卡或其他扩展)。AMD ThreadRipper3有64个以上的通道(参考:12.4. 硬件 — 动手学深度学习 2.0.0-beta1 documentation (d2l.ai))。如果PCIE通道为20的CPU上使用了双显卡,则每张卡只能用8个通道,传输速率是瓶颈。消费级CPU的通道数一般都是20。

软件

系统及软件参考:基于LXD搭建多人共用GPU服务器,简单易用,全网最详细!_比特桃的博客-CSDN博客_lxd

0、预安装软件

apt update

apt install vim

apt install net-tools

apt install openssh-server

# 修改 /etc/ssh/sshd_config,可以使用密码登录SSH

PermitRootLogin yes

PasswordAuthentication yes

service ssh start

# 开机自启动(默认)

systemctl enable ssh

# 安装gcc

apt install build-essential

# 安装anaconda,首先到官网下载安装包

bash Anaconda.sh

1、卸载旧的驱动并重启

apt-get purge nvidia*

apt-get autoremove

reboot

2、禁止Nouveau

vim /etc/modprobe.d/blacklist.conf

# 文件末尾添加以下两行:

blacklist nouveau

options nouveau modeset=0

3、更新并重启

update-initramfs -u

reboot

4、检查是否成功

lsmod | grep nouveau

# 取得root权限,关闭Nvidia驱动

systemctl isolate multi-user.target

# 下面的报错不影响

modprobe -r nvidia-drm

5、安装显卡驱动

# 到官网选择显卡型号,下载最新版的驱动

# 驱动文件权限
# 此处为缩写,NVIDIA-Linux.....run为驱动文件

chmod a+x NVIDIA-Linux………run 

# 驱动文件运行安装

bash NVIDIA-Linux…..run

测试是否安装成功

nvidia-smi

6、安装cuda11.3

# 下载CUDA文件,本文下载的是v11.3.1​
wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.runsudo

# 运行安装

sh cuda_11.3.1_465.19.01_linux.run

# 配置环境变量,在bashrc文件里添加下面的两行export

vim ~/.bashrc

export PATH=/usr/local/cuda-11.3/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64:$LD_LIBRARY_PATH

# 测试

nvcc -V

​

7、安装nvidia-container-runtime

​
# 依次运行下面5条命令

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | apt-key add -

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)

curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | tee /etc/apt/sources.list.d/nvidia-docker.list

apt-get update

apt install libnvidia-container-dev libnvidia-container-tools nvidia-container-runtime -y

​

8、安装LXD、ZFS、Bridge-utils

sudo apt-get install lxd zfsutils-linux bridge-utils

9、磁盘

# 查看磁盘

fdisk -l

# 对磁盘进行分区:

fdisk /dev/sda

10、初始化LXD

lxd init

# 如果已有zpool,则将其配置为本项目

Do you want to configure a new storage pool? (yes/no) [default=yes]: yes

Create a new ZFS pool? (yes/no) [default=yes]: no

11、创建容器

lxc launch ubuntu:20.04 ContainerName

12、配置容器

# 传送单个文件
# 从宿主机到容器
lxc file push  /
# 从容器到宿主机
lxc file pull / 

# 共享文件夹:宿主机内创建,共享给容器

# 创建文件夹
cd /

mkdir share
# 将创建的文件夹共享给某个容器
lxc config device add    disk source=/share path=/share

# 其中path为容器路径,source 为宿主机路径

# 移除共享文件夹

lxc config device remove  

13、容器内安装显卡驱动和cuda

# 宿主机内将gpu分配给容器
lxc config device add  gpu gpu

# 安装驱动(/share目录下)

./NVIDIA-Linux-x86_64-470.63.01.run --no-kernel-module

# 安装cuda(/share目录下)

./cuda_11.3.1_465.19.01_linux.run

14、配置网络

# 设置端口映射,将容器的端口映射到宿主机,客户端连接宿主机的端口使用
# 192.168.1.28为宿主机地址,10.214.111.11为容器地址,22为ssh端口,3389为xrdp端口

# lxc config device add   listen=tcp:宿主机IP:port connect=tcp:容器IP:port bind=host

lxc config device add  ssh listen=tcp:192.168.1.28:8002 connect=tcp:10.214.111.11:22 bind=host

lxc config device add  xrdp listen=tcp:192.168.1.28:8003 connect=tcp:10.214.111.11:3389 bind=host

# 修改容器内的ssh(参考上面的宿主机配置,设置目的是可以使用密码登录)

15、全局配置

# 设置项目级共享目录

lxc profile device add default share disk source=/share/ path=/share

# 其中,default为项目名,share为在宿主机里设置的共享文件夹名

# 设置GPU

lxc profile device add default gpu gpu

# 配置 nvidia.runtime,让容器使用宿主机的驱动和相关 runtime,这样就不需要在容器内安装驱动

# 此项和security相关配置冲突,如果想用特权容器,则删掉此项,手动安装驱动

lxc profile set default nvidia.runtime true

# 开机自动启动容器

lxc profile set default boot.autostart true

# 可以再次检查这个默认的 profile 是否有误

lxc profile show default

# 修改默认配置项

lxc profile edit default

16、安装、美化桌面

​
sudo apt install --no-install-recommends ubuntu-desktop

sudo apt-get update

sudo apt-get install xrdp

# 将xrdp用户添加到组:

sudo adduser xrdp ssl-cert 

sudo systemctl restart xrdp

sudo apt update

# 安装图标主题,中间很慢,多等会

sudo apt install papirus-icon-theme

# 安装GTK主题

git clone https://github.com/vinceliuice/vimix-gtk-themes.git

cd vimix-gtk-themes

sudo ./install

# 安装Gnome Tweak Tool

sudo apt install gnome-tweak-tool

# 显示Linux系统信息工具

sudo apt install neofetch

# 查看CPU运行以及内存占用情况工具

sudo apt install htop

​

17、容器管理

​
zpool list

lxc config edit 

Anaconda

# 使用Python3.8的环境

conda create -n lxd38 python=3.8 -y

conda activate lxd38

# 可视化 lxdui

git clone https://github.com/AdaptiveScale/lxdui.git

cd lxdui

pip install -r requirments.txt

python setup.py install

# 测试启动,终端关闭则停止服务

python run.py start 或 lxdui start

# 日常使用启动方式

nohup python3 run.py start > python.log3 2>&1 &

# 打开浏览器输入:localhost:15151,即可访问

推荐连接方式:

终端工具:Xshell、Tabby、远程连接(花生壳、todesk等)

推荐用终端工具,todesk偶尔内存会爆

花生壳映射22端口,终端连接

局域网:容器内安装xrdp,使用Windows自带的远程桌面连接xrdp端口映射后的端口

其他:

修改root密码:以root权限登录,在终端输入passwd,设置新密码

使用Windows的Pycharm、vscode等软件远程编写调试服务器端的代码(SSH)参考:

(1条消息) 配置Pycharm连接远程服务器_南方-D的博客-CSDN博客_pycharm连接远程服务器

你可能感兴趣的:(linux,服务器,运维)