Häufig gestellte Fragen


ich777

Recommended Posts

Wie kann ich eine Testlizenz erwerben, wie lange ist sie gültig und welchen Funktionsumfang bietet sie?

  • Testlizenzen werden direkt in Unraid OS erworben (gehe dazu auf Extras > Registrierung)
  • Die Testlizenz ist 30-Tage gültig und sie kann bis zu 2x um 15 Tage verlängert werden
  • Testlizenzen bieten dir zeitlich begrenzten Zugriff auf Unraid OS in vollem Funktionsumfang und ohne Beschränkung auf angeschlossene Speichergeräte.

 

Ist für Unraid eine aktive Internetverbindung erforderlich?

  • Für dein Lizenztyp Basic/Plus/Basic: Nein
  • Für Testlizenzen ist eine aktive Internetverbindung beim Serverstart erforderlich um die Probelizenz zu überprüfen.

 

Welche Einschränkungen gibt es zwischen den Lizenztypen Basic/Plus/Pro?

  • Basic: Bis zu 6 angeschlossene Speichergeräte
  • Plus: Bis zu 12 angeschlossene Speichergeräte
  • Pro: Keine Limitierung an angeschlossenen Speichergeräten

Es gibt keine weiteren Einschränkungen der Software unabhängig vom Lizenztyp.

 

Wieviele Speichergeräte kann ich im Array bzw. Cache verwenden?

  • Unraid OS Pro unterstützt bis zu 30 Speichergeräte im Paritätsgeschütztem Array (28 Datenträger und 2 Paritätsdatenträger) und bis zu 24 Datenträger im Cache-Pool.
  • Zusätzliche Speichergeräte können weiterhin direkt mit anderen Unraid-Funktionen wie VM's oder dem Plugin "Unassigned Devices" genutzt werden.

Geräte die keine Datenträger sind wie GPU's zählen nicht zum Limit der angeschlossenen Speichergeräten.

Das USB Bootgerät zählt nicht zu den angeschlossenen Speichergeräten.

 

Wie lauten die Mindesthardwareanforderungen von Unraid OS?

  • Ein 64-Bit-fähiger Prozessor mit 1GHz oder besser
  • Mindestens 2GB RAM
  • Linux-Hardwaretreiber für Speicher-, Ethernet, und USB-Controller
  • Zwei Festplatten - um den Schutz deiner Dateien mit einer Paritätsfestplatte zu gewährleisten

Je nach Anwendungstyp und installierten Apps und VM's können die Hardwareanforderungen dementsprechend höher sein.

 

Sind Updates von Unraid OS Kostenpflichtig?

Alle Lizenzschlüssel Basic/Plus/Pro enthalten kostenlose Updates auf neue Versionen von Unraid OS.

 

Ist die Lizenz Hardwaregebunden?

Die Lizenz ist an die GUID (Eindeutige ID) vom USB Startgerät gebunden somit kann bei einem Hardwaredefekt das USB Startgerät einfach an anderer Hardware angeschlossen werden und Unraid OS gestartet werden.

 

Was passiert wenn mein USB Startgerät defekt ist?

Sollte dein USB-Stick defekt sein, kannst du deinen Lizenzschlüssel einmal pro Jahr auf einen neuen USB-Stick übertragen.

 

Wie kann ich eine Frage für diese Liste vorschlagen oder verbessern?

Beteilige dich in dieser Diskussion.

 

  • Like 11
  • Thanks 5
Link to comment
  • 2 months later...

Woher bekomme ich Apps?

Die Community Apps bieten Zugriff auf Plugins und Templates für viele Docker Container. Um den Eintrag im Menü freizuschalten, geht man auf Plugins > Install Plugin und fügt diese URL ein (Support) :

https://raw.githubusercontent.com/Squidly271/community.applications/master/plugins/community.applications.plg

 

Ein Template erleichtert hierbei die Installation, da bereits verschiedene Pfade und evtl notwendige Variablen von andern Usern der Community vorausgefüllt wurden. Wenn das Konzept irgendwann verstanden wurde, kann man aber auch jeden anderen Container installieren.

 

Welche Plugins sollte ich installieren?

Ohne Anspruch auf Vollständigkeit sind die folgenden Plugins quasi unverzichtbar:

- Fix Common Problems (informiert dich über Konfigurationsfehler und löst Benachrichtigungen bei veralteten Plugins aus)

- Unassigned Devices (ermöglicht die Einbindung von USB Laufwerken und Netzwerk-Freigaben anderer Server)

 

Weiterhin empfehlenswert:

- CleanUp Appdata (entfernt man Container, können hiermit auch die Nutzerdateien gelöscht werden. Vorsicht!)

- Unbalance (falls man komplette Verzeichnisse von einer HDD zur anderen verschieben oder auf mehrere verteilen möchte)

- User Scripts (Bash/Shell Skripte per Cronjob ausführen)

- Config Editor (falls mal eine Config Datei auf dem Stick oder sonstwo bearbeitet werden muss)

- CA Appdata Backup/Restore v2 für die Sicherung des USB Sticks oder des Appdata Netzwerkordners

- Duplicacy, Lucky Backup, Duplicati oder Rsync für Backups

 

Wo finde ich mobile Unraid-Apps?

Unraid selbst bringt keine Apps mit, sondern setzt voraus, dass man sich für den jeweiligen Einsatzzweck einen Docker Container installiert, der eigene Apps mitbringt:

 

Dateien teilen, WebDAV, eigene Cloud

- Nextcloud

 

Filme anschauen

- Emby

- Jellyfin

- Plex

 

Musik hören

- Plexamp (kostenpflichtig)

 

Fotos anschauen

- Nextcloud

- Plex

 

Videoüberwachung / Surveillance

- Blue Iris (kostenpflichtig), Container im Beta-Status, stabil in einer Windows VM

- Frigate

 

Notizen

- Nextcloud + Notes (Browser) + QOwnNotes (Windows + Mac) + Nextcloud Notes (Android) + CloudNotes (iOS)

- Nextcloud + Joplin (Apps für alle Plattformen, außer Browser)

 

Container über das Internet erreichbar machen

- Portfreigabe im Router von 80 auf 1880 und 443 auf 18443 + Nginx Proxy Manager

 

Welche Zeitpläne soll ich einstellen?

Empfehlungen und Erklärungen findest du in dieser Diskussion.

 

Warum kann ich mich mit einem User nicht bei der Unraid WebGUI anmelden?

Die User sind ausschließlich für den Netzwerkzugriff. Die WebGUI kann einzig über den User "root" genutzt werden (sicheres Passwort wählen!)

 

Was sollte ich zu Anfang einstellen?

- einen Netzwerk-User hinzufügen

- Bei allen Freigaben > SMB Sicherheit > Export auf "Ja" (oder "Nein") und Sicherheit auf "Privat"

- bei der Disk-Übersicht auf den Stick klicken und auch da unter SMB Sicherheit Ja + Privat

- in den Einstellungen den FTP Server deaktivieren (Achtung, ein FTP Nutzer hat Vollzugriff = SMB Sicherheit gilt nicht!)

- in den Einstellungen die Zeitzone einstellen

- in den Einstellungen bei Management > Telnet, SSH und UPnP deaktivieren, wenn nicht benötigt (Tipp: oben rechts das ">_" öffnet das WebTerminal)

