Wechsel zu Unraid - verschiedene Fragen :)


i-B4se

Recommended Posts

Moin Leute,

ich hätte ein paar Fragen bezüglich Unraid.

Aktuell habe ich ein QNAP TS-253Be und dieser wird für Nextcloud, Backups benutzt und auch für HomeAssistant.

Leider ist dieses NAS doch etwas schwach auf der Brust vor allem wenn ich HomeAssistant per VM laufen lassen möchte. 

Jetzt habe ich hier noch eine Workstation rumstehen die für mein Einsatzzweck ein wenig "over power" ist, aber ich möchte das ganze erstmal ausprobieren und dann an etwas anderes denken.

 

Auf was soll Unraid laufen:

Workstation HP Z800

2x Xeon E5620

32 GB DDR3 ECC

Festplatten: zum Testen erstmal 2x 1TB HDD + 1x 500GB SSD + 1x 500GB SSD als Cache ---- Falls alles so läuft wie ich das mag +2x 8TB HDD aus dem NAS

 

Was habe ich vor:

- Nextcloud: Muss! auch aus dem Internet erreichbar sein inkl. SSL. Einzelordner haben stellenweise viele Dateien - manche ca. 12000. Und dabei kommt mein NAS oft ans Limit. 

- Backuplösung für verschiedene PCs 

- Netzwerkfestplatten

- Homeassistant inkl. Supervisor

- kleiner Gameserver (DayZ etc.) nur für zu Hause - nicht im Internet!

- VMs

 

Ist es richtig das es bei Unraid egal ist welche Festplatten verbaut sind? Es wird immer von der größten Festplatte ausgegangen und diese muss auch beim Aufsetzten des System verbaut sein.

 

Ich habe gelesen das die Übertragungsrate auf 70 MB/s durchs Netzwerk limitiert ist, außer man nutzt eine SSD als Cache. Ist das so korrekt oder habe ich das etwas falsch verstanden.

 

Bei Unraid - wie der Name schon sagt - wird nicht auf eine klassische Raid-Lösung gesetzt. Die Daten werden quasi auf die verschiedenen Platten verteilt und es arbeitet immer nur die "Hauptplatte". Sollte eine Festplatte aussteigen, sind die Daten nicht futsch, da diese von den anderen Platten wieder errechnet werden. Stimmt das so im groben?

 

Was ist wenn ich jetzt eine 8 TB als Hauptplatte nutze und irgendwann eine 12 TB einbaue? Muss dann alles neu eingestellt werden oder übernimmt Unraid einfach diese als neue Hauptplatte und packt die 8 TB zu den anderen.

 

Wie ist das System im einzelnen aufgebaut? Ist es leicht zu verstehen oder muss man da "vorsichtig" rangehen? Ich bin kein ITler, aber habe auf solche Sache immer Bock und lese mich dazu auch gerne ein.
 

Ich hoffe ich stell nicht zu viele Fragen für einen Freitag :D

 

Besten dank vorab!

Edited by i-B4se
Link to comment
6 hours ago, i-B4se said:

Jetzt habe ich hier noch eine Workstation rumstehen die für mein Einsatzzweck ein wenig "over power" ist, aber ich möchte das ganze erstmal ausprobieren und dann an etwas anderes denken.

 

Auf was soll Unraid laufen:

Workstation HP Z800

2x Xeon E5620

32 GB DDR3 ECC

Festplatten: zum Testen erstmal 2x 1TB HDD + 1x 500GB SSD + 1x 500GB SSD als Cache ---- Falls alles so läuft wie ich das mag +2x 8TB HDD aus dem NAS

...mit "over power" meinsz Du dann auch den Stromverbrauch, wenn Du das Ding 24x7 hinstellst ;-)

Zum üben/kennenlernen aber sicher OK.

 

6 hours ago, i-B4se said:

Was habe ich vor:

- Nextcloud: Muss! auch aus dem Internet erreichbar sein inkl. SSL. Einzelordner haben stellenweise viele Dateien - manche ca. 12000. Und dabei kommt mein NAS oft ans Limit. 

- Backuplösung für verschiedene PCs 

- Netzwerkfestplatten

- Homeassistant inkl. Supervisor

- kleiner Gameserver (DayZ etc.) nur für zu Hause - nicht im Internet!

- VM

...das wird schon gehen...Ordner mit vielen Dateien musst Du halt probieren.

 

6 hours ago, i-B4se said:

