Unraid 6.12: Der Unraid Cache ist Geschichte: Hallo Primary Storage


mgutt

Recommended Posts

Es gibt eine interessante Neuerung in Unraid. Und zwar verabschiedet man sich von der eigentlich schon immer unlogischen Bezeichnung "Cache" und nennt den Pool, der vor das Array geschaltet wird, nun Primary Storage (Primärspeicher):

https://unraid.net/blog/6-12-0-rc4

image.png.def06729f264aafd89b43011e985f70c.png

 

Man hat diesen Fehler nun eingesehen, nachdem das Dateisystem ZFS wirklich einen Cache besitzt und 2x Cache in der Weboberfläche mit unterschiedlichen Bedeutungen, versteht einfach kein Anwender mehr.

 

Allerdings hat das auch den Nachteil, dass alle bisherigen Forumeinträge für zukünftige Unraid Nutzer verwirrend sein werden und diverse Anleitungen und FAQs umgeschrieben werden müssen 🙈

 

Als wäre das aber nicht genug, gibt es noch eine große Änderung: Exclusive Shares. Erstellt man einen Pool ohne Secondary Storage (Sekundärspeicher), dann wird dieser Pool nicht mehr mit Unraids typischem FUSE-Dateisystem eingebunden, der bekanntlich viel CPU-Leistung kosten kann, sondern man nutzt den einfachen Bind-Mount, der Datenträger ohne Overhead in das Betriebssystem einbindet:

image.png.5cf6985a6dd3e6383d314ed5abebb1ee.png

 

Das entspricht quasi dem früheren "cache only" Share, nur eben ohne den Overhead, der unnötige Last auf der CPU verursacht. Das ist also ideal für docker, appdata, vm und libvirt (Wichtig: Minimum Free Space auf 20 bis 100GB einstellen, sofern der Pool parallel noch als Primary Storage von anderen Shares verwendet wird!).

 

Und da man nun "cache only" losgeworden ist, hat man die Chance gleich genutzt und die Bezeichnungen only, prefer, yes und no alle abgeschafft. Denn bei einem Share kann man nun nur noch wählen in welche RIchtung der Mover Dateien bewegen soll:

image.png.a7e8786ffe4081bd01e372f35f6cc311.png

 

Demnach:

Cache > Array ist das frühere Yes

Array > Cache ist das frühere Prefer

 

Doch was ist mit "No" passiert? Auch die Option existiert noch. Nämlich dann wenn man als Primary Storage das Array auswählt. In dem Fall kann kein Secondary Storage ausgewählt werden. Et voila: "Cache No".

 

Jetzt muss sich Limetech nur noch trauen die Split Level zu entfernen, die nicht mal die Hartgesottenen unter uns verstehen und der Array-Zwang muss auch weg, denn manche User betreiben ihren Server "ohne Array" (leeren USB Stick, alle Shares auf Pools).

  • Like 2
  • Thanks 7
Link to comment
2 hours ago, mgutt said:

nennt den Pool, der vor das Array geschaltet wird, nun Primary Storage

 

@trurl hat das sehr gut aufgebröselt in diesem Post:

 

 

Quote

If you have a pool named 'cache', then

 

cache:no = Primary:array, Secondary:none

cache:only = Primary:cache, Secondary:none

cache:yes = Primary:cache, Secondary:array, Mover action: cache->array

cache:prefer = Primary:cache, Secondary:array, Mover action: array->cache

 

Edited by hawihoney
  • Like 1
  • Thanks 2
Link to comment

Kleine Warnung an Updater auf RC4: Überprüft eure alten Shares!