- Apps installieren (siehe "Woher bekomme ich Apps?")

- Zeitpläne einstellen (siehe "Welche Zeitpläne soll ich einstellen?")

- optional: in den Einstellungen unter Netzwerk das "Bonding" (mehrere LAN Ports verbinden) deaktivieren und das "Bridging" (notwendig für Docker+VM) aktivieren

- optional: Feste IP-Adresse vergeben (optimal außerhalb der DHCP-Range, bei einer Fritz!Box zB .2 bis .19)

 

Benötige ich eine Grafikkarte?

Wir empfehlen eine CPU mit integrierter Grafik (iGPU). Unraid nutzt die im BIOS eingestellte primäre GPU aus zwei Gründen:

1.) Für den optionalen GUI Modus (inkl. Firefox)

2.) Damit Docker Container darauf zugreifen können

3.) Wenn es eine Intel iGPU ist, kann diese zur Beschleunigung von virtuellen Maschinen verwendet werden

 

Wie schnell sollte die CPU sein?

Die grundsätzlichen Hardware-Anforderungen sind sehr gering. Für ein optimales Erlebnis ist eine CPU mit mindestens 1400 Single Thread Passmark-Punkten empfehlenswert.

 

Benötige ich einen SSD Cache?

Mit einer Paritäts-HDD ist die Schreibgeschwindigkeit je nach HDD auf 40 bis 90 MB/s begrenzt, was langsamer ist als eine 1G Netzwerkverbindung (Hinweis: Wechselt man auf "Reconstruct Write" erhöht sich diese auf die maximale Geschwindigkeit der HDD, allerdings laufen dann immer alle HDDs parallel). Die Lesegeschwindigkeit ist auf die maximale Geschwindigkeit einer HDD begrenzt. Mit einer entsprechend schnellen SSD können selbst 10G Netzwerkverbindungen problemlos ausgelastet werden. Ein SSD Cache hilft außerdem beim Strom sparen, da die dahinter liegende HDD dauerhaft still stehen kann (Standby). .

 

Benötige ich zwei SSDs für den Cache?

Dateien befinden sich entweder auf der SSD oder dem HDD Array. Mit nur einer SSD besteht die Gefahr, dass diese Dateien verloren gehen. Ein regelmäßiges Backup hilft nur, wenn keine Dateien auf den Server verschoben, also von der Quelle gelöscht wurden. Wir empfehlen daher zwei SSDs.

 

Wie übertrage ich die Dateien von meinem alten NAS?

Das Unraid Array nutzt standardmäßig das XFS Dateisystem, womit jede HDD einzeln formatiert wird. Das alte NAS nutzt in der Regel ein (proprietäres) RAID. Unraid benötigt also für die Übertragung eigene HDDs. Dazu eignen sich dann die Standardwerkzeuge wie rsync, Drag & Drop über SMB oder das Einbinden der Quelle per Unassigned Devices + Datei-Explorer wie Krusader. Bei der Erstbefüllung sollte man:

- den SSD Cache deaktivieren, damit dieser nicht unnötig abgenutzt wird und

- die Parität erst mal weglassen oder "Reconstruct Write" (TurboWrite) aktivieren, damit die Übertragung schneller ist

  • Like 8
  • Thanks 4
Link to comment

Benötige ich ECC RAM?

Arbeitsspeicher (RAM) mit Fehlerkorrektur (Error Correction Code) ist nicht zwingend notwendig, aber empfehlenswert, denn wie der Name schon sagt, wird er zur Korrektur von Fehlern verwendet. Kommt es also dazu, dass der RAM ein Bit verfälscht, dann wird der ECC dazu genutzt diesen Fehler zu beheben (1 Bit Fehler) oder zumindest zu erkennen (Multi-Bit Fehler). Ohne ECC ist weder eine Korrektur, noch eine Erkennung möglich, da nur ECC RAM Meldungen in den Logs des Betriebssystems hinterlässt. Ansonsten muss jeder selbst abwägen, ob seltene Fehler, die die Datenintegrität gefährden könnten, Grund genug sind einen teureren Server mit ECC RAM zu verwenden.

 

Wie kommt es, dass der RAM die Daten verfälscht?

Bits können durch kosmische Strahlung verfälscht werden, aber in den meisten Fällen handelt es sich um kleine Bereiche auf dem RAM, die defekt sind. Diese führen nicht zwangsläufig zu einem Absturz des Betriebssystems, weshalb sie lange Zeit unentdeckt bleiben können, während sie großen Schaden an Dateien anrichten können.

 

Was kann passieren, wenn ich RAM ohne ECC verwende?

Werden Dateien auf den Server übertragen, durchlaufen diese den RAM und werden evtl verfälscht auf die Disks geschrieben. Unraid verwendet außerdem zur Ausfallsicherheit von Array und Pool eine / mehrere Paritäten. Diese wird von der CPU berechnet, durchläuft den RAM und könnte dann verfälscht auf die Paritätsdisk geschrieben werden, wodurch die Ausfallsicherheit gefährdet sein könnte.

 

Braucht man ECC nicht nur bei ZFS?

Viele nehmen dies an, da ECC RAM zu den Hardware-Empfehlungen von ZFS gehört. Diese Schlussfolgerung ist aber falsch. Matthew Ahrens, Mitgründer von ZFS, hat in einem Forum mal das geschrieben:

https://arstechnica.com/civis/viewtopic.php?f=2&t=1235679&p=26303271#p26303271

Quote

There's nothing special about ZFS that requires/encourages the use of ECC RAM more so than any other filesystem. If you use UFS, EXT, NTFS, btrfs, etc without ECC RAM, you are just as much at risk as if you used ZFS without ECC RAM. Actually, ZFS can mitigate this risk to some degree if you enable the unsupported ZFS_DEBUG_MODIFY flag (zfs_flags=0x10). This will checksum the data while at rest in memory, and verify it before writing to disk, thus reducing the window of vulnerability from a memory error.

I would simply say: if you love your data, use ECC RAM. Additionally, use a filesystem that checksums your data, such as ZFS.

 

Übersetzung:

Quote

Es gibt nichts Besonderes an ZFS, das die Verwendung von ECC-RAM mehr voraussetzt/erfordert als jedes andere Dateisystem. Wenn du UFS, EXT, NTFS, btrfs usw. ohne ECC-RAM verwendest, bist du genauso gefährdet wie bei Verwendung von ZFS ohne ECC-RAM. Tatsächlich kann ZFS dieses Risiko bis zu einem gewissen Grad mindern, wenn man das nicht unterstützte Flag ZFS_DEBUG_MODIFY (zfs_flags = 0x10) aktiviert. Dadurch wird von Daten, während sie im Arbeitsspeicher verweilen, eine Prüfsumme gebildet und diese vor dem Schreiben auf die Festplatte verifiziert, wodurch die Anfälligkeit durch Speicherfehler verringert wird.

 

Wie häufig werden Daten im RAM verfälscht?

Insbesondere durch eine Studie von Google weiß man, dass sich im Schnitt 1 Bit pro GB RAM pro Jahr verändert. Dazu sei angemerkt, dass Google sowohl seine CPUs als auch seinen RAM vorher ausgiebig testet. Diese Fehler kommen also durch RAM zu stande, der bei der ersten Inbetriebnahme völlig fehlerfrei war. Da die wenigsten Selbstbauer ihre CPU oder RAM "einbrennen" und testen, ist davon auszugehen, dass die Fehlerquote hier höher liegt.

 

