TrueNAS - virtualisiert mit VirtualBox

Veröffentlicht am 2. August 2024 • 5 Min. Lesezeit • 870 Wörter

Warum zum Ausprobieren eines NAS mit RAID-Verbund auf Hardware sparen, wenn man das (True)NAS zum Ausprobieren doch einfach virtualisieren kann.

TrueNAS - virtualisiert mit VirtualBox
Foto von Growtika  auf Unsplash 

Serie TrueNAS

Dies ist ein Beitrag im Rahmen der Serie TrueNAS - das NAS im Homelab.

Dass ein Homelab einen zentralen Datenspeicher braucht scheint offensichtlich, dafür aber einen Rechner zu besorgen, inklusive SSDs, mit 4 oder 5 großen Festplatten, nur um auszuprobieren was es mit ZFS, Daten-Pools, Daten-Sets oder Samba-Shares auf sich hat, ist es ganz und gar nicht.

Sofern sich im Heimnetz ein Linux/Windows Rechner findet, der über ~16GB Ram und >100GB freien Festplattenspeicher verfügt, sage ich “Haltet ein!” und lasst uns das virtualisieren.

Gleich zeige ich wie sich ganz einfach eine virtuelle Instanz definieren lässt, in die anschließend TrueNAS installiert werden kann.

TrueNAS als virtuelle Instanz in VirtualBox

Ein wesentlicher Teil des Spaßes und der Komplexität eines Network-Attached-Storage (NAS) ist die Verwendung mehrerer Festplatten in einem RAID-Verbund. Um dies virtualisieren zu können werde ich die OpenSource Software VirtualBox verwenden, da z.B. Canonical-Multipass aktuell nicht mehrere virtuellen Festplatten unterstützt.

Wer bereits andere Virtualisierungs-Software im Einsatz hat kann natürlich auch diese verwenden. Für den Einsteiger ist VirtualBox auf jeden Fall eine gute Wahl.

Voraussetzung für die Virtualisierung

  • Ein nicht zu alter Rechner mit x86/x64 Architektur
  • Windows oder Linux
  • Mehr als 12GB RAM (da TrueNAS 8GB zur Installation voraussetzt)
  • Ein interne/externe Festplatte mit etwa 8GB + 4*20GB = 88GB freiem Speicher
  • Software, die einen Rechner virtualisieren kann - VirtualBox

Installation von VirtualBox

Zunächst lädt man die Virtualisierungs-Software VirtualBox für das eigene Betriebsystem (des Rechners auf welchem die VM installiert werden soll) von der VirtualBox Download-Seite und installiert es

  • in meinem Fall ist das für Ubuntu Linux
  • installiert wird mit sudo apt install ./virtualbox-<VERSIONSNUMMER>_amd64.deb


In meinem Fall ist /data der Mountpoint einer weiteren internen Festplatte.

Zusammenstellen der TrueNAS VM

Alles beginnt mit der Erzeugung einer neuen virtuellen Maschine mit den für TrueNAS mindestens notwendigen Ressourcen.

-> New (blauer Stern) oder Menu -> Maschine -> New

Eingaben für die einzelnen Kategorien:

Name and Operating System

  • Name: TrueNAS
  • Type: Linux
  • SubType: Other Linux
  • Version: Other Linux (64-bit)

Hardware

  • Base Memory: min. 8GB
  • Processors: min. 1

Hard Disk

  • Size: ~8 GB
  • Hard Disk File Type: VDI

Die angegebene Festplatte stellt das Boot Device von TrueNAS dar.

Nun noch das Netzwerk korrekt einstellen, so dass die VM im Heimnetzwerk eine eigene IP-Adresse beziehen kann

-> Setting -> Network -> Adapter 1

  • Attached to: Bridged Adapter

Jetzt fehlen noch die Daten Platten für den RAID Verbund. Wir können mit TrueNAS gespiegelte oder aneinander gehängte RAID-Verbünde erzeugen, wollen hier aber den in der Praxis häufigen Fall eines RAID 5 oder RAID-Z1 genannten Verbundes ausprobieren. Minimal werden hierfür drei Platten benötigt, um beim Ausprobieren etwas mehr Flexibilität zu haben (z.B. 2x2 Mirror order Raid-Z2) nehmen wir einfach mal vier.

Die virtuellen Festplatten werden als einzelne Files im Ordner der VM erstellt.

-> Tools -> Media -> Create

  • Das File legen wir in das Verzeichnis der TrueNAS VM und nennen die Disk z.B. DataDisk_1.vdi
  • Zum Experimentieren reichen 20 GB pro Platte, wer kann kann natürlich größere erstellen
  • Ein Haken bei Pre-allocate Full Size würde sofort den vollen Festplattenplatz auf dem Gast-System belegen, ohne ihn wachsen die Files während des Betriebes wenn Daten geschrieben werden. Da in diesem Fall Performance keine Vorgabe ist, können wir sparsam mit unseren Ressourcen umgehen und den Haken nicht setzen.


  • Diesen Prozess wiederholt man, bis alle vier virtuellen Festplatten erzeugt wurden.

Das Ergebnis sollten dann ungefähr so aussehen (siehe Screenshot) und zeigt die etwas kleinere Boot-Platte sowie die vier Datenplatten.



Noch liegen die vier Daten-Platten auf unserem virtuellen Tisch. Sie müssen jetzt noch in den virtuellen Rechner eingebaut werden. Dazu ruft man die Einstellungen für das Speichersystem der VM auf.

TrueNAS -> Settings -> Storage

  • Die Disks nacheinander neben der Boot-Disk hinzufügen

Die Platten werden als SATA Devices hinzugefügt und entsprechend dem Betriebsystem der VM (hier TrueNAS) zur Verfügung gestellt.



Installieren von TrueNAS in der VM

Zunächst springen wir im Browser zu TrueNAS, wählen die TrueNAS Community Edition und laden das linux-basierte TrueNAS-Scale als ISO-Image herunter. Ich empfehle die stable-Version.

Dann wird das ISO-Image in das virtuelle optische Boot-Laufwerk unserer gerade erzeugten VM eingelegt. Dazu wechselt man ebenfalls in die Eigenschaften des Speichersystems der VM.

TrueNAS -> Settings -> Storage

  • Selektiere das leere DVD-Laufwerk am IDE-Controller und öffne den entsprechenden Dialog (siehe roter Kreis im Screenshot)


  • und gibt dort den Ort des zuvor geladenen TrueNAS ISO-Images an.


  • Nun kann der virtuelle Rechern gestartet werden: TrueNAS -> Start

Von nun an unterscheidet sich die weitere Installation von TrueNAS nicht mehr darin, ob es sich um reale Hardware handelt oder eine virtuelle Maschine. Wie TrueNAS installiert wird, wie Pools und Daten-Sets erzeugt werden beschreibe ich in Installation von TrueNAS.

Fazit

Das war es schon. Wir haben eine virtuelle Maschine mit VirtualBox erstellt, die alle Voraussetzungen erfüllt, um darauf TrueNAS installieren zu können. Da der VM vier einzeln ansprechbare Daten-Platten zur Verfügung stehen, können viele verschiedene Pool-Konfigurationen ausprobiert werden RAID 0 (striping), RAID 1 (mirror), RAID 5 / RAID-Z1 (einfache Parität) sowie RAID 6 / RAID-Z2 (doppelte Parität).

Referenzen