LXC auf Ubuntu 14.04-2 LTS: Unterschied zwischen den Versionen

Aus Vosp.info
Wechseln zu:Navigation, Suche
(Feste IPs für CTs)
 
(18 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
Zurück zu [[Lxc]]
 
Zurück zu [[Lxc]]
 +
 +
== Nützliches ==
 +
Ein hängendes lxc-start kann nur mit -9 beendet werden
 +
killall -9 lxc-start
  
 
== Apparmor ==
 
== Apparmor ==
 
Apparmor verhindert den Start von Containern mit systemd
 
Apparmor verhindert den Start von Containern mit systemd
 
  Failed to mount cgroup at /sys/fs/cgroup/systemd: Permission denied
 
  Failed to mount cgroup at /sys/fs/cgroup/systemd: Permission denied
 +
 +
Debian Wheezy als init-basiertes System funktioniert problemlos
  
 
=== Workaround 1 ===
 
=== Workaround 1 ===
Not working  
+
<span style="color:#FF0000"> Not working </span>
 +
Der folgende Befehl entläd das usr.bin.lxc-start Profil aus dem Kernel
 
  sudo apparmor_parser -R /etc/apparmor.d/usr.bin.lxc-start
 
  sudo apparmor_parser -R /etc/apparmor.d/usr.bin.lxc-start
 +
Damit diese Änderung permanent ist, wird ein symbolischer Link in /etc/apparmor.d/disable angelebt
 
  sudo ln -s /etc/apparmor.d/usr.bin.lxc-start /etc/apparmor.d/disabled/
 
  sudo ln -s /etc/apparmor.d/usr.bin.lxc-start /etc/apparmor.d/disabled/
 +
* Link: https://help.ubuntu.com/lts/serverguide/lxc.html#lxc-apparmor
 +
 
=== Workaround 2 ===
 
=== Workaround 2 ===
Working
+
<span style="color:#FF0000">Working</span><br>
Zusätzlicher Eintrag in die Container-Config
+
Zusätzlicher Eintrag in die Container-Config<br>
 +
Damit ist apparmor für den Container abgeschaltet
 
  lxc.aa_profile = unconfined
 
  lxc.aa_profile = unconfined
Ob dieser Eintrag alleine oder nur mit Workaround 1 wirkt, bleibt zu prüfen.
+
* Link: https://help.ubuntu.com/lts/serverguide/lxc.html#lxc-apparmor
 +
 
 +
== dnsmasq ==
 +
Ubuntu 14.04 setzt auf dnsmasq (nur das Programm, nicht das Paket), um das Netzwerk der CTs, die über lxcbr0 ins Netz gehen, über dhcp zu konfigurieren.
 +
Damit einem CT eine statische IP zugewiesen werden kann, wird in
 +
vim /etc/default/lxc-net
 +
die auskommentierte Zeile
 +
#LXC_DHCP_CONFILE=/etc/lxc/dnsmasq.conf
 +
einkommentiert.<br>
 +
Neustart des virtuellen Netzwerkes. Erst alle CTs stoppen, dann
 +
service lxc-net restart
 +
=== Feste IPs für CTs ===
 +
vim /etc/lxc/dnsmasq.conf
 +
 
 +
dhcp-host=00:16:3e:8a:c6:8b,,10.0.3.2,infinite
 +
 
 +
Hier nicht eingetragene Hosts bekommen ein IP aus dem Range, der in /etc/default/lxc-net eingetragen ist.
 +
 
 +
== Container aufsetzen ==
 +
Der Container landet automatisch in /var/lib/lxc
 +
lxc-create -n <name> -t <template> -- -r <release>
  
 +
=== Container ===
 +
[[Testinstall]]
  
 
== Bugs und Lösungen ==
 
== Bugs und Lösungen ==
Zeile 20: Zeile 53:
 
Beide Ansätze funktionieren.
 
Beide Ansätze funktionieren.
 
* http://askubuntu.com/questions/468466/why-this-occurs-error-diskfilter-writes-are-not-supported
 
* http://askubuntu.com/questions/468466/why-this-occurs-error-diskfilter-writes-are-not-supported
 +
==== VirtualBox ====
 +
===== Internes Netzwerk =====
 +
Promiscuous Mode: Erlauben für alle VMs und den Host
 +
Sonst gibt es seltsame Fehler.<br>
 +
DHCP klappt, dann nichts mehr.<br>
 +
Vielleicht kann der Host ausgeschlossen werden. Später mal sehen.
 +
===== WIndows 7 =====
 +
* Festplattencontroller: IDE
 +
Sonst werden die Daten nicht expandiert

Aktuelle Version vom 13. März 2015, 09:27 Uhr

Zurück zu Lxc

Nützliches

Ein hängendes lxc-start kann nur mit -9 beendet werden

killall -9 lxc-start

Apparmor

Apparmor verhindert den Start von Containern mit systemd

Failed to mount cgroup at /sys/fs/cgroup/systemd: Permission denied

Debian Wheezy als init-basiertes System funktioniert problemlos

Workaround 1

Not working Der folgende Befehl entläd das usr.bin.lxc-start Profil aus dem Kernel

sudo apparmor_parser -R /etc/apparmor.d/usr.bin.lxc-start

Damit diese Änderung permanent ist, wird ein symbolischer Link in /etc/apparmor.d/disable angelebt

sudo ln -s /etc/apparmor.d/usr.bin.lxc-start /etc/apparmor.d/disabled/

Workaround 2

Working
Zusätzlicher Eintrag in die Container-Config
Damit ist apparmor für den Container abgeschaltet

lxc.aa_profile = unconfined

dnsmasq

Ubuntu 14.04 setzt auf dnsmasq (nur das Programm, nicht das Paket), um das Netzwerk der CTs, die über lxcbr0 ins Netz gehen, über dhcp zu konfigurieren. Damit einem CT eine statische IP zugewiesen werden kann, wird in

vim /etc/default/lxc-net

die auskommentierte Zeile

#LXC_DHCP_CONFILE=/etc/lxc/dnsmasq.conf

einkommentiert.
Neustart des virtuellen Netzwerkes. Erst alle CTs stoppen, dann

service lxc-net restart

Feste IPs für CTs

vim /etc/lxc/dnsmasq.conf
dhcp-host=00:16:3e:8a:c6:8b,,10.0.3.2,infinite

Hier nicht eingetragene Hosts bekommen ein IP aus dem Range, der in /etc/default/lxc-net eingetragen ist.

Container aufsetzen

Der Container landet automatisch in /var/lib/lxc

lxc-create -n <name> -t <template> -- -r <release> 

Container

Testinstall

Bugs und Lösungen

Diskfilter writes are not supported

Beide Ansätze funktionieren.

VirtualBox

Internes Netzwerk
Promiscuous Mode: Erlauben für alle VMs und den Host

Sonst gibt es seltsame Fehler.
DHCP klappt, dann nichts mehr.
Vielleicht kann der Host ausgeschlossen werden. Später mal sehen.

WIndows 7
  • Festplattencontroller: IDE

Sonst werden die Daten nicht expandiert