Wie groß kann der Schaden schon sein?

Bereits ein gekipptes Bit kann eine Bilddatei zerstören, wobei er an einer anderen Stelle vielleicht nur die Farbe eines Pixels verändert oder sogar gar nichts visuell beeinflusst. Im Extremfall kann dauerhaft defekter RAM sogar eine komplette Parität verfälschen und damit bei Ausfall einer Disk und deren fehlerhaften Wiederherstellung, zum Totalausfall von Daten führen.

 

Wo wird ECC noch eingesetzt?

Sämtliche Datenträger (HDDs, USB Sticks, SSDs, SD-Karten, DVDs, Blu-Rays...) und Übertragungsprotokolle (SATA, PCIe, USB, HDMI, Ethernet, DSL...) verwenden ECC.

 

Warum hat mein PC keinen ECC RAM?

Weil CPU/Chipsatz-Hersteller einen saftigen Aufpreis dafür verlangen, damit diese ECC RAM unterstützen. Bei Intel gilt das insbesondere seit der 10ten Generation, seitdem nur noch Xeon Prozessoren ECC RAM unterstützen bzw seit der 12ten Generation können es nur teure i3 und sonst nur i5 und i7 CPUs und auch nur in Verbindung mit teuren W680 Boards. Auch AMD unterstützt nur in bestimmten Motherboard/CPU Kombinationen ECC RAM. Wirklich günstige Systeme sucht man vergeblich.

 

Hat jeder DDR5 RAM eine ECC Fehlerkorrektur?

DDR5 hat so genanntes "On-Die-ECC", was man auch als eine Art "ECC Light" bezeichnen kann. Die hohe Datendichte von DDR5 erhöhte die Wahrscheinlichkeit für Bitfehler, weshalb man das mit einer Fehlerkorrektur auf dem Modul selbst beheben musste. Also ja, jedes DDR5 Modul hat eine ECC-Korrektur. Leider hat man sich aber nicht dafür entschieden vollwertiges ECC umzusetzen, so dass der Transport zwischen CPU und RAM nach wie vor ungeschützt bleibt und die CPU auch nicht mitgeteilt bekommt, wenn es Fehler gab. Datenträger haben im Vergleich dazu das SMART, wo solche Fehler protokolliert werden und der Nutzer dann frühzeitig darauf reagieren kann. In wie weit nun das On-Die-ECC ausreicht, weiß aber heute keiner. Das werden wir erst erfahren, wenn es dazu wieder eine Studie geben sollte. Aber keine Angst, Stand heute (09/2022) gibt es sowieso keine DDR5 Workstation Module mit vollwertigem ECC. Da fällt die Entscheidung doch leicht 😉

  • Like 3
  • Thanks 6
Link to comment
  • 2 weeks later...

Welches Dateisystem soll ich wählen?

Für Pools, die aus mehr als einem Datenträger bestehen, wie zum Beispiel einem RAID1 Cache, ist BTRFS wegen der "Selbstheilung", Snapshots und der Datenrettungsoption empfehlenswert. Bei einem Cache mit nur einer SSD oder für das Array ist XFS empfehlenswert, da Reparaturoptionen direkt in Unraid implementiert sind (im Array Wartungsmodus), die Performance etwas besser und die Fehleranfälligkeit bei Stromausfällen geringer sein soll. Eine Datenrettung ist hier allerdings nur mit Drittanbieter-Tools möglich. Wer Snapshots im Array benötigt, sollte BTRFS verwenden, muss aber beachten, dass diese nur innerhalb einer Partition, also auf einer Disk, erstellt werden können.

  • Like 1
  • Thanks 3
Link to comment

Benötige ich einen SSD Cache?

Mit einer Paritäts-HDD ist die Schreibgeschwindigkeit je nach Modell auf 40 bis 90 MB/s begrenzt, was langsamer ist als eine 1G Netzwerkverbindung (Hinweis: Wechselt man auf "Reconstruct Write" erhöht sich diese auf die maximale Geschwindigkeit der HDD, allerdings laufen dann immer alle HDDs parallel). Die Lesegeschwindigkeit ist auf die maximale Geschwindigkeit einer HDD begrenzt. Mit einer entsprechend schnellen SSD können selbst 10G Netzwerkverbindungen problemlos ausgelastet werden. Ein SSD Cache hilft außerdem beim Strom sparen, da die dahinter liegende HDD dauerhaft still stehen kann (Standby).

 

Benötige ich zwei SSDs für den Cache?

Dateien befinden sich entweder auf der SSD oder dem HDD Array. Mit nur einer SSD besteht die Gefahr, dass diese Dateien verloren gehen. Ein regelmäßiges Backup hilft nur, wenn keine Dateien auf den Server verschoben, also von der Quelle gelöscht wurden. Wir empfehlen daher zwei SSDs im RAID1.

 

Wie funktioniert der Cache?

Dateien befinden sich bei Unraid entweder auf dem Cache oder dem Array. Ein aktiver Cache ist ein separates Laufwerk, das Uploads auf den Server "abfängt". Erst später werden diese durch den Mover auf das Array verschoben. So zumindest das Verhalten bei "Yes/Ja". Dagegen verbleiben die Dateien auf dem Cache, wenn man "Prefer/Bevorzugt" eingestellt hat. Diese Einstellung wird in der Regel für Container und VMDisks verwendet. Als Anfänger sollte man "No/Nein" und "Only/Nur" nicht nutzen. Hier ein Diagramm wie sich die Optionen genau verhalten:

1359357717_HowtheUnraidCacheworks.thumb.png.ef5408fabca861e8156e73a62cc45308.png

 

Video:

 

  • Like 3
  • Thanks 4
Link to comment
  • 2 weeks later...

Benötige ich eine USV?

Linux, worauf Unraid basiert, nutzt standardmäßig 20% des freien Arbeitsspeichers als Schreibpuffer (vm.dirty_ratio=20) und leert diesen erst nach 30 Sekunden (vm.dirty_expire_centisecs=3000). Kommt es also während eines Uploads auf den Server zu einem Stromausfall, können Dateien verloren gehen.

 

Ohne USV sollte man daher mit dem Tips & Tweaks Plugin die vm.dirty_ratio 1 stellen ("0" verursacht Performance-Probleme, wäre aber noch sicherer):

image.png.6c07c375b655e5b79192439dde6761e0.png

 

Damit verkleinert sich der Schreibpuffer auf 1% des freien RAM und der mögliche Datenverlust reduziert sich maßgeblich, da fast alle Uploads fast zeitgleich auf den Datenträger geschrieben werden.

  • Like 3
  • Thanks 4
Link to comment

Wie kann ich eine GPU in einer VM nutzen?

 

HVM und IOMMU müssen aktiv sein:

740691516_2021-03-1114_59_23.png.dc66fbe44e32f7814ffac2912804c8b1.png

 

Falls einer der Optionen nicht aktiviert ist, findet man diese im BIOS in der Regel unter den folgenden Begriffen:

HVM = Intel VT-x bzw AMD-v

IOMMU = VT-d, Directed I/O, IOMMU, SVM

 

