Proxmox Virtual Environment - Laufender LXC Container mit top

Im Gegensatz zu einer virtuellen Maschinen teilt sich ein LXC Container den Linux Kernel mit dem Hostsystem. Die einzelnen Container werden jedoch von einander isoliert. LXC Container verhalten sich im Grun­de wie eine VM. Sie bekommen eine eigene IP-Adresse, eigenen Speicher usw.

Mit Proxmox VE kann man LXC Container einfach über die Web-Oberfläche erstellen und muss sich nicht mit der Kommandozeile von LXC befassen. Zusätzlich stehen verschiedene Templates zur Verfügung, welche man einfach nutzen kann.

Wann nutze ich einen LXC Container und wann eine VM?

Das muss jeder für sich selber entscheiden. Im Gegensatz zu Docker, kann in einem LXC Container erst einmal jede Applikation problemlos genutzt werden.

Man spart jedoch Ressourcen, da keine VM läuft. Ich nutze LXC Container zum Beispiel um meinen Ubiquiti UniFi Controller laufen zu lassen oder für mein Monitoring.

Weitere Anwendungsfälle könnten ein Apt-Cacher-ng, ein Load Balancer oder ein DHCP Server sein.

Ich nutze LXC Container also für Kleinigkeiten welche man vom Rest der Infrastruktur trennen möchte, aber eine VM irgendwie zu viel des Guten ist.

Proxmox Virtual Environment - LXC Templates

Zuerst einmal muss man sich die gewünschten LXC Templates herunterladen. Dies kann man natürlich über die Proxmox VE Web-Oberfläche machen.

Dazu einfach den Storage auswählen, auf dem Container Templates gespeichert werden. Im Standard ist dies local. Mit einem Klick auf Templates bekommt man die Liste der verfügbarer Templates angezeigt und kann das gewünschte Template einfach mit einem Klick auf "Download" herunterladen. Proxmox Virtual Environment - LXC Templates

LXC Container erstellen

Schritt 1

Proxmox VE - LXC Container erstellen Schritt 1 Einen neuen Container erstellt man über den Button "Create CT" in der oberen rechten Ecke. Dabei wird man durch den kompletten Prozess geführt. Im ersten Schritt wird der Hostname und das spätere root Passwort für den Container festgelegt.

Schritt 2

Im zweiten Schritt wählt man dann das Template, welches man für den Container nutzen möchte. Proxmox VE - LXC Container Template wählen

Schritt 3

Ich überspringe einmal die Konfiguration von "Root Disk", "CPU" und "Memory" das sollte alles selbsterklärend sein.

Proxmox VE - LXC Container Netzwerk Auch die Konfiguration für die Netzwerkkarte ist nicht wirklich spannend. Wenn man ein Netz mit DHCP hat, sollte man hier natürlich DHCP auswählen.

Die Netzwerkbrücke vmbr0 wurde bei der Installation von Proxmox VE automatisch erstellt.

Schritt 4

Nachdem man alle Einstellungen getroffen hat, erstellt Proxmox VE den neuen Container. Das geht in der Regel sehr schnell und ist deutlich schneller als eine neue VM zu installieren oder zu klonen.

Das Fenster mit den Statusinformationen kann dann einfach geschlossen werden. Oben links kann man schon den neuen Container "first-container" mit der ID 100 sehen. Proxmox VE - LXC Container Klon

LXC Container starten und benutzen

Der LXC Container kann wie eine VM über den "Start" Button gestartet werden. Ein Container "bootet" übrigends in 2 bis 3 Sekunden. Proxmox VE - LXC Container Starten

Über die Web-Oberfläche kann auf die Console des Containers zugegriffen werden.

Leider ist mir aufgefallen, dass die noVNC Console bei LXC Containern nicht immer so richtig funktionieren möchte. Wenn die Konsole einfach schwarz bleibt, kann einmal [Enter] drücken helfen.

Alternativ kann man auch vom Proxmox VE Server selber in einen Container springen. Dazu einfach den Befehl pct enter <id> eingeben. Dann landet man in dem LXC Container.

Proxmox VE - pct enter

Natürlich kann man sich in dem Container auch einen SSH Server installieren.

Wenn man auf dem Hostsystem, also dem Proxmox VE Server selber, ps oder htop ausführt, bekommt man übrigends alle Prozesse angezeigt, welche in den Containern ausgeführt werden. Proxmox VE - Prozesse innerhalb eines LXC Containers

LXC Container automatisch starten

Sehr praktisch finde ich die Möglichkeit, dass man LXC Container beim Boot des Hostsystems automatisch starten kann. So sind die Prozesse, welche in den LXC Container laufen, bereits nach wenigen Sekunden nach einem Neustart des Hostsystems wieder verfügbar. Proxmox VE - LXC Container beim Start automatisch starten

Proxmox VE Wiki

An dieser Stelle möchte ich nochmal auf den Proxmox VE Wiki Beitrag zu Linux Container hinweisen.

Update 20.04.2018

Ich habe heute noch einen Beitrag geschrieben, wie man bestehende LXC Templates anpassen kann.