LXD共享方案(续)
前言
前面介绍了LXD,并详细描述了使用LXD来搭建实验室GPU共享服务器方案,经过测试该方案完全可行。但是在最近的使用中坑了一把,lxc容器挂了,所有的容器都启动不起来,于是开始了各种找问题。
问题发现
因为启动失败log的信息太少,而网上关于LXD的解决方案现在还是比较少的,google不到相关的解答,于是开始试错。
经过各种配置测试:
- 取消GPU挂载
- 使用基础镜像启动
- 使用默认配置启动
发现使用默认配置能够启动所有容器,于是使用控制变量法一个个排查自己插入的配置,最后发现nvidia.runtime: true
配置是导致容器启动不起来的元凶,最终原因是因为在某次服务器运行了 apt upgrade
而更新了 nvidia-container-runtime
,而LXD仍然保持这 3.0.1
版本,不支持新版本的 nvidia-container-runtime
,所以在配置了 nvidia.runtime: true
之后,容器全部挂掉,启动失败。
解决
发现问题,自然就好解决了,在LXD官网查到LXD最新版本已经是 3.7.0
了,而目前 apt
源上最新的版本是