seit neuesten: Failed to start PVE LXC Container

apusgrz

Member
Oct 19, 2016
9
0
21
Hallo,

seit kurzem ist es mir nicht mehr möglich einen neu angelegten LXC Container zu starten.

was ich mache ist folgendes:
- in der WebGUI einen neuen Container anlegen (ID 111, Template Centos7)
- in der Bash starten mit systemctl start pve-container@111
Output von systemct status pve-container@111:​
Code:
Mar 01 10:24:03 donald.inside.work systemd[1]: Starting PVE LXC Container: 111...
Mar 01 10:25:33 donald.inside.work systemd[1]: pve-container@111.service: Start operation timed out. Terminating.
Mar 01 10:25:33 donald.inside.work systemd[1]: Failed to start PVE LXC Container: 111.
Mar 01 10:25:33 donald.inside.work systemd[1]: pve-container@111.service: Unit entered failed state.
Mar 01 10:25:33 donald.inside.work systemd[1]: pve-container@111.service: Failed with result 'timeout'.

Natürlich will ich genau wissen was passiert, also probiere ich es nochmal mit lxc-start --name 111 --foreground --logfile /tmp/lxc-111.log

Und hier passiert rein gar nicht's - der Befehl wird ausgeführt aber die Shell bleibt schwarz und es kommt kein Output und man kann nur mit STRG-C abbrechen.

ps aux | grep 111 zeigt folgendes:

Code:
root     19663  0.0  0.0  50216  3668 ?        Ds   10:22   0:00 [lxc monitor] /var/lib/lxc 111
root     19764  0.0  0.0  41772  4184 ?        S    10:22   0:00 lxc-info -n 111 -p
root     21306  0.0  0.0  41776  4216 pts/0    S+   10:36   0:00 lxc-start --name 111 --foreground --logfile /tmp/lxc-111.log

Ich weiss leider nicht wo ich anfangen soll zum Fehler suchen ... Speicherplatz ist genügend frei - LOAD ist bei 4.0 - 6.0 bei 10 Cores 20 Threads - RAM ist bei 20GB von 64GB ...

ich habe eine Bridge vmbr0, auf welcher alle Hosts gebridged sind (siehe Screenshot weiter unten)

Ebenso fällt mir auf, dass wenn der Befehl 5 Minuten probiert den Container zu starten die Oberfläche wie folgt aussieht

Screenshot_20180301_104658.png

Die updates würden ausstehen - jedoch bin ich gerade nicht in dem Wartungsfenster:
Code:
The following NEW packages will be installed:
   linux-headers-4.9.0-6-amd64 (4.9.82-1+deb9u2)
   linux-headers-4.9.0-6-common (4.9.82-1+deb9u2)
   proxmox-widget-toolkit (1.0-11)
   pve-i18n (1.0-4)
   pve-kernel-4.13.13-6-pve (4.13.13-41)
