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.

Eine SSD ins Array packen? (Emby Problem)

Featured Replies

Hallo Leute,
Emby hat ein großes Problem.
Wenn man seine Bibliothek mühsam per Hand mit Bilder, Covers etc austattet kennt man das Problem, das bei einer Dateiänderung oder Upgrade (zb von 1080p zu 4k etc) werden alle Bilder gelöscht und neu von MovieDB & co geladen.
Es gibt die Option "Bildmaterial in Medienordnern speichern" hilft, führt aber zu anderen Problemen:
1. Sind die HDDs im Spindown, hängt Emby beim öffnen und es werden nicht gecachte Bilder nicht angezeigt bis die Platten hochfahren.
2. Die Platten kommen aus dem Spindown auch wenn man "nur" herum Suft ohne zu kucken. Evtl sind dann mehrere Platten Online ohne das man sie verwendet. Am ende dreht man ein Video auf das auf HDD1 liegt und alle Platten sind umsonst Online und schalten dann wieder in den Spindown.

Emby möchte das Problem nicht lösen das Covers neu heruntergeladen werden wenn diese nur im Appdata Ordner hinterlegt sind. Trotz User beschwerden. Mir gefällt es das Bilder und Metadaten im Medienordner gelagert werden, wäre da nicht das Problem das allein beim Browsen die Platten aufwachen und das bei schlafenden Platten die erste Minute keine Covers angezeigt werden.

Meine Idee:
Ich füge eine SSD zu meinen Array hinzu (1x Parity HDD 6x HDD aktuell)
Die SSD kann immer Online sein.. Auf der einen SSD im Array werden alle Bilder und Metadaten (.nfo wird bei mir auch oft geändert) gespeichert.
Das kann ich leicht per Script lösen, neue Daten landen zuerst im Cache. Ich würde gerne dafür eine SSD verwenden da auch oft die Daten geändert werden und nicht extra eine HDD verbauen.

Meine Frage an euch:
Gibt es Probleme wenn eine SSD im Array ist?
Muss man etwas beachten?

Im Endeffekt ist auf der SSD dann nur ein gesamtes Abbild der Ordner drauf und darin Bilder und .nfo
Auf den Array HDDs befinden sich dann nur die Ordner und Video datein.

Solved by DataCollector

  • Community Expert
  • Solution
3 minutes ago, EliteGroup said:

Meine Idee:
Ich füge eine SSD zu meinen Array hinzu (1x Parity HDD 6x HDD aktuell)
Die SSD kann immer Online sein.. Auf der einen SSD im Array werden alle Bilder und Metadaten (.nfo wird bei mir auch oft geändert) gespeichert.

 

Frage: Ist Dir die Ausfallsicherheit dieser SSD wichtig?

Wenn nicht, könntest Du die SSD auch einfach als eigenen Pool anlegen und dort die selben Verzeichnisse manuell erstellen.

Mich hatte mal das Fuse System dahingehend verwirrt, daß es auf allen Datenträgern nach dem selben Stammverzeichnis zu suchen scheint und somit auch Stellen erkennt, wenn diese nicht normal als Share über den offiziellen Weg angelegt wurden.

 

Ich habe das nicht weiter verfolgt, aber man könnte das mal ausprobieren.

Vorteil: auch Schreibbefehle (durch das manuelle Kopieren der Bilder auf die SSD) werden nicht durch die Array Parity ausgebremst.

Wenn Du für diese SSD Ausfallsicherheit willst, kannst Du ihr auch per zfs ein Geschwisterchen zuordnen (Raid1).

 

3 minutes ago, EliteGroup said:

Das kann ich leicht per Script lösen, neue Daten landen zuerst im Cache. Ich würde gerne dafür eine SSD verwenden da auch oft die Daten geändert werden und nicht extra eine HDD verbauen.

Gerade das Verändern der Daten wäre dann bei einer nicht schreibgebremsten SSD im Pool sinnvoll und die Parity Platte(n) im Array könne weiter schlafend bleiben.

 

3 minutes ago, EliteGroup said:

Gibt es Probleme wenn eine SSD im Array ist?

 

Ich weiß nicht ob man das Thema schon gelöst hat, aber bei früheren Versionen beherrschte unraid im Array kein Trim.

Und eben, daß bei einem Array mit Parityschutz die SSD schreibend eben durch die Paritydisk (auch deren Aufwachen!) dennoch warten muss/ausgebremst wird.

 

1 hour ago, EliteGroup said:

Meine Frage an euch:
Gibt es Probleme wenn eine SSD im Array ist?
Muss man etwas beachten?

Im Endeffekt ist auf der SSD dann nur ein gesamtes Abbild der Ordner drauf und darin Bilder und .nfo
Auf den Array HDDs befinden sich dann nur die Ordner und Video datein.

gehen, ja ... sinnig ... sei dahin gestellt, aber ja, so kriegst du dein "Problem" wahrscheinlich gelöst.

 

die SSD wird nie trimmed (liegt in der Natur der Sache mit Parity ...) und wird beim Schreiben nie schneller sein als die Parity HDD, das war es schon ...

 

das Ganze als UAD zu lösen wie @DataCollector es vorgeschlagen hat ... etwas tricky da Fuse ja nicht über UAD läuft ... und der effektive Film und die Metadaten für Emby dann "getrennt" wären ... müsste man gewaltig was basteln ...

 

Wenn Dir die Metadaten in den Film / Serienordnern wirklich wichtig sind, dann lös es wie von Dir vorgeschlagen ...

 

btw. Mover Tuning ... kann beim move die "kleinen" Dateien ignorieren ... dann schiebst du die separat auf die SSD im Array.

  • Author
1 hour ago, DataCollector said:

Frage: Ist Dir die Ausfallsicherheit dieser SSD wichtig?

Wenn nicht, könntest Du die SSD auch einfach als eigenen Pool anlegen und dort die selben Verzeichnisse manuell erstellen.

Mich hatte mal das Fuse System dahingehend verwirrt, daß es auf allen Datenträgern nach dem selben Stammverzeichnis zu suchen scheint und somit auch Stellen erkennt, wenn diese nicht normal als Share über den offiziellen Weg angelegt wurden.

Das ist ein guter Ansatz...
Das Problem ist da nur der mover? Da sich Video, Bilder und Meta in der Array struktur befinden.
Neue und geänderte Datein landen bei mir auf dem Cache.
Oder meinst du wenn ich eine weitere SSD hinzufüge als "Pool" nennen wir sie mal "MetaPool" und den Share Ordner anlege das dieser im Fuse System sichtbarist als wäre er im Array?
Der mover dürfte ja nur von dem im Share angegeben Cache rüber schieben.

Dann ist das eine richtig gute Idee und ich muss die SSD garnicht erst ins Array packen daran habe ich noch garnicht gedacht. Ich müsste nur das Fuse-System testen ob der das auch sauber macht.
Die Ausfallsicherheit ist nicht wichtig, ab und zu ein Backup in eine Zip packen reicht hier voll aus. Bei einen Ausfall ist der Verlust recht gering der mit Hand nachgearbeitet werden kann. Wenn wir einen 1 Monats Backup intervall nehmen.

Da ist aber noch eine Idee zu deinem Ansatz in meinem Fall:
Ich habe das Array. einen M.2 Cache Pool und einen M.2 appdata / VM Pool
Seit kurzem habe ich einen ZFS Pool mit 2x SDD (Als Spiegel) für Private Datein und Backups. Ich könnte mir den kauf Sparen und auf dem ZFS Pool die Share Struktur anlegen? Dann wäre die Daten sogar Ausfall sicher. Ich dachte hier immer an den Mover er würde mir alles verschieben oder das Fuse zeigt mir die Datein nicht an...

  • Community Expert
52 minutes ago, alturismo said:

das Ganze als UAD zu lösen wie @DataCollector es vorgeschlagen hat ... etwas tricky da Fuse ja nicht über UAD läuft ... und der effektive Film und die Metadaten für Emby dann "getrennt" wären ... müsste man gewaltig was basteln ...

 

UAD?   Meinst Du UD?

Ich dachte, ich hätte einen eigenen Pool vorgeschlagen (in dem man bei dem Wunsch der Ausfallsicherung auch zfs Raid 1 mit einer zweiten SSD machen könnte).

 

  • Community Expert
47 minutes ago, EliteGroup said:

Das Problem ist da nur der mover?

 

Du mußt nur (genau wie auch in Deinem ursprünglichen Ansatz) eben per eigenem Script die Dateien auf diese Pool SSD verschieben.

Wenn Du das machst, bevor der Mover anläuft werden die vom Mover ja nicht mehr gesehen.

 

