2013-03-24 5 views
6

Ich versuche LXC (0.7.4.1) auf meinem Debian 6 installieren, aber wenn ich die lxc-checkconfig laufen bekomme ich "CGroup Speicher-Controller: fehlt"LXC - CGroup Speicher-Controller: fehlende

[email protected]:~# lxc-checkconfig 
Kernel config /proc/config.gz not found, looking in other places... 
Found kernel config file /boot/config-2.6.32-5-686 
--- Namespaces --- 
Namespaces: enabled 
Utsname namespace: enabled 
Ipc namespace: enabled 
Pid namespace: enabled 
User namespace: enabled 
Network namespace: enabled 
Multiple /dev/pts instances: enabled 

--- Control groups --- 
Cgroup: enabled 
Cgroup namespace: enabled 
Cgroup device: enabled 
Cgroup sched: enabled 
Cgroup cpu account: enabled 
Cgroup memory controller: missing 
Cgroup cpuset: enabled 

--- Misc --- 
Veth pair device: enabled 
Macvlan: enabled 
Vlan: enabled 
File capabilities: enabled 
enabled 

Note : Before booting a new kernel, you can check its configuration 
usage : CONFIG=/path/to/config /usr/bin/lxc-checkconfig 

Nach Google-Suche Ich muss meinen Kernel neu kompilieren, aber ich weiß nicht wie. Jemand kann mir erklären, wie man das macht?

Mit freundlichen Grüßen

Antwort

5

Der Kernel von Debian 6 hat keine Funktion Speicher cgroup. Allerdings können Sie lxc ohne es ausführen.

Wenn Sie Speicher cgroup benötigen, ist es einfach, den neuen Kernel von backports zu installieren.

  1. hinzufügen apt-Linie von updates
  2. Run "apt-get linux-image-3.2.0-0.bpo.4-amd64 install" (oder -686 für i386)
  3. hinzufügen Kernel Booten Sie die Option "cgroup_enable = memory" für Ihre Bootloader-Einstellung (zB/etc/default/grub), um sie zu aktivieren.
  4. Neustart

Oder, wenn Sie den Kernel neu kompilieren möchten, können Sie Kernel-Paketsystem von Debian verwenden; http://newbiedoc.sourceforge.net/system/kernel-pkg.html

+0

Danke, die Backports lösen mein Problem. –

2

Update-Kernel von here.

Dann starten Sie Ihr System neu. Dieses Problem wird automatisch gelöst, aber wenn nicht, gehen Sie zu /boot/config-<versionnumber>-generic. Zum Beispiel: /boot/config-3.11.0-13-generic

Hier sehen, ob CONFIG_CGROUP_MEM_RES_CTLR=y verfügbar ist oder nicht. Wenn 'ja', dann ok, sonst fügen Sie es ein, dass in.

3

Ich habe ähnliche Speicher Cgroup Probleme, und habe es ein wenig untersucht. Ich schrieb über einen Blog-Eintrag hier:

http://blog.raymond.burkholder.net/index.php?/archives/639-Debian-Stretch-LXC-Memory-Controller.html

Zusammengefasst der Kernel mit der notwendigen Speicher cgroup Unterstützung kompiliert. Die Fliege-in-der-Salbe: lxc-checkconfig hat einen Fehler darin, und zeigt nicht richtig den Status des Gedächtnis cgroup an. CONFIG_CGROUP_MEM_RES_CTLR=y gilt nur für ältere Kernel (irgendwann vor 3,6, glaube ich).

Ich am Ende mache zwei Anpassungen: eine Anpassung an die /boot/config-$version, und eine Anpassung an /etc/default/grub. Beides wird in dem Artikel erklärt.

Aber unter dem Strich scheint die allgemeine Empfehlung zu lauten: Aktivieren Sie sie nicht, wenn Sie wirklich keine Speicherbegrenzungsverwaltung für Container durchführen müssen. Es gibt einen gewissen Leistungs- und Speicheraufwand.