Bei mir wurden einige in Phantasieprodukte konvertiert und bedurften reichlich manueller Nacharbeit. Kann natürlich sein, dass diese Shares eine Fehlkonfiguration hatten (wild verteilte Verzeichnisse, obwohl eigentlich "pool only" gesetzt war, aber rc4 machte daraus "Array" und "alle Festplatten erlaubt". Das kann niemals vorhanden gewesen sein.

 

Also: Augen auf, ein Blick lohnt sich!

 

  • Thanks 1
Link to comment

Brr. Liest sich für mich komplizierter als es ist. Warum heißt sowas "Prime" und "Second". Hä? Ich hab Platten, das soll mit Parity geschütz werden und jut. Die Cache hilft mir um die genannten Beispiele flüssig laufen zu lassen und ohne die Platten die ganze Zeit drehen zu lassen. 
Nun muss ich erstmal nen halbes Diagramm entwerfen um zu schauen was ich dann alles anpassen darf 

Ich sehe schon die Unraid Facebook Gruppe mit noch mehr Fragen/Missverständnissen diesbezüglich explodieren. 

Link to comment
On 4/28/2023 at 4:44 PM, MAM59 said:

Kleine Warnung an Updater auf RC4: Überprüft eure alten Shares!

Also vielleicht, vor dem Upgrade das Array-Autostart auf AUS (Settings - Disk-Settings - Enable Autostart) ?!?

Dann kann der Mover keinen Mist bauen.

 

ich bin / bleibe aber  erstmal auf RC2 bis das hier gelöst ist: 

 

 

Link to comment
3 minutes ago, Wetterchen said:

Prime

Nicht Prime, sondern Primary. Auf Deutsch: Primärspeicher und Sekundärspeicher. Du entscheidest dann ob eine neue Freigabe als Primärspeicher den SSD Pool oder das HDD Array nutzt. Und dann entscheidest du noch, ob du einen Sekundärspeicher haben will, auf den der Mover die Dateien verschiebt.

 

3 hours ago, Wetterchen said:

Nun muss ich erstmal nen halbes Diagramm entwerfen um zu schauen was ich dann alles anpassen darf 

Du interpretierst da zu viel rein. Es ändert sich ja nichts außer der Name. Tatsächlich braucht es vorher ein Diagramm, was ich ja sogar mal gemalt habe, weil kein Anfänger versteht was Yes/Prefer/Only/No bedeuten soll:

https://gutt.it/unraid-cache-erklaerung-yes-no-prefer-only/

 

3 hours ago, Wetterchen said:

Die Cache hilft mir um die genannten Beispiele flüssig laufen zu lassen und ohne die Platten die ganze Zeit drehen zu lassen

Dein aktueller Cache heißt in Zukunft Primärspeicher. Eben weil da die Dateien zuerst landen. An der Funktion, dass die HDDs nicht anlaufen, ändert sich durch die Namensänderung nichts.

Link to comment

Ah, okay, danke. Sofern Unraid das beim Update in der nächsten Final sauber übernimmt, bin ich da wieder beruhigt. 

 

Ich hatte jetzt nicht das Gefühl das die bisherige Umsetzung für Anfänger unnötig kompliziert war. Es ist ja immer die Frage welchen Weg man nehmen muss, um "seine" Präferenzen für den Unraid Betrieb einzustellen. Da ist es vielleicht Anfangs schwer durchzusteigen, besonders wenn man nur die Windows oder Mac Welt kennt, aber wenn man z.B. noch nie was von den ZFS Pools gehört an, dann dürfte die Lernkurve in Etwas gleich sein.

 

Link to comment

Okay, soweit habe ich es Verstanden, also es ändert sich im Prinzip nichts am "laufenden" System, also sollte ich mal Updaten, bleiben alle Daten auf dem Cache erhalten?

Also kann ich nach dem Update Unraid Normal weiternutzen, auch ohne ZFS?
ZFS ist mir zu Kompliziert, nutze das nur im PBS, weil das dort "Automatisch" erstellt wird und ich aktiv dort nichts "Einrichten" muss.

Ja ich weiß und wusste das ZFS schnell ist, aber was ich auch weiß das es nicht einfach zu erstellen und zu verwalten ist, lieber etwas "langsamer" aber dafür (für mich) Verwaltbar 🙂

 

Link to comment
1 hour ago, nixweis said:

Okay, soweit habe ich es Verstanden, also es ändert sich im Prinzip nichts am "laufenden" System, also sollte ich mal Updaten, bleiben alle Daten auf dem Cache erhalten?

Korrekt.

 

1 hour ago, nixweis said:

Also kann ich nach dem Update Unraid Normal weiternutzen, auch ohne ZFS?

Korrekt

 

1 hour ago, nixweis said:

ZFS ist mir zu Kompliziert, nutze das nur im PBS, weil das dort "Automatisch" erstellt wird und ich aktiv dort nichts "Einrichten" muss.

ZFS ist in Unraid nicht komplizierter als BTRFS. Man gibt ja nichts auf der Konsole ein oder sowas. Das einzige was man einstellt, ist eben welches Dateisystem ein zb neu erstellter Pool haben soll. Du kannst zB ZFS zum neuen Standard machen und wenn du irgendwann mal eine neue Disk dem Array hinzufügt oder du den Cache Pool neu erstellen solltest, zb weil eine SSD kaputt gegangen ist, würden die dann eben in ZFS formatiert. Was ist der Vorteil: ZFS läuft bei einem RAID Pool hoffentlich stabiler als BTRFS und es kann in den Logs anzeigen welche Datei evtl gerade kaputt gegangen ist. BTRFS zeigt nur Sektorennummern in den Logs an, womit man als Nutzer wenig anfangen kann. Letzteres kann auch im Array nützlich sein. Schlussendlich ist es für die meisten User aber schlicht egal welches Dateisystem man nimmt.

Link to comment
9 minutes ago, mgutt said:

neue Disk dem Array hinzufügt

Okay.... könnte man machen, aber wirk sich das nicht auf die restlichen HDDs im Array, aus die noch im alten Dateisystem laufen und Daten enthalten?
 

9 minutes ago, mgutt said:

den Cache Pool neu erstellen solltest

Das ist aber auch nicht so einfach, klar kann ich bei Neue SSDs bzw. Nvmes dann ZFS nutzen, aber ich müsste erstmal die Daten "vollständig" übertragen bekommen, siehe meinen anderen Post zum Verschieben von Daten vom Cache ins Array per Mover, Thema von "DerTom".....

Edited by nixweis
Link to comment
1 minute ago, nixweis said:

Okay.... könnte man machen, aber wirk sich das nicht auf die restlichen HDDs im Array, aus die noch im alten Dateisystem laufen und Daten enthalten?

Nein. Die Disks haben untereinander keinen Einfluss. Man kann alle Dateisysteme wild mischen. 

 

2 minutes ago, nixweis said:

aber ich müsste erstmal die Daten "vollständig" übertragen bekommen

A) Backups machen

B) ist das nicht schwer. Docker+VM auf Nein stellen, alle Shares Richtung Array stellen und Mover starten.

Link to comment
1 minute ago, mgutt said:

A) Backups machen

LOL... ich weiß, ich aber unter Unraid nicht so einfach, habe erst seit letzter Woche LuckyBackup am Laufen, hier wird aber z.Zt. nur das "Array" gesichert, weil ich noch nicht weiß wie ich Unraid darein bekomme, aber mit ein bisschen Zeit, finde ich sicher hier auch eine Lösung/Anleitung wie man das macht.

Urbackup, läuft auch aber das Sichert nur die Windows Maschinen 🙂

 

5 minutes ago, mgutt said:

B) ist das nicht schwer. Docker+VM auf Nein stellen, alle Shares Richtung Array stellen und Mover starten.

 Oh... doch, hat nicht Funktioniert, trotz Anleitung


Aber das gehört hier nicht rein, wir Kapern grade das Thema!....

Link to comment
On 4/28/2023 at 12:50 AM, mgutt said:

Als wäre das aber nicht genug, gibt es noch eine große Änderung: Exclusive Shares. Erstellt man einen Pool ohne Secondary Storage, dann wird dieser Pool nicht mehr mit Unraids typischem FUSE-Dateisystem eingebunden, der bekanntlich viel CPU-Leistung kosten kann, sondern man nutzt den einfachen Bind-Mount, der Datenträger ohne Overhead in das Betriebssystem einbindet:

image.png.5cf6985a6dd3e6383d314ed5abebb1ee.png

 

Verstehe ich das richtig, dass man damit nicht mehr /mnt/cache/appdata/whatever machen muss um eine bessere Leistung zu erzielen, sondern /mnt/user/appdata/whatever das selbe Ergebnis bringt? (Stichwort Leistungsvorteil bei zB Nextcloud bzw. MariaDB durch direkt mount)

Link to comment
1 hour ago, mgutt said:

Korrekt. 

Passiert etwas.... ähm.... besser... muss ich im Laufendem Betrieb, aktiv die Einstellungen ändern?
Also Ist "/mnt/cache/appdata/whatever" auf Soll "/mnt/user/appdata/whatever" per Hand "cache" gegen "user" tauschen, und wenn ja was muss ich Beachten?
Zum Beispiel, Docker Beenden, Cache leeren......

Link to comment
2 hours ago, nixweis said:

Also Ist "/mnt/cache/appdata/whatever" auf Soll "/mnt/user/appdata/whatever" per Hand "cache" gegen "user" tauschen, und wenn ja was muss ich Beachten?

Wie gehabt:

- prüfen, dass wirklich alles in appdata auf dem Cache Pool liegt zb per Shares > appdata Inhalt anzeigen > LOCATION

 

Dann neu:

- beim appdata Share muss der primäre Speicher auf "Cache" stehen (wodurch auch keine Mover-Aktion auswählbar ist)

 

Wenn man docker auf /mnt/cache umgestellt hat, dann entsprechend das selbe beim Share "system" machen. 

 

Sonstige Dinge macht man nur wie es die GUI verlangt. Zb kann man ja den Docker Pfad nicht ändern, während Docker läuft.

Link to comment
26 minutes ago, mgutt said:
1 hour ago, Anym001 said:

Du meinst /mnt/user oder?

Wenn man docker auf /mnt/cache umgestellt hat und es auf /mnt/user zurückbauen will. So war das gemeint.

 

Ah okay verstehe.

 

Also eigentlich überall hier oder?

1. bei allen Containern im Template auf /mnt/user umstellen

2. In den docker settings auf /mnt/user umstellen (sowohl bei image als auch bei directory mode)

3. Eventuelle Skripte auf /mnt/user umändern

4. In den VM Templates auf /mnt/user umstellen

5. In den VM Settings auf /mnt/user umstellen

 

Hoffe ich hab nichts vergessen.

Link to comment

Könnte man es, denn auch auf /mnt/cache stehen lassen nach dem Upgrade auf 6.12?

Einer meiner Pool's heißt "cache". /mnt/cache gibt es also bei mir auch nach dem Upgrade.

 

Ist das Zurückstellen auf den damaligen Standardwert (/mnt/user) "nur", um es einheitlich zu haben?

Link to comment
17 hours ago, mgutt said:

Wie gehabt:

- prüfen, dass wirklich alles in appdata auf dem Cache Pool liegt zb per Shares > appdata Inhalt anzeigen > LOCATION

Okay..... das ist doch mal wieder alles recht "Komplex", alle meine damaligen Versuche (2 Stück) den Cache zu leeren gingen in die Hose, ich lass das mal lieber 

alles so wie es jetzt ist, das System läuft grade für mich Perfekt, besser ich lass die Finger davon 🙂
 

Geht ja auch ohne Umstellung, hattes du weiter oben gesagt 👍

Link to comment
  • mgutt changed the title to Unraid 6.12: Der Unraid Cache ist Geschichte: Hallo Primary Storage

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.