はじめに
先の北海道の地震では弊社サーバーが軒並みダウンしました。停電対策してなかったので当たり前ですが。サーバーは復旧したのですが、サーバーで運用していたNvidia-dockerが起動しなくなりました。。。まじですかい。新しくコンテナを作り直す方法とかNvidia-docker v2を使用するなどの方法もあるのですが色々とリスクがあったので出来ればそのまま動かしたい…のが本音でした。
使用環境
Ubuntu16.04
# nvidia-docker version
NVIDIA Docker: 1.0.1
Client:
Version: 17.05.0-ce
API version: 1.29
Go version: go1.7.5
Git commit: 89658be
Built: Thu May 4 22:10:54 2017
OS/Arch: linux/amd64
Server:
Version: 17.05.0-ce
API version: 1.29 (minimum version 1.12)
Go version: go1.7.5
Git commit: 89658be
Built: Thu May 4 22:10:54 2017
OS/Arch: linux/amd64
Experimental: false
症状
以下のコマンドでエラー
$ docker start hogehoge
Error response from daemon: linux runtime spec devices: error gathering device information while adding custom device "/dev/nvidia-uvm-tools": lstat /dev/nvidia-uvm-tools: no such file or directory
Error: failed to start containers: hogehoge
#対応
以下のコマンドを試してみた
$ nvidia-modprobe -u -c=0
人によってはこれでうまく行くと言う話もあったけど無理でした。
以下のサイトを参考にしました。
https://github.com/NVIDIA/nvidia-docker/issues/526
sudo mknod -m 666 /dev/nvidia-uvm-tools c $(grep nvidia-uvm /proc/devices | awk '{print $1}') 1
無事起動。ほっ。
中の人曰く。
- v2を使ったら?
- 上のコマンド試してみたら?
だそうです。
ご参考まで。(ついでに自分の備忘録)