2013-06-11 10 views
8

Ich versuche mich zu entscheiden, wann ein LXC-Container eine bessere Wahl sein kann als eine vollständige VM.Was sind die typischen Anwendungsfälle für LXC im Vergleich zu VM?

Haben Sie genaue Anwendungsfälle, die auf die eine oder andere Art Argumente liefern können?

Sind LXC mehr "PaaS" -orientiert, um Anwendungen ohne Hardware-Kontrolle zu betreiben? Müssen wir VM immer in einer "IaaS" -Perspektive verwenden, in der wir die Infrastruktur kontrollieren wollen?

Grüße,

Antwort

5

Ich glaube nicht, dass IaaS VMs benötigt. Mit LXC können Sie # von cpushare und Memory user limit definieren.

Die Sache ist, VMs sind ziemlich schwer, also zum Beispiel PHP/MySQL/Apache, würden Sie 1 VM haben. Da LXC leicht sind, könnten Sie 3 LXC haben, also viel besser skalieren (wenn Sie shqr mysql brauchen, kopieren Sie einfach die mysql LXC)

1

Für mich ist der Vorteil von lxc wird es Ihnen helfen, eine wirklich kleine Umwelt zu haben. So nutzen Sie es voll, wenn Sie nur eine App darauf ausführen lassen. Wenn mehrere App in Ihrer Umgebung ausgeführt werden sollen, ist eine VM besser. Ein anderer Fall, in dem eine VM besser ist, ist, wenn Sie einen anderen Kernel als den Host-Kernel verwenden möchten.

Für mich ist lxc nur ein wirklich leichtes VM-System. Mit Geschwindigkeit und Größe besser. Aber Constraint kann nicht sein, was Sie brauchen.

8

LXC ist wie ein chroot Gefängnis auf Steroiden. Aus Gründen der Argumentation können Sie es als eine leichte VM betrachten (obwohl es überhaupt keine VM ist).

Wenn Sie bereits eine Anwendung geschrieben haben, die auf einer ephemeren Infrastruktur basiert, können Sie mit LXC nur mit weniger Aufwand arbeiten.

Für mich ist das Beste an LXC, dass die Community wächst. Betrachten Sie etwas wie docker - ein Docker-Bild ist relativ portabel. Es bietet die Werkzeuge zum Konfigurieren identischer Container auf physischer Hardware oder innerhalb einer VirtualBox-VM, die auf Ihrem Desktop oder in VMs von Amazon oder Rackspace ausgeführt wird. Dies bringt uns näher an den Traum von Einmal-Schreien überall hin.

+3

LXC ähnelt mehr einer Chroot auf Steroiden als eine leichte VM. LXC virtualisiert keine Maschine und ist somit überhaupt keine virtuelle Maschine. –

+0

Danke Ich habe es für mehr Klarheit aktualisiert –

2

LXCs starten viel schneller als VMs und verwenden weniger Hostressourcen pro Container als VMs. Daher sind sie ideal für Kombinationen, bei denen viele isolierte Prozesse auf einen Host gepackt und/oder häufig gestartet werden.

Ein Anwendungsfall ist zum Ausführen von Komponententests in reproduzierbaren Umgebungen (in Kombination mit einem Snapshot-Dateisystem, wie Docker bietet). Sie könnten einen ganzen Container hochfahren, den Test ausführen und ihn so schnell herunterfahren, wie Sie den Test einfach ausführen könnten. Der Vorteil des LXC wäre, dass alle Nicht-Kernel-Abhängigkeiten des Tests innerhalb des Containers wären. Es könnte sogar eine andere Art von Linux sein (zB könnte der Host Ubuntu sein und der Container könnte Centos ausführen, obwohl sie den Kernel des Hosts teilen müssen).

Verwandte Themen