The following packages will be upgraded:
   cpp-6 (6.3.0-18 => 6.3.0-18+deb9u1)
   docker-ce (17.12.0~ce-0~debian => 17.12.1~ce-0~debian)
   gcc-6 (6.3.0-18 => 6.3.0-18+deb9u1)
   gcc-6-base (6.3.0-18 => 6.3.0-18+deb9u1)
   libasan3 (6.3.0-18 => 6.3.0-18+deb9u1)
   libatomic1 (6.3.0-18 => 6.3.0-18+deb9u1)
   libcc1-0 (6.3.0-18 => 6.3.0-18+deb9u1)
   libcilkrts5 (6.3.0-18 => 6.3.0-18+deb9u1)
   libgcc-6-dev (6.3.0-18 => 6.3.0-18+deb9u1)
   libgcc1 (1:6.3.0-18 => 1:6.3.0-18+deb9u1)
   libgfortran3 (6.3.0-18 => 6.3.0-18+deb9u1)
   libgomp1 (6.3.0-18 => 6.3.0-18+deb9u1)
   libitm1 (6.3.0-18 => 6.3.0-18+deb9u1)
   liblsan0 (6.3.0-18 => 6.3.0-18+deb9u1)
   libmpx2 (6.3.0-18 => 6.3.0-18+deb9u1)
   libnvpair1linux (0.7.4-pve2~bpo9 => 0.7.6-pve1~bpo9)
   libpve-access-control (5.0-7 => 5.0-8)
   libpve-common-perl (5.0-25 => 5.0-28)
   libquadmath0 (6.3.0-18 => 6.3.0-18+deb9u1)
   libstdc++6 (6.3.0-18 => 6.3.0-18+deb9u1)
   libtsan0 (6.3.0-18 => 6.3.0-18+deb9u1)
   libubsan0 (6.3.0-18 => 6.3.0-18+deb9u1)
   libuutil1linux (0.7.4-pve2~bpo9 => 0.7.6-pve1~bpo9)
   libzfs2linux (0.7.4-pve2~bpo9 => 0.7.6-pve1~bpo9)
   libzpool2linux (0.7.4-pve2~bpo9 => 0.7.6-pve1~bpo9)
   linux-compiler-gcc-6-x86 (4.9.65-3+deb9u2 => 4.9.82-1+deb9u2)
   linux-headers-amd64 (4.9+80+deb9u3 => 4.9+80+deb9u4)
   linux-kbuild-4.9 (4.9.65-3+deb9u2 => 4.9.82-1+deb9u2)
   linux-libc-dev (4.9.65-3+deb9u2 => 4.9.82-1+deb9u2)
   lxcfs (2.0.8-1 => 2.0.8-2)
   proxmox-ve (5.1-38 => 5.1-41)
   pve-cluster (5.0-19 => 5.0-20)
   pve-container (2.0-18 => 2.0-19)
   pve-ha-manager (2.0-4 => 2.0-5)
   pve-manager (5.1-43 => 5.1-46)
   pve-qemu-kvm (2.9.1-6 => 2.9.1-9)
   qemu-server (5.0-20 => 5.0-22)
   spl (0.7.3-pve1~bpo9 => 0.7.6-pve1~bpo9)
   zfs-initramfs (0.7.4-pve2~bpo9 => 0.7.6-pve1~bpo9)
   zfs-zed (0.7.4-pve2~bpo9 => 0.7.6-pve1~bpo9)
   zfsutils-linux (0.7.4-pve2~bpo9 => 0.7.6-pve1~bpo9)

/var/log/messages und /var/log/lxc/111.log hat nichts auffälliges drinnen - das /tmp/lxc-111.log bleibt unbeschrieben ...

Wenn ich den Befehl mit STRG+C abbreche und wieder greppe - sehe ich folgende Prozesse weiterhin laufen:

Code:
root     19663  0.0  0.0  50216  3668 ?        Ds   10:22   0:00 [lxc monitor] /var/lib/lxc 111
root     19764  0.0  0.0  41772  4184 ?        S    10:22   0:00 lxc-info -n 111 -p
root     22362  0.0  0.0  41772  4224 ?        S    10:45   0:00 lxc-info -n 111 -p
root     22473  0.0  0.0  41772  4228 ?        S    10:46   0:00 lxc-info -n 111 -p
root     22645  0.0  0.0  41772  4108 ?        S    10:48   0:00 lxc-info -n 111 -p
root     23912  0.0  0.0  12788   996 pts/0    S+   10:53   0:00 grep 111

