LXC-Container

Container stehen neben den virtuellen Maschinen unter demselben Dach — dieselben Listen, dieselben Speicher, dieselben Netze, dieselbe Firewall. Anders ist, was ein Container ist: ein Prozessbaum dieses Hosts, keine eigene Maschine.

Liste von LXC-Containern in Phillux mit Distribution, CPU, Speicher und IP-Adressen

Anlegen

Distribution, Ausgabe und Architektur kommen aus den Vorlagen, die schon im Zwischenspeicher liegen; weitere werden unter Abbilder & ISOs geholt. Die Grenzen für CPU und Speicher werden gleich mitgesetzt statt hinterher, ebenso das Netz — auf Wunsch mit fester Adresse statt DHCP —, das root-Kennwort und ein SSH-Schlüssel.

Weil ein Container keine Firmware und keinen Bootloader hat, wird danach nicht gefragt. Zeit kostet das Auspacken des Wurzeldateisystems, und das läuft als Hintergrundaufgabe mit Protokoll.

Ein echtes Terminal, kein Formular

Die Konsole eines Containers ist eine Shell. Phillux startet lxc-attach auf einem Pseudoterminal und schiebt die Bytes in beide Richtungen; im Browser zeichnet xterm.js sie. Zeilenbearbeitung, Farben, curses-Programme — es verhält sich wie das Terminal, das es ist.

Derselbe Weg hinein dient den Fragen, die ohne Netz beantwortet werden müssen: eine Laborprüfung, die Prüfung einer Sicherung, ein Assistent, der nachsieht, ob der eben installierte Dienst wirklich läuft.

Grenzen, die halten

CPU-Anteile und eine Speichergrenze hängen am Container selbst. Es sind cgroup-Einstellungen, sie wirken also am laufenden Container, ohne ihn neu zu starten.

Live-Diagramme und Ressourcengrenzen sind auch für Container gebaut, nicht nur für VMs. Wo eine Funktion für beide Sinn ergibt, gibt es sie für beide — das war eine bewusste Regel und kein Zufall der Reihenfolge.

Snapshots sind hier teurer — das gehört gesagt

Ein Container-Snapshot ist eine Vollkopie. lxc-snapshot klont bei einem verzeichnisgestützten Container das gesamte Wurzeldateisystem: Ein halbes Gigabyte Container ist ein halbes Gigabyte je Snapshot, jedes Mal. Das ist keine Fußnote fürs Handbuch — es ist die Zahl, die entscheidet, ob ein nächtlicher Snapshot eine gute Idee ist.

Die Kosten stehen da, bevor jemand ihn anlegt, und dieselbe Aufräumregel, die VM-Snapshots begrenzt, begrenzt diese, mit derselben Ausnahme für Laborstufen.

Anhalten, ohne anzuhalten

Ein Container lässt sich einfrieren statt herunterfahren. Einfrieren ist ein Schreibvorgang in eine cgroup-Datei: Es dauert keine messbare Zeit, braucht von innen keine Mitwirkung und ist vollständig umkehrbar.

Genauso hält die Notbremse einen Container an, von dem sie annimmt, dass er sich selbst verschlüsselt — siehe Notbremse.

Die Firewall, anders gebunden

Ein Container ist keine libvirt-Domain, es gibt also nichts, worin ein Filterverweis stehen könnte. Stattdessen wird der Filter direkt an das veth-Gerät auf der Hostseite gebunden. Eine solche Bindung lebt nur so lange wie das Gerät — sie verschwindet beim Stoppen und wird beim Starten neu gesetzt.

Die Regeln selbst sind dieselben wie bei einer VM, und sie hängen am Gerät des Gastes, nie am Host.

Wo ein Container die falsche Antwort ist Ein Container teilt sich den Kernel des Hosts. Ein Gast, der einen anderen Kernel, ein anderes Betriebssystem, eigene Kernelmodule oder eine eigene Firmware-Einstellung braucht, gehört in eine virtuelle Maschine — und alles zum Betrieb steht für beide auf derselben Seite.

Jedes Thema auf einer eigenen Seite

Vierzehn Seiten, jede aus dem geschrieben, was das Programm wirklich tut — samt der Stellen, an denen es aufhört.

Liste virtueller Maschinen in Phillux mit Status, Betriebssystem, vCPU, RAM, Platte und Netz
Virtuelle Maschinen KVM-Gäste mit Firmware, Snapshots, Klonen und Konsole im Browser. Ansehen
Virtuelle Netze in Phillux mit Modus, Bridge und Adressbereich
Netzwerke Virtuelle Switches, Verbindungen dazwischen, weitergeleitete Ports, feste Adressen, VLAN-Kennungen und eine absichtlich schlechte Leitung. Ansehen
Firewall-Regeln eines Gastes in Phillux mit Richtung, Protokoll, Port und Aktion
Firewall Regeln an der Karte des Gastes — das Regelwerk des Hosts wird nur gezeigt. Ansehen
Speicher in Phillux mit Inhaltstypen und Belegungsbalken
Speicher Verzeichnis, NAS, Samba, SAN, Cluster-Dateisystem oder CephFS — nach Inhaltstyp getrennt. Ansehen
Die Speicherseite in Phillux mit Software-RAID und der Snapshot-Regel
Software-RAID Verbunde unter dem Speicher — und in einer gestoppten VM, vom Host aus gebaut. Ansehen
Die Cluster-Ansicht in Phillux mit Knoten, freier Kapazität, Eignungsbewertung und gemeinsamem Speicher
Cluster Mehrere Hosts als einer, mit Eignungsbewertung, Konfigurationsabgleich und Live-Migration. Ansehen
Die Sicherungsseite in Phillux mit der Suche nach einem Gast
Sicherungen Und der Teil, den fast niemand macht: eine zurückspielen, um zu wissen, ob sie taugt. Ansehen
Die Notbremse in Phillux mit beobachteten Gästen und Vorfällen
Notbremse Ransomware von unten gesehen, und ein Gast mitten in der Tat eingefroren statt getötet. Ansehen
Der Laborkatalog in Phillux mit Kursen und vorbereiteten Übungen
Labore Eine ganze Topologie als ein Objekt, mehrere Kopien gleichzeitig, Übungen, die sich selbst prüfen. Ansehen
Die interaktive API-Dokumentation von Phillux, aus dem Programm selbst erzeugt
Assistent & API Eine flache REST-Oberfläche und ein MCP-Endpunkt, über den ein Assistent seine eigene Arbeit nachprüft. Ansehen
Der Dialog „VMs von ESXi oder Proxmox übernehmen“ mit System, Adresse, Zugangsdaten und dem Speicher, auf dem der Gast landen soll
Von ESXi oder Proxmox kommen Erst ansehen, dann übernehmen — und ein Weg zurück hinaus in jedem üblichen Format. Ansehen
Vorlagen in Phillux, aus einer fertigen VM oder einem Container aufgenommen
Unbeaufsichtigte Installation Ein Abbild wird gemessen, nicht am Namen erkannt — dann beantwortet oder einfach kopiert. Ansehen
Die Benutzerseite in Phillux mit Rollen, API-Schlüsseln und Sitzungen
Zugang & Rechte Die Konten des Hosts, Rechte je Aktion, verschlüsselt ab dem ersten Start, signierte Aktualisierungen. Ansehen

Auf der eigenen Hardware ausprobieren

Einen Monat, vollständig, ohne Registrierung und ohne dass nach Daten gefragt wird. Der Installer schreibt einen ganzen Server — dafür ist eine freie Maschine oder eine VM der richtige Ort.