Falls dort "Not available/Nicht verfügbar" steht, dann ist die Hardware nicht kompatibel. HVM ist übrigens eine Grundvoraussetzung, um überhaupt VMs nutzen zu können.

 

Wenn diese Voraussetzungen erfüllt sind, kann man die GPU inkl dem Audio Controller (und evtl sogar USB) über Werkzeuge (Tools) -> Systemgeräte (System Devices) anklicken und nach einem Neustart ist die GPU an "VFIO gebunden". Damit ist die GPU nicht mehr für Unraid nutzbar und kann von einer VM genutzt werden.

 

Hinweise:

  • Bei Neustart-Problemen kann die Datei "vfio-pci.cfg" vom USB-Stick gelöscht werden um den Vorgang rückgängig zu machen.
  • Wer nur eine GPU verbaut hat, kann danach nicht mehr die Terminal-Ausgabe von Unraid sehen (die Unraid WebGUI im Browser und das dort integrierte WebTerminal ist natürlich nach wie vor erreichbar)
  • Viele Nutzer konnten Neustart-Probleme beheben, in dem sie Unraid eine GPU verwenden lassen zB die iGPU der CPU oder eine GT710, GTX1030, etc
  • Die mehrfache Nutzung einer GPU durch Unraid und einer oder mehrerer VMs ist nicht standardmäßig möglich. Eher zu den neuen Projekten gehört zB das Intel-GVT-g Plugin um die von Unraid verwendete iGPU auch zur Beschleunigung einer VM nutzen zu können. Bei Nvidia GPUs gab es wohl einen Hack, aber ich vermute, dass eine Nutzung in Unraid auch damit nicht möglich wird, da es mit den Enterprise GPUs nur geht, wenn man ein kompatibles Betriebssystem verwendet. Sofern euch also die Leistung einer Intel iGPU nicht reicht, wäre Stand heute eine dGPU pro VM notwendig. Allerdings kann man sie im Wechsel verwenden. Also eine VM herunterfahren und die nächste mit der selben dGPU wieder hochfahren. Das geht.
  • Fährt man eine VM herunter oder schickt sie in den Standby, geht die GPU nicht schlafen. Im Gegenteil. Ihr Stromverbrauch steigt deutlich an. Daher lohnt es sich eigentlich nicht die VM herunterzufahren.
  • In einer VM spielen ist möglich, beachtet aber bitte, dass manche Spiele einen Anti-Cheat-Mechanismus verwenden, der das Spielen in einer VM verbietet. zB alle Spiele, die mit BattlEye geschützt werden, gelten als inkompatibel. Am besten mit einer Suchmaschine eurer Wahl nach dem Spielnamen und "Unraid VM" suchen.
  • es gibt Nutzer, die mit inoffiziellen Plugins die Nutzung von MacOS in einer VM ernöglichen. Apple hat sich meines Wissens nach hier bisher nicht zu Wort gemeldet, aber manche Nutzer vermuten, dass es gegen die Lizenzrechte verstößt. Es kann also gehen, muss aber nicht legal sein und keinesfalls wird es offiziell von Unraid unterstützt. Da es schon Beschwerden gab, weil so eine VM nicht lief, muss ich das einfach erwähnen.

 

  • Like 4
  • Thanks 5
Link to comment
  • 3 months later...

Was muss man bei einem All-In-One Server/Gaming System beachten?

  1. Beim ersten Booten oder falls eine VM nicht startet, muss man in der Lage sein auf die Unraid WebGUI zugreifen zu können (um die VM zu starten). Man braucht also jederzeit einen lauffähigen Rechner neben dem Server, was aber auch ein Tablet oder Notebook sein kann. Alternativ: Unraid bekommt eine eigene GPU und man bootet Unraid im GUI Modus.
  2. Fährt man eine VM herunter oder versetzt sie in den Standby, verbraucht die GPU genauso so viel Strom, als würde man die VM inkl der GPU im Leerlauf belassen. Der Grund ist, dass GPUs erst Strom sparen, wenn ihnen der GPU Treiber das sagt, der aber außerhalb der VM nicht aktiv ist. Es macht also eigentlich gar keinen Sinn die VM herunterzufahren. Man muss also mit einem Stromverbrauch rechnen, der einem PC gleichkommt, der 24 Stunden pro Tag läuft.
  3. Die Powertaste am Gehäuse fährt nicht die VM, sondern den kompletten Server herunter.
  4. Es gibt keine Taste mit der man die VM hochfahren kann (denkbare Lösungen sind WoL Widgets auf dem Smartphone in Kombination mit einem Script, dass dann die VM startet).
  5. Den Server bei Nichtnutzung herunterzufahren würde Strom sparen, aber Unraid hat immer eine Bootzeit von ~2 Minuten, also deutlich langsamer als Windows, MacOS & Co. und dessen VM-Bootzeit muss natürlich noch addiert werden.
  6. Nicht alle Spiele laufen in einer VM. Bekannt ist zB dass alle Spiele mit BattleEye Kopierschutz den Betrieb in einer VM als cheaten betrachten und den Zugriff dann sperren.
  7. Nicht jedes Board verfügt über mehrere LAN Controller oder erlaubt überhaupt das Durchschleifen einzelner LAN-Controller an eine VM. Es macht allerdings gerade beim Gaming Sinn einen physischen LAN Controller / Karte durchzuschleifen, da der virtuelle Controller einiges an CPU Last verursachen kann (Fazit: Eine LAN-Karte oder einen USB LAN Adapter einplanen)
  8. Normalerweise erstellt man auf dem SSD Cache von Unraid die VM-Disk(s). Damit erhält die VM eine virtuelle Festplatte. Diese Virtualisierung kostet CPU Leistung. Das Durchschleifen einer NVMe ist daher empfehlenswert, wenn man die beste Performance erreichen will. Allerdings kommt man schnell an die Grenzen eines Consumer-Mainboards, wenn man einen SSD Cache mit 2x NVMe erstellt hat und zusätzlich noch eine NVMe in einer VM nutzen möchte (oder gar mehrere).
  9. Innerhalb einer VM kann man nicht nativ auf die Dateien des Unraid Arrays zugreifen.  Der Zugriff erfolgt dann über das Netzwerk (SMB, NFS), was aber lokal passiert und daher recht schnell geht.
  10. Unraid kann zwar ohne GPU (headless) gestartet werden, aber sobald eine GPU verbaut ist, gibt es gerne mal Probleme (Unraid "besteht" auf die GPU, UEFI muss evtl deaktiviert werden, etc). Deutlich weniger Probleme hat man, wenn das System zwei GPUs besitzt. zB eine iGPU in der CPU für Unraid und eine dGPU für die VM. Zwei dGPUs sind natürlich auch denkbar. Wer Single GPU Passthrough machen möchte, sollte hier lesen.
  11. Bedient man Unraid im GUI Modus, benötigt Unraid eine eigene Tastatur & Maus (oder Umschalter oder Multi-Device Eingabegerät wie zb von Logitech mit mehreren USB Receivern).
  12. Ein Wechsel zwischen zwei VMs ist nicht ohne weiteres möglich.
  13. Eine Nvidia oder AMD GPU kann nicht von mehreren VMs gleichzeitig genutzt werden.
  • Like 5
  • Thanks 4
