Jump to content

Dateien von überfüllten Disks / Shares umverteilen


mgutt

Recommended Posts

Ich habe eine neue Platte nachgerüstet und wollte nun die überfüllten Platten des restlichen Arrays etwas entlasten. Dies kann man man nun mit Unbalance oder über das Terminal erledigen.

 

A) unBalance

Nach der Installation findet man unBalance in "Settings" und startet es bzw klickt auf Open Web UI:

image.png.a0c4735f4377a5f65a5f42d6891a16db.png

 

Der Menüpunkt "SCATTER" ist vorausgewählt:

image.png.02303302e57a7658a0a2f29408423ff0.png

 

In meinem Fall wähle ich von disk3 alle Ordner aus (können aufgeklappt und so eingesehen werden), die ich verschieben möchte (FROM) und die Zieldisk "disk6" (TO).

image.thumb.png.86f76d69869211b503f272513aa5516a.png

 

Dann ein Klick auf "PLAN" und nach kurzer Zeit erscheint "PLANNING: Planning Finished". Wir klicken nun auf "MOVE" und achten darauf, dass "dry run" nicht ausgewählt ist, denn sonst tut er nur so als würde er was verschieben:

image.png.30c34f4e2f6b24df2d3dfd118cf754ad.png

 

Nun wird fleißig verschoben:

image.png.1fea49d6fded3a9508a0363c65f746d9.png

 

In meinen Fall sind dann leere Ordner auf der disk3 verblieben, die ich mit dem folgenden Kommando entfernt habe:

find /mnt/disk3 -type d -empty -delete

 

B) Terminal

 

Zuerst schauen wir uns über das Dashboard an was auf der Platte so an Ordnern ist, die wir da nicht mehr haben wollen:

image.png.0ee222a9eddd96272e9ef56846359533.png

 

Diese Ordner notieren wir uns und öffen das WebTerminal und ergänzen im folgenden Befehl die notierten Ordner und führen diesen zum Test aus (durch "dry-run" wird nichts verschoben, sondern nur angezeigt was er machen würde):

rsync --dry-run --itemize-changes --archive --remove-source-files --include="/EF**" --include="/GH**" --include="/KL**" --include="/MN**" --include="/OP**" --include="/QR**" --include="/ST**" --exclude="*" /mnt/disk1/Movie/ /mnt/disk6/Movie

 

Wenn man dann mit der Ausgabe zufrieden ist, kann man schlussendlich das selbe Kommando ohne "--dry-run" ausführen:

rsync --itemize-changes --archive --remove-source-files --include="/EF**" --include="/GH**" --include="/KL**" --include="/MN**" --include="/OP**" --include="/QR**" --include="/ST**" --exclude="*" /mnt/disk1/Movie/ /mnt/disk6/Movie & disown

 

Hinweis: Das "& disown" am Ende des Kommandos sorgt dafür, dass es im Hintergrund ausgeführt wird und das Terminal kann nun wieder geschlossen werden.

 

Im Anschluss muss man dann noch die leeren Verzeichnisse löschen, da rsync das leider nicht macht:

find /mnt/disk3 -type d -empty -delete

 

  • Like 1
  • Thanks 2
Link to comment
  • 1 year later...

Servus,

 

ich hätte da auch nochmal eine Frage.

Ich habe meine Platten jeweiligen shares zugeteilt.

Disk 1 .. 3(4) - ShareA

Disk (5) - (ShareB)

Disk (6) - (ShareC)

 

Die Platten 4 .. 6 (die in Klammern) sind erst später dazu gekommen.

Disc 1..3 sind randvoll mit allen möglichen Daten - also wollte ich umschichten mit unbalance.

 

Mein Problem, wenn ich gemäß der obigen Anleitung von z.B. Disk 1 auf Disk 5 (via Unbalance) umlagere, dann er die Daten zwar physisch von D1 > D5, aber die ebenfalls gewollte/erhoffte Option "ShareA" > "ShareB" nimmt er leider nicht mit. Ich habe dann also auf Disk 5 dann 2 Ordner (ShareA/B) statt einem (ShareB)

 

Wenn ich "ausschneiden" in Krusader ausführe, wird nur die ShareInformation verschoben. Was für mich nachvollziehbar ist


Wenn ich das via Win10 mache, wird sowohl die Datei physisch von D1 > D5, als auch in den entsprechenden share verschoben.

 

Eigentlich macht Windows für meine Bedürfnisse am besten (augenscheinlich) - ich würde aber deutlich lieber eine Applikation (Krusader / Unbalance) auf der Unraid-Ebene nutzen.

 

