Intel NUC, Proxmox und ioBroker

In diesem Artikel zeige ich Dir, wie Du auf einem Intel NUC die Virtualisierungssoftware Proxmox und ioBroker installierst und welchen Vorteil Du davon erhälst.

In diesem Artikel werden wir gemeinsam auf einem Intel NUC die Virtualisierungssoftware Proxmox installieren und eine virtuelle Maschine für ioBroker anlegen.

Als ich vor einigen Jahren meine ersten Erfahrungen mit ioBroker sammeln durfte, habe ich zu Beginn aus Kostengründen einen einfachen Raspberry Pi mit SD-Karte als Basis für ioBroker verwendet. Damals noch ein Pi 3 mit 1 GB Arbeitsspeicher. Mit der Zeit kam ich häufig an die Grenzen vom Pi. Neue Smart-Home Hardware (Aktoren und Sensoren) und somit auch neue ioBroker Adapter trieben das System immer weiter Richtung 1 GB Speicherauslastung. Zudem hatte ich während der Zeit einmal einen SD-Kartenfehler und somit einen Totalausfall der Smart-Home Steuerung. Mit dem Backup und einer neuen SD-Karte konnte zwar relativ schnell ein neues System aufgesetzt werden, die Angst vor einem erneuten Crash war aber immer vorhanden. Und dann war es wieder soweit ,der nächste Crash, die nächste defekte SD-Karte 🙁

Meine Entscheidung stand schon länger fest, also wurde jetzt eine neue Hardware-Basis angeschafft und ioBroker darauf installiert. Ich habe mich für ein Intel NUC Mini-PC entschieden. Auf diesem System soll die ioBroker Software und später auch andere Lösungen wie z.B. Grafana auf virtuellen Maschinen installiert werden. Als Virtualisierungslösung soll Proxmox eingesetzt werden. Ich kann somit mehrere virtuelle Maschinen auf dem Intel NUC betreiben.

Vorteile von virtuellen Maschinen:

  • Mehrere Maschinen auf einem Host (produktiv, test, …)
  • Einfaches Backup
  • Snapshots zur Sicherung von Ständen
  • Klonen von Maschinen

Proxmox ist eine sehr mächtige Virtualisierungslösung. Neben den oben gezeigten Vorteilen gibt es aber auch einen Nachteil. Du musst Dich mit der Materie beschäftigen und einarbeiten. Zudem benötigst Du dazu bereits gute Linux-Kenntnisse. Alles in allem aber machbar und Du lernst viel dazu. Ich kann es nur jedem empfehlen, der auch Spaß an diesem Thema hat 🙂

Hier nun die von mir verwendete Hardware:

Mit dem oben gezeigten Intel NUC System sind 8 GB Arbeitsspeicher maximal einsetzbar. Für eine normale Verwendung mit 2-3 Linux Maschinen sollte das eigentlich ausreichend sein. In meinem Fall laufen aktuell zwei Maschinen mit 4 und 2 GB Arbeitsspeicher. Im Zweifel könnte ich also nochmals eine 2 GB Maschine hinzufügen. Wem das nicht reicht, sollte gleich auf ein größeres System wechseln.

Zum Thema Arbeitsspeicher gibt es ja die altbekannte Weisheit:

RAM ist durch nichts zu ersetzenAußer durch noch mehr RAM 😉

Nach dem der Intel NUC ausgepackt und aufgebaut wurde, habe ich das System zunächst an einem Monitor angeschlossen und im BIOS kontrolliert ob die Hardware ordnungsgemäß erkannt wurde.

Zudem musst Du im Bios im Bereich Boot und Secure Boot die Option Secure Boot deaktivieren, da sonst ein Booten vom USB-Stick nicht möglich ist. Im folgenden Bildschirmfoto siehst Du die markierte Einstellung. Die folgenden Screenshots wurden abfotografiert und sind daher von der Qualität leider nicht gut :-/

Nach dem unser Host-System nun aufgebaut wurde, können wir uns nun die Proxmox-Installation in Form einer ISO-Datei von der Proxmox Webseite herunterladen und auf den USB-Stick flashen. Dazu öffnet Du zunächst die Proxmox Webseite unter:

https://www.proxmox.com/de/downloads

Ich habe hier die Version Proxmox VE 6.2 als ISO Installer heruntergeladen und auf meinem Windows-System gespeichert.

Im nächsten Schritt müssen wir unseren USB-Stick vorbereiten. Ich habe hierzu die Sofware Etcher heruntergeladen und installiert. Die Software kann hier heruntergeladen werden:

https://www.balena.io/etcher/

Nach dem Start von Etcher wählen wir im ersten Schritt über die Schaltfläche Select image die heruntergeladene Proxmox ISO-Datei aus.