Ist es richtig das es bei Unraid egal ist welche Festplatten verbaut sind? Es wird immer von der größten Festplatte ausgegangen und diese muss auch beim Aufsetzten des System verbaut sein.

Jein, wenn Du eine Parity Disk im Array hast, dürfen die anderen Disks nicht grösser als die Grösse der Parity sein.

 

6 hours ago, i-B4se said:

Ich habe gelesen das die Übertragungsrate auf 70 MB/s durchs Netzwerk limitiert ist, außer man nutzt eine SSD als Cache. Ist das so korrekt oder habe ich das etwas falsch verstanden.

Jein, das kann - wenn Du eine Parity Disk hast tatsächlich der Fall sein....liegt am "Raid"-Konzept von unRaid.

Passiert aber nur beim schreiben von Daten auf das Array,

Man kann das "beschleunigen", indem der "TurboWrite" Modus aktiviert wird...dann laufen aber alle DIsks beim schreiben an....hier landest Du dann beim Speed der langsamsten Disk im Array.

Grundsätzlich, da jede Datei immer komplett auf einer Disk liegt, kannst Du daher einee Datei nur mit dem Spoed einer Disk vom Array lesen.

Kommt also auch auf den Speed der Disk an.

6 hours ago, i-B4se said:

Bei Unraid - wie der Name schon sagt - wird nicht auf eine klassische Raid-Lösung gesetzt. Die Daten werden quasi auf die verschiedenen Platten verteilt und es arbeitet immer nur die "Hauptplatte". Sollte eine Festplatte aussteigen, sind die Daten nicht futsch, da diese von den anderen Platten wieder errechnet werden. Stimmt das so im groben?

..sehr grob.

Es arbeitet beim lesen immer nur die Platte auf der die Datei ist, auf die zugegriffen wird.

Beim schreiben arbeitet auch die Parität mit oder alle (TurboWrite).

Die Dateien werden nach einem "Füll-Mechanismus" auf die Shares / Ordnerstruktur verteilt...die Shares sind über die Platten im Array verteilt (einstellbar).

So liegen die Daten verteilt, jeweils eine Datei immer auf einer Disk, in den jeweiligen Ordnern.

Jede DIsk ist einzeln formatiert. Verlierst Du eine Disk springt Parity ein und emuliert die DIsk, bis Du die gegen eine neue tauschst...geht die Parity auch noch über den Jordan oder eine weitere Platte sind die Daten darauf futsch....alle übrigen Disks sind aber noch intakt und können einzeln zum auslesen gemounted werden um die Daten zu retten.

6 hours ago, i-B4se said:

Was ist wenn ich jetzt eine 8 TB als Hauptplatte nutze und irgendwann eine 12 TB einbaue? Muss dann alles neu eingestellt werden oder übernimmt Unraid einfach diese als neue Hauptplatte und packt die 8 TB zu den anderen.

Mit "Hauptplatte" meinst Du dann die Parity DIsk....ja, so ähnlich geht das.

 

6 hours ago, i-B4se said:

Wie ist das System im einzelnen aufgebaut? Ist es leicht zu verstehen oder muss man da "vorsichtig" rangehen? Ich bin kein ITler, aber habe auf solche Sache immer Bock und lese mich dazu auch gerne ein.

...es ist recht einfach. Man muss das Konzept verstehen. Auch wie ein SSD Cache bzw Cache-Pool funktioniert.

Dann noch wie VMs und "Apps"/Docker funktionieren...vor allem dann für Dein Nextcloud

Vielleicht liest Du Dir oben nochmal die FAQ durch...es ghibt auch einen super Youtube Kanal von SpaceinvaderOne.

Findest Du alles hier im Forum oder auf der Website von Limetech verlinkt.

6 hours ago, i-B4se said:

Ich hoffe ich stell nicht zu viele Fragen für einen Freitag :D

....kommt ja darauf an, wo derjenige wohnt, der Deinen Beitrag liest ;-)

Ist wirklich schon ein wenig spät, deswegen bin ich gerade nicht so ausführlich.

Schau DIch noch ein wenig um...

  • Like 1
Link to comment
10 hours ago, i-B4se said:

Was ist wenn ich jetzt eine 8 TB als Hauptplatte nutze und irgendwann eine 12 TB einbaue? Muss dann alles neu eingestellt werden oder übernimmt Unraid einfach diese als neue Hauptplatte und packt die 8 TB zu den anderen.

Das einzige was du "einstellst" ist, dass du die 8TB Parity Disk gegen die 12TB Disk tauschst. Die 8TB könntest du parallel direkt dem Array als neue Platte zuweisen.

 