Link to comment

Was macht man bei einem Absturz oder Verbindungsproblemen?

  1. Zeigt der Server über das Terminal eine IP an, die mit 169.254.x.x beginnt, dann erwartet er von einem DHCP Server (zB dem Router) eine IP, hat aber keine erhalten. Die 169.254.x.x ist also nur ein Ersatz für "keine IP". In dem Fall die Buchse, das Kabel, den Switch oder den Router prüfen.
  2. Sollte das Netzwerk falsch eingestellt worden sein und der Server ist deswegen nicht mehr erreichbar, hilft es die Dateien /config/network.cfg und /config/network-rules.cfg vom USB Stick zu löschen, wodurch die Netzwerk-Einstellungen beim nächsten Booten zurückgesetzt werden und sich der Server per DHCP eine IP-Adresse holt.
  3. Da Unraid im RAM läuft, gehen bei einem Absturz oder Neustart die Logs verloren (in denen evtl Fehlermeldungen zu sehen wären). Um die Ursache für den Absturz zu finden, müssen also die Logs auf den USB Stick geschrieben werden (oder externen Syslog Server). Das geht über Settings > Syslog Server > Mirror syslog to flash:
    image.png.0902791702a98ec7d6f9e6d315a3a215.png
    Diese Logs findet man dann unter /boot/logs/syslog.
    Hinweis: Dadurch kann sich der USB Stick abnutzen. Ist das Problem gelöst, sollte man diese Einstellung also wieder rückgängig machen.
  4. Zeigt der Server nach dem Booten im Terminal gar keine IP an, dann wurde vermutlich kein Netzwerk-Treiber installiert oder die Kabelverbindung zum Switch/Router ist fehlerhaft. Hinweis: 2.5G LAN-Buchsen werden erst ab Unraid 6.9 unterstützt.
  5. Häufige Gründe für einen Absturz:
    - defekter RAM
    - defekte SSD im Cache
    - USB Stick hat Verbindung verloren zB durch USB Bug bei AMD

 

Wie kann ein Problem analysiert werden?

  1. Über Tools > System Log kann das Protokoll eingesehen werden, das alle Status- und Fehlermeldungen enthält. Oben rechts lassen sich die Filter so setzen, dass ausschließlich die Fehler angezeigt werden:
    image.png.332db9d55ba8617b1a9af201ec8b4d5a.png
    In der Regel reicht es nach einer Fehlermeldung über eine Suchmaschine zu suchen.
  2. Wenn man selbst keine geeignete Lösung findet, bietet es sich an andere zu fragen und im Forum oder bei Reddit einen Beitrag zu eröffnen. Bitte ergänze dann die diagnostic.zip, die du dir über Tools > Diagnostics > Download generieren lassen kannst:
    image.png.f2d983d9c1977029fae9686523ff4e7f.png
    Diese enthält neben der Prokotolldatei auch mehrere Statusmeldungen zur verbauten Hardware, die Anzahl der Platten und wie diese in Array und Pool aufgeteilt wurden.
  • Like 2
  • Thanks 4
Link to comment

Wie löscht man einen Docker Container?

 

Ein Docker Container besteht in Unraid aus 4 verschiedenen Komponenten, deren Löschung jeweils unterschiedliche Auswirkungen hat:

 

1.) Image(s)

Das sind die Installationsdateien die zur Installation des Containers notwendig sind. Diese zu löschen ändert gar nichts, außer dass sie bei einer erneuten Installation des Containers neu heruntergeladen werden. Um diese zu löschen, muss man bei "also remove image" den Haken setzen:

1693455293_2021-06-3015_33_55.png.f9c8de06675fa183903001f64968740d.png

 

2.) Container

Das ist das gerade laufende virtuelle Betriebssystem mit seinen Apps. Ein Container kann beliebig gelöscht, gestoppt oder neu gestartet werden. Wählt man "Yes, delete it!", wird "nur" der Container mit seinem Betriebssystem und den darin entahltenen Apps entfernt, aber keine wichtigen Daten. Installiert man also den Container über "Apps" neu, ist alles wie zuvor.

2097191061_2021-06-3015_36_04.png.f49f9164da3bb5ad4ef6fc31c98d0f32.png

 

3.) Template

Das Template findest du auf dem USB-Stick unter /boot/config/plugins/dockerMan/templates-user/my-container_name.xml und enthält die Formular-Daten, die man sieht, wenn man einen Container bearbeitet. Ein Template kann man über Apps -> Previous Apps löschen. Hat man nichts am Template geändert, hat das Löschen keine Auswirkungen. 

 

Previous Apps:

1515990226_2021-06-3015_37_55.png.8cc6beb6252c9c691b31c5b85060682d.png

 

Formular verweist auf my-container_name.xml:

1348817866_2021-06-3015_39_49.thumb.png.b8b4d893587239a367e9e5c6afe49f17.png

 

my-container_name.xml enthält Formular-Daten:

88715882_2021-06-3015_38_48.png.6d4d5a1bb31a969c72037fa039304e33.png

 

 

4.) Nutzer-Dateien

Die Dateien, die ein Container im laufenden Betrieb erstellt und wichtig für den Nutzer sind, landen im Ordner "/mnt/user/appdata/container_name". Erst wenn dieser Ordner gelöscht wird, setzt man den Container auf den Auslieferungszustand zurück. Also erst wenn man diesen Ordner löscht, hat man wirklich was gelöscht. Um ein versehentliches Löschen zu vermeiden, hat man sich entschieden das nur über das Plugin "Appdata Cleanup" zu ermöglichen.

 

Nutzer-Dateien eines Containers:

image.png.9994250756b7b84919cf15e465a00941.png

 

Löschen über Cleanup-Appdata:

1333132255_2021-06-3015_45_52.png.79835edd76a33576c4cf7b2d99b3c74b.png

 

Nutzer-Dateien wurden gelöscht:

232396628_2021-06-3015_46_34.png.e71c764c8632fa8dfce05c3bcfb4ae17.png

  • Like 1
  • Thanks 4
Link to comment
  • 1 month later...

Welche Hardware ist für Unraid optimal?

 

Die offiziellen Mindestanforderungen von Unraid:

  • Ein 64-Bit-fähiger Prozessor mit 1GHz oder besser
  • Mindestens 2GB RAM
  • Linux-Hardwaretreiber für Speicher-, Ethernet, und USB-Controller
  • Zwei Festplatten - um den Schutz deiner Dateien mit einer Paritätsfestplatte zu gewährleisten

 

Rein von den Funktionen empfehlen wir:

  • eine CPU mit iGPU
  • eine CPU mit guter Single Thread Leistung (Liste von Passmark), wobei ich 1400 Punkte als Minimum empfehle
  • ein Mainboard mit zwei M.2 Slots für einen ausfallsicheren SSD Cache (RAID1)
  • möglichst viele SATA Buchsen um langfristig auf Erweiterungskarten verzichten zu können
  • keine RAID Karten/Controller (werden nicht unterstützt)

 

