Kann keine Container mehr starten

ahofmann

Member
Mar 17, 2018
16
3
23
44
Ich kann seit einem Neustart des physikalischen Servers keine Container mehr starten. VMs gehen noch.
Proxmox selber sagt das der CT gestartet wurde, sieht aber auch dass er nicht gestartet wurde. Die Eingabe von z.B. pct start 702 auf einer root Shell wird ohne Fehler quittiert. Ein Anschließendes pct status 702 sagt: "status: stopped".

/var/log/syslog sagt mir während den versuchen zu starten folgendes:
Bash:
root@proxmox1:~# pct start 702
May 18 10:36:31 proxmox1 pct[8345]: <root@pam> starting task UPID:proxmox1:00002230:00047218:5EC2490F:vzstart:702:root@pam:
May 18 10:36:31 proxmox1 pct[8752]: starting CT 702: UPID:proxmox1:00002230:00047218:5EC2490F:vzstart:702:root@pam:
May 18 10:36:31 proxmox1 systemd[1]: Started PVE LXC Container: 702.
May 18 10:36:31 proxmox1 pct[8345]: <root@pam> end task UPID:proxmox1:00002230:00047218:5EC2490F:vzstart:702:root@pam: OK
May 18 10:36:33 proxmox1 systemd[1]: pve-container@702.service: Main process exited, code=exited, status=1/FAILURE
May 18 10:36:33 proxmox1 systemd[1]: pve-container@702.service: Failed with result 'exit-code'.

Wie finde ich den Fehler und bringe Proxmox dazu meine Container wieder zu starten? Das ganze passiert nur an einer Proxmox Installation von mir.
 
So, ein paar Infos konnte ich noch herausfinden:
- Proxmox ist in keinem Cluster. pveversion sagt: "pve-manager/6.2-4/9824574a (running kernel: 5.4.34-1-pve)"
- Ich kann neue Container anlegen und die kann ich auch starten.

Im Wiki steht, dass man mal lxc-start -n ID -F -l DEBUG -o /tmp/lxc-ID.log ausführen soll.
In der Logdatei steht dann drin:
Bash:
xc-start 702 20200518092249.238 INFO     lsm - lsm/lsm.c:lsm_init:29 - LSM security driver AppArmor
lxc-start 702 20200518092249.246 INFO     conf - conf.c:run_script_argv:340 - Executing script "/usr/share/lxc/hooks/lxc-pve-prestart-hook" for container "702", config section "lxc"
lxc-start 702 20200518092249.575 DEBUG    conf - conf.c:run_buffer:312 - Script exec /usr/share/lxc/hooks/lxc-pve-prestart-hook 702 lxc pre-start produced output: unable to detect OS distribution

lxc-start 702 20200518092249.583 ERROR    conf - conf.c:run_buffer:323 - Script exited with status 2
lxc-start 702 20200518092249.583 ERROR    start - start.c:lxc_init:804 - Failed to run lxc.hook.pre-start for container "702"
lxc-start 702 20200518092249.583 ERROR    start - start.c:__lxc_start:1903 - Failed to initialize container "702"
lxc-start 702 20200518092249.583 INFO     conf - conf.c:run_script_argv:340 - Executing script "/usr/share/lxc/hooks/lxc-pve-poststop-hook" for container "702", config section "lxc"
lxc-start 702 20200518092250.150 DEBUG    conf - conf.c:run_buffer:312 - Script exec /usr/share/lxc/hooks/lxc-pve-poststop-hook 702 lxc post-stop produced output: umount: /var/lib/lxc/.pve-staged-mounts/mp0: not mounted.

lxc-start 702 20200518092250.150 DEBUG    conf - conf.c:run_buffer:312 - Script exec /usr/share/lxc/hooks/lxc-pve-poststop-hook 702 lxc post-stop produced output: command 'umount -- /var/lib/lxc/.pve-staged-mounts/mp0' failed: exit code 32

lxc-start 702 20200518092250.180 INFO     conf - conf.c:run_script_argv:340 - Executing script "/usr/share/lxcfs/lxc.reboot.hook" for container "702", config section "lxc"
lxc-start 702 20200518092250.682 ERROR    lxc_start - tools/lxc_start.c:main:308 - The container failed to start
lxc-start 702 20200518092250.683 ERROR    lxc_start - tools/lxc_start.c:main:314 - Additional information can be obtained by setting the --logfile and --logpriority options
 
Vielen Dank für die Tipps! Ich habe die Tipps aus dem gelinkten Thread ausprobiert, leider ohne Erfolg. Die Fehlermeldungen von lxc-start sind noch die gleichen.

Der Storage ist ZFS.
Container Config sieht so aus:
Bash:
arch: amd64
cores: 2
hostname: redacted
memory: 512
net0: name=eth0,bridge=vmbr2,firewall=1,hwaddr=00:00:DC:41:DC:6B,ip=dhcp,ip6=dhcp,type=veth
net1: name=eth1,bridge=vmbr0,firewall=1,hwaddr=00:00:90:FE:E8:77,ip=dhcp,ip6=dhcp,type=veth
onboot: 1
ostype: debian
rootfs: local-zfs:subvol-702-disk-0,size=1T
swap: 512