10 hours ago, i-B4se said:

- Nextcloud: Muss! auch aus dem Internet erreichbar sein inkl. SSL. Einzelordner haben stellenweise viele Dateien - manche ca. 12000. Und dabei kommt mein NAS oft ans Limit. 

- Backuplösung für verschiedene PCs 

- Netzwerkfestplatten

- Homeassistant inkl. Supervisor

- kleiner Gameserver (DayZ etc.) nur für zu Hause - nicht im Internet!

- VMs

 

Was im Internet verfügbar ist und was nicht, bestimmst du durch das Port Forwarding des Routers. Üblich wäre jetzt:

Router gibt Ports 80 + 443 an den Nginx Proxy Manager frei. Von da leitet NPM es weiter an Nextcloud. NPM hat auch SSL integriert. Du brauchst dann nur eine Domain / DDNS deiner Wahl.

 

Die Performance bei vielen Dateien hängt stark von der verwendeten Datenbank (MariaDB, MySQL, PostgreSQL), der Größe des RAMs (Datenbank Cache) und der verwendeten SSD ab (NVMe wäre natürlich besser). Es gibt dann noch ein paar Tuning-Möglichkeiten wie Direct Disk Access, RAM-Disk für die Datenbank, etc, aber das kann man dann alles durchgehen, wenn es soweit ist.

 

Wenn möglich, solltest du einen Container einer VM vorziehen. Es gibt zb komplett lauffähige Linux Container. Das spart Ressourcen.

 

10 hours ago, i-B4se said:

Ist es leicht zu verstehen oder muss man da "vorsichtig" rangehen?

Den einzigen Fehler, den man machen kann, ist es kein Backup von seinen Daten zu haben

 

Grobe Fehler, die ich bisher mitbekommen habe:

- Parität während eines HDD Defekts entfernt (kein Rebuild mehr möglich) oder

- RAID Typ des SSD Caches geändert, obwohl da noch Daten drauf lagen (die sonst nirgends gesichert waren) oder

- Array komplett umgestellt, ohne zu wissen welche Platte die Parität war (und prompt eine HDD mit Daten zur Parität gemacht = formatiert)

 

Ansonsten kann man nicht viel falsch machen. Evtl muss man mal einen Container neu installieren, weil man was verbockt hat, aber das war es denke ich schon.

 

 

  • Like 1
Link to comment

Besten Dank für eure Antworten!

 

Ich setzte gerade ein System auf um ein wenig zu testen :)

Sollte man immer eine Parity nehmen? Diese dient ja theoretisch nur für die Ausfallsicherheit, aber dafür sind ja eigentlich Backups da .

 

Als VM würde ich erstmal nur HomeAssistent und eine kleine Win2019 laufen lassen.

Nextcloud soll als Docker laufen. Das ist beim NAS auch schon so.

Wie gesagt, wichtig ist mir der externe Zugriff auf Nextcloud inkl. SSL. Domains inkl. DDNS sind vorhanden, da ich dies aktuell schon habe.
 

Werden Daten von Docker/VM auch auch die verschiedenen Festplatten "gesplittet" oder werden diese immer eine Platte zugeordnet. Wenn dies so ist, macht eine Parity nicht wirklich sinn, oder?

Link to comment
29 minutes ago, i-B4se said:

Sollte man immer eine Parity nehmen? Diese dient ja theoretisch nur für die Ausfallsicherheit, aber dafür sind ja eigentlich Backups da .

 

Nein, die Ausfalllsicherheit bringt die Ausfallsicherheit ^^ Dh das System läuft normal weiter und man muss nicht mehr machen als die kaputte Platte ersetzen. Aber klar, wenn dich der evtl Aufwand die Daten aus einem Backup wiederherzustellen zu müssen, bevor du den Server voll weiter nutzen kannst, dann brauchst du keine Parität.

Link to comment
32 minutes ago, i-B4se said:

Werden Daten von Docker/VM auch auch die verschiedenen Festplatten "gesplittet"

 

Gesplittet wird nach deinen Regeln. Die meisten lassen komplette Shares auf einer Platte. Man könnte aber auch alles total "zufällig" verteilen lassen. Eine VM kann dabei niemals gesplittet werden, da sie eine große Image Datei nutzt. Dateien bleiben bei Unraid immer vollständig und werden nicht wie bei einem RAID auf mehrere Platten zerlegt. Daher auch der Nachteil von Unraid, dass man eine Datei nur von einer Platte lesen kann, also auf deren Geschwindigkeit begrenzt ist, aber auch der Vorteil, dass es niemals zum Totalausfall aller Daten kommen kann.

 

Die meisten lassen die Docker und VMs permanent auf dem SSD Cache. Dieser ist entweder ein Einzelvolume ohne Ausfallsicherheit, ein RAID1 (2x SSD) oder RAID5 (3+ SSD). Bei letzterem gäbe es dann wieder das klassische Splitten der Daten. Dh der SSD Cache ist nicht "un"RAID bei Unraid ;)


 

Link to comment

...vielleicht noch als Nachtrag zum Thema und zum Cache:

 

- die Verzeichnisse in den Docker, VMs und Docker-Konfiigs liegen sind auch nur Shares/Hauptorder in unRaid.

- der Cache kann in die Verteilung/Splittung pro Share/Hauptordner mit unterschiedlichen Strategien einbezogen werden.

- zB, soll der Cache im Share aktiv sein, landen neue Files zunächst auf dem Cache.

- für den User bzw eine App/VM ist das vollkommen transparent, der merkt davon nix/muss nix machen

- ein "mover"-Prozess verschiebt regelmässig, im Hintergrund (standard 1x am Tag) die Daten (Dateien, welche nicht im Zugriff durch User sind) vom Cache auf das DIsk-Array

- solange Daten/Dateien also auf dem Cache landen oder noch liegen bekommt der User die Performance der Cache-Disk

- stellt man die Cache Strategie so ein, dass die Daten *nur* auf dem Cache liegen sollen landen diese natürlich nie auf dem Disk-Array....und so stellt man es am besten für Docker/VMs ein,

- der Cache solte also für die Strategie(n) ausreichend gross sein.

- und um zB einen 10G Netzwerk-Link auch auszulasten, für einen einzelnen User auch ausreichend schnell (eine 6Gbps SATA-SSD reicht da ja nicht).

Link to comment

Also Nextcloud würde ich erstmal nicht auf die SSD packen. Evtl. wenn ich mir andere Hardware hole. 

Ich möchte das ganze erstmal testen und schauen wie es sich entwickelt.

 

Wenn ich aktuell mir einer Parity arbeite und Nextcloud mittels Docker laufen lass und mir diese Platte "abraucht" kann ich die Daten durch die Parity wiederherstellen?

Sorry wenn ich das so fragen, aber Unraid ist für mich komplettes Neuland :D Hab bisher nur mir Raid1 gearbeitet und deswegen auch die 2x8TB aktuell.

 

Aktuell würde ich das System so fahren:

- 1x 4TB Parity (Hab die Platte noch in einen anderen Rechner übrig gehabt)

- 2x 1TB Disks

- 1x 500GB SSD als Cache

 

Auf einer 1TB würde ich Nextcloud inkl. MariaDB und die Tools für SSL etc.

Auf der zweiten 1TB würde ich HomeAssistant(VM), Win(VM) und ein paar Share-Ordner

 

Sollte sich das einspielen und ich komme damit zurecht - was ich hoffe :D - dann würde ich aus dem NAS die 2x 8TB nehmen und darin einbinden inkl. neuer Hardware (bezüglich Stromverbrauch)

Es kommen in Zukunft gewiss noch einige andere Dinge hinzu, wozu das NAS einfach zu schwach war.

 

10G-Switch ist vorhanden, aber diese Ports sind aktuell nicht in Benutzung.

Link to comment
8 minutes ago, i-B4se said:

Also Nextcloud würde ich erstmal nicht auf die SSD packen.

 

Du kannst den Nextcloud-Container, der den Webserver und PHP enthält auf die SSD packen und die eigentlichen Dateien auf die HDD. Das wäre optimal, weil die HDD die meiste Zeit schlafen kann und Nextcloud die beste Performance hätte.

Link to comment
3 hours ago, i-B4se said:

Sorry wenn ich das so fragen, aber Unraid ist für mich komplettes Neuland :D Hab bisher nur mir Raid1 gearbeitet und deswegen auch die 2x8TB aktuell.

...nur zur Info...wenn Du nur 1x Parity- und 1x Daten-Disk im Array hast, macht unRaid einen"Kniff" und fährt die als Mirror...damit hast Du die Performance-Penalty nicht.

Erst wenn Du eine weitere Daten-Disk hinzufügst wird auf den normalen Parity-Mechanismus umgestellt

  • Thanks 1
Link to comment
1 hour ago, i-B4se said:

Ich habe jetzt Nextcloud auf der Cache installiert, aber wie mounte ich die Cloud-Daten wieder ins Array?

Jeder Container hat in den Einstellungen Pfade.

 

Vom Nextcloud Container gibt es zwei Versionen in den Apps. Den von Linuxserver und das Original, das Knex666 verwaltet. Bei Linuxserver gibt man den Dateipfad bei /data an und bei knex unter 

/mnt/Share

 

Du kannst diese internen Container-Pfade nun "verlinken". Und zwar auf /mnt/user/ShareDeinerWahl

 

Dieser separate Share erhält nun "Yes" als Cache. Dh neue Uploads landen auf der SSD und werden nach x Stunden vom Mover auf die HDDs verschoben.

 

Beispiel an Hand von knex666:

IMG_20210130_223923.jpg.3b78a55785743fecedf4e53748d0092f.jpg

 

appdata = Prefer

NextcloudDateien = Yes

 

 

Link to comment

Danke!

Aber aktuell habe ich eher Probleme mit der Performance von Nextcloud.

Ich habe keinerlei Daten hochgeladen etc.. Nextcloud läuft auf der SSD und selbst die Beispieldateien sind auf der SSD, aber es dauert ewig bis Sachen geladen sind.

1. Bild: Laden des Dashboards

2. Bild: Laden der Settings erste Seite

 

Ich lade alles übers Netzwerk. 1G - Dateien in SMB werden mit 123MB/s übertragen. CPUs haben 2%-7% Auslastung und RAM ist auch bei 15%

Habe Nextcloud schon mehrfach installiert und auch mit "SQLlight" ist es langsam. 

Beim NAS hatte ich diese Probleme nicht. Erst wenn ich Ordner mit vielen Dateien geladen haben ging es in die Knie.

 

Ich finde da keine Lösung. Ist das ein bekanntes Problem?

langsam1.JPG

langsam2.JPG

Edited by i-B4se
Link to comment
19 minutes ago, i-B4se said:

auch mit "SQLlight"

Damit ist es in jedem Fall langsam. Du brauchst MariaDB oder PostgreSQL. SQLite ist quasi ohne Datenbank. Nur eine Datei und die erlaubt keine parallelen Zugriffe.

 

Prüfe auch unter Shares > rechts "View" bei appdata > Location ob da wirklich nur "Cache" steht und nicht doch noch eine Disk.

Link to comment

Ich verstehe das nicht.

Nextcloud ist einfach sehr langsam. Ich habe jetzt verschiedenste Dinge getestet:

- Verschiedene Datenbanken: MariaDB, SQLite und aktuell PostgreSQL

- Zum testen auf die verschiedenen Platten geschoben: Daten auf der SSD und Files auf der HDD, alles auf der HDD, und aktuell alles auf der SSD

- verschiedene Versionen: aktuelle stable, vorherige stable und aktuell habe ich die Beta drauf

 

Auf meinem NAS habe ich die Probleme nicht. Ja, wenn ich einzelne Ordner mit vielen Dateien aufmache braucht es seine Zeit, aber das Dashboard, Settings etc. laden sehr flott.

In dem NAS sind nur 4GB RAM verbaut.

Ich habe auch mal die Platte per Speedtest und habe da den passenden Durchsatz.

 

Dateien durch Netzwerk schicken läuft auch mit voller Leistung 122 MB/s, egal auf welcher Platte ich die Share freigebe. Nur auf der HDD ohne Cache Unterstützung oder nur auf SSD. Die Geschwindigkeit bleibt die gleiche.

Dadurch dass das Board nur SATAII hat, ist die Geschwindigkeit bei der SSD eh auf 300MB/s limitiert.

 

Anbei ein Bild von Diskspeed. Da sieht man das die Platten aktuell genügend Durchsatz haben. Diese sind noch leer. Das man einbüßen in der Geschwindigkeit hat wenn diese voll sind ist ja normal.

 

Ich steh im Moment ein wenig aufm Schlauch und weiß nicht wie ich es performanter hinbekommen soll, aber so kann ich das nicht lassen.

diskspeed.JPG

Link to comment

Es gibt Hinweise das der Nextcloud eigene Brute-Force Schutz gerne mal ziemlich spinnt. Versuche mal (nur zum Testen) Die IP deines Reverse Proxies (falls Du einen einsetzt), deines Routers und am besten Dein ganzes internes Netzwerk auf die Whitelist zu packen (in den Nextcloud Security Settings).

Edited by Saeros
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.