Im nächsten Schritt wählst Du hier den USB-Stick aus, auf den das ISO geflasht werden soll. Gestartet wird der Flash-Vorgang dann über die Schaltfläche Flash!.

Der Flash-Vorgang lief bei mir ca. 3 Minuten. Nach dem Flashen könnt ihr den USB-Stick über Windows entfernen und am Intel NUC einstecken.

Nach dem wir den USB-Stick nun erfolgreich geflasht haben, können wir nun den USB-Stick in den Intel NUC einstecken und mit der Installation von Proxmox beginnen. Drücke hierzu während dem Start mehrmals die Taste F10 um in den Bootmanager zu gelangen. Hier wählst Du nun den USB-Stick aus.

Jetzt startet automatisch die Proxmox Installation. Im ersten Schritt wählst Du hier den gelb markierten Punkt „Install Proxmox VE“ aus und bestätigst mit der Enter-Taste. Du kannst zu diesem Punkt auch schon eine Maus und Tastatur an den Intel-NUC anschließen.

Wie üblich muss nun die Endbenutzer-Lizenz (EULA) bestätigt werden. Klicke dazu auf die Schaltfläche I Agree unten rechts.

Im nächsten Schritt wählst Du die Festplatte aus, auf der wir die Proxmox Virtualisierungssoftware installieren möchten. In meinem Fall verwende ich die oben verlinke SSD-Festplatte mit ca 500 GB.

Hier sollten bereits die Länder, Zeitzonen und Tastatur-Layout-Einstellungen korrekt eingestellt sein. Falls nicht, einfach wie im Screenshot gezeigt anpassen.

Für die spätere Anmeldung an der Konfiguration setzen wir hier ein Kennwort sowie eine E-Mail Adresse. Bitte verwende hier Deine E-Mail Adresse, da Du später Informationen Benachrichtigungen per E-Mail erhälst (z.B. für fehlerhafte Backups).

Im nächsten Schritt treffen wir die Netzwerk-Einstellungen. Hierzu musst Du die IP-Adresse, die Netmask, das Gateway sowie die DNS-Server an Dein Netzwerk anpassen. Wähle hier auf jeden Fall eine feste IP-Adresse, die sich nicht im DHCP-Bereich befindet.

Abschließen bekommst Du nochmals eine Übersicht mit allen Einstellungen und Eingaben angezeigt. Mit der Schaltfläche Install wird dann die Installation von Proxmox gestartet und durchgeführt.

Nach dem die Installation durchgeführt wurde, können wir nun mit der Konfiguration beginnen. Hierzu öffnen wir nun einen Browser und geben die Proxmox IP-Adresse mit dem Port 8006 im Browser ein. Wichtig ist hier, dass Ihr HTTPS nutzt und dann wie im Bild gezeigt eine Ausnahme hinzufügt.

Jetzt startet die Proxmox Administrationsoberfläche. Mit dem vorher in der Installation definierten Kennwort für den Root-Benutzer können wir uns hier nun an Proxmox anmelden und mit der Konfiguration des Hosts beginnen sowie die erste virtuelle Maschine installieren. Ich habe hier noch die Sprache auf Deutsch umgestellt.

Die Administration ist sehr übersichtlich und klar aufgebaut. In der linken Baumansicht wird das „Rechenzentrum“ mit unserem Proxmox Host dargestellt. Auf der rechten Seite sehen wir verschiedene Details zu unserem System sowie den angelegten virtuellen Maschinen. Unterhalb wird ein Log mit den Aufgaben dargestellt.

Bevor wir uns nun eine virtuellen Server für ioBroker anlegen, müssen wir zunächst Templates definieren. Dazu wechseln wir oben links von Server-Ansicht auf Ordneransicht. In der Ordneransicht klicken wir nun auf den Ordner Storage – local (proxmox). In der mittleren Navigation klickst Du auf den Bereich Inhalt. Über die Schaltfläche Templates kannst Du nun aus einer Liste das gewünschte Template auswählen. Im Listen-Bereich System findest Du verschiedene Linux-Versionen, die hier bereits als Template zur Verfügung stehen. So kannst Du sehr schnell eine neue virtuelle Maschine anlegen. Ich habe mich hier für Ubuntu-19.10-standard entschieden.

Nach dem Herunterladen des Templates wird in der Ausgabe TASK OK im Log angezeigt.

Im nächsten Schritt erstellen wir nun unsere virtuelle Maschine. Proxmox unterscheidet hierbei zwei Arten von virtuellen Maschinen:

  • VM
  • CT (LXC-Container)

Bei einer VM wird eine komplette virtuelle Maschine mit eigenem Kernel installiert. Bei LXC-Containern wird der Kernel des Hostsystems verwendet. Dies spart Arbeitsspeicher und ist für viele Anwendungen ausreichend. Die Container werden trotzdem isoliert voneinander betrieben und verhalten sich ansonsten gleich wie eine VM (eigene IP-Adresse, eigener Speicher, etc.).

