Probleme beim verschieben von Daten von Share zu Share.


Gorosch

Recommended Posts

Hallo Zusammen,

 

Unraid nutze ich mittlerweile seit mehreren Jahren und es hat bisher auch immer das gemacht, was es sollte – mit vollster Zufriedenheit. Und wenn es mal doch nicht gemacht hat, was es sollte, lag es fast immer an Eigenverschulden meinerseits.

 

Nun hat mein System jedoch seit einigen Wochen ein merkwürdiges Verhalten beim Verschieben von Daten aus dem Pool ins Array, welches ich mir nicht erklären kann. Hier hoffe ich auf eure Unterstützung.

 

Kurz zum System (wer es ausführlich haben möchte, die Diagnostics liegt bei):

 

Das Array besteht aus 4.1 Platten. Die Shares sind auf einzelne Disks gebunden. Serien auf Diks 1, Filme auf Disk 2, Musik, Dokumente etc. auf Disk 3, usw.

 

Es gibt diverse Cache Pools: Ein Raid 1 aus zwei SSDs dient als Cache für wichtige Daten und beherbergt auch wichtige Shares wie appdate, System, und Cloud.

 

Dann gibt es noch einen Pool aus jeweils einer SSD für die VMs (nichts Relevantes, daher kein Raid, jedoch mit Backups gesichert).  Und der letzte Pool besteht aus einer älteren WD Velociraptor HDD. Um den letzten Pool mit dem Namen „Datacache“ geht es.

 

Auf diesem Pool liegt ein Share mit dem Namen „Datencache“ (Cache only) und hier laufen nur Dinge mit hoher Schreiblast, welche aber keine hohen I/O Ops benötigen. Konkret werden hier Filme und Serien zwischengelagert, welche von einem anderen Rechner gerippt werden oder vom JDownloader geladen und entpackt werden, bevor die im Array landen. Selbstverständlich liegt alles im Original als DVD oder BD vor. Geladen wird nur, worauf ich selbst keine Lust zum Rippen habe – in der Regel Serien.

 

Sowohl der Film- als auch der Serien Share sind ohne Cache eingestellt (Cache no). Wenn ich nun von diesem Share „Datencache“ die fertigen Daten manuell von einem anderen Rechner oder einer VM innerhalb des Unraid System in die jeweiligen Shares „Filme“ und „Serien“ verteile, läuft alles wie erwartet. Verschiebe ich die Daten jedoch über MC oder Krusader, erstellt Unraid im Datencache einen Ordner mit dem jeweiligen Share Namen und lässt die Daten auf dem Share im Pool liegen. Das Verschieben ist sofort abgeschlossen. Auch der Mover lässt die Daten dann dort liegen, da ja Filme und Serien ohne Cache konfiguriert sind. Schalte ich für die beiden Shares jedoch den Cache ein und wählen den Datacache als Pool aus, werden die Daten vom Mover verschoben.

 

Hier versteh ich nun nicht, warum Unraid selbst (MC oder Krusader) die Daten nicht von einem Share ins andere Share verschiebt. Von einem Rechner oder einer VM funktioniert dies ohne Probleme. Dieses Verhalten ist erst seit ein paar Wochen, davor gab es keine Probleme. Ich wüsste auch nicht, was ich verstellt haben könnte, was dieses Verhalten erklären könnte. Auch die Einstellungen sehen für mich alle richtig aus.

 

Hat jemand von euch ne Idee, woran dies liegen könnte?

 

Grüße

Filme.jpg

Serien.JPG

 

Edited by Gorosch
Link to comment

Sorry, aber viel zu viel Text. Ich lese nur Cache, kein Cache, dann doch wieder Cache. Bitte kompakter beschreiben.

 

Es ist auf jeden Fall kein Fehler und schon immer so gewesen. Es hängt immer von den Pfade ab, die man verwendet. Von einem Disk/Pool Pfad zu einem Disk/Pool Pfad wird er immer so verschieben, wie das gerne hättest (/mnt/disk1/sharename zu /mnt/pool/sharename). Auch wenn du von extern auf den Server hochlädst (extern auf /mnt/user/sharename). Verschiebt man dagegen von einem Share Pfad zu einem Share Pfad, dann verlässt er die Disk / den Pool nicht (/mnt/user/sharename zu /mnt/user/sharename2). Das lässt sich nicht lösen, da das darunter liegende Linux das nicht anders kann.

 

Ich empfehle jedem in Krusader den Pfad /mnt/user zu löschen und stattdessen jeden einzelnen Disk Pfad zu hinterlegen. Also /mnt/disk1, /mnt/disk2..., /mnt/cache, /mnt/andererPoolname

 