Danke im Voraus

 

Edit (workaround):

Ich habe es erstmal so gelöst.

Ich habe Share B neben Disk 5 ebenfalls noch Disk "wo die dateien liegen" zugewiesen. 
In Krusader habe ich die Shares A > B kopiert.

In Unbalance habe ich dann mit "Gather" ShareB auf Disk5 zusammengefasst.

Bischen umständlich aber zumindest ne Option, die:

- alleine läuft

- auf Unraid-Basis basiert.

 

Nun wäre noch die Frage, welche Diskoption ich nutze.

 

Wenn ich "TurboMode" oder "Tunable (md_write_method): reconstruct write" nehme:

- laufen alle Platten

- ich höre randomzugriffe (ich nehme an wild-umherirrende Leseköpfe)

und komme auf ~75mb/sec

 

Wenn ich weder "TM" und "RCW" anhake:

- werden nur Ziel-, Source- und Parity-Platte angesprochen

- ich höre keine wild hin- und hersuchenden Leseköpfe

und ich komme ebenfalls auf ~75mb/sec

Edited by hecky
workaround
Link to comment
3 hours ago, hecky said:

Mein Problem, wenn ich gemäß der obigen Anleitung von z.B. Disk 1 auf Disk 5 (via Unbalance) umlagere, dann er die Daten zwar physisch von D1 > D5, aber die ebenfalls gewollte/erhoffte Option "ShareA" > "ShareB" nimmt er leider nicht mit. Ich habe dann also auf Disk 5 dann 2 Ordner (ShareA/B) statt einem (ShareB)

Check ich nicht. Was hindert dich daran die Dateien aus ShareA nach ShareB zu verschieben? zB mit dem File Manager Plugin?

  • Like 1
Link to comment
20 hours ago, mgutt said:

zB mit dem File Manager Plugin?

 

Danke

Das Plugin kannte ich noch nicht. 

Aber das macht jetzt genau das, was ich wollte.

Physisch von D1>D5 verschieben und gleichzeitig die neue share-Zugehörigkeit vergeben. 

 

23 hours ago, DataCollector said:

Ich mache das auf Diskebene meist mit mc.

 

Darf man fragen, für was mc steht? 😅

Link to comment
  • 2 weeks later...

Frage zu der Version 1)  also zum verschieben von daten von Disk A nach Disk B mit dem unBalance plug-in:

 

Muss man in Settings den Service für die Docker und VMs ausschalten bevor man das Plugin benutzt ?

Beim Starten des Plug-in's wird ja davon gesprochen, dass man alle Docker stoppen soll, die Daten auf die Disks schreiben - reicht es also die Docker zu stoppen oder ist es notwendig auch den Dockerservice zu stoppen.

Falls ja, dann kann @mgutt das vielleicht oben im ersten Post in der  Anleitung noch mit dazu schreiben ?

 

Ich hatte ja mal Probleme mit dem Plugin mit Datenverlust (appdata), womöglich weil der Dockerservice eben doch gestoppt werden muss - so genau kann ich das im nachhinein nicht mehr sagen. Ich hatte Backups, also die Daten konnten zurückgesetzt werden.

Link to comment
53 minutes ago, ullibelgie said:

Frage zu der Version 1)  also zum verschieben von daten von Disk A nach Disk B mit dem unBalance plug-in:

Benutz das File Manager Plugin. Unbalance erachte ich als überholt.

 

1 hour ago, ullibelgie said:

Muss man in Settings den Service für die Docker und VMs ausschalten bevor man das Plugin benutzt ?

Solange du keine Dateien verschiebst, die von Dockern benötigt werden, dann nein. Also appdata und system zb.

 

 

Link to comment
  • 1 year later...

Das wäre doch auch eine gute Vorgehensweise um kleine gegen größere Platten zu tauschen, zuerst die Paritätsplatte gegen eine größere tauschen, danach Platte für Platte größere dazu bauen, die Inhalte und Freigaben der kleineren Platten damit übertragen und am Ende die kleinen Platten ausbauen. Ist das so korrekt oder macht man das komplett anders. Ich habe aktuell eine 3TB Paritätsplatte und drei 3TB Datenplatten verbaut, diese würde ich gerne alle gegen 12 TB Platten austauschen.

Link to comment
On 9/9/2024 at 12:05 PM, JayTee2312 said:

Das wäre doch auch eine gute Vorgehensweise um kleine gegen größere Platten zu tauschen, zuerst die Paritätsplatte gegen eine größere tauschen, danach Platte für Platte größere dazu bauen, die Inhalte und Freigaben der kleineren Platten damit übertragen und am Ende die kleinen Platten ausbauen. Ist das so korrekt oder macht man das komplett anders. Ich habe aktuell eine 3TB Paritätsplatte und drei 3TB Datenplatten verbaut, diese würde ich gerne alle gegen 12 TB Platten austauschen.

 

