Was ist LXC und wie fange ich an?

37

Ich würde mich freuen, wenn jemand mir LXC vorstellen und mir sagen könnte, wie ich mit dieser Technologie anfangen soll. In welchen Fällen ist die Verwendung sinnvoll und in welchen Fällen sollte ich mich davon fernhalten?

dhojgaard
quelle
3
Wenn Sie den Film Inception sehen , haben Sie eine gute Vorstellung von lxc. imdb.com/title/tt1375666 Trailer.
Qasim

Antworten:

53

_________________________________________________ LXC _________________________________________________________

                           Linux Containers ( Ubuntu )

Überblick

Linux Container (LXC) sind eine schlanke Virtualisierungstechnologie und stellen ein kostenloses Software-Virtualisierungssystem für Computer mit GNU / Linux bereit. Dies wird durch Kernel-Level-Isolation erreicht. Es ermöglicht die gleichzeitige Ausführung mehrerer virtueller Einheiten (Container) auf demselben Host.

Ein Container ist eine Möglichkeit, eine Gruppe von Prozessen auf einem laufenden Linux-System von den anderen zu isolieren. Durch die Nutzung vorhandener Funktionen wie der neuen Ressourcenverwaltungs- und Ressourcenisolationsfunktionen des Linux-Kernels (Cgroups und Namespaces) können diese Prozesse eine eigene private Ansicht des Betriebssystems mit eigenem PID-Bereich (Process ID), Dateisystemstruktur und ID haben Netzwerk Schnittstellen.

Container teilen sich den gleichen Kernel mit allen anderen, die darauf ausgeführt werden, können jedoch darauf beschränkt sein, nur eine definierte Menge an Ressourcen wie CPU, Arbeitsspeicher oder E / A zu verwenden. Durch die Kombination von Containern mit anderen Funktionen wie dem Btrfs-Dateisystem ist es möglich, schnell mehrere einfache isolierte Linux-Instanzen auf einem einzigen Host einzurichten. Daher sind Container besser als Solaris-Zonen oder BSD-Jails.

Bildbeschreibung hier eingeben

Installation

LXC einfacher machen

Ein Hauptaugenmerk von Ubuntu LTS lag darauf, LXC so einfach wie möglich zu gestalten, um dies zu erreichen. Erstellen eines Basiscontainers und Starten unter Ubuntu

 sudo apt-get install lxc
 sudo lxc-create -t ubuntu -n my-container
 sudo lxc-start -n my-container

Einloggen

sudo lxc-console -n my-container -t 1

Dies verwendet standardmäßig dieselbe Version und Architektur wie Ihr Computer. Weitere Optionen sind natürlich verfügbar (–help listet sie auf). Login / Passwort sind Ubuntu / Ubuntu.

Zur detaillierten Host-Konfiguration


Weitere Informationen zu LXC

Debian

Orakel

sourceforge


LXC Web Panel

Für Neulinge würde ich empfehlen, LXC Webpanel zu verwenden. Der gute Teil ist, dass, wenn Sie einen Container über den CLI-Modus erstellen, dieser in LXC Web Panel angezeigt wird

  sudo apt-get install lxc debootstrap bridge-utils -y
  sudo su
  wget https://lxc-webpanel.github.com/tools/install.sh -O - | bash

Öffnen Sie den Webbrowser und verbinden Sie sich

                       http://your_ip_address:5000/
                Login with user admin and password admin

Überblick

Bildbeschreibung hier eingeben

Containerübersicht

Bildbeschreibung hier eingeben

LXC-Netzwerk

Bildbeschreibung hier eingeben

Containereinstellungen

Bildbeschreibung hier eingeben

Ressourcenbeschränkung

Bildbeschreibung hier eingeben

Benutzermodifikation (Erstellen, Löschen, Ändern)

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Qasim
quelle
1
Ich musste installieren, sudo apt-get install debootstrapbevor sudo lxc-create -t ubuntu -n my-containeres funktionieren würde (Ubuntu 14.04 LTS).
CivMeierFan
Welche Funktionen von BTRFS beschleunigen die Container-Bereitstellung?
Tschad
11

LXC

LXC, abgekürzt LinuX Containers, ist eine Virtualisierungsmethode auf Betriebssystemebene zum Ausführen mehrerer isolierter Linux-Systeme, die als Container auf einem einzelnen Steuerhost bezeichnet werden. Da LXC Virtualisierung auf Betriebssystemebene bietet, erfolgt dies nicht über eine vollständige virtuelle Maschine, sondern über eine eigene virtuelle Umgebung mit eigenem Prozess- und Netzwerkbereich.

LXC stützt sich auf die Linux-Kernel-Cgroups ( Control Groups ), die im Rahmen von LXC entwickelt wurden und eine Funktion zum Begrenzen, Kontieren und Isolieren der Ressourcennutzung (CPU, Speicher, Festplatten-E / A usw.) von Prozessgruppen darstellen. Es stützt sich auch auf andere Arten von Namespace-Isolationsfunktionen, die entwickelt und in den Linux-Kernel integriert wurden.

In Ubuntu finden Sie Tools wie Juju , die mit LXC verwendet werden. Sie können sogar mehrere Tutorials finden:

Um LXC und seine Vorteile zu nutzen, empfehle ich das Ubuntu-Handbuch für Juju zu lesen

Offizielle Seite - https://linuxcontainers.org/

Mailinglisten werden hier gehostet

Luis Alvarado
quelle
2

Ich denke, eine bessere Frage ist, was Sie mit LXC machen wollen?

Ich würde mit der Community-Dokumentation beginnen und bestimmte Fragen zu bestimmten Dingen stellen, die Sie nicht verstehen.

https://help.ubuntu.com/12.04/serverguide/lxc.html

https://help.ubuntu.com/community/LXC

LXC kann verwendet werden, um Dienste oder andere Prozesse vom Host zu isolieren, obwohl die Isolation nicht immer perfekt ist.

LXC befindet sich, IMO, in einer rasanten Entwicklung und kann hilfreich sein, wenn Sie sich für die Mailingliste anmelden.

http://lxc.sourceforge.net/index.php/about/lxc-development/

Distrowatch hat letzte Woche auch einen schönen Überblick gegeben

http://distrowatch.com/weekly.php?issue=20130429#qa

Panther
quelle