Ich habe heute mal meinen Server neugestartet, worauf ein paar LXC Container laufen. Nach dem Neustart weigerten sich aber alle Container automatisch oder manuell zu starten. Nachdem ich dann mal einen Container mit
lxc-start -n db -l info -o outfile
gestartet habe fand ich folgende Zeilen im outfile:
lxc-start 1412384089.536 ERROR lxc_apparmor - lsm/apparmor.c:mount_feature_enabled:61 - Permission denied - Error mounting securityfs lxc-start 1412384089.536 WARN lxc_apparmor - lsm/apparmor.c:apparmor_process_label_set:184 - Incomplete AppArmor support in your kernel lxc-start 1412384089.536 ERROR lxc_apparmor - lsm/apparmor.c:apparmor_process_label_set:186 - If you really want to start this container, set lxc-start 1412384089.536 ERROR lxc_apparmor - lsm/apparmor.c:apparmor_process_label_set:187 - lxc.aa_allow_incomplete = 1 lxc-start 1412384089.536 ERROR lxc_apparmor - lsm/apparmor.c:apparmor_process_label_set:188 - in your container configuration file
Wenn ich nun wie im outfile beschrieben, die Zeile lxc.aa_allow_incomplete = 1 in die Config des Containers einfüge startet dieser nun auch ohne zu murren.
Bei Google fand ich dazu auch direkt folgenden Eintrag auf der LXC Mailingliste. So wie ich es verstanden habe hat es was damit zu tun das ein paar Mount Restrictions von AppArmor nicht im Upstream Kernel enthalten sind. Wie ich das nun verstehe haben sie vorher die Container im ohne AppArmor Sicherung starten lassen und mit dem Config Flag werden diese nun mit Absicherung gestartet.
Bitte korrigiert mich wenn ich hier Mist schreibe, ich habs ehrlich gesagt noch nicht wirklich gecheckt, da ich mich mit AppArmor gar nicht auskenne und ich grad einfach nur müde bin. Es ist für mich immer nur ein Dienst gewesen der irgendwie immer mal dazwischen grätscht und das voll nervt. :D