Hmmm, Wenn Du eine größere Paritätsfestplatte einbauen willst: wäre es nicht einfach schneller:

a) grosse Paritätsplatte einbauen und erstellen lassen.

b) eine kleine Festplatte einzeln gegen eine größere Ersetzen und durch Parity wieder erstellen lassen.

c) nächste kleine Festplatte gegen größere Ersetzen und durch Parity wieder erstellen lassen....

d) repeat c) bis alle ersetzt sind.

z) fertig.

 

Sollte wirklich etwas schief gehen hat man ja immer noch die kleineren Festplatte, die man als UD auslesen kann.

 

Falls man sehr viele Festplatten tauschen will, würde ich aber eher das ganze Array zerlegen alle alten festplaten raus und die neuen Festplatten einbauen und als neues Array ohne Parity erstellen. Die alten Festplatten dann per UD auf das Array umkopieren und wenn alles angekommen ist erst die Parity erstellen.

 

Edited by DataCollector
Typo
  • Like 2
Link to comment

 

On 9/9/2024 at 3:04 PM, DataCollector said:

 

Hmmm, Wenn Du eine größere Paritätsfestplatte einbauen willst: wäre es nicht einfach schneller:

a) grosee Paritätsplatte einbauen und erstellen lassen.

b) eine kleine Festplatte einzeln gegen eine größere Ersetzen und durch Parity wieder erstellen lassen.

c) nächste kleine Festplatte gegen größere Ersetzen und durch Parity wieder erstellen lassen....

d) repeat c) bis alle ersetzt sind.

z) fertig.

 

Sollte wirklich etwas schief gehen hat man ja immer noch die kleineren Festplatte, die man als UD auslesen kann.

 

Falls man sehr viele Festplatten tauschen will, würde ich aber eher das ganze Array zerlegen alle alten festplaten raus und die neuen Festplatten einbauen und als neues Array ohne Parity erstellen. Die alten Festplatten dann per UD auf das Array umkopieren und wenn alles angekommen ist erst die Parity erstellen.

 

Hallo,

danke für die Tipps. Ich nehme an UD bedeutet Unassigned Device? Ich bin noch nicht so ganz angekommen im Thema Unraid. Ich denke, dass ich mal die erste Vorgehensweise teste, dann sehe ich auch ob das mit der Parität funktioniert. Bei der zweite Variante müssten auch alle Shares wieder neu angelegt werden, richtig?

 

Link to comment
5 hours ago, JayTee2312 said:

danke für die Tipps. Ich nehme an UD bedeutet Unassigned Device?

 

Ja und damit ist von mir die App aus dem CA (Community Applications) APPs Bereich gemeint.

 

5 hours ago, JayTee2312 said:

Ich bin noch nicht so ganz angekommen im Thema Unraid. Ich denke, dass ich mal die erste Vorgehensweise teste, dann sehe ich auch ob das mit der Parität funktioniert.

 

Ich sehe da keine technischen Probleme, nur daß es einen erheblich größeren Zeitaufwand bedeutet, da bei dem Tausch jeder einzelnen Datenfestplatte die Parity angepasst wird und die Schreibgeschwindigkeit nur bei rund 33-50% der Parityfestplatte liegt.

Bei einigen wenigen Datenfestplatten ist das okay, bei eher vielen Datenfestplatten, kann das ziemlich viel Zeit schlucken.

 

5 hours ago, JayTee2312 said:

Bei der zweite Variante müssten auch alle Shares wieder neu angelegt werden, richtig?

 

Wenn man die "Hauptverzeichnisse" von den (per UD angeschlossenen und ausgelesenen) Festplatten in das Array schreibst erstellen sich die Sahres selber. Genau so, als wenn Du per direkten Dateizugriff ein leeres Hauptverzeichnis direkt im Array/Pool erstellst.

 

ABER: bei dem Kopieren/manuellen erstellen von "Hauptverzeichnissen", werden keine Berechtungen vergeben, so daß man diese nachträglich einstellen sollte.

 

P.S.: Man möge mit den Begriff "Hauptverzeichnis" verzeihen, aber aus der Windowswelt kenne ich den und hier passt er auch, da er eine Abgrenzung zu "Unterverzeichnis" klar macht.

Edited by DataCollector
Typos + Ergänzung
  • Thanks 1
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.

×
×
  • Create New...