安装GPU
禁用nouveau
sudo vi /etc/modprobe.d/blacklist.conf
在配置文件中写入以下
blacklist nouveau options nouveau modesel=0
更新并重启系统
sudo update-initramfs -u
开机后打开命令行终端输入以下命令,查看禁令是否成功
sudo lsmod | grep nouveau
安装官方驱动
到nvidia官方网站上下载对应显卡的驱动, 比如:
NVIDIA-Linux-x86_64-450.66.run,然后 运行。
安装成功后,可执行nvidia-smi检查状态。
检查: /dev/nvidia* 看是否有如下文件:
lls -l /dev/nivida*
crw-rw-rw- 1 root root 195, 0 9月 15 08:52 /dev/nvidia0
crw-rw-rw- 1 root root 195, 255 9月 15 08:52 /dev/nvidiactl
crw-rw-rw- 1 root root 240, 0 9月 15 09:39 /dev/nvidia-uvm
crw-rw-rw- 1 root root 240, 1 9月 15 09:39 /dev/nvidia-uvm-tools
记下字符设备的node id: 195/240
LXC容器安装
apt-get install lxc
通过清华源, 安装ubuntu18.04
lxc-create -t download -n ubuntu18.4 -- \
--server mirrors.tuna.tsinghua.edu.cn/lxc-images --dist ubuntu --release bionic --arch amd64
映射主GPU
修改配配置,映射主GPU到容器
lxc配置文件为:/var/lib/lxc/{容器名}/config
添加以下内容
lxc.cgroup.devices.allow = c 195:* rw
lxc.cgroup.devices.allow = c 240:* rw
lxc.mount.entry = /dev/nvidia0 dev/nvidia0 none bind,optional,create=file
lxc.mount.entry = /dev/nvidiactl dev/nvidiactl none bind,optional,create=file
lxc.mount.entry = /dev/nvidia-uvm dev/nvidia-uvm none bind,optional,create=file
注意:如果希望这些修改,对新建的容器都起作用,可以修改:/etc/lxc/default.conf
联网(可选)
一般需要打开网络,Debian缺省未开网络, 建议和libvirt共用网络,如果为安装libvirt可以先安装
sudo apt-get install -y libvirt-clients libvirt-daemon-system iptables ebtables dnsmasq-base libxml2-utils iproute2
lxc.net.0.type = veth
lxc.net.0.link = virbr0
lxc.net.0.flags = up
3、在容器里安装驱动
容器里不需要再次安装GPU驱动,但是仍然需要安装用户空间的:库,工具等
sh NVIDIA-Linux-x86_64-450.66.run --no-kernel-module
注意安装的版本必须和host机相同