Achtung: Niemals von /mnt/user zu oder von /mnt/diskX oder /mnt/poolX verschieben. Das kann zu Datenverlust führen. Immer nur von Share zu Share oder von Disk/Pool zu Disk/Pool.

 

Link to comment
3 hours ago, mgutt said:

Verschiebt man dagegen von einem Share Pfad zu einem Share Pfad, dann verlässt er die Disk / den Pool nicht (/mnt/user/sharename zu /mnt/user/sharename2). Das lässt sich nicht lösen, da das darunter liegende Linux das nicht anders kann.

 

Hi und danke für die Antwort. Dann habe ich es wohl zu gut gemeint, mit dem ausführlichen erklären. Im Grunde ist es aber genau das Problem, welches du beschrieben hast.

 

Von "/mnt/user/share_A" verschieben nach "/mnt/user/share_B" mit WIndows klappt Wunderbar. Innerhalb von Unraid z.B. mit MC nicht jedoch nicht, da die Datein im share_A liegen bleiben. Somit wäre das dann wohl erklärt. Besten Dank.

Edited by Gorosch
Link to comment
29 minutes ago, mgutt said:

aber eigentlich kann SMB direkt auf dem Ziel verschieben

 

Ja, aber nur bei Disk Shares - jedenfalls bei mir. Wenn ich von \\Server\UserShare\Ordner nach \\Server\UserShare\Ordner2 verschiebe, dann geht das durchs LAN. Verschiebe ich hingegen den selben Ordner via \\Server\DiskShare\Ordner nach \\Server\DiskShare\Ordner2 dann läuft das ausschließlich auf dem Server.

 

Edited by hawihoney
  • Thanks 1
Link to comment

Hallo @mgutt

 

Ich habe dazu schon viel gelesen und achte auch darauf share und enthaltene Disks nicht so zu kreuzen, aber /mnt/user zu löschen (bzw. unsichtbar zu machen) wäre für mich ungünstig.

 

9 hours ago, mgutt said:

Ich empfehle jedem in Krusader den Pfad /mnt/user zu löschen und stattdessen jeden einzelnen Disk Pfad zu hinterlegen. Also /mnt/disk1, /mnt/disk2..., /mnt/cache, /mnt/andererPoolname

 

Unter /mnt/user sind die shares zu erreichen.

Da ich gerade von zusätzlich angeschloßenen /mnt/disks in meine Shares (und nicht direkt auf die einzelnen Arraydisks) kopiere, um die maximale Geschwindigkeit des Array zu nutzen, erkenne ich darin bisher kein Problem.

Dass man Share und enthaltene Disks nicht kreuzen sollte, ist logisch, weil man sich eventuell die Daten unter dem Hintern selber kaputt macht.

Aber wenn ich /mnt/user nicht hätte würde das Erstbefüllen wohl noch viel länger dauern.

 

9 hours ago, mgutt said:

Achtung: Niemals von /mnt/user zu oder von /mnt/diskX oder /mnt/poolX verschieben. Das kann zu Datenverlust führen. Immer nur von Share zu Share oder von Disk/Pool zu Disk/Pool.

 

Denke ich falsch oder sind Disks, die nicht im Share enthalten sind (mount Disk   /mnt/disks) bei der Kopier- oder Verschiebeaktion wirklich keine Gefahr?

Link to comment
54 minutes ago, DataCollector said:

Aber wenn ich /mnt/user nicht hätte würde das Erstbefüllen wohl noch viel länger dauern.

Meinst du, weil deine Verteilungsregeln ein paralleles Schreiben auf mehrere Disks erlaubt? Ja das könntest du über den direkten Disk-Zugriff nur erreichen, in dem du mehrere Kopierprozesse parallel laufen lässt. Bei meiner Erstbefüllung habe ich zb 3x rsync parallel laufen lassen und jeweils mit einer anderen Disk als Ziel.

 

56 minutes ago, DataCollector said:

aber /mnt/user zu löschen (bzw. unsichtbar zu machen) wäre für mich ungünstig.

 

Ich hoffe es ist klar, dass ich damit nur die Pfad-Einstellung im Krusader Container meinte. Also nicht dass jetzt jemand meint, dass man den Pfad aus Unraid löschen sollte ^^

Link to comment

Hallo @mgutt

2 hours ago, mgutt said:

Meinst du, weil deine Verteilungsregeln ein paralleles Schreiben auf mehrere Disks erlaubt?

 

