Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Umstieg oder Migration auf ZFS

Featured Replies

Hallo,

 

hier mal meine Erfahrungen von der Einrichtung von ZFS bzw. Migration von anderen Filesystemen wie bspw. btrfs. Falls ihr also ähnlich negative Erfahrungen mit btrfs und dessen RAID/Mirror "Funktion" gemacht habt wie manche inkl. mir hier im Forum und eine Alternative sucht, hat ab Unraid OS 6.12.x die Möglichkeit ZFS zu nutzen.

 

 

Spaceinvader One hat bereits Videos dazu gemacht. 

 

Man braucht also zuerst

  • 6.12.x

  • ZFS Master Plugin

  • Spaceinvader One Skripte

 

6.12.x

  • Für das Upgrade macht man ein Backup seines Flash Drives/USB Stick

  • Schaut über den Update Assistant unter Tools/Werkzeuge und Fix Common Problems (sofern installiert) nach ob es ggf. irgendwelche inkompatiblen Plugins oder andere Meldungen gibt.

  • Ggf. hilft auch noch ein Blick in den jeweiligen Release Thread um ggf. noch weitere Infos zu bekommen, die man ggf. beachten sollte

  • Upgraded auf 6.12.x

 

ZFS Master Plugin

  • Das ZFS Master Plugin installieren:

Dann sieht man unter Main/Start eine Übersicht über alle ZFS Datasets und kann darüber auch Aktionen ausführen wie Snapshots und andere ZFS Features.

 

Über die Exclusion Option kann man dann sein Docker Container Verzeichnis ausblenden um Verwirrung zu vermeiden oder um den User davor zu bewahren mit einer Änderung, Löschung oder ähnliches an diesen, dass der Docker Dienst oder dessen Container nicht mehr korrekt laufen, starten oder andere Probleme haben. Beim Default Pfad ist dies "/system/docker/.*"

 

Warum ZFS bzw. der Docker Daemon automatisch Datasets und Snapshots erstellt wird hier erklärt:

 

Migration zu ZFS

Dann führt man die Migration aus dem Video aus um seinen Cache von bspw. btrfs auf ZFS zu migrieren.

 

Konvertierung zu ZFS Datasets

Über eines der Skripte kann man sich einen Überblick verschaffen.

Über das Konvertierungskript die Konvertierung durchführen.

 

Dann kann man seine Ordner wie die Docker Appdata Verzeichnisse, VMs/Domains, system, libvirt ... über die Skripte aus dem Video zu ZFS Datasets konvertieren und über den Cron Job auch neue Docker, Verzeichnisse ... automatisch konvertieren lassen.

Man muss allerdings jedenfalls derzeit noch für jeden zu konvertierenden/überwachenden Ordner ein separates Skript und Cron Job anlegen.

Je nachdem ob der Ordner Appdata/Docker Daten beinhaltet oder VMs kann man dies entsprechend im Skript anpassen, damit auch diese beendet sich bevor sie konvertiert werden.

Zur Sicherheit kann man auch noch den Docker und VM Dienst beenden bevor man die Erst Konvertierung startet.

 

Ergebnis

Am Ende kann es dann so aussehen:

847433179_Bildschirmfotovom2023-07-1121-01-45.thumb.png.89d6df7f9eb74f97ea1e0e69fb33428b.png

1244976195_Bildschirmfotovom2023-07-1121-03-27.thumb.png.1f939e86588cce5743eee28d5e08372f.png

 

Weitere Ergänzungen sind weiter unten zu finden.

 

Vielen Dank!

 

Viele Grüße

 

Revan335

Edited by Revan335

  • 1 month later...
  • Author

Als Ergänzung: https://docs.unraid.net/unraid-os/release-notes/6.12.0

 

Laut den Notes ist /mnt/user/docker der neue empfohlene Pfad bei Verwendung von ZFS:

 

Dementsprechend ist dann der ZFS Master Plugin Exclude /docker.*

Ergänzungen bei neueren OS Versionen wie 7.3.x:

Edited by Revan335

  • 3 months later...
  • Author

Falls weiterhin noch Snapshots vorhanden sind wo sie eigentlich nicht hin gehören wie bspw. im Root Verzeichnis des Cache statt im Docker Verzeichnis, liegt das soweit ich das bis jetzt herausgefunden hab, das der Docker Pfad vor dem Start des Docker Dienstes nicht dort (im Cache/NVMe ...) existiert hatte und automatisch beim Start angelegt wurde.

 

Ein Beispiel wie dieses im Root Verzeichnis aussehen kann.

Es ist daher wichtig die Anleitung von Unraid für den neuen empfohlenen Pfad bei ZFS Nutzung zu befolgen, damit der Ordner vor Dienst Start schon existiert und nicht automatisch erstellt wird.

 

Diese Legacy Snapshots sind nämlich wie auch schon im Thread vermutet Automatische Snapshots vom Docker Dienst der die ZFS Funktionalitäten dafür nutzt. Für die jeweiligen Docker Container und dessen Layer und andere Bestandteile die man installiert hat. Wenn man bspw. einen seiner Docker Container löschen würde, dann würden die zugehörigen Legacy Snapshots auch wieder verschwinden.

 

Sollte es immer noch nicht klappen, wäre eine Formatierung des Cache noch ne Idee, damit man einmal Clean starten kann.

Edited by Revan335

  • 3 months later...
On 12/17/2023 at 3:08 PM, Revan335 said:

 

Es ist daher wichtig die Anleitung von Unraid für den neuen Default Pfad zu befolgen, damit der Ordner vor Dienst Start schon existiert und nicht automatisch erstellt wird.

 

welche Anleitung genau meinst du denn?

  • Author
On 3/27/2024 at 5:24 PM, independence said:

welche Anleitung genau meinst du denn?

Diese aus einem oberen Post:

 

 

 

Da wird in den Unraid Dokumentation zum Release/New recommended Pfad bei ZFS Nutzung erklärt, wie man am besten den neuen Docker Share anlegt.

 

Bei Fragen einfach fragen.

Edited by Revan335

  • 1 month later...
  • Author

Auch hier empfiehlt sich um Probleme vorzubeugen darauf zu achten, dass die System Daten von Appdata, Docker, System, ... als Exclusive Share nur auf dem Cache liegen und der Mover deaktiviert ist und diese Daten nicht anfasst.

  • 4 months later...

Hi! Und erst einmal Danke für deinen Erfahrungsbericht!

 

Ich habe das gleiche Problem, dass die ganzen Legacy-Datasets nicht unter /mnt/cache/docker einsortiert werden, da dieser Ordner selbst kein Dataset ist.

Habe versucht den Docker-Ordner (manuell) zu konvertieren (so wie ich es auch mit den einzelnen Ordnern in appdata gemacht habe), aber wenn ich das mache, starten die Docker nicht mehr und im Syslog gibt es folgende Fehlermeldung:

 

Sep 29 20:45:03 Storage rc.docker: duckdns: Error response from daemon: error creating zfs mount: mount cache/docker/4c17bbd6779a9461fc2016a714acd5f4c006d048a751732777892419299d9832:/var/lib/docker/zfs/graph/4c17bbd6779a9461fc2016a714acd5f4c006d048a751732777892419299d9832: no such file or directory
Sep 29 20:45:03 Storage rc.docker: Error: failed to start containers: duckdns

 

Habe die Konvertierung deshalb wieder rückgängig gemacht, sodass /mnt/cache/docker wieder ein normaler Ordner ist und nun laufen die Docker wieder.

 

Hast du in deiner Lösung den Docker-Ordner konvertiert oder hast du alle Container in einem frischen Docker-Dataset neu aufgezogen?

  • Author
On 10/1/2024 at 11:16 AM, Konstellis said:

Hast du in deiner Lösung den Docker-Ordner konvertiert oder hast du alle Container in einem frischen Docker-Dataset neu aufgezogen?

Wie weiter oben beschrieben bin ich der Doku von Unraid gefolgt bzgl. der Konvertierung zu ZFS und dem neuen recommended Share bei ZFS Nutzung.

 

Also, ja, einmal neu, damit man eine cleane Basis hat und auch das mit den Legacy Snapshots am falschen Pfad ... nicht auftritt.

 

Falls das nicht so klar war, muss ich das noch ergänzen.

 

Den System/Docker Share sollte man wie den AppData nicht anfassen was Berechtigungen, Mover, ... angeht.

 

Sofern die Basis in Ordnung ist kann die Konvertierung auch klappen bspw. AppData, System Share. Docker Path vielleicht auch.

Edited by Revan335

  • 1 year later...
  • Author

Unter neueren OS Versionen wie 7.3.x gibt es die Empfehlung bzgl. des separaten Docker Shares nicht mehr.

Dort, insbesondere im Bezug auf ZFS gibt es noch weitere Änderungen und Empfehlungen.

Somit landet der Docker Folder wie in der aktuellen Doku genannt wieder in dem alten Default Pfad wie auch das Docker Image unter /mnt/user/system/docker:

Bildschirmfoto_20260608_210640.png

Wichtig ist vor allem bei ZFS allerdings das man overlay2 als Storage Driver verwendet:

Bildschirmfoto_20260608_210918.png

Eine Exclusion ist in diesem Fall somit nicht mehr unbedingt notwendig:

Bildschirmfoto_20260608_211206.png

@Revan335 muss man da jetzt in irgendeiner Weise aktiv werden und etwas anpassen?

  • Author
1 hour ago, n3ro365 said:

@Revan335 muss man da jetzt in irgendeiner Weise aktiv werden und etwas anpassen?

Kommt drauf an was bei dir konfiguriert ist.

Bspw. wenn du ZFS mit Folder nutzt und kein overlay2 sondern nativ als Storage Driver, dann wäre eine Anpassung sinnvoll.

Laut JorgeB:

The default path would be /mnt/user/system/docker, but you can use a different one. Just make sure you recreate it with the overlay2 storage driver

https://product.unraid.net/p/clarify-docker-path-guidance-for-zfs-directory-mode-vs-default-docker-img

  • 4 weeks later...

Warum genau wäre eine Anpassung auf overlay2 sinnvoll?

Die ganzen legacy datasets stören mich eigentlich gar nicht...

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...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.