wenn ich jeden davon mit kill -9 'töte' - ist die Weboberfläche wieder normal bedienbar jedoch wenn ich den LXC 111 wieder starten möchte, geht alles in die Brüche wieder :-(

kann mir jemand helfen ? Ich hatte schon einmal ein Problem, dass sich ein LXC nach einem Reboot in dem Guest dazu führte dass er nicht mehr starten kann - jedoch bekam ich da folgende Fehler mit dem lcx-start command und ein Reboot hatte alles behoben (jetzt gerade kein Wartungfenster, jedoch sollte ein Reboot nicht die Lösung sein):

Code:
lxc-start 107 20180219083844.441 ERROR    lxc_conf - conf.c:run_buffer:438 - Script exited with status 1.
      lxc-start 107 20180219083844.443 ERROR    lxc_start - start.c:lxc_fini:753 - Failed to run lxc.hook.post-stop for container "107".
      lxc-start 107 20180219091528.599 ERROR    lxc_network - network.c:instantiate_veth:130 - Failed to create veth pair "veth107i0" and "vethAAXW07": File exists
      lxc-start 107 20180219091528.599 ERROR    lxc_network - network.c:lxc_create_network_priv:2407 - Failed to create network device
      lxc-start 107 20180219091528.599 ERROR    lxc_start - start.c:lxc_spawn:1206 - Failed to create the network.
      lxc-start 107 20180219091528.599 ERROR    lxc_start - start.c:__lxc_start:1477 - Failed to spawn container "107".
      lxc-start 107 20180219091528.599 ERROR    lxc_container - lxccontainer.c:wait_on_daemonized_start:760 - Received container state "STOPPING" instead of "RUNNING"
      lxc-start 107 20180219091528.599 ERROR    lxc_start_ui - tools/lxc_start.c:main:371 - The container failed to start.
      lxc-start 107 20180219091528.599 ERROR    lxc_start_ui - tools/lxc_start.c:main:373 - To get more details, run the container in foreground mode.
      lxc-start 107 20180219091528.599 ERROR    lxc_start_ui - tools/lxc_start.c:main:375 - Additional information can be obtained by setting the --logfile and --logpriority options.
      lxc-start 107 20180219091623.495 ERROR    lxc_network - network.c:instantiate_veth:130 - Failed to create veth pair "veth107i0" and "vethUX3B9R": File exists
      lxc-start 107 20180219091623.495 ERROR    lxc_network - network.c:lxc_create_network_priv:2407 - Failed to create network device
      lxc-start 107 20180219091623.495 ERROR    lxc_start - start.c:lxc_spawn:1206 - Failed to create the network.
      lxc-start 107 20180219091623.495 ERROR    lxc_start - start.c:__lxc_start:1477 - Failed to spawn container "107".
      lxc-start 107 20180219091648.918 ERROR    lxc_start_ui - tools/lxc_start.c:main:371 - The container failed to start.
      lxc-start 107 20180219091648.918 ERROR    lxc_start_ui - tools/lxc_start.c:main:375 - Additional information can be obtained by setting the --logfile and --logpriority options.
      lxc-start 107 20180219092533.608 ERROR    lxc_cgfsng - cgroups/cgfsng.c:create_path_for_hierarchy:1337 - Path "/sys/fs/cgroup/systemd//lxc/107" already existed.
      lxc-start 107 20180219092533.608 ERROR    lxc_cgfsng - cgroups/cgfsng.c:cgfsng_create:1433 - Failed to create "/sys/fs/cgroup/systemd//lxc/107"
      lxc-start 107 20180219093735.482 ERROR    lxc_cgfsng - cgroups/cgfsng.c:create_path_for_hierarchy:1337 - Path "/sys/fs/cgroup/systemd//lxc/107" already existed.
      lxc-start 107 20180219093735.483 ERROR    lxc_cgfsng - cgroups/cgfsng.c:cgfsng_create:1433 - Failed to create "/sys/fs/cgroup/systemd//lxc/107"
      lxc-start 107 20180219093735.483 ERROR    lxc_cgfsng - cgroups/cgfsng.c:create_path_for_hierarchy:1337 - Path "/sys/fs/cgroup/systemd//lxc/107-1" already existed.
      lxc-start 107 20180219093735.483 ERROR    lxc_cgfsng - cgroups/cgfsng.c:cgfsng_create:1433 - Failed to create "/sys/fs/cgroup/systemd//lxc/107-1"
      lxc-start 107 20180219094037.265 ERROR    lxc_cgfsng - cgroups/cgfsng.c:create_path_for_hierarchy:1337 - Path "/sys/fs/cgroup/systemd//lxc/107" already existed.
      lxc-start 107 20180219094037.265 ERROR    lxc_cgfsng - cgroups/cgfsng.c:cgfsng_create:1433 - Failed to create "/sys/fs/cgroup/systemd//lxc/107"
      lxc-start 107 20180219094037.265 ERROR    lxc_cgfsng - cgroups/cgfsng.c:create_path_for_hierarchy:1337 - Path "/sys/fs/cgroup/systemd//lxc/107-1" already existed.
      lxc-start 107 20180219094037.265 ERROR    lxc_cgfsng - cgroups/cgfsng.c:cgfsng_create:1433 - Failed to create "/sys/fs/cgroup/systemd//lxc/107-1"
      lxc-start 107 20180219094037.265 ERROR    lxc_cgfsng - cgroups/cgfsng.c:create_path_for_hierarchy:1337 - Path "/sys/fs/cgroup/systemd//lxc/107-2" already existed.
      lxc-start 107 20180219094037.265 ERROR    lxc_cgfsng - cgroups/cgfsng.c:cgfsng_create:1433 - Failed to create "/sys/fs/cgroup/systemd//lxc/107-2"

UPDATE: Wenn ich einen LXC Container ausschalte, lässt er sich mit dem gleichen verhalten auch nicht mehr starten - also hast das Verhalten nicht's mit dem neu angelegten Container zu tun ...
Habe im DMESG Aber folgendes gefunden:

Code:
[828106.797400] IPv6: ADDRCONF(NETDEV_UP): veth101i0: link is not ready
[828107.223024] vmbr0: port 14(veth101i0) entered blocking state
[828107.223026] vmbr0: port 14(veth101i0) entered disabled state
[828107.223098] device veth101i0 entered promiscuous mode
[828529.054509] EXT4-fs (dm-9): mounted filesystem with ordered data mode. Opts: (null)

UPDATE #2: Mit dem heruntergefahreren und neu gestarteten LXC bekomme ich mehrere Fehler:

Code:
lxc-start --name 101 --foreground --logfile /tmp/lxc-101.log

lxc-start 101 20180301102918.350 ERROR    lxc_network - network.c:instantiate_veth:130 - Failed to create veth pair "veth101i0" and "veth8EHMKF": File exists
      lxc-start 101 20180301102918.350 ERROR    lxc_network - network.c:lxc_create_network_priv:2407 - Failed to create network device
      lxc-start 101 20180301102918.350 ERROR    lxc_start - start.c:lxc_spawn:1206 - Failed to create the network.
      lxc-start 101 20180301102918.350 ERROR    lxc_start - start.c:__lxc_start:1477 - Failed to spawn container "101".
      lxc-start 101 20180301102940.878 ERROR    lxc_start_ui - tools/lxc_start.c:main:371 - The container failed to start.
      lxc-start 101 20180301102940.878 ERROR    lxc_start_ui - tools/lxc_start.c:main:375 - Additional information can be obtained by setting the --logfile and --logpriority options.
 
Last edited:
Da ist gerade in einem anderen Thread von die Rede: https://forum.proxmox.com/threads/lxc-container-reboot-fails-lxc-becomes-unusable.41264/page-2

Soweit ich das verstanden habe, gibt es irgendwo im Kernel ein Problem mit dem Namespace und Sockets, was wohl beim Einsatz von ZFS mit großem/normalen ARC-Cache auftreten soll. Habe selber momentan Probleme mit einem frischen PROXMOX und nutze ZFS (mirror-mode/raid1) ohne spezieller Konfiguration.

Bisheriger Workaround: vHost neustarten :( ist aber keine Dauerlösung
 
Ich glaube nicht, dass das das gleiche ist ...

Bei mir laufen alle Container und ich habe einen neuen angelegt & es dieser konnte nicht gestartet werden :-(
jedoch verwende ich nicht ZFS

Mir ist aufgefallen das es anscheinend daran liegt, dass er beim starten probiert einen Ordner unter
Code:
/sys/fs/cgroup/systemd//lxc/
anzulegen, wenn hier was jedoch schon existiert scheitert er - rauslöschen geht nicht, man bekommt "Zugriff verweigert" - auch als root ..

Der "Workaround" hilft bei mir auch .. ist halt ein absolutes NO-GO wenn da 20 Maschinen laufen und du mal sagst die sind jetzt mal "kurz" weg ...
 
:) Mag sein, dass es nicht an ZFS liegt, aber im anderen Thread hat sich von gestern auf heute etwas bewegt. Ich hoffe das hat wirklich was mit dem Kernel zu tun, denn ich möchte LXC schon nutzen!
 
gibt es schon eine Lösung?
bekomme auch kein Container gestartet.
 
habe das Problem seit heute, nach dem apt-get dist-upgrade.

uname -a
Code:
Linux server 4.13.8-2-pve #1 SMP PVE 4.13.8-28 (Wed, 29 Nov 2017 09:49:35 +0100) x86_64 GNU/Linux

systemctl status pve-container@100.service
Code:
● pve-container@100.service - PVE LXC Container: 100
   Loaded: loaded (/lib/systemd/system/pve-container@.service; static; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sun 2018-03-11 13:52:30 CET; 11min ago
     Docs: man:lxc-start
           man:lxc
           man:pct
  Process: 2540 ExecStart=/usr/bin/lxc-start -n 100 (code=exited, status=1/FAILURE)

Mar 11 13:52:30 server systemd[1]: Starting PVE LXC Container: 100...
Mar 11 13:52:30 server lxc-start[2540]: lxc-start: 100: lxccontainer.c: wait_on_daemonized_start: 751 No such file or directory - Failed to receive the container state
Mar 11 13:52:30 server lxc-start[2540]: lxc-start: 100: tools/lxc_start.c: main: 371 The container failed to start.
Mar 11 13:52:30 server lxc-start[2540]: lxc-start: 100: tools/lxc_start.c: main: 373 To get more details, run the container in foreground mode.
Mar 11 13:52:30 server lxc-start[2540]: lxc-start: 100: tools/lxc_start.c: main: 375 Additional information can be obtained by setting the --logfile and --logpriority options.
Mar 11 13:52:30 server systemd[1]: pve-container@100.service: Control process exited, code=exited status=1
Mar 11 13:52:30 server systemd[1]: pve-container@100.service: Killing process 2542 (lxc-start) with signal SIGKILL.
Mar 11 13:52:30 server systemd[1]: Failed to start PVE LXC Container: 100.
Mar 11 13:52:30 server systemd[1]: pve-container@100.service: Unit entered failed state.
Mar 11 13:52:30 server systemd[1]: pve-container@100.service: Failed with result 'exit-code'.
 
habe das Problem seit heute, nach dem apt-get dist-upgrade.

uname -a
Code:
Linux server 4.13.8-2-pve #1 SMP PVE 4.13.8-28 (Wed, 29 Nov 2017 09:49:35 +0100) x86_64 GNU/Linux
Soweit ich weiß, ist dein Kernel ein älterer. Ich habe aktuell "Linux 4.13.13-6-pve #1 SMP PVE 4.13.13-41 (Wed, 21 Feb 2018 10:07:54 +0100)" laufen, lauf anderem Thread soll das Problem aber erst ab 4.14.20 (eventuell schon ein paar Versionen vorher) gelöst sein.

@dietmar weißt du, ob das Problem mit dem Timing von LXC-Containern (soweit der Konsens aus dem anderen Thread) schon gelöst ist?
 
  • Like
Reactions: HBO
Ich glaube nicht, dass das das gleiche ist ...

Bei mir laufen alle Container und ich habe einen neuen angelegt & es dieser konnte nicht gestartet werden :-(
jedoch verwende ich nicht ZFS

Mir ist aufgefallen das es anscheinend daran liegt, dass er beim starten probiert einen Ordner unter
Code:
/sys/fs/cgroup/systemd//lxc/
anzulegen, wenn hier was jedoch schon existiert scheitert er - rauslöschen geht nicht, man bekommt "Zugriff verweigert" - auch als root ..

Der "Workaround" hilft bei mir auch .. ist halt ein absolutes NO-GO wenn da 20 Maschinen laufen und du mal sagst die sind jetzt mal "kurz" weg ...

wenn der systemd/init im container gekillt wird, dann funktioniert das cleanup nicht richtig und die cgroup ordner müssen per hand entfernt werden. dabei muss in der richtigen reihenfolge vorgegangen werden, erst alle noch laufenden prozesse im container (tasks file der cgroup enthält die PIDs) stoppen, dann "von innen nach außen" die cgroup ordner mit rmdir entfernen - auch die eventuell enthaltenen wie "init.scope" usw.
 
  • Like
Reactions: FibreFoX
Hallo,

ich habe noch nicht upgedatet seit dem Eintrag, werde ich heute bzw morgen nachholen :)

wenn der systemd/init im container gekillt wird, dann funktioniert das cleanup nicht richtig und die cgroup ordner müssen per hand entfernt werden. dabei muss in der richtigen reihenfolge vorgegangen werden, erst alle noch laufenden prozesse im container (tasks file der cgroup enthält die PIDs) stoppen,

komischerweise, sind bei mir ja neu angelegte Container betroffen, sprich, die wurden noch nie gestartet - bin gespannt ob das Problem nochmals auftritt, da ich auch nicht weiss, wie ich es reproduzieren kann :-(
 
Guten Morgen,

das selbe Problem ist bei uns auch auf zwei Server aufgetreten. Habe jetzt 2 Tage damit verbracht und bekomme sie nicht wieder in gang. Der eine ist eine neuinstallation und der andere lief eigentlich bis beide übet apt dist-upgrade neue Packete bekommen haben! (enterprise)
Seit dem ist es weder möglich eine LXC noch eine KVM zu starten. Bei der LXC erscheint kontinuirlich das der VNC port 5900 nicht zu erreichen ist.

Sonst sind kaum Fehler zu ermitteln.

Es sieht für mich so aus als hätte dies etwas mit den letzten updates zu tun. Gibt es nun eine Lösung?

Gruss
 
Morgen,

denke, dass es bei dir aber etwas anderes ist, da ich die KVMs starten konnte & bei mir zuerst das Netzwerk Probleme machte und wenn ich dann dieses aus der Config entfernte, die Fehlermeldung bekam dass er unter
Code:
/sys/fs/cgroup/systemd//lxc/
keinen neuen Ordner anlegen konnte - wenn ich den server (host) neustarte, ist dieser ordner leer und er kann ihn anlegen, so startet auch der Container.

Die KVMs meines wissen, haben keine (?) cgroup policy in diesem Ordner liegen ...

aufjedenfall lauft jetzt bei mir gerade alles - ich starte und stoppe nurmehr ausserhalb der Arbeitszeiten da die Angst dass die Container wieder nicht starten zu groß ist ..
 
Hallo,

ich habe noch nicht upgedatet seit dem Eintrag, werde ich heute bzw morgen nachholen :)



komischerweise, sind bei mir ja neu angelegte Container betroffen, sprich, die wurden noch nie gestartet - bin gespannt ob das Problem nochmals auftritt, da ich auch nicht weiss, wie ich es reproduzieren kann :-(

wenn der fehler ist dass die cgroups schon existieren müssen sie schon mal (ev. erfolglos?) gestartet worden sein.. oder die ID ist recycled und die cgroups existieren noch von vorherigen containern mit diesen IDs?
 
wenn der fehler ist dass die cgroups schon existieren müssen sie schon mal (ev. erfolglos?) gestartet worden sein.. oder die ID ist recycled und die cgroups existieren noch von vorherigen containern mit diesen IDs?

Das die IDs recycled sind kann ich nicht ausschliessen .. ich hatte damals aber extra einen Container verwendet der weit über der ID ist ID+10 weil ich das auch schon vermutet habe, hatte jedoch das gleich Problem! :)

Ich kanns ja nochmal probieren, da jetzt alle laufen & ich somit den Betrieb nicht störe
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!