Die höchste Effizienz, Komfort und Funktionsumfang bietet ein Intel System mit iGPU bis zur 10ten Generation:

  • Xeon Workstation CPUs der Serien E-21xxG (8th), E-22xxG (9th) und W-12xxn(10th) sind in der Regel mit einer iGPU ausgestattet
  • bis zur 10ten Generation funktioniert das Intel GVT-g Plugin, das die Nutzung der iGPU in mehreren VMs erlaubt, also i-Core 11xxx oder Xeon W-13xx - oder neuer - können das nicht!
  • ab der 10ten Generation ist der Stromverbrauch bei Intel leicht gestiegen, ab der 11ten ist er deutlich höher, die 8te und 9te Generation ist die sparsamste.
  • ab der 11ten Generation unterstützt Intel keinen Legacy Mode mehr, was das Durchschleifen von Hardware an VMs erschweren kann (alte Karten kennen kein UEFI und manche bekommen ihre VMs nur zum Laufen, wenn der Unraid Server im Legacy Modus gebootet wurde)
  • ab der 11ten Generation gibt es eine komplett neue iGPU Generation, deren Linux-Treiber noch nicht ausgereift sind (Plex SDR Tonemapping geht nicht)
  • Intel Systeme verbrauchen im Leerlauf teilweise deutlich weniger Strom als AMD Systeme.
  • ab der 13ten Generation könnte Intel wieder effizienter geworden sein. Besonders sparsam sollen die Kontron Boards für the 12te Intel Generation sein (wo auch die 13te drauf laufen sollte, bitte selbst prüfen!)

 

Warum ich von AMD abrate:

  • ein AMD System besitzt nur bei den teuren und seltenen Ryzen 4xxxG oder 5xxxG eine iGPU
  • eine AMD iGPU besitzt deutlich weniger Video-Transcoding Leistung als eine Intel iGPU
  • alte AMD Ryzen 1xxx laufen nicht stabil in Linux
  • AMD Setups reagieren sehr empfindlich auf "zu schnellen" RAM. Verzichtet also auf RAM jenseits von 3200 Mhz (bei DDR4)
  • so etwas wie Intel GVT-g gibt es bei AMD nicht
  • es gibt kein sparsames AMD Mainboard mit 8x SATA und 2x M.2
  • die iGPU kann nicht an eine VM durchgeschliffen werden
  • Finger weg von Threadripper: Hier gibt es Latenzprobleme in VMs
  • manche Boards haben beim Einsatz von PCIe 4.0 Hardware oder der Aktivierung der sparsamen C-States einen Bug und werfen den unRAID USB Stick aus

 

Wann würde ich ein AMD System in Betracht ziehen:

  • es ist bereits vorhanden
  • der Stromverbrauch spielt keine Rolle
  • man braucht die hohe Kernzahl und Leistung eines zb 5900X für möglichst wenig Geld und möchte evtl auch ECC RAM einsetzen 

 

Welche Optionen habe ich, wenn ich ECC RAM haben möchte:

  • die meisten AMD Systeme unterstützen ECC RAM (technische Mainboard Daten lesen!)
  • bei Intel unterstützen alle Xeon CPUs ECC RAM und bis zur 9ten Generation auch die Pentium Gold und i3 CPUs
  • Achtung: Consumer/Workstation Systeme unterstützen in der Regel nur ECC und kein Reg ECC RAM!

 

Für die Suche passender Hardware empfehle ich Geizhals, da es dort sehr gute Filter gibt. So kann man zb leicht alle DDR4 Non-Reg ECC Module finden 

 

Besonders sparsame Netzteile bei niedriger Last (<25W):

- PicoPSU

- Corsair RM550x (2021), verbraucht 1W mehr als die PicoPSU

- Be Quiet Pure Power FM 11 550W, verbraucht 1,6W mehr als die PicoPSU

- alle anderen Netzteile verbrauchen 3 bis 4W mehr als eine PicoPSU

- informiert euch bei TweakPC über die neuesten Netzteile, denn wegen dem neuen ATX12VO Standard, kommen immer mehr sparsame Netzteile

 

Hier ein paar Bauvorschläge :

https://geizhals.de/?cat=WL-3054899 (ITX, Mini-Case, Non-ECC)

https://geizhals.de/?cat=WL-2107598 (Intel, mATX, ECC, 10te Generation)

https://geizhals.de/?cat=WL-2161844 (Intel, mATX, Non-ECC, 8te und 9te Generation)

https://geizhals.de/?cat=WL-2107596 (Intel, mATX, ECC, 8te und 9te Generation)

https://geizhals.de/?cat=WL-1881432 (Intel, ITX, ECC, 1x M.2, 8x SATA, 8te und 9te Generation)

https://geizhals.de/?cat=WL-1881408 (Intel, ITX, 1x M.2, 8te und 9te Generation)

https://geizhals.de/?cat=WL-2166906 (AMD, mATX, ECC, 2x M.2, 8x SATA, IPMI, 10G, 4xxxG/5xxxG)

 

Alle XEON Prozessoren der 8ten und 9ten Generation bei eBay sind vielleicht auch interessant.

  • Like 3
  • Thanks 5
Link to comment

Was ist der Unterschied zwischen einem RAID und Unraid?

 

Zuerst sollte man wissen, dass es in Unraid das Array und die Pools gibt. Im Unraid Array ist es ähnlich wie bei einem RAID4, die Parität befindet sich auf einem eigenen Laufwerk und die Daten auf den restlichen Laufwerken. Bei einem Unraid Pool wird dagegen ein RAID1, RAID5, RAID6 oder RAID10 verwendet.

 

Wie ein RAID funktioniert

Um den Unterschied zu verstehen, ist es am besten, wenn man erstmal versteht wie ein RAID funktioniert. Gehen wir mal von 4 Festplatten aus und einem RAID5. Bei einem RAID5 gibt es eine Parität. Eine Parität enthält keine Dateien, sondern nur ein Rechenergebnis, das sich aus den Daten der anderen Festplatten ergibt. Außerdem muss man wissen, dass eine Datei nicht komplett, zB auf Festplatte 2 eines RAIDs liegt, sondern "zerteilt" wird und diese Teile werden auf alle Festplatten gleichmäßig verteilt. Darum ist ein RAID auch schneller als das Unraid Array, denn man kann jedes Teil auf alle Festplatten gleichzeitig schreiben und natürlich auch gleichzeitig von allen Festplatten lesen.

 

Wie das Unraid Array funktioniert

Nun zum Unraid Array. Hier ist jede Festplatte für sich alleine genommen ein ganz normal formatiertes Laufwerk. Eine Datei liegt dabei immer komplett auf einer Festplatte. Das separate Paritätslaufwerk enthält wie auch beim RAID nur das Rechenergebnis aller Festplatten und keine Dateien. Die Geschwindigkeit ist beim Array schlechter als bei einem RAID, da man eine Datei immer nur von einer Festplatte lesen oder auf eine schreiben kann.

 

Bilder sagen mehr als tausend Worte:

1631576142_2021-08-0712_32_03.thumb.png.7d22995e4972dadda43e8e697cba7db9.png

 

Was passiert beim Ausfall von Festplatten

Würde nun bei einem RAID5 Disk 3 ausfallen, würden die fehlenden Daten über die Parität rückwärts berechnet und sie stünden weiter zur Verfügung:

image.thumb.png.7f9465426216da56f4aedac23961031c.png

 

Fallen allerdings Disk 2 und Disk 3 aus, wären alle Daten verloren, da die Parität nur rückwärts rechnen kann, wenn noch genug Teile der Daten vorhanden sind:

image.thumb.png.4654eed2ed61257212cdd4a214b2e66f.png

 

Bei Unraid ist das Prinzip ähnlich. Beim Ausfall einer Platte, könnte auch hier über die Parität die fehlende Festplatte rückwärts berechnet werden. Allerdings gingen beim Ausfall von zwei Festplatten nicht alle Daten verloren, sondern nur die, der defekten Festplatten. Also zB bei einem Array bestehend aus 10 Festplatten, stünden immer noch die Dateien der 8 intakten Festplatten zur Verfügung, denn wie gesagt ist ja jede Festplatte für sich alleine formatiert. In dem folgenden Beispiel würden also die Dateien von Disk 1 und Disk 3 nach wie vor verfügbar sein:

1634997146_2021-08-0713_09_57.thumb.png.3d2d10632977e83e232416658ce372d6.png

 

Energieeffizienz

Damit sehen wir auch einen weiteren Vorteil des Unraid Arrays, denn wenn ja keine Abhängigkeit zu anderen Platten besteht, heißt das natürlich auch, dass beim Zugriff auf eine Datei, immer nur diese eine Festplatte laufen muss. Würde man also den Film "Avatar" schauen, würde beim Unraid Array im Gegensatz zum RAID nur Disk 1 laufen, was den Server besonders energieeffizient macht:

image.thumb.png.f9ddff5fb0d06dcda2756fb66845b7f1.png

 

Vor- und Nachteile des Unraid Array im Überblick

- die Geschwindigkeit ist begrenzt auf die Leistung einer Festplatte

- es kann "niemals" zum Totalausfall kommen

- es muss immer nur die Festplatte laufen, auf der die Datei liegt

 

Ein RAID ist kein Backup!

Auch wenn eine Parität vor dem Ausfall einzelner Festplatten schützt, kann es keine gelöschten Dateien wiederherstellen, noch schützt es vor Feuer, Sicherheitslücken, Einbruch, Blitzschlag, usw. Man sollte also immer auch ein (Offline/Remote) Backup der Dateien erstellen.

 

 

  • Like 1
  • Thanks 3
Link to comment

Sollte man für eine VM die CPU Kerne isolieren?

Bei der Virtualisierung gibt es sowohl die Prozesse der virtuellen Maschine als auch die Prozesse des Host Systems, also Unraid. Wir können nun mit dem "Pinning" dafür sorgen, dass eine VM (oder Docker Container) nur bestimmte CPU Kerne verwendet. Allerdings hindert das Unraid nicht daran, diese ebenfalls zu verwenden. Erst über die "Isolation" können wir das verhindern, wobei wir aber auch der CPU die Lastverteilung überlassen können.

 

Wir haben daher zwei Optionen:

 

A) Man weist der VM alle Kerne zu und isoliert gar keinen Kern:

image.png.f37c038f74961ea5e6a6e205f299f698.png

 

Auf die Art entscheidet die CPU wie die VM, Docker und Unraid Prozesse auf den Kernen verteilt werden sollen. Eine CPU macht das völlig dynamisch. Sie lässt Prozesse auch ständig von einem Kern zum nächsten wandern. Eben so, dass die Verteilung der Last optimal ist.

 

Diese Szenario bietet sich insbesondere für Office oder Server VMs an.

 

B) Man weist der VM nur ganz bestimmte Kerne zu und isoliert diese:

image.png.0bbb7f9cfcef106890bdb7592c864780.png

 

Jetzt wird Unraid nur noch die nicht isolierten Kerne verwenden und die VM kann exklusiv auf ihre Kerne zugreifen.

 

Diese Szenario ist optimal für VMs, die latenzkritische Anwendungen ausführen wie zB Videostreaming, Gaming oder Audio.

 

C) Was man dagegen vermeiden sollte ist eingeschränktes Pinning ohne Isolation:

2100662799_2021-08-1309_00_22.png.cb86a177b5f4b16670d8aa3a58b3d991.png

 

Starten in so einem Szenario rechenintensive Unraid Prozesse, so wird die CPU diese wie gehabt von den Kernen mit der geringsten Belastung verarbeiten lassen, was dann auch VM Kerne sein können. Kommen nun allerdings zusätzlich rechenintensive VM Prozesse hinzu, kann die CPU diese nur auf den Kernen verteilen, die beim Pinning ausgewählt wurden, was zur Überlastung einzelner Kerne führen kann.

 

CPU ist nicht gleich CPU

Die bei der VM Konfiguration angezeigten "Logical CPUs" sind nicht zwangsläufig CPU Kerne. Manche CPUs besitzen Hyperthreading (HT). Im Handel meist mit 4 Kerne / 8 Threads, 6 Kerne / 12 Threads, usw bezeichnet.

1884616610_2021-08-1309_45_57.png.0679971f85aff5b602234b3d094cec25.png

Hierbei gilt es zu beachten, dass die zusätzlichen Threads von HT keine eigenen Kerne sind, sondern die bereits vorhanden Kerne einfach nur doppelt genutzt werden. Dadurch holt HT noch mal ~15% mehr Leistung aus einem Kern heraus. Es ist also nicht so, dass wir zB bei einer HT CPU, die über 20 Threads verfügt, problemlos 5 Workstation VMs mit jeweils 4 CPUs betreiben können. Tatsächlich hätten diese dann jeweils nur 2 Kerne mit 15% Extraleistung und wann habt ihr das letzte mal im Handel eine Workstation mit einer Pentium CPU (2 Kerne / 4 Threads) gesehen?

 

Es wird übrigens empfohlen Kern + Thread immer paarweise auszuwählen. Ansonsten hat man wieder das wie in C) beschriebene Problem, nur diesmal durch verschiedene VMs.

  • Like 1
  • Thanks 3
Link to comment
  • 2 weeks later...

Welche Docker Netzwerke können andere erreichen?

 

Ich habe mir mal die Mühe gemacht und gefühlt 100 Container mit unterschiedlichen Netzwerken gestartet und dann mit "curl <IP>:<Port>" versucht die jeweils anderen Container, Unraid, den Router oder das Internet zu erreichen. Die folgende Tabelle zeigt das Ergebnis, was allerdings nur gilt, wenn "Host to Custom Access" in den Docker Einstellungen deaktiviert wurde. Eventuell finde ich auch noch die Zeit die anderen Varianten auszuprobieren.

 

Source = Der Container von dem die Anfrage kommt

Target = Der Container / das Ziel an die die Anfrage ging

image.thumb.png.1d9231ab31679e48b173d03a493889c9.png

 

 

Denkt dran, dass man Container mit dem Befehl "docker network connect <Netzwerkname> <ContainerName>" mit Netzwerken verbinden kann. Dadurch können manche Einschränkungen also wieder aufgehoben werden.

 

  • Like 2
  • Thanks 12
Link to comment
  • 1 year later...

Was gibt es zu beachten, wenn man Docker/VM Pfade auf /mnt/cache ändert?

 

Standardmäßig nutzt Unraid überall den Pfad /mnt/user. Hinter diesem Pfad steckt eine Software namens "FUSE". Sie sorgt dafür, dass Dateien, die auf dem Array und dem Cache Pool liegen, gemeinschaftlich in einem Pfad zu sehen sind.

 

Das versteht man am besten an Hand eines Beispiels. Ich erstelle über das Netzwerk in meinem Unraid Share "isos" eine neue Datei:

image.png.24b4af561a64286fe9c89b8eef525143.png

 

Wechseln wir nun in Unraid auf Shares > isos > Inhalt anzeigen, sehen wir zwei Dinge:

- der Pfad heißt "/mnt/user/isos"

- die neue Datei hat die LOCATION "cache"

image.thumb.png.f7e7444d24453ba6ca3189c0f73eb273.png

 

"cache" heißt in dem Fall, dass die Datei nicht im Array liegt, sondern im Cache-Pool. Dieser hat den Pfad "/mnt/cache". Schaut man sich den Inhalt des Cache Pools über Main > Cache Pool Datenträger > Inhalt anzeigen an, sieht man, dass dort im Ordner "isos" nur diese eine Datei liegt:

image.thumb.png.90d3f33270d09647cfaa361526192548.png

 

Die restlichen Dateien des Shares "isos" liegt in meinem Fall auf "disk6". Also wiederhole ich die Schritte und schaue mir über Main > Disk 6 > Inhalt anzeigen den Ordner an und finde die restlichen Dateien:

image.thumb.png.abfe23f1423427249cba6df243ea294b.png

 

Zusammenfassung:

- /mnt/cache ist der direkte Pfad auf unseren SSD Cache Pool

- /mnt/disk6 ist der direkte Pfad auf unsere Disk 6 des Arrays

- /mnt/user zeigt alle Dateien an, egal ob sie auf einer Disk oder dem Cache liegen

- greift man über das Netzwerk auf einen Share zu, nutzt man dabei immer den Pfad /mnt/user

 

Was ist nun das Problem an /mnt/user?

Die FUSE Software verursacht bei Lese- und Schreiboperation eine sehr hohe CPU Last. Am besten sieht man das, wenn man über das Terminal während eines Uploads das Programm "top" laufen lässt (der FUSE Prozess heißt shfs oder sshfs):

image.png.32bf1dfcc681cf5ccfda69b914e210b9.png

 

Wo spielt die CPU-Last von /mnt/user eine Rolle?

Beim Upload nur dann, wenn euer Server eine sehr schwache CPU besitzt. Ihr seht ja im oben genannten Beispiel, dass ich mein 10G Netzwerk fast auslaste. Tatsächlich ist aber "/mnt/user" Schuld daran, dass es nur "fast" für eine Spitzenleistung ausreicht.

 

Was bei der Uploads zutrifft, gilt aber auch für Docker Container. Als Beispiel nehmen wir mal Nextcloud. Gehen wir davon aus, dass die Maria DB und Nextcloud auf /mnt/user gestellt ist:

image.png.1e04ed47a5bc5de7b1e15065601fc8e5.png

 

image.png.1095c20edcedb3895f905a12190d76d8.png

 

Nun aktiviere ich die Entwickler-Einstellungen im Browser und kann so die Ladezeit von Nextcloud sehen, die bei 4.5 Sekunden liegt:

image.thumb.png.5499439983987270edd231f329840609.png

 

Jetzt stelle ich alle Pfade auf /mnt/cache um:

image.png.a1735aeff434ad35a4591118454a54f3.png

 

image.png.47b2317c00312c770b86e6579cb20c3f.png

 

Und wiederhole die Messung und lande bei 2.91 Sekunden:

image.thumb.png.d73e9b467b5e196511d6dafd95b92b8f.png

 

Also ca 40% schneller, nur weil ich die Pfade angepasst habe. Es gibt sogar User, die hatten vor der Umstellung auf /mnt/cache noch viel schlechtere Ladezeiten (5 bis 50 Sekunden). Ich vermute, weil die auch noch bei der Docker-Installation /mnt/user verwenden. Das wollte ich für diesen Test jetzt nicht zurück ändern, denn das steht bei mir bereits alles auf /mnt/cache:

image.png.d1e7267cc54ae1e90dd9ba2171cd4480.png

 

Wie man sieht habe ich mir für docker einen separaten Ordner / Share gesetzt. Ihr werdet da /mnt/user/system/docker stehen haben. Außerdem nutze ich kein docker.img, sondern die dateibasierte Variante, was ich auch jedem nur empfehlen kann, wenn er eine bessere Performance haben will.

 

Was ist der Haken an /mnt/cache?

 

Bevor Ihr jetzt hingeht und alle Pfade von /mnt/user nach /mnt/cache ändert, müsst ihr folgende Dinge beachten:

 

1.) Ihr müsst euch sicher sein, dass alle Dateien in /mnt/user/appdata ausschließlich auf dem Cache liegen. Also Shares > appdata > Inhalt anzeigen und die Spalte LOCATION sichten. Wenn da nur "cache" steht, ist diese Bedingung schon mal erfüllt:

image.thumb.png.d9466c0e15435689c86a6d2918ed74cd.png

 

2.) Alle Shares und alle Pools sollten einen Minimum Free Space eingestellt haben. Also Shares > appdata > Minimum Free Space:

image.png.39bd77664ddf49037dbed5e94e68a7f7.png

Und Main > Poolname "Cache" > Minimum Free Space

image.png.4d14318de9669378c8ad92dcdfbf3f2c.png

100000000 entsprechen hierbei 100GB.

 

Auf die Art wechselt Unraid beim Hinzufügen von Dateien über das Netzwerk (also bei der Nutzung von /mnt/user), sei es durch Container oder beim Upload, den Datenträger, sobald weniger als 100GB frei sind. Das ist wichtig, denn bei /mnt/cache werden weder die Cache-Regeln wie "Prefer" oder "Yes" angewendet, noch greift hier der Minimum Free Space. Daher müsst ihr immer dafür sorgen, dass wenn Ihr Dateien über das Netzwerk hochladet (was bekanntlich über /mnt/user passiert), immer genug freier Speicherplatz auf dem Cache vorhanden ist. Ansonsten crashen euch wegen voller SSD irgendwann die Container.

 

3.) Falls euch mal der Cache Pool kaputt geht oder ihr die SSD gegen eine größere ersetzen wollte, dürft ihr NIEMALS den Docker Service starten, solange die Dateien nicht wieder vollständig auf dem Cache Pool liegen! Denn ohne Cache Pool existiert der Pfad /mnt/cache nicht.

 

4.) Backups vom appdata-Share machen! Diese Anpassung erfolgt auf eigene Gefahr!

 

Warum bringt /mnt/cache nichts bei VMs?

 

Die Unraid Entwickler wissen natürlich, dass FUSE den Datenzugriff verlangsamt. Aus dem Grund werden alle Vdisk-Pfade, ohne dass ihr das bemerkt, beim Starten der VM von /mnt/user in /mnt/cache oder /mnt/diskX geändert. Den einzigen Pfad, den ich ihr tatsächlich beeinflussen könnt ist der von libvirt unter Einstellungen > VM:

image.png.299a9a4ee9cf3052545ddcc5591f0e9d.png

 

Natürlich könnt ihr für das gute Gewissen trotzdem alle anderen Pfade auf /mnt/cache ändern, aber ihr werdet dadurch wie gesagt keinen Performance-Vorteil erfahren.

  • Like 9
  • Thanks 4
Link to comment
Guest
This topic is now closed to further replies.