Ich habe meinen zfs pool cache neu gesetzt, initramfs update gemacht und neugestartet:
Code:
zpool set cachefile=/etc/zfs/zpool.cache backup
zpool set cachefile=/etc/zfs/zpool.cache rpool
update-initramfs -k all -u
init 6
Hat leider nichts gebracht.

ZFS status sagt:
Code:
root@proxmox1:~# zpool status
  pool: backup
 state: ONLINE
  scan: scrub repaired 0B in 0 days 01:15:40 with 0 errors on Sun May 10 01:39:44 2020
config:

        NAME                             STATE     READ WRITE CKSUM
        backup                           ONLINE       0     0     0
          ata-TOSHIBA_HDWD130_99NHVS0AS  ONLINE       0     0     0

errors: No known data errors

  pool: rpool
 state: ONLINE
  scan: scrub repaired 0B in 0 days 04:14:36 with 0 errors on Sun May 10 04:38:44 2020
config:

        NAME                                 STATE     READ WRITE CKSUM
        rpool                                ONLINE       0     0     0
          mirror-0                           ONLINE       0     0     0
            ata-ST3000NM0053_Z1Y0B2JT-part3  ONLINE       0     0     0
            ata-TOSHIBA_HDWD130_Y92GGPMAS    ONLINE       0     0     0

errors: No known data errors

Gibt es noch etwas das ich versuchen kann meine Container wieder auf die Reihe zu bekommen?
 
bitte mal das output von:
`zfs get all $container-dataset`
posten
 
OK, also was ich mir bisher so zusammenreime: Mein ZFS mount funktioniert nicht richtig. Also die Container, die schon existierten, als ich den Server gestartet habe gehen nicht. Ich kann neue Container anlegen, weil die korrekt unter rpool/data/subvol-XXX-disk-0 gemountet werden. Sobald ich den Server neu starte gehen auch diese neu angelegten Container nicht mehr.

Mein storage.cfg sieht so aus:
Code:
cat /etc/pve/storage.cfg
dir: local
        path /var/lib/vz
        content vztmpl,iso
        shared 0

zfspool: local-zfs
        pool rpool/data
        content images,rootdir
        sparse 1

dir: backups
        path /backup/proxmox
        content backup
        maxfiles 3
        shared 0
 
bitte mal das output von:
`zfs get all $container-dataset`
posten

Code:
zfs get all rpool/data/subvol-702-disk-0