Ja. Da ich aktuell mit "most Free" verteilt auf mehrere Disks im Share schreibe erreiche ich über den RamCache Transfergeschwindigkeiten von konstant 600-900MByte/s. Die verwendeten SMR Platten selber schaffen einzeln max. ca. 130MByte/s. Aber der Cache puffert und während die eine oder andere SMR sich neu sortiert wird eben auf die Nächste geschrieben und das summiert sich in eine doch schön hohe Transfergeschwindigkeit auf das jeweilige Share im Array.

 

2 hours ago, mgutt said:

Ja das könntest du über den direkten Disk-Zugriff nur erreichen, in dem du mehrere Kopierprozesse parallel laufen lässt.

 

Das habe ich versucht, aber festgestellt, dass dann nach einigen Stunden irgendetwas aus dem Tritt kommt und alles wegen Schreibfehlern abbricht.

Ich habe den Eindruck, dass da der SMR Pferdefuss zuschlägt. Deshalb bleibe ich erst einmal dabei jedes Share auf seperate Disks im selben Array zu legen und möglichst nicht gleichzeitig von mehreren Quellen auf das selbe Share zu scheiben.

Sollte mein jetziges Testsystem sich in allen Belangen positiv verhalten strebe ich ein weiteres System mit sehr viel Kapazität mit CMR Platten an und werde dann da auch den parallelen Schreibvorgang ausprobieren (ich erwähnte es schon vor ein paar Monaten hier im Forum, 300-400TB. Aber da ich das aus Kostengründen nur mit bestehenden Disks machen kann und diese dann live-Daten enthalten, werde ich erst einmal mit meinem jetzt kleineren Testsystem so viel ausprobieren udn experimentieren wie ich kann um dann eine Entscheidung treffen zu können).

 

2 hours ago, mgutt said:

Bei meiner Erstbefüllung habe ich zb 3x rsync parallel laufen lassen und jeweils mit einer anderen Disk als Ziel.

 

Aktuell befülle ich ein Share von extern von einem realen Windows PC (mit TotalCommander) über LAN. Ein weiteres Share wird von einem anderen realen Win PC per TC über LAN befüllt. Ein drittes Share wird von gemounteten Disks über den ich777 Docker per krusader gefüllt. Zwischenzeitlich gebe ich dem System etwas Pause und sortiere per krusader zwischen den Disks die Dateien.

 

2 hours ago, mgutt said:

Ich hoffe es ist klar, dass ich damit nur die Pfad-Einstellung im Krusader Container meinte. Also nicht dass jetzt jemand meint, dass man den Pfad aus Unraid löschen sollte ^^

 

Ich shätze, /mnt/user zu löschen zu versuchen wäre sehr schlecht für den Datenbestand. "Schwupp und alles weg!" :)

Link to comment
19 hours ago, mgutt said:

Müsste ich mal testen, aber eigentlich kann SMB direkt auf dem Ziel verschieben und dann sollte denke ich auch dieser "Bug" entstehen. Nutzt du evtl eine alte SMB Version?

 

Es wird die aktuelle SMB Version genutzt. SMB V1 ist deaktiviert.

Edited by Gorosch
Tippfehler
Link to comment
12 minutes ago, Gorosch said:

Es wird die aktuelle SMB Version gentutz.

Ja das wird wie bereits gesagt daran liegen, dass über SMB die Dateien erst auf den Client herunter- und dann wieder hochgeladen werden. Dadurch wechseln die dann auch auf die korrekte Disk.

Link to comment
  • 2 years later...
On 7/6/2021 at 1:12 AM, DataCollector said:

Ich shätze, /mnt/user zu löschen zu versuchen wäre sehr schlecht für den Datenbestand. "Schwupp und alles weg!" :)

jup, davon würde ich auch dringend abraten ^^ Ist ganz schön fahrlässig sowas hier zu schreiben, hoffentlich hat das niemand gemacht

Link to comment

jo zum Thema, ich denke das passt hier ganz gut rein.. :

 

habe seit ein paar Tagen auch das Problem das ich keine Files mehr moven kann. Ich will ein File verschieben von Ordner A in Ordner B. Beide Ordner liegen auf meinem Cache drive (encrypted ZFS Raid 0 Pool). Das verschieben mache ich über SMB. Normalerweise (früher) hat Unraid einfach den Pfad der Datei geändert beim verschieben. Jetzt kopiert er das File an den neuen Ort und löscht dann die Quell Datei. Das dauert dann dementsprechend lange.. Ich bin aktuell ratlos wie ich das wieder gefixed bekomme. (Das kopieren findet nicht übers Netzwerk statt sondern Dateisystem intern - Ich sehe im main Tab die Lauifwerksauslastung lesen und schreiben gleichzeitig und das auch noch relativ langsam mit rund 120MB/s)

 

Edited by Gee1
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.