Für die ioBroker Installation habe ich mich daher für einen LXC-Container entschieden. Über die Schaltfläche Erstelle CT legen wir uns nun unseren Container für ioBroker an.

Im ersten Schritt definieren wir hier eine CT ID. Diese Nummer muss eindeutig definiert werden. Ich habe hier die ID 100 gewählt. Als Hostname habe ich hier einen sprechenden Namen iobroker-produktiv für die virtuelle ioBroker Umgebung verwendet. Um später weitere ioBroker Instanzen hinzufügen zu können, habe ich den Zusatz „produktiv“ angehängt. Weiter wird hier wieder ein Kennwort für den Container festgelegt.

Im nächsten Schritt wählen wir nun das Template für den LXC Container aus dem entsprechenden Storage. In meinem Beispiel hier wähle ich das Ubuntu Template aus dem Storage local.

Die bereiche Root-Disk, CPU und Speicher sind eigentlich klar und überspringe ich daher. Ich habe als Speichergröße hier 4GB gewählt. In meinem Fall sind aktuell nur 8GB Gesamtspeicher vorhanden.

Im nächsten Schritt definieren wir noch die Netzwerk-Schnittstelle des LXC Containers. Hierzu wählen wir den eth0 Name aus. Die IP-Adresse hier wieder unbedingt auf Statisch setzen und eine IP-Adresse außerhalb des DHCP-Bereichs wählen. Zudem hier noch das Gateway festlegen. Die IPv6 habe ich hier auf DHCP belassen, da ich intern nur IPv4 Adressen nutze.

Nach der Konfiguration wird die virtuelle Maschine nun gestartet und ist bereit für den nächsten Schritt – die ioBroker Installation.

Im Bereich Rechenzentrum – LXC Container – 100 (iobroker-produktiv) können wir nun die Konsole öffnen und hier die Installation von ioBroker beginnen. Die Maschine ist nun vollständig erstellt und konfiguriert.

Die ioBroker-Installation habe ich hier nicht extra beschrieben, da hier eine perfekte Anleitung von ioBroker vorhanden ist. Hier geht es weiter zur Installation:

https://www.iobroker.net/#de/documentation/install/linux.md

Ich hoffe euch gefällt dieser Artikel. Über Kommentare unterhalb des Artikels oder per E-Mail freue ich mich wie immer. Wenn Dich weitere Themen rund um ioBroker und Proxmox interessieren, dann lass es mich gerne wissen.

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

6 Gedanken zu „Intel NUC, Proxmox und ioBroker

  • 10. Juli 2020 um 21:49
    Permalink

    Hallo Matthias,

    interessanter Artikel. In noch noch etwas entfernter Zukunft könnte ich mir vorstellen ioBroker auch darauf umzustellen, das eröffnet noch ein paar interessante Szenarien.
    Hierzu noch ein paar Fragen:
    – von was für Performanceunterschieden im Verhältnis zu RPi3 oder 4 zu dem Beispiel NUC kann hier gesprochen werden
    – was wäre in etwa der Mehrverbrauch an Strom
    – wie würde dann zum Beispiel die Homematic-Hardware (jetzt habe ich das ioBroker/Pi-VCCU- Image auf einem RPi über das ELV RPI-RF-Mod) angebunden (über die USB-Platine von Alexander Reinert???) oder wie sieht es mit dem Phoscon/deconz-Zigbee-Stick aus?

    Viele Grüße

    Mark

    Antwort
  • 1. Oktober 2020 um 16:38
    Permalink

    Huhu,
    kannst du was zu der Last und zu deinen nun im Einsatz befindenden VM/LXC Container (OS, Speicher, genutzt für Nextcloud,..usw) schreiben?

    Was macht die Performance des Proxmons .. reicht der 4005 CPU?
    LG

    Antwort
    • 22. Oktober 2020 um 14:33
      Permalink

      Hallo,

      für ioBroker und 1-2 andere Maschinen (nicht Windows!) reicht mit diese Hardware-Variante vollkommen aus. Von daher kann ich Deine Frage so nicht mit ja oder nein beantworten. Es kommt immer auf den Anwendungsfall an.

      Antwort
      • 22. Oktober 2020 um 16:32
        Permalink

        Naja ich hatte halt die Aussage oben im Artikel im Ohr: “ Es sind zwar nur 8GB, kann später aber noch problemlos erweitert werden. Ich würde euch hier mindestens 16GB empfehlen“

        Antwort
        • 22. Oktober 2020 um 18:15
          Permalink

          Danke für die Info, das stimmt natürlich. Ich werde das gleich berichtigen

          Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.