NAME                          PROPERTY              VALUE                          SOURCE
rpool/data/subvol-702-disk-0  type                  filesystem                     -
rpool/data/subvol-702-disk-0  creation              Tue Dec 10 17:49 2019          -     
rpool/data/subvol-702-disk-0  used                  233G                           -     
rpool/data/subvol-702-disk-0  available             791G                           -     
rpool/data/subvol-702-disk-0  referenced            233G                           -     
rpool/data/subvol-702-disk-0  compressratio         1.05x                          -     
rpool/data/subvol-702-disk-0  mounted               no                             -     
rpool/data/subvol-702-disk-0  quota                 none                           default
rpool/data/subvol-702-disk-0  reservation           none                           default
rpool/data/subvol-702-disk-0  recordsize            128K                           default
rpool/data/subvol-702-disk-0  mountpoint            /rpool/data/subvol-702-disk-0  default
rpool/data/subvol-702-disk-0  sharenfs              off                            default
rpool/data/subvol-702-disk-0  checksum              on                             default
rpool/data/subvol-702-disk-0  compression           on                             inherited from rpool
rpool/data/subvol-702-disk-0  atime                 off                            inherited from rpool
rpool/data/subvol-702-disk-0  devices               on                             default
rpool/data/subvol-702-disk-0  exec                  on                             default
rpool/data/subvol-702-disk-0  setuid                on                             default
rpool/data/subvol-702-disk-0  readonly              off                            default
rpool/data/subvol-702-disk-0  zoned                 off                            default
rpool/data/subvol-702-disk-0  snapdir               hidden                         default
rpool/data/subvol-702-disk-0  aclinherit            restricted                     default
rpool/data/subvol-702-disk-0  createtxg             31566                          -
rpool/data/subvol-702-disk-0  canmount              on                             default
rpool/data/subvol-702-disk-0  xattr                 sa                             local
rpool/data/subvol-702-disk-0  copies                1                              default
rpool/data/subvol-702-disk-0  version               5                              -
rpool/data/subvol-702-disk-0  utf8only              off                            -
rpool/data/subvol-702-disk-0  normalization         none                           -
rpool/data/subvol-702-disk-0  casesensitivity       sensitive                      -
rpool/data/subvol-702-disk-0  vscan                 off                            default
rpool/data/subvol-702-disk-0  nbmand                off                            default
rpool/data/subvol-702-disk-0  sharesmb              off                            default
rpool/data/subvol-702-disk-0  refquota              1T                             local
rpool/data/subvol-702-disk-0  refreservation        none                           default
rpool/data/subvol-702-disk-0  guid                  755153380990471687             -
rpool/data/subvol-702-disk-0  primarycache          all                            default
rpool/data/subvol-702-disk-0  secondarycache        all                            default
rpool/data/subvol-702-disk-0  usedbysnapshots       103M                           -
rpool/data/subvol-702-disk-0  usedbydataset         233G                           -
rpool/data/subvol-702-disk-0  usedbychildren        0B                             -
rpool/data/subvol-702-disk-0  usedbyrefreservation  0B                             -
rpool/data/subvol-702-disk-0  logbias               latency                        default
rpool/data/subvol-702-disk-0  objsetid              1544                           -     
rpool/data/subvol-702-disk-0  dedup                 off                            default
rpool/data/subvol-702-disk-0  mlslabel              none                           default
rpool/data/subvol-702-disk-0  sync                  standard                       inherited from rpool                                                                                                 
rpool/data/subvol-702-disk-0  dnodesize             legacy                         default
rpool/data/subvol-702-disk-0  refcompressratio      1.05x                          -     
rpool/data/subvol-702-disk-0  written               11.5G                          -
rpool/data/subvol-702-disk-0  logicalused           247G                           -     
rpool/data/subvol-702-disk-0  logicalreferenced     247G                           -
rpool/data/subvol-702-disk-0  volmode               default                        default
rpool/data/subvol-702-disk-0  filesystem_limit      none                           default
rpool/data/subvol-702-disk-0  snapshot_limit        none                           default
rpool/data/subvol-702-disk-0  filesystem_count      none                           default
rpool/data/subvol-702-disk-0  snapshot_count        none                           default
rpool/data/subvol-702-disk-0  snapdev               hidden                         default
rpool/data/subvol-702-disk-0  acltype               posixacl                       local
rpool/data/subvol-702-disk-0  context               none                           default
rpool/data/subvol-702-disk-0  fscontext             none                           default
rpool/data/subvol-702-disk-0  defcontext            none                           default
rpool/data/subvol-702-disk-0  rootcontext           none                           default
rpool/data/subvol-702-disk-0  relatime              off                            default
rpool/data/subvol-702-disk-0  redundant_metadata    all                            default
rpool/data/subvol-702-disk-0  overlay               off                            default
rpool/data/subvol-702-disk-0  encryption            off                            default
rpool/data/subvol-702-disk-0  keylocation           none                           default
rpool/data/subvol-702-disk-0  keyformat             none                           default
rpool/data/subvol-702-disk-0  pbkdf2iters           0                              default
rpool/data/subvol-702-disk-0  special_small_blocks  0                              default
 
rpool/data/subvol-702-disk-0 mounted no -

da ist das problem - das subvol wurde nicht gemountet - das kann unterschiedliche gründe haben:
* es ist etwas in dem directory, wo das subvol gemounted werden soll vorhanden (passiert auch wenn einmal das cachefile nicht da war - der container gestartet wurde (ohne dass das subvol vorhanden war) - und der containerstart erstellt unter 'dev/' im subvol einige files
* es kann auch sein, dass ein übergeordnetes dataset nicht gemounted wurde, weswegen das subvol nicht gemounted werden kann

folgendes wuerde ich versuchen:
* nachschauen, was unter dem mountpoint des containers derzeit da ist:
Code:
find /rpool/data/subvol-702-disk-0
* schauen ab wo die datasets nicht mehr gemountet sind:
Code:
zfs get mounted rpool/data/subvol-702-disk-0
zfs get mounted rpool/data/
zfs get mounted rpool

wenn sich in dem mountpoint etwas befindet -> wegverschieben -> `zfs mount rpool/data/subvol-702-disk-0` versuchen - danach container neu starten

Ich hoffe das hilft
 
OK, da lag ein leeres dev Verzeichnis, dass habe ich gelöscht, dann manuell die subvols gemountet und damit laufen sie jetzt. Vielen Dank!

Ich habe zwar den Verdacht, dass mir das wieder kaputt geht, wenn ich den Server neu starte, da dass bei meinen Testcontainern so war. Aber das kann ich erst heute abend testen, dass System wird gebraucht.
 
  • Like
Reactions: Stoiko Ivanov
es sollte sich damit beheben lassen den zpool cache neu zu erstellen, das initramfs upzudaten, und alle contaier-roots mal aufzuräumen

Falls nicht bitte mit dem journal vom boot nochmal hier melden ;)
 
Seit dem Update auf Proxmox 6.3 sind die Probleme weg. Vorher hatte ich noch das Problem, dass die Verzeichnisse nicht leer waren und manuell geleert werden mussten. Und meine LXC Container mit der Meldung "lxc pre-start produced output: unable to detect OS distribution" nicht starten konnten. Jetzt starten sie wieder von selber, dem Update sei Dank :)
 
  • Like
Reactions: Stoiko Ivanov

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!