47 minutes ago, EliteGroup said:

Da sich Video, Bilder und Meta in der Array struktur befinden.
Neue und geänderte Datein landen bei mir auf dem Cache.

... und Du hattest für Deine Lösung ein Script angedeutet, daß es dann passend verschiebt. Das kann doch so bleiben, sollte nur eben auf dne neuen Pool verschieben.

 

47 minutes ago, EliteGroup said:

Oder meinst du wenn ich eine weitere SSD hinzufüge als "Pool" nennen wir sie mal "MetaPool" und den Share Ordner anlege das dieser im Fuse System sichtbarist als wäre er im Array?

Ja, genau das.

Ich glaube ich erwähnte einen "eigenen" Pool.

 

47 minutes ago, EliteGroup said:

Der mover dürfte ja nur von dem im Share angegeben Cache rüber schieben.

So hatte ich die Funktion des Movers verstanden und bisher erlebt: ja.

 

47 minutes ago, EliteGroup said:

Dann ist das eine richtig gute Idee und ich muss die SSD garnicht erst ins Array packen daran habe ich noch garnicht gedacht. Ich müsste nur das Fuse-System testen ob der das auch sauber macht.

 

Ja. an Deiner Stelle würde ich das einfach mal testen, ob es genau so funktioniert, wie ich es mir dazu dachte.

 

47 minutes ago, EliteGroup said:

Ich habe das Array. einen M.2 Cache Pool und einen M.2 appdata / VM Pool
Seit kurzem habe ich einen ZFS Pool mit 2x SDD (Als Spiegel) für Private Datein und Backups. Ich könnte mir den kauf Sparen und auf dem ZFS Pool die Share Struktur anlegen?

 

Ich vermute: ja.

Probiere es einfach aus. Kostet Dich eigentlich nur etwas Zeit das mal so zu testen.

 

47 minutes ago, EliteGroup said:

Dann wäre die Daten sogar Ausfall sicher. Ich dachte hier immer an den Mover er würde mir alles verschieben oder das Fuse zeigt mir die Datein nicht an...

 

Ich mag vielleicht falsch liegen. aber wie angedeutet, hatte ich mir selber man dummerweise eben an 2 Stellen identische Hauptverzeichnisse angelegt und als ich dann hier im Forum mal nachjfragte, warum mir unraid im SMB Zugriff dann alles anzeigte, wurde mir eben erklärt, daß dieses Fuse-System zwar schreibend nur da zugreift, wo es definiert/vorgegeben ist, aber dennoch auf anscheinend allen anderen Datenträgern lesend die Verzeichnisse auch findet.

 

Ob und in wie fern der Mover dann da vielleicht doch Probleme macht, habe ich nicht getestet.

 

Deswegen: das ist nur ein Vorschlag. Ob es klappt, kannst Du dann ja hier berichten.

 

  • Author
43 minutes ago, DataCollector said:

Deswegen: das ist nur ein Vorschlag. Ob es klappt, kannst Du dann ja hier berichten.

 

Danke für deine Hilfe. Ich habe auf die schnelle einen Test durchgeführt:
d1.thumb.JPG.6c48f897c0217d06ff0d9104e25b1316.JPG

Cache ist SSD Pool "Cache"

 

d2.JPG.45987470874ee7edfc27ee21f83911ac.JPG

 

Es funktioniert perfekt.
Im Media Share (Hauptordner) ist der SSD Pool "Cache" eingetragen, nicht der "Privat" Pool
Ich habe den Mover manuell angestoßen, und er lässt auf "Privat" Pool alles wie es ist. Nur vom Cache wird aufs Array geschoben.

 

Jetzt fehlt nur noch

1. Ein Script um eine Kopie der gesamten Ordner struktur des Shares zu erstellen auf den Privat Pool und dann alle jpg/png/nfo Datein verschieben.

2. Ein Cron Script der den Share Ordner auf dem Cache im intervall prüft auf neue jpg/png/nfo Datein und sind welche vorhanden diese direkt auf "Privat" Pool verschieben.

Das werd ich demnächst mal basteln insofern nicht zufällig jemand so ein Script zur Hand hat, dann kann ich es ggf. hier auf Posten wenn ich es fertig habe.

Danke nochmal an @DataCollector
Ich hatte zu dieser Lösung einen ganz anderen, unpraktischen gedanken Weg mit SSD im Array

