Aus Raspberry Pi Geek 09/2023

Rock Pi 5 als Host für LXC (Seite 2)

In den Containern arbeiten Sie wie in einer eigenständigen Installation. Anders als bei Docker bleiben Änderungen innerhalb des Containers auch nach einem Neustart erhalten. LXC bietet eine gute Möglichkeit, schnell Testumgebungen mit mehreren Servern aufzubauen. Um LXC auf dem Rock Pi zu installieren, verwenden Sie den Befehl aus der vierten Zeile von Listing 1. Um das LXC-Netzwerk-Interface zu aktivieren, müssen Sie den Kleinrechner nach der Installation einmal rebooten.

Die Container selbst bauen Sie aus Templates, die lediglich die Grundfunktionen eines Systems bereitstellen. Die Liste der vorhandenen Vorlagen rufen Sie nach der Installation von LXC mit dem Kommando aus der letzten Zeile von Listing 1 auf. Um sich die Verwaltung zu erleichtern, erstellen Sie mit mkdir /lxc ein Verzeichnis, in dem Sie die Container speichern. Falls Sie eine M.2-SSD übrig haben, können Sie diese einrichten und auf /lxc mounten (siehe Kasten “M.2”).

M.2

Der Rock Pi 5 verfügt auf der Unterseite über eine M.2-Schnittstelle für eine zusätzliche Festplatte. Nach der Montage des Speichers prüfen Sie mit dem ersten Kommando aus Listing 2, ob das System dieses Interface erkennt. Die Ausgabe des Kommandos sollte so ähnlich aussehen wie in der dritten Zeile. Mit dem Kommando aus Zeile 5 legen Sie jetzt eine Partition auf der Platte an. Das Formatieren erledigen Sie mit dem Aufruf aus Zeile 7. Zu guter Letzt hängen Sie die Platte mit dem Aufruf aus Zeile 9 ins System ein. Wenn Sie die Platte beim Booten automatisch mounten möchten, müssen Sie den Inhalt von Zeile 11 in die /etc/fstab einfügen. Sie können das System auch von der M.2-Platte booten lassen. Eine Anleitung dazu finden Sie auf der Projektseite [10].

Listing 2

M.2-SSDs als Datenspeicher verwenden

### Festplatte abfragen
# fdisk -l | grep nvme
Disk /dev/nvme0n1: 465.78 GiB, 500107862016 bytes, 976773168 sectors
### Partition anlegen
# fdisk /dev/nvme0n1
### Partition formatieren
# mkfs.ext4 /dev/nvme0n1p1
### Datenspeicher einhängen
# mount /dev/nvme0n1p1 /lxc
### Eintrag in der /etc/fstab
/dev/nvme0n1p1 /lxc ext4 defaults 0 1

Mit dem Kommando lxc-create, das etliche Parameter unterstützt, erstellen Sie neue Container. Eine vollständige Dokumentation dazu rufen Sie mit man lxc-create auf. Listing 3 fasst die Kommandos zusammen, um drei Test-Container in eigenen Verzeichnissen zu erstellen und zu starten.

Hierbei geben Sie genau vor, welches Template Sie verwenden möchten. Von besonderer Bedeutung sind die drei Parameter -a (Architektur), -d (Distribution) und -r (Release). Lassen Sie einen dieser Parameter weg, fragt lxc-create interaktiv nach.

Die Distribution und das Release können Sie frei wählen. Bei der Architektur haben Sie keine große Auswahl: Host- und Gastarchitektur müssen immer zusammenpassen. Daher ist es wichtig zu wissen, dass es sich bei aarch64 und arm64 um dieselbe Architektur handelt. Das Kommando aus Zeile 14 von Listing 3 gibt die Liste der Container samt etlicher Zusatzinformationen aus.

Listing 3

Container erstellen und starten

### Verzeichnisse erstellen
# mkdir /lxc/ubuntu01
# mkdir /lxc/ubuntu02
# mkdir /lxc/ubuntu03
### Container erstellen
# lxc-create -t download --dir=/lxc/ubuntu01 ubuntu01 -- -a arm64 -d ubuntu -r jammy
# lxc-create -t download --dir=/lxc/ubuntu02 ubuntu02 -- -a arm64 -d ubuntu -r jammy
# lxc-create -t download --dir=/lxc/ubuntu03 ubuntu03 -- -a arm64 -d ubuntu -r jammy
### Container starten
# lxc-start ubuntu01
# lxc-start ubuntu02
# lxc-start ubuntu03
### Container mit Informationen auflisten
# lxc-ls -f
### Container stoppen und löschen
# lxc-stop ubuntu03
# lxc-destroy ubuntu03

Nach der Installation starten Sie die Container (Listing 3, Zeilen 10 bis 12). Über das Kommando lxc-top rufen Sie bei Bedarf ab, welche Container laufen und welche Ressourcen sie aktuell belegen. Zum Stoppen eines Containers verwenden Sie den Befehl lxc-stop, über lxc-destroy löschen Sie einen Container (Zeile 17).

Damit kennen Sie auch schon die nötigsten Kommandos, um Container zu verwalten. Sehen wir uns nun einmal genauer an, wie Sie mit den Containern arbeiten.

Container

Direkt nach der Installation stellt ein Container nur ein Basisbetriebssystem ohne Verbindung zur Außenwelt bereit. Um mit den Containern zu arbeiten, verwenden Sie den Aufruf lxc-attach <§§I>Container<§§I>. Er öffnet eine Root-Konsole auf dem Container, mit dem Sie administrative Aufgaben erledigen. Der Befehl apt install ssh installiert einen SSH-Server, mit adduser user legen Sie einen Nutzer mit dem Namen user an.

Jetzt können Sie sich via SSH als user mit dem Container verbinden und darauf arbeiten. Aktuell erreichen Sie den Container allerdings nur direkt über den Wirt, auf dem er läuft. Das liegt daran, dass LXC alle Container in einem NAT-Netzwerk erstellt, das sich von außen nicht erreichen lässt. Es gibt mehrere Möglichkeiten, den Zugriff auf die Container zu ermöglichen. Eine Beschreibung der unterschiedlichen Konfigurationen finden Sie auf der Ubuntu-Homepage [11].

An dieser Stelle beenden wir die Experimente mit LXC. Das soll aber nicht bedeuten, dass wir das Thema damit bereits vollständig abgehandelt hätten. Wenn Sie sich noch etwas intensiver mit LXC beschäftigen möchten, bietet sich die Debian-Homepage [12] als gute Informationsquelle an. Um Ihnen den Einstieg in die Bedienung von LXC ein wenig zu erleichtern, fasst die Tabelle “LXC-Kommandos” alle hier verwendeten Aufrufe noch einmal zusammen.

Kommando

Beschreibung

lxc-checkconfig

Test, ob das Host-System in der Lage ist, LXC zu fahren.

lxc-create

Neue Container aus Templates erstellen.

lxc-destroy

Bestehende Container vollständig löschen.

lxc-start

Container starten (mit -F inklusive interaktiver Login-Konsole).

lxc-stop

Container stoppen.

lxc-download -l

Liste der Templates ausgeben.

lxc-ls

Anzeigen der installierten Container (mit -f inklusive Zusatzinformationen).

lxc-top

Aktueller Ressourcenverbrauch der laufenden Container.

lxc-attach

Ohne Login mit Container-Konsole verbinden.

Fazit

Wie eingangs bereits erwähnt, setzt der Rock Pi 5 neue Maßstäbe für Single Board Computer. Er ist um Längen professioneller als ein RasPi 4 und auch erheblich leistungsfähiger. Das macht ihn zusammen mit der Lieferbarkeit zum fairen Preis aktuell unschlagbar. Der einzige Wermutstropfen besteht darin, dass man sich an einigen Stellen etwas umgewöhnen muss.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben