Wichtige Info

Die Inhalte, die du hier siehst stelle ich dir ohne Werbeanzeigen und ohne Tracking deiner Daten zur Verfügung. Trotzdem muss ich die Server bezahlen sowie Zeit in Recherche, Umsetzung sowie Mail Support stecken.
Um dies leisten zu können, verlinke ich in einigen Artikeln auf die Plattform Amazon. Alle diese Links nennen sich Afiliate Links. Wenn du dir mit diesem Link etwas kaufst, dann erhalte ich eine kleine Provision. Dies ändert jedoch NICHT den Preis, den du bezahlst!
Falls du mich also unterstützen möchtest, kannst du auf den Link zum Produkt klicken und hilfst mir dabei, dieses Hobby weiter zu betreiben.
Da ich Keine Werbung schalte und keine Spenden sammle, ist dies die einzige Möglichkeit, meine Systeme und mich zu finanzieren. Ich hoffe du kannst das verstehen :)



Virtualisierung für Homeassistant, Pi-Hole und anderes


Einleitung

Seit mittlerweile fast 7 Jahren beschäftige ich mich recht viel mit dem Thema IT. Zu Anfang habe ich für viele Spielerein einen Raspberry Pi verwendet. Zu der damaligen Zeit, hatte dies für mich viele Vorteile. Der Raspberry Pi ist günstig, hat eigentlich immer genug Leistung für die Heimanwendung und es gibt eine große Comunity, welche Hilfestellungen gibt.

Mittlerweile bin ich jedoch fast komplett vom Raspberry Pi abgegangen und habe diesen durch einen Virtualisierungshost ersetzt. Dies hat in meinem Fall viele Vorteile, zum Beispiel das schnelle erstellen oder kopieren von Systemen. Virtuelle Netzwerke und die Verfügbarmachung von Geräten direkt in mehreren VLAN's und vielem mehr.

Aber auch hier gilt, dass Virtualisierung ein großes Feld ist. Es gibt viele Anbieter und sobald es in Richtung Enterprise geht, wird es schnell teuer (auch wenn es Ausnahmen gibt). In diesem Beitrag möchte ich ein eine Hand voll Virtualisierungssoftware für den Privatgebrauch vorstellen und auf die Vor- bzw. Nachteile eingehen. Einiges kann man auch auf dem eigenen Windows Rechner betreiben (für Menschen mit Vorkenntnissen, ja ich rede von VirtualBox ;) ).

Als Randnotiz, sollte gesagt werden, dass der Raspberry Pi im Grundsatz ebenfalls in der Lage ist, zu Virtualisieren und sogar Orchestrieren, aber das soll hier nicht Thema sein :).

Hauptteil

Welche Systeme werden betrachtet?

Dieser Beitrag soll nur einen ganz groben Überblick geben und weder technisch sehr tief gehen, noch einen Themenweiten Einblick geben. Hier werden nur Lösungen genannt, welche schnell und einfach von jedem aufgesetzt werden können. Dementsprechend werden hier auch eher "die großen Player" genannt. In diesem Fall sind das:

Das ist natürlich nur ein kleiner Bruchtteil, der gesamten Möglichkeiten zur Virtualisierung. Ich kann jedoch weder alle Lösungen aufzählen, noch ist es sinnvoll alle zu betrachten.
Mit den her gezeigten Softwarelösungen, wird jedoch ein guter Querschnitt aller Möglchkeiten gezeigt, wie man zum Beispiel den Homeserver für das Smarthome inkl. DNS Guard (PiHole oder Wireguard) und noch einigen Windows oder Linux Maschinen Virtualisieren kann.
Im folgenden möchte ich daher ganz kurz auf meine Auswahl eingehen und ggf. ist diese dann auch besser Nachvollziehbar.

Wieso habe ich diese Programme ausgewählt?

Wie vorab erwähnt, habe ich diese und weitere Virtualisierungsprogramme bereits genutzt und kann diese deshalb mehr oder weniger gut bedienen. Mit Unraid und Proxmox habe ich dabei wohl auch die meiste Erfahrung...
Nichts desto trotz, hast du ggf. andere Anforderungen als ich und aus diesem Grund möchte ich einen Querschnitt der Anforderungen als Auswahl geben.
Mit den hier betrachteten Lösungen ist für den Fortgeschrittenen User etwas dabei (Proxmox), aber auch für jemanden, der "nur mal schnell" am PC eine VM aufsetzen will, ohne extra einen Server zu betreiben, hier im Beispiel VirtualBox. Weiterhin gibt Synology VMM jedem Synology NAS Besitzer die Möglichkeit noch mehr aus dem eigenen Gerät herauszuholen und Unraid ist für den Selfbuild NAS User etwas, welcher mit einer Intuitiven Web Oberfläche viel machen möchte. So ist für jeden etwas dabei und Synology Virtual Machine Manager als kleiner Blick auf die Seite, was noch so im Dschungel der Technik möglich ist.

Was betrachtet dieser Beitrag überhaupt?

Ich denke, dass es durchaus logisch ist, dass dieser Beitrag nicht alle Lösungen komplett aufschlüsseln kann und ggf. sogar Aufsetzanleitungen gibt. Das würde den Beitrag sprengen und ich würde bezweifeln, dass du diesen Beitrag lesen wollen würdest.

Stattdessen werde ich ein wenig auf verschiedene Usecases eingehen, welche das jeweilige Programm gut abdeckt und aufzeigen welche Nachteile (oder Vorteile) es gibt. Ich werde ggf. eine Empfehlung geben, aber am Ende musst du für dich selber entscheiden, was du einsetzen möchtest. Ich kann dir lediglich einen kleinen schnellen Überblick geben, was du einsetzen könntest.
Falls weitere Fragen aufkommen, kannst du mir gerne eine E-Mail schreiben, diese werde ich schnellstmöglich und so ausführlich, wie sinnvoll beantworten.

Dann starten wir jetzt mal...

Was ist Virtualisierung und warum kannst du davon profitieren?

Zuersteinmal bleiben wir hier ganz unten. Was ist Virtualisierung und gibt es Unterschiede?

Ganz einfach gesagt, ist Computervirtualisierung die Technologie, mit der ein einzelner physischer Computer in mehrere virtuelle Computer aufgeteilt wird, welche unabhängig voneinander betrieben werden können.

Dabei wird eine Virtualisierungssoftware, der Hypervisor, auf dem physischen Computer installiert, dieser ermöglicht es, mehrere Betriebssysteme gleichzeitig auf einem einzigen physischen Computer auszuführen.

Jeder virtuelle Computer hat sein eigenes Betriebssystem, seine eigenen Anwendungen und Ressourcen wie Speicher, CPU und Netzwerkzugang.
Dabei gibt es zwei Arten von Hypervisor, Type 1 Hypervisor werden direkt auf dem Computer installiert und können daher direkt mit der Hardware kommunizieren und diese steuern, verwalten und zuweisen. In diesem Beitrag sind sowohl Proxmox, als auch UnRAID als Type 1 Hypervisor Lösungen einzuordnen. Die anderen beiden ordne ich als Type 2 Hypervisor ein. Virtual Box ist in jedem Fall Type 2. Bei VMM konnte ich leider nur relativ alte Beiträge finden, dort wurde VMM als Type 2 Hypervisor auf Basis von Qemu bezeichnet. Sollte ich hier andere Informationen finden, werde ich das natürlich dementsprechend aktualisieren.

Virtualisierung ermöglicht uns also die Verwendung mehrerer Systeme unabhängig auf einem Computer zu betreiben, aber was bringt uns das nun? - Kurz gesagt können wir Dienste voneinander trennen und somit die Infrastruktur übersichtlicher und gleichzeitig potentiell sicherer und stabiler laufen lassen. Statt alle Programme die wir brauchen (bei mir z.B. Router, Pi-Hole, Unbound, Homeassistant, NAS, CA, Project Host (allgemeiner Server), VPN, Backup, MQTT, DB, CMS-Test, CMS-DEV und paar andere) auf einem Server zu installieren, wodurch dieser ggf. mit anderen Programmen/Bibliotheken wechselwirkt oder ggf. nicht startet (2 Webserver von Programmen, welche standardmäßig nicht umkonfiguriert werden können vom Port her, um ein Beispiel zu nennen), können diese aufgetrennt betrieben werden. Weiterhin würde bei einem Programm Fehler ggf. nur 1 Dienst ausfallen und nicht im schlechtesten Fall alle Dienste (Wenn der DIenst z.B. eine Kernel Panic auslöst, oder nach einem Update den Server unbrauchbar macht). Zuletzt können Ressourcen auch sinnvoller aufgeteilt werden.
Bestes Beispiel sind DB Server. Je nach Konfiguration, nehmen sich diese Dienste so viel Arbeitsspeicher wie möglich um Daten zu cachen oder Ergebnisse von Queries zu Puffern. Bei einem großen Server, mit zum Beispiel 10 Diensten, könnte ein Dienst, den anderen die Ressourcen "klauen". Sobald dann Leistung gefordert ist, steht dann ggf. keine zur Verfügung. Dies ist natürlich ein eher fernes Beispiel, da viele Programme mitterweile eher "sparsam" programmiert werden und nicht gebrauchten Speicher schnellstmöglich freigeben. Der Grundsatz bleibt aber.

Welche Virtualisierungsplattform sollte ich denn nun nutzen?

Um Computer zu virtualisieren, kann an sich jede Plattform mehr oder weniger gleich gut verwendet werden. Hier kommt es auf den persönlichen Anwendungsfall an. Aus diesem Grund gebe ich hier nur eine Anwendungsbezogene Empfehlung und zeige dir, was du grundsätzlich beachten solltest und welche Vor- oder Nachteile die Verwendung der einzelnen Plattformen hat.

Proxmox

Proxmox ist in diesem Vergleich wahrscheinlich die allgemein potenteste Lösung und weiterhin auch die umfangreichste. Erfordert aber auch das meiste Wissen bzw. ist die Lösung, welche am meisten Aufwand fordert zum Einrichten und betreiben.

Proxmox kann mehr oder minder ein gesamtes Rechenzentrum abbilden und unterstützt aus diesem Grund sowohl Backup Management, Permission Management und Multi-Site Management.

Falls du deine Systeme hochverfügbar machen möchtest, bietet dir Proxmox den besten Ansatz. Du kannst mehrere Systeme als Nodes einbinden und somit VMs entweder zum Lastausgleich auf mehrere Systeme verteilen, aber auch zum Beispiel ein Systemausfall ggf. damit puffern.
Live-Migration und Snapshots werden ebenfalls durch Proxmox unterstützt und ermöglichen so eine gute Verwaltbarkeit. Diese Funktionen bietet in dem Umfang höchstens noch VMM von Synology. Hier können ebenfalls mehrere NAS Systeme zusammengeschaltet werden und VMs auf andere Stationen migriert werden.

Zuletzt unterstützt Proxmox sowohl VMs als auch Container und bietet eine Backupfunktion für beide Systeme an. Diese können sowohl im Pool (z.B. mit ZFS) gespeichert, aber auch extern abgelegt werden.

Grundsätzliche Dinge wie VLAN, Bridges usw. sind ebenfalls unterstützt.

UnRAID

UnRAID ist eigentlich eine NAS-Software mit der Fähigkeit Docker Container und VMs zu hosten.

Dementsprechend ist die eigentliche Stärke von UnRAID die Verwaltung und Bereitstellung von Daten innerhalb eines Netzwerks.

Alle Interaktionen mit UnRAID werden im Normalfall über das integrierte Webinterface geregelt. Dort können sowohl neue Shares angelegt werden, als auch VMs erstellt werden.

Ein nettes Feature von UnRAID sind die sog. Community Applications. Ein von der Community geführter App Store in dem Docker Container heruntergeladen und direkt genutzt werden können.

Es können weiterhin auch Docker Container von z.B. ghcr.io heruntergeladen und verwendet werden, jedoch ist die existenz dieser Erweiterung durchaus erwähnenswert, da in den Repos zum Beispiel auch Installationen für Pi-Hole und vieles anderes zu finden ist.

Für die Virtualisierung setzt UnRAID auf KVM und kann daher, genau wie Proxmox direkt mit der Hardware kommunizieren.

Mit einem der neusten Version wird nun auch ZFS unterstützt, leider ist UnRAID nicht Multi-Site fähig und kann aus diesem Grund auch keine Live Migrationen durchführen. Auch keine Fallback Lösungen sind nativ möglich. Hier macht Proxmox als ausgewachsenes RZ Paket ein deutlich besseres Bild, aber auch Synology VMM. Man sollte aber natürlich nicht vergessen, dass UnRAID ein NAS System ist und auch als solches betrachtet werden will.

Anders als Proxmox kann UnRAID jedoch SMB Shares direkt erstellen und im Netzwerk freigeben sowie einige andere NAS Fähigkeiten zur Verfügung stellen. Man sollte jedoch erwähnen, dass auch Proxmox diese Tätigkeiten theorteisch übernehmen könnte, wenn die entsprechenden Pakete nachinstalliert werden. Die Integration im Webinterface wäre dann natürlich "nur" über die Webshell gegeben.

Synology VMM (Virtual Machine Manager)

Synology VMM habe ich erst kürzlich das erste mal verwendet und bis vor kurzem auch in keinem Fall empfohlen, bis ich selber mit mehreren NAS Systemen der Marke arbeiten konnte.

Für den Home Gebrauch reicht die Leistung der Synology Systeme zumeist aus, wenn nur "kleinere" Installation erstellt werden sollen, welche nicht unendlich viel Leistung benötigen oder gar eine Grafikkarte voraussetzen.

Synology ist "leider" nur ein Typ 2 Hypervisor und setzt auf das OS von Synology auf. Dementsprechend ist die leistung ein klein wenig schlechter (je nach Anwendungsfall), jedoch hat Synology innerhalb dieses Ökosystems ein sehr beeindruckendes Feld aufgebaut. Neben einem Lastausgleich über mehrere Instanzen hinweg, sind zum Beispiel auch Live Migrationen möglich, aber auch das anlegen von Snapshots. Sicherungen sind sehr schnell erstellt und zurückgespielt. Wer eine Synology beseitzt und nicht viel Leistung benötigt, sollte sich dieses System in jedem Fall anschauen.

Die Verwaltung ist sehr einfach durch eine App machbar. Die Speicher können direkt auf dem NAS verfügbar gemacht werden, sodass der Speicher der VM z.B. direkt Redundant vorgehalten wird.

Alles in allem ist Synology VMM ein sehr interessantes Paket, sofern man die Hardware ohnehin besitzt. Es macht meiner Meinung nach, keinen Sinn, eine Synology für die VM Fähigkeiten zu kaufen. Dann würde ich eher auf UnRAID setzen und das System selber bauen. Wer jedoch die Synology als NAS haben möchte und on top VMs erstellen will, sofern notwendig, ist hier sehr gut bedient.

VirtualBox

Zuletzt bleibt nun VirtualBox. VirtualBox ist wohl eines der ältesten und bekanntesten Produkte. Von der Schule bis zum Dev Rechner findet man diese Lösung durchaus häufiger auf dem Gerät installiert.

VirtualBox lässt sich auf vielen Systemen installieren, da sowohl für Linux, Windows und MAC zur Verfügung steht.

Der größte Vorteil für VirtualBox ist sicherlich die einfache Zugänglichkeit. Auf dem PC ist es schnell installiert und man kann sofort starten. Viele Anbieter bieten auch direkt Maschinen zum Import an, was den Start nochmal vereinfacht.

VirtualBox ist meiner Meinung nach ideal, wenn es sich um temporäre Maschinen handelt, die man schnell mal erstellen möchte, aber im Alltag keinen Verwendungszweck für einen Virtualisierungshost hat. VirtualBox ist ein riesen Tool, welches einfach verwendet werden kann. Es unterstützt eigentlich jede gängige Funktion von Virtualisierern und kann schnell für den jeweiligen PC verfügbar gemacht werden. Da VB direkt auf dem PC arbeitet, wo man zumeist selber ist, sind Netzwerk/Kommunikationsprobleme kein Ding. Natürlich sind auch externe Systeme einfach anbindbar, wenn man seine Infrastruktur kennt, jedoch kann VB direkt auf die selbe NIC virtuell gesetzt werden und zum Beispiel direkt lokal verfügbar sein, aber nicht von aussen.

Falls du eine dauerhafte VM haben möchtest, würde ich jedoch zu den anderen Alternativen tendieren. Was du am Ende machst, ist natürlich Geschmackssache. Technisch spricht nichts gegen einen Dauerbetrieb von VirtualBox.

Zusammenfassung

Um diesen Artikel abzurunden, möchte ich zum Schluss noch einmal die ganzen Lösungen zusammenfassen. Dieser Beitrag deckt wie oben beschrieben in keinem Fall alle tiefen ab und es gibt Punkte, die ggf. sogar die Wahl der Software beeinflussen, jedoch kann ich diese in diesem Beitrag nicht abdecken. Ganz grundlegend würde ich den folgenden Schluss ziehen, welcher auch meine Empfehlung bildet.

1. Temporäre/Mobile Virtualisierung

Wenn du eine VM haben möchtest um temporär etwas zu virtualisieren und die VM auch nicht den ganzen Tag benötigst (z.B. für ein Arbeitsprojekt), dann solltest du VirtualBox verwenden. Es ist schnell eingerichtet und du hast es immer dabei, wo du dann auch arbeitest.

2. Synology Besitzer

Für den Fall, dass du ohnehin ein Synology Nas besitzt, solltest du dieses auch verwenden. Wenn dir die Leistung ausreicht, spricht absolut nichts gegen die Verwendung von VMM. Synology bietet auch per Plugin VPN Lösungen an, um mobil Zugriff auf die VM zu erhalten, falls du Mobil auch auch diese zugreifen möchtest.

3. Nicht Synology Besitzer - aber mit NAS Wunsch

Wenn du dir ein NAS anschaffen möchtest, dir aber die Synology zu teuer ist - nicht genügend Leistung für VMs hat, oder du lieber selber bauen willst, dann schau dir UnRAID an. UnRAID ist eine NAS Software, die aber auch Virtualisieren kann. Es gibt eine große und Hilfsbereite Community, sowie viele Plugins um den Einstieg zu vereinfachen.

Viele Dienste, wie VPN oder DNS Server können mit einem Klick installiert werden und du kannst einfach Netzwerkshares bereitstellen, diese aber auch per Tag an die VM knüpfen.

4. Enthusiast

Wenn du dich richtig mit Virtualisierung auseinandersetzen willst, Techniken wie ZFS, Failover usw. kennenlernen möchtest, dann schau dir Proxmox an. Als voll ausgewachsene Rechenzentrumssoftware, kannst du hier unendlich viel lernen und sehr viel spielen. Von automatischen Backups, bis hin zum automatischen wiederherstellen von ausgefallenen Maschinen ist alles möglich. Die Lernkurve ist aber entsprechend hoch!


Back…