Edit: Ob Fuse hier in der gesamten Ordnerstruktur dann dadurch performance Probleme bekommt kann ich noch nicht sagen..
Es gibt ja dann mehrere Bereiche die gebündelt werden
1. Jede disk vom Array + Cache Pool + Privat Pool
Die Performance der Bilder oder nfo ist nicht relevant, nur sollte es auf die Video Datein keinen negativen einfluss haben.
Emby hat im Docker sowieso den "user" als mount wegen Cache.
Nach meinem Wissen sollte Fuse so ein generelles leichten performance Nachteil haben, ob ein weiterer dazu gemountet wird denke ich macht keinen unterschied. Nur es gibt bestimmt User die kennen sich damit weit besser aus als ich

Edited by EliteGroup

3 hours ago, EliteGroup said:

Nach meinem Wissen sollte Fuse so ein generelles leichten performance Nachteil haben, ob ein weiterer dazu gemountet wird denke ich macht keinen unterschied. Nur es gibt bestimmt User die kennen sich damit weit besser aus als ich

das ist zu vernachlässigen, wenn überhaupt spürbar ... nichts was dich hier betreffen wird.

 

@DataCollector Coole Idee, auch ein Ansatz das zu lösen ;)

 

ich frag aber einfach nochmal nach @EliteGroup, warum hast du die Meta's nicht einfach auf dem cache belassen anstelle einen zusätzlichen zu nutzen ?

 

wenn es Dir um das moven gegangen wäre, mover tuning ... da wären 2 Ansätze drin gewesen.

 

Min. Size oder file types in den Unterordnern nach Angabe ...

 

Beispiel /mnt/cache/Filme/*.info < je nachdem welche Shares und welche Files bleiben sollten ... oder halt stumpf nach Größe ... aber dann wäre der ganze cache betroffen gewesen, mit file type list hättest du das limitieren können.

 

image.png.ea9496edf9c5236c3ee28bc7ebd86e52.png

 

aber so ist es getrennt und auch clean ... alles gut.

  • Community Expert
6 hours ago, EliteGroup said:

Edit: Ob Fuse hier in der gesamten Ordnerstruktur dann dadurch performance Probleme bekommt kann ich noch nicht sagen..

 

Ich weiß, daß nicht jeder von dem Plugin begeistert ist, aber ich habe sehr wenige bremsende Zugriffe beobachtet.

Ich schätze, das bei installierte Plugin fängt dabei so einiges ab, was sonst direkt die Datenträger lesen würde.

Macht aber nur Sinn, wenn ein System ausreichend viel Ram hat.

 

Cache-Screenshot 2023-12-23 204510.png

  • 2 weeks later...
  • Author

Ich habe ein Script erstellt um alle "nfo" und Bilddatein von Cache-Pool auf mein ZFS-Pool mit gespiegelter SSD zu verschieben.
 

#!/bin/bash
DIR_OLD="/mnt/cache/media_data"
DIR_NEW="/mnt/new_pool/media_data"
echo "START..."
if [ -d "$DIR_OLD" ]; then
  find "$DIR_OLD" -type f -regex ".*\.\(nfo\|jpg\|jpeg\|png\|svg\)" -print0 | 
  while IFS= read -r -d '' file_old; do
    echo "File found: '$file_old'"
    file_new="${file_old//$DIR_OLD/$DIR_NEW}"
    mkdir -p "${file_new%/*}"
    mv "$file_old" "$file_new"
  done
else
  exit 1
fi
echo "END."

Als Cronjob einmal am Tag


Möchte man alte Daten die bereits am Array sind verschieben muss man einmalig den "DIR_OLD" Pfad zu "/mnt/user0/media_data" ändern.
WICHTIG: nicht "user" verwenden sondern nur "user0"!

Nach meinen Tests läuft alles gut.
Wenn eine Datei bearbeitet wird oder sogar ersetzt bleibt sie im neuen Pool.
Wird eine Datei gelöscht und neu erstellt, landet sie im Cache und wird vom Script wieder in den neuen Pool verschoben.
Das Array bekommt keine lese/schreib Aufrufe für nfo / Bilddatein, das Array liest nur wenn eine Videodatei abgespielt wird.

Auch sehr gut für das erstellen von Video-Vorschaubilder die in großer Anzahl in den Medienordner landen

Edited by EliteGroup

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.