-
-
Notifications
You must be signed in to change notification settings - Fork 194
Installation LXC
Möchte man als Virtualisierungslösung auf Linux Containers (LXC) um darüber auf einem bereits bestehenden Debian-basierten Linux System (Debian, Ubuntu, RaspberryPiOS, Armbian, etc.) RaspberryMatic als nativen leichtgewichtigen Linux Container zu betreiben, kann man mit dem folgenden Schritten eine Installation eines solchen LXC-basierten RaspberryMatic Systems vornehmen. Hierbei kann im Folgenden dann eine teilautomatische Installation vorgenommen werden.
Note
Bei der Nutzung von LXC im Kontext einer RaspberryMatic/CCU gilt zu beachten, dass im Gegensatz zu einer virtuellen Maschine z.B. unter Proxmox VE oder mittels QEmu/KVM auf dem jeweiligen Host-System (d.h. auf dem System auf dem man LXC betreibt) für den Betrieb eines solchen RaspberryMatic LXC gewisse Zusatzpakete und Modifikationen vorgenommen werden müssen um auf die notwendige Homematic Funkmodulhardware (z.B. RPI-RF-MOD
, HmIP-RFUSB
, etc.) zugreifen zu können. Zwar können diese Zusatzpakete/Modifikationen später wieder komplett zurückgenommen werden. Auf Grund dieser Abhängigkeiten zu notwendigen Paketen des Host-Systems können im späteren Verlauf (ggf. bei OS-Updates des Host-Systems) es später zu Problemen kommen. Solche Host-Updates sollten also immer mit dem Wissen durchgeführt werden, dass diese ggf. Auswirkungen auf die Funktion des RaspberryMatic LXC Container haben kann.
Um ein RaspberryMatic LXC Container auf seinem bereits bestehenden Linux System betreiben zu können, müssen auf diesem (dem sogenannten "Host") vor der eigentlichen Installation gewisse Voraussetzungen erfüllt sein bzw. gewisse Vorkehrungen getroffen sein damit der in Betrieb zu nehmende RaspberryMatic LXC dann auch korrekt funktioniert. Dies betrifft vor allem die Netzwerkkonfiguration des Hostsystems. Damit dort der RaspberryMatic Container korrekt funktionieren muss darauf ein sogenanntes "Bridge" Interface (br0
) mit statischer IP-Adresse eingerichtet werden worüber dann dann Host system mit dem LAN Interface verbunden wird. Je nach eingesetztem Betriebssystem und Netzwerkframework muss dies ggf. jeweils etwas anders umgesetzt werden:
Setzt man als Host-OS ein Linux ein das auf NetworkManager als Netzwerkmanagement Tool setzt (z.B. Armbian, RaspberryPiOS), so kann man mit den folgenden Schritten dafür sorgen das solch ein "Bridge Interface" entsprechend angelegt und nutzbar wird:
-
Aktuellen Interfacenamen identifizieren: Mit dem folgenden Befehl sollte man an erstes sich alle aktuellen "Interfaces" ausgeben lassen:
sudo nmcli connection show --active
Aus der Ausgabe dieses Befehles sollte man sich dann den Namen des Hauptinterfaces (z.B.
eth0
) notieren da man diesen dann später wieder benötigt. Zusätzlich dazu sollte man sich noch die aktuelle IP-Adresse bzw. eine IP-Adresse die man später statisch vergeben will samt Netmaske notieren (z.B.192.168.178.10/24
). -
bridge-utils
installieren: Damit man eine "Netzwerk-Bridge" einrichten kann muss mit folgendem Befehl sichergestellt werden das die passendenbridge-utils
installiert sind:sudo apt install bridge-utils
-
Netzwerk-Bridge einrichten: Nun sollte man mit den folgenden Befehlen
sudo nmcli connection add ifname br0 type bridge con-name br0 sudo nmcli connection add type bridge-slave ifname <device> master br0 sudo nmcli connection modify br0 ipv4.addresses "<address>/<prefix>" ipv4.gateway "<gateway>" ipv4.dns "<dns1>,<dns2>" ipv4.method "manual"
Anstelle der hier mit
<
und>
eingeschlosenen Beispielwerten muss man stattdessen die folgenden Informationen einfügen:-
<device>
: der Name des Hauptinterfaces (z.B.eth0
) den man in Schritt 1 identifiziert hat. -
<address>/<prefix>
: die statische IPv4 Adresse samt Netzwerkprefix die man in Zukunft für das Host-system nutzen möchte (z.B.192.168.178.10/24
). -
<gateway>
: die IPv4 Adresse des "default gatway" bzw. Routers (z.B.192.168.178.1
). -
<dns1>,<dns2>
: die IPv4 Adressen (oder nur eine ohne komma) des DNS-Servers bzw. Routers (z.B.192.168.178.1
).
⚠️ Achtung: Bitte beachten, das sobald diese Befehle eingegeben werden das Host-System ggf. kurzzeitig seine aktuelle Netzwerkverbindung verliert und damit nicht erreichbar ist. Ggf. muss hier auch via direktem Tastatur/Monitorzugriff eingegriffen werden falls falsche Angaben bei diesen Befehlen vorgenommen werden. -
-
Neustart durchführen: Hat man die notwendige Netzwerkbridge (
br0
) eingerichtet sollte diese viaip a
Befehl bzw.nmcli
auf der Kommandozeile sichtbar werden. Trotzdem wäre nun angeraten vor der weiteren Einrichtung des LXC Containers erst ein Neustart des Hostsystems durchzuführen um sicherzustellen das dieses auch nach einem Neustart wieder korrekt hochfährt:sudo reboot
Setzt man als Host-OS ein Linux ein das auf ifupdown
als Netzwerkmanagement Tool setzt (z.B. Debian Linux), so kann man mit den folgenden Schritten dafür sorgen das solch ein "Bridge Interface" entsprechend angelegt und nutzbar wird:
-
bridge-utils
installieren: Damit man eine "Netzwerk-Bridge" einrichten kann muss mit folgendem Befehl sichergestellt werden das die passendenbridge-utils
installiert sind:sudo apt install bridge-utils
Setzt man als Host-OS ein Linux ein das auf netplan
als Netzwerkmanagement Tool setzt (z.B. Ubuntu Linux), so kann man mit den folgenden Schritten dafür sorgen das solch ein "Bridge Interface" entsprechend angelegt und nutzbar wird:
Table of Contents RaspberryMatic Documentation © 2015-2024 Jens Maus and RaspberryMatic Contributors, licensed under CC BY-SA License 4.0