Seit dem Update von LXC/LXD auf Version 3.0.1
war es mir nicht möglich neue Container zu erstellen.
Fehler
Es kam dabei stets zu folgender Fehlermeldung:
$ lxc launch images:debian/9 debian01
debian01 wird erstellt
Error: Failed container creation: No root device could be found.
Lösung
Ein Blick in die default-Konfiguration von LXC/LXD (welche ich verwende) zeigte, dass die Sektion welche die Art der Disk beschreibt (root
) komplett fehlt:
$ lxc profile show default
config:
environment.http_proxy: ""
user.network_mode: ""
description: Default LXD profile
devices:
eth0:
name: eth0
nictype: bridged
parent: lxdbr0
type: nic
name: default
used_by:
...Containername...
...Containername...
...Containername...
Die fehlende Sektion sieht in etwa so aus:
root:
path: /
pool: default
type: disk
Dies kann bei jedem anderen anders sein, je nachdem welche Einstellungen bei der Einrichtung vorgenommen wurden.
Ich habe die fehlende Sektion noch einmal per Hand eingefügt:
$ lxc profile show default
config:
environment.http_proxy: ""
user.network_mode: ""
description: Default LXD profile
devices:
eth0:
name: eth0
nictype: bridged
parent: lxdbr0
type: nic
root:
path: /
pool: default
type: disk
name: default
used_by:
...Containername...
...Containername...
...Containername...
Im Anschluss daran funktionierte die Erstellung von neuen Containern wieder ordnungsgemäß:
$ lxc launch images:debian/9 debian01
debian01 wird erstellt
debian01 wird gestartet
$ lxc list --fast debian01
+----------+---------+-------------+----------------------+---------+------------+
| NAME | STATUS | ARCHITEKTUR | ERSTELLT AM | PROFILE | TYP |
+----------+---------+-------------+----------------------+---------+------------+
| debian01 | RUNNING | x86_64 | 2018/08/30 05:42 UTC | default | PERSISTENT |
+----------+---------+-------------+----------------------+---------+------------+