Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proxmox 7.0 - lxc-start-hook.sh nicht cgroups v2 kompatibel. Umstellung notwendig #242

Closed
MarkSau opened this issue Jul 6, 2021 · 14 comments
Assignees
Labels

Comments

@MarkSau
Copy link

MarkSau commented Jul 6, 2021

Hi,
Scheinbar hat sich mit Proxmox 7.0 die Verzeichnisstruktur geändert.
Im Script lxc-start-hook.sh wird in /sys/fs/cgroup/devices/lxc/ gesucht, jedoch sind die Verzeichnisse jetzt unter /sys/fs/cgroup/lxc/.
Leider scheint es aber noch was anderes zu geben, das trotz Pfad Änderung das Script wohl immer noch nicht korrekt ausführt, da mein RPI-RF-MOD im LXC Container nicht gefunden wird.

` uname -a
Linux MSNUC 5.11.22-1-pve #1 SMP PVE 5.11.22-2 (Fri, 02 Jul 2021 16:22:45 +0200) x86_64 GNU/Linux

lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 8087:0aa7 Intel Corp. Wireless-AC 3168 Bluetooth
Bus 001 Device 003: ID 0403:6f70 Future Technology Devices International, Ltd HB-RF-USB
Bus 001 Device 002: ID 0463:ffff MGE UPS Systems UPS
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

debmatic-info
debmatic version: 3.57.5-71
Kernel modules: Available
Raw UART dev: Available
HMRF Hardware: unknown
Board serial: unknown
Radio MAC: unknown
HMIP Hardware: unknown
SGTIN: unknown
Radio MAC: unknown
`

@MarkSau
Copy link
Author

MarkSau commented Jul 6, 2021

Hier die Ausgabe zum Script beim starten mit pct start 105 --debug

INFO conf - conf.c:run_script_argv:332 - Executing script "/usr/share/debmatic/bin/lxc-start-hook.sh" for container "105", config section "lxc"

DEBUG conf - conf.c:run_buffer:305 - Script exec /usr/share/debmatic/bin/lxc-start-hook.sh 105 lxc mount produced output: kernel.sched_rt_runtime_us = -1
`

@MarkSau
Copy link
Author

MarkSau commented Jul 6, 2021

Im Script wird nach der Datei device.allow gesucht. Das scheint es unter Proxmox 7.0 nicht mehr zu geben.

@MarkSau MarkSau changed the title Proxmox 7.0 - lxc-start-hook.sh verweist nun auf falsche Verfzeichnisse Proxmox 7.0 - lxc-start-hook.sh nicht cgroups v2 kompatibel. Umstellung notwendig Jul 7, 2021
@MarkSau
Copy link
Author

MarkSau commented Jul 7, 2021

inzwischen habe ich herausgefunden, das mit Proxmox 7 nun cgroups v2 default geworden ist. Somit ist das Handling mit device.allow nicht mehr gegeben. Man kann das zwar global auf V1 zurückstellen, aber das ist eigentlich nicht zweckdienlich.
Leider finde ich nicht wirklich eine Anleitung, wie man unter V2 ein device an den container weitergibt.

@PrinzEisenherz1
Copy link

Gibt's da vielleicht mittlerweile eine Lösung? Würde gerne debmatic weiterhin im lxc Container betreiben. Leider funktioniert das mit Proxmox 7 nicht mehr.
Gruß Johnny

@alexreinert
Copy link
Owner

Ich arbeite dran.

@stale
Copy link

stale bot commented Sep 27, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Sep 27, 2021
@thomas-born
Copy link

thomas-born commented Sep 27, 2021

Hallo, ich weiß, dass debmatic im LXC-Container nicht gerade die höchste Prio hat, aber auch ich würde es gerne weiterhin im LXC-Container nutzen, es funktioniert einfach nur gut.
Vielen Dank für die Mühen.

@stale stale bot removed the stale label Sep 27, 2021
@alexreinert alexreinert self-assigned this Oct 11, 2021
@alexreinert
Copy link
Owner

alexreinert commented Oct 11, 2021

Ein dynamisches Hinzufügen von Geräten ist bei cgroups v2 und damit in Proxmox 7 nicht mehr möglich.
Ein Hinzufügen der notwendigen Devices in der /etc/pve/lxc/.conf ist möglich, allerdings sind die Major IDs dynamisch und können sich bei jedem Start ändern.
Ein Workaround ist es, einfach alle Geräte zu erlauben, in dem man in der Datei /etc/pve/lxc/.conf zusätzlich zu den Anpassungen aus der Doku noch die Zeile lxc.cgroup2.devices.allow: c *:* rwm anfügt.

@thomas-born
Copy link

Ein dynamisches Hinzufügen von Geräten ist bei cgroups v2 und damit in Proxmox 7 nicht mehr möglich. Ein Hinzufügen der notwendigen Devices in der /etc/pve/lxc/.conf ist möglich, allerdings sind die Major IDs dynamisch und können sich bei jedem Start ändern. Ein Workaround ist es, einfach alle Geräte zu erlauben, in dem man in der Datei /etc/pve/lxc/.conf zusätzlich zu den Anpassungen aus der Doku noch die Zeile lxc.cgroup2.devices.allow: c *:* rwm anfügt.

Danke vielmals für die Antwort, das werde ich doch gleich mal ausprobieren.

@hoep
Copy link

hoep commented Oct 15, 2021

Ein dynamisches Hinzufügen von Geräten ist bei cgroups v2 und damit in Proxmox 7 nicht mehr möglich. Ein Hinzufügen der notwendigen Devices in der /etc/pve/lxc/.conf ist möglich, allerdings sind die Major IDs dynamisch und können sich bei jedem Start ändern. Ein Workaround ist es, einfach alle Geräte zu erlauben, in dem man in der Datei /etc/pve/lxc/.conf zusätzlich zu den Anpassungen aus der Doku noch die Zeile lxc.cgroup2.devices.allow: c *:* rwm anfügt.

Vielen Dank - damit funktioniert es wieder...

@MarkSau
Copy link
Author

MarkSau commented Nov 15, 2021

Ein Workaround ist es, einfach alle Geräte zu erlauben, in dem man in der Datei /etc/pve/lxc/.conf zusätzlich zu den Anpassungen aus der Doku noch die Zeile lxc.cgroup2.devices.allow: c *:* rwm anfügt.

Ich habe den LXC wieder aufgesetzt und mit der Zeile in der .conf funktioniert es wieder. Danke.

@Spezialtrick
Copy link

Ein dynamisches Hinzufügen von Geräten ist bei cgroups v2 und damit in Proxmox 7 nicht mehr möglich.
Ein Hinzufügen der notwendigen Devices in der /etc/pve/lxc/.conf ist möglich, allerdings sind die Major IDs dynamisch und können sich bei jedem Start ändern.
Ein Workaround ist es, einfach alle Geräte zu erlauben, in dem man in der Datei /etc/pve/lxc/.conf zusätzlich zu den Anpassungen aus der Doku noch die Zeile lxc.cgroup2.devices.allow: c *:* rwm anfügt.

Gibt es inzwischen eine abschließende Lösung für das Problem? Das Workaround funktioniert leider nur solange man nur ein USB Device an einen LXC durchreicht. Auf meinem Host läuft auch noch Zigbee2Mqtt samt USB-Coordinator. Sobald man den Workaround verwendet, wird der USB-Coordinator nicht mehr sauber an den Zigbee2Mqtt Container durchgereicht.

Welche notwendigen Devices in der /etc/pve/lxc/.conf hinzugefügt werden, damit die Debmatic wenigstens bis zum nächsten Neustart funktioniert?

@Spezialtrick
Copy link

Spezialtrick commented Jan 6, 2022

Ich konnte es so in der Config der Debmatic lösen:

lxc.cgroup2.devices.allow: a
lxc.cgroup2.devices.deny: c 188:* m

Die erste Zeile sorgt dafür, dass die Debmatic auf die HB-RF-USB-2 (bzw. alle Geräte) zugreifen kann. Die zweite Zeile exkludiert eine Gruppe von Geräten. In meinem Fall einen Zigbee-Coordinator und einen MiniCUL.

@stale
Copy link

stale bot commented Mar 9, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Mar 9, 2022
@stale stale bot closed this as completed Mar 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants