IT Projekte / Home Lab / Smart Home / Games

Allgemein, Proxmox

TrueNAS Scale 22 unter Proxmox installieren

In diesem Beitrag möchte ich Dir zeigen, wie Du Festplatten unter Proxmox mounten und im Anschluss in Deinem TrueNAS Scale nutzen kannst. Ich werde auf die Schritte vom mounten Deiner Festplatten bis hin zum einrichten Deines SMB Sharepoints unter TrueNAS Scale eingehen.

Was ist TrueNAS und warum TrueNAS Scale?

TrueNAS ist das ehemalige FreeNAS, welches auf FreeNAS BSD basiert und somit auf x86-kompatiblen Plattformen in der 64-Bit-Architektur lauffähig ist. FreeNAS gibt es seit der Version 12 nicht mehr und wurde so zu TrueNAS Core. TrueNAS ist ein freies Betriebssystem, wobei NAS für Network Attached Storage steht. Somit ermöglicht es Dir an einem Ort in Deinem Netzwerk Deine Daten zu speichern.

TrueNAS Scale ist das einzige System, welches nicht auf FreeBSD, sondern auf Debian basiert. Da ich von Problemen bezüglich des USB-Adapters unter FreeBSD gehört hatte, habe ich mich somit für TrueNAS Scale entschieden.

Benötigte Hard- und Software

  • 1x SSD für das Betriebssystem
  • min 1x HDD oder SSD separat für die Datenhaltung
  • eine TrueNAS Scale ISO-Datei, kann hier heruntergeladen werden
  • eine fertige Proxmox Installation
  • optional ein Gehäuse für Deine Festplatten

Festplatten einbinden

Um die Festplatten als Storage in Proxmox angezeigt zu bekommen, müssen diese zunächst einmal mit Deinem Proxmox Host verbunden sein. Dies habe ich über ein Fantec Qb-X2US3R realisiert, welches per USB 3.0 an meinem MinisForum U820 angeschlossen wird. Das Gehäuse habe ich nach der bei gelieferten Anleitung im J-BOD Modus eingerichtet. Hierdurch werden die Festplatten direkt ohne ein RAID des Gehäuses an den Computer durchgereicht.

Nach dem Start Deines Proxmox loggst Du Dich per SSH-Verbindung ein. Hier prüfst Du mit folgendem Befehl, ob Deine Festplatten wie erwartet aufgelistet werden:

lsblk
Aufruf der Liste
Aufruf der Liste.
Ausgabe der Liste.
Ausgabe der Liste.

In der Liste kannst Du nun die weiteren Festplatten sehen. In meinem Falle die sdb und sdc mit je ca. 8 TB.

Wie Du auch sehen kannst, wurde bei mir schon die sda auf den Pfad /externHDD gemountet. Das mounten führst Du nun auch mit Deinen Festplatten im Anschluss durch.

Festplatten formatieren und partitionieren

Zu nächst musst Du Deine Festplatten formatieren und im Anschluss partitionieren, damit diese auch am Ende genutzt werden können. Hier zu gehst Du wie beschrieben vor.

mkfs -t ext4 /dev/<sdb Hier trägst Du Deine Festplatte sda usw. ein.>

Du formatierst Deine Festplatte auf das System ext4, welches am Ende sowohl Daten für Windows also auch Linux speichern kann. Diesen Vorgang musst Du mit all Deinen Festplatten machen, welche Du neu eingebunden hast. Das Ergebnis sollte so oder so ähnlich sein:

Formatierung der Festplatten
Formatierung der Festplatten

Wenn Du nun nochmals die Auflistung der Festplatten aufrufst, mit einem -f am Ende, dann solltest Du auch die Formatierung gezeigt bekommen.

lsblk -f
Erfolgreiche Formatierung der Festplatten auf ext4.
Erfolgreiche Formatierung der Festplatten auf ext4.

Festplatten mounten

Nachdem Du die Festplatten formatiert hast, müssen diese noch auf je einen Ordner gemountet werden. Das bedeutet, dass Du einen Ordner erstellen musst, welcher die Festplatte abbildet. Hierzu legst Du für jede Festplatte einen beliebigen Ordner an. Ebenso merkst Du Dir die Bezeichnung Deiner Festplatte, da diese zum Mounten auf den jeweiligen Ordner benötigt wird.

mkdir NASHDD1
Ordner zum mounten der Festplatten anlegen.
Ordner zum mounten der Festplatten anlegen.

Um die Festplatte auf den jeweiligen Ordner mounten zu können, benutzt Du folgenden Befehl:

mount /dev/<der Name der Festplatte>  /<Ort des Orders>

z. B.

mount /dev/sdb  /root/NASHDD1

Im Anschluss kannst Du auch direkt Dein Ergebnis einsehen, in dem Du abermals lsblk aufrufst.

lsblk
Gemountete Festplatten
Gemountete Festplatten

Auch bei Dir sollte nun der Pfad angezeigt werden, wo Du Deine Festplatte über den angelegten Ordner erreichen kannst.

Festplatten automatisch mounten

Damit Du nicht immer wieder neu die Festplatten mounten musst, nach einem neustart legen wir das mounten in der fstab-Datei mit an. Hierzu benötigst Du die UUID Deiner Festplatte. Der folgende Befehl listet Dir alle Festplatten mit UUID auf, alternativ kannst Du Dir die UUID auch mit lsblk -f holen.

ls -al /dev/disk/by-uuid/
Auslesen der UUID
Auslesen der UUID

Am besten kopierst Du Dir die UUID heraus, dann gibt es auch keine Fehler. Im Anschluss öffnest Du die fstab-Datei, zum Beispiel mit nano.

nano /etc/fstab

In dieser Datei legst Du nun Deine Festplatten wie folgt an.
Zunächst einmal die UUID, dann der Mount-Point, welches Format und die anderen drei lässt Du auf defaults 0 0. Bis es ungefähr so aussieht.

Bearbeitung der fstab-Datei
Bearbeitung der fstab-Datei

Zum Ende kann noch mit einem Befehl getestet werden, ob das Mounten auch funktioniert, beim booten deines Computers.

findmnt --verify 
Verifizierung der Mountpoints.
Verifizierung der Mountpoints.

Dies sollte mit einem Success abschließen. Falls dem nicht so ist, sagt einem die Fehlermeldung recht gut, was zu tun ist. Meistens hat man den Mountpoint falsch angegeben.

Mithilfe eines Neustarts des Systems kannst Du sehen, wenn das System wieder hochgefahren ist, dass das mounten der Festplatten ohne Probleme funktioniert hat. Mittels des abermaligen aufrufen des Befehls.

lsblk
Erfolgreiches mounten der Festplatten
Erfolgreiches mounten der Festplatten

!Achtung!
Falls Dir mal eine Festplatte kaputtgehen sollte, kann Dein System nicht starten, da es die Festplatte nicht erfolgreich mounten kann zum Start. Hier hilft es nur, sich auf das System zu schalten und dann mithilfe von Tastatur und Monitor das Starten des Systems manuell zu bestätigen, ohne die defekte Platte. Diese muss dann auch aus der fstab-Datei entfernt werden, um einen reibungslosen Start des Systems zu gewährleisten.

Festplatten unter Proxmox einbinden

Melde Dich auf Deinem Proxmox Host an und wähle in dem Menübaum das Rechenzentrum aus. Danach gehst Du auf Storage und zum Schluss auf Verzeichnis.

Anlegen der Festplatten als Storage.
Anlegen der Festplatten als Storage.

Die ID ist der Name des Verzeichnisses in Proxmox, das Verzeichnis selbst die der Mount Pfad, den Du vorher eingerichtet hast. An Inhalt habe ich alles angegeben. Falls Du weißt, was am Ende auf diesem Verzeichnis / der Festplatte gespeichert werden soll, dann kannst Du auch nur diese bestimmten Dinge erlauben.

Anlage des Verzeichnisses der Festplatte
Anlage des Verzeichnisses der Festplatte

Diesen Vorgang führst Du mit jeder Festplatte aus.

TrueNAS Scale

Proxmox Instanz einrichten

Um TureNAS Scale nun installieren zu können, erstellst Du eine neue virtuelle Maschine (VM) über das Kontextmenü, wenn Du mit rechts auf Deinen Knoten klickst.

Zunächst vergibst Du bitte eine freie VM ID und einen Namen, in meinem Falle 115 und TrueNASScale.

Allgemeine Auswahl, Knoten, ID und Name.
Allgemeine Auswahl, Knoten, ID und Name.

Als Betriebssystem wählst Du den Speicher, wo Du das ISO-Image hinterlegt hast.

ISO-Image auswählen und das Betriebssystem.
ISO-Image auswählen und das Betriebssystem.

Die Einstellungen unter System kannst Du auf den Standard-Einstellungen stehen lassen.

Standard Systemeinstellungen.
Standard Systemeinstellungen.

Deinem Laufwerk solltest Du mindestens 8 GB für das Betriebssystem überlassen. Ich lege hier 10 GB an.

Festplattenspeicher, Ort und Größe festlegen.
Festplattenspeicher, Ort und Größe festlegen.

Hier vergibst Du die mögliche Anzahl von CPU Kernen. Die weiteren Einstellungen habe ich auf den Standard-Einstellungen belassen.

CPU Kerne vergeben.
CPU Kerne vergeben.

Im Anschluss vergebe ich meiner Instanz die mindestens gewünschten 8 GB Arbeitsspeicher. Hier natürlich mehr ist immer besser.

Den Arbeitsspeicher vergeben.
Den Arbeitsspeicher vergeben.

Die Netzwerk-Einstellungen belasse ich bei den Standard-Angaben.

Netzwerk-Einstellungen
Netzwerk-Einstellungen

Zum Ende hin kannst Du hier die endgültige Zusammenfassung meiner Entscheidungen / Empfehlungen einsehen.

Zusammenfassung
Zusammenfassung

TrueNAS Scale installieren

Du solltest, wenn Du Deine VM gestartet und die Konsole geöffnet hast, folgendes angezeigt bekommen. Hier wählst Du Install/Upgrade aus, da Du TrueNAS installieren möchtest. Dies bestätigst Du mit Enter.

Im Anschluss wählst Du Deine einzige verfügbare Festplatte zur Installation aus und bestätigst Deine Auswahl nochmal im Anschluss mit Yes.

Festplattenauswahl
Festplattenauswahl
Bestätigung der Festplattenauswahl.
Bestätigung der Festplattenauswahl.

Die Frage nach einem sicheren Passwort für den root Benutzer unter TrueNAS füllst Du mit Deinem sicheren Passwort aus.
!Achtung! Es wird das englische Tastaturlayout genutzt. Zum Beispiel y = z.

Ein sicheres Passwort vergeben
Ein sicheres Passwort vergeben

Nach der Installation solltest Du eine Meldung erhalten, welche die erfolgreiche Installation von TrueNAS Dir bestätigt.

Installationsbestätigung
Installationsbestätigung

Im Anschluss und zum Schluss der Installation von TureNAS erfordert und empfehle ich einen Neustart des Systems.

Neustart des Systems
Neustart des Systems

Jetzt beginnt die eigentliche Installation von TrueNAS, dies kann ein paar Minuten in Anspruch nehmen.

Zum Schluss bekommst Du einen Screen angezeigt, welcher Dir unter anderem auch eine IP-Adresse anzeigt, unter der TrueNAS in Deinem Browser erreichbar ist.

Anzeige der möglichen IP-Adresse.
Anzeige der möglichen IP-Adresse.

Um nun aber Deine anderen Festplatten mit einbinden zu können, fährst Du zunächst Deine neu installierte TrueNAS Instanz herunter.

Festplatten unter Proxmox in TrueNAS Scale einbinden

Hierzu fügst Du unter dem Punkt Hardware ein neues Laufwerk hinzu. Dieses belegst Du mit Deiner Festplatte, welche Du zuvor neu eingebunden hast, und vergibst die gewünschte Größe.

Laufwerk neu hinzufügen
Laufwerk neu hinzufügen
Den Storage und die Größe bestimmen
Den Storage und die Größe bestimmen

Im Anschluss darauf kannst Du die VM erneut starten und die Weboberfläche aufrufen. Einloggen kannst Du Dich zunächst nur mit dem root Nutzer und dem von Dir vorher vergebenen Passwort.

Festplatten unter TrueNAS Scale als Storage anlegen

Über Storage, Disks, Disks gelangst Du zu der Übersicht aller Festplatten, die TrueNAS zugeordnet sind. Hier kontrollierst Du, ob auch wirklich alle Festplatten, wie gewünscht vorhanden sind.

Festplatten anzeigen lassen
Festplatten anzeigen lassen
Die verfügbaren Festplatten
Die verfügbaren Festplatten

Storage Pool anlegen

Wenn alle Speichermedien wie erwartet vorhanden sind, kannst Du Dich nun in die Einrichtung eines Pools kümmern. Hierzu einfach zurück zur Storage Übersicht wechseln. Ein Pool dient dazu, eine festgelegte Größe von Speicherplatz zu definieren. Innerhalb dieser Größe können im Anschluss Datasets angelegt werden, welche die einzelnen Ordner abbilden.

Create Pool
Create Pool

Im Pool Manager Deinem erstelltem Pool einen Namen geben und die einzelnen Festplatten mit einbinden.

Namen vergeben und Festplatten einbinden.
Namen vergeben und Festplatten einbinden.

Deine Festplattenauswahl im Anschluss mit dem Pfeil bestätigen, sodass sie von links nach rechts verschoben werden. Dies stellt die Zugehörigkeit der Festplatten am Ende dar.

Festplattenauswahl bestätigen
Festplattenauswahl bestätigen

Anstelle von Stripe wähle ich hier Mirror aus, um meine Daten über die beiden Festplatten zu spiegeln. Wenn Du Stripe stehen lässt, dann werden die Daten auf beide Festplatten 50 / 50 gespeichert und somit gesplittet.

Festplatten verhalten auswählen, am Ende mit Create bestätigen.
Festplatten verhalten auswählen, am Ende mit Create bestätigen.

Abermals einen Hacken setzen und den Pool erstellen.

Den gewünschten Pool erstellen
Den gewünschten Pool erstellen
Fertig erstellter Pool
Fertig erstellter Pool

Datasets im Pool anlegen

Um nun auch wirklich die Daten in Deinem so eben angelegtem Pool speichern zu können, musst Du mindestens ein Dataset anlegen. Ein Dataset bildet den Speicherort / Ordner ab, in diesem die Daten gespeichert werden können. Zum Beispiel für Bilder, Dokumente, Musik, Videos und vieles mehr.

Zum erstellen eines Datasets klickst Du auf die drei Punkte rechts von deinem Pool und anschließend auf Add Dataset.

Dataset hinzufügen
Dataset hinzufügen

Als ersten Schritt vergibst Du Deinem Dataset / Ordner einen Namen. Die weiteren Punkte können angepasst / geändert werden. Wenn Du ein neues Dataset erstellst werden die meisten Einstellungen von Deinem Pool übernommen, diesen Weg empfehle ich Dir auch, um es von Pool zu Pool einheitlich zu halten.

Dem Dataset einen Namen geben.
Dem Dataset einen Namen geben.

Im ersten Feld vergibst Du die Größe Deines Datasets, welche ihm zur Verfügung stehen soll. Im zweiten Feld weiter unten kannst Du angeben, ob das Dataset sich die angegebene Größe auch fest reservieren soll im Pool.

Die Größe Deines Datasets vergeben
Die Größe Deines Datasets vergeben

Zum Ende hin speicherst Du Dein Dataset ab und hast nun einen Ordner angelegt, in diesem nun Dateien gespeichert werden können.

Bestätigung Deiner Eingaben mit Save.
Bestätigung Deiner Eingaben mit Save.
Zwischenstand der Übersicht
Zwischenstand der Übersicht

SMB Service für Windows aktivieren

Du hast nun ein Dataset / einen Ordner innerhalb Deines erstellen Pool angelegt. Um diesen erreichen zu können unter Windows musst Du den Service SMB aktivieren. Dies kannst Du unter System Settings, Services machen. Hier einfach den Switch einschalten und den Hacken in der Checkbox zum automatischen Starten setzen. Über den Stift können noch weitere Einstellungen vorgenommen werden, diese bleiben aber erst einmal so wie sie sind.

SMB Service aktivieren.
SMB Service aktivieren.

Nutzer anlegen

Um nicht den root Nutzer für die einzelnen Verbindungen nutzen zu müssen, legst Du zunächst einen neuen Nutzer an. Hier kannst Du auch angeben, ob dieser nur lesen, schreiben oder auch löschen darf.
Das Anlegen des Nutzers erfolgt über Credentials, Local Users.

Nutzer anlegen.
Nutzer anlegen.
Nutzer anlegen.

Hier entfernst Du bitte den Hacken unter New primary Group und setzt die Primary Group auf buildin_users. Über diese Gruppe werden dem Nutzer die ersten Grundberechtigungen vergeben. Ebenfalls gib bitte die E-Mail-Adresse Deines Microsoft Kontos im E-Mail Feld an, da die Authentifizierung ansonsten Probleme unter Windows bereiten kann.

Nutzerdaten angeben.
Nutzerdaten angeben.

Den Hacken beim Feld Microsoft Account bitte setzen für die bereits angesprochene Authentifizierung. Zum Ende hin bestätige Deine Eingaben mit Save.

Benutzer speichern.
Benutzer speichern.

SMB Share für Windows einrichten

Du wechselst zurück zu Deinem Share und wählst Add bei Deinem Windows (SMB) Shares Feld.

Füge einen neuen Share hinzu.
Füge einen neuen Share hinzu.

Du musst nun den Pfad auswählen, wo der Share hinzeigen soll, auf Deinem Pool / Dataset. Die anderen Einstellungen kannst Du stehen lassen und am Ende einfach Deinen Share speicher.

Auswahl des Pfades und speichern.
Auswahl des Pfades und speichern.
Aktiver Windows SMB Share
Aktiver Windows SMB Share

Mit dem direkten Klick auf den Windows (SMB) Shares öffnest Du hier die Einstellungen, wer auf die einzelnen Freigaben zugreifen darf.

Einstellungen des Windows (SMB) Shares öffnen.
Einstellungen des Windows (SMB) Shares öffnen.

Über die drei Punkte auf der rechten Seite und einem Klick auf Edit Share ACL kannst Du Share Berechtigungen einsehen und nach Belieben anpassen. Ich habe hier allerdings nichts dran geändert.

Nutzer Berechtigungen öffnen.
Berechtigungen öffnen.
Share Berechtigungen
Share Berechtigungen

Wichtiger sind aber die Berechtigungen einzustellen, welcher Nutzer darf die Dateien, lesen, schreiben oder auch löschen. Hierzu bearbeitest Du die Felder in der Edit Filesystem ACL.

Berechtigungen der Nutzer einrichten.
Berechtigungen der Nutzer einrichten.

Hier sind schon gewissen Grundrechte vor eingestellt, welche Du nach Deinem Belieben bearbeiten kannst. Zu nächst einmal wählst Du Deinen zuvor neu angelegten Nutzer als Owner aus. Nun darf dieser zunächst alles durchführen, wie Du der Tabelle entnehmen kannst. Die Anpassungen kannst Du zum Schluss mit Save Access Control List bestätigen.

Berechtigungen den jeweiligen Nutzern vergeben.
Berechtigungen den jeweiligen Nutzern vergeben.

SMB Share als Netzlaufwerk einbinden

Um zum Ende hin auf Dein so eben freigegebenes Dataset zugreifen zu können, kannst Du dieses als Netzlaufwerk einbinden. Dazu gibst Du im Windows-Explorer \\<Die IP-Adresse von Deinem TureNAS> ein. Im Anschluss wirst Du nach einem Nutzer und dem Kennwort gefragt. Hier trägst Du Deinen angelegten Nutzer und das dazugehörige Passwort ein.

Im Anschluss solltest Du nun einen Ordner angezeigt bekommen.

Hier kannst Du prüfen, ob Du auch Zugriff auf diesen hast, in dem Du eine Datei erstellst, diese bearbeitest und am Ende löschen willst. In den Eigenschaften, der Datei, kannst Du auch einsehen, wer alles dazu berechtigt ist. Hier sollte auch Dein angelegter Nutzer vom TrueNAS angezeigt werden.

Als Netzlaufwerk mit einbinden.
Als Netzlaufwerk mit einbinden.

Du wählst einen noch freien Buchstaben für Dein Laufwerk aus und trägst auch hier wieder die IP-Adresse Deines TrueNAS ein, mit ebenfalls Deinem erstelltem shared Ordner.

Netzwerkordner anlegen.
Netzwerkordner anlegen.

Zum Ende hin wird dieser unter Deinen Netzwerkadressen aufgelistet.

Quellen:

Titelbild: https://www.ixsystems.com/logos-truenas-ixsystems/