Jump to content

Appdata verschieben auf eine Disk ( statt zwei) oder Cache bilden


tom233

Recommended Posts

Hallo Zusammen,

bei meiner Unraid Installation  habe ich schlampig gearbeitet.

In meinem Nuc Testsystem ist eine m2 250 GB und eine 1 TB SSD eingebaut, sie laufen als Array ( Kein Cache , kein Parity)

 

Das System läuft,  Trim mache ich über die Console ( sudo fstrim -v, ich hoffe es bringt was)

Als Backup läuft das Srcipt von mgutt und hier bekomme ich den Hinweis

Unraid Status: 25-01-2023 15:48

 

"Backup probably inconsistent! (/mnt/user/appdata)
Docker appdata files were found in too many locations (cache: no, paths: /mnt/disk1/appdata /mnt/disk2/appdata /mnt/user/appdata /mnt/user0/appdata)!"

 

Ich würde gerne appdata nur auf einer Disk haben.

Meine 1. Überlegung wäre  

1. Docker / VM Stoppen

2. Freigabe Appdata nur auf Disk 1

3. Kopieren der Daten von Disk 2 appdata zu Disk1 ( MC)

4 Start Docker / VM.

oder ist es sinnvoller Array raus zunehmen und als Cache  zu verwenden ?  Ist dies auch ohne Pool Cache möglich ( 2 Disk als Cache)?

 

Vielen Dank

Liebe Grüße

Thomas

 

 

 

 

 

 

 

 

Link to comment
5 hours ago, tom233 said:

"Backup probably inconsistent! (/mnt/user/appdata)

Docker appdata files were found in too many locations (cache: no, paths: /mnt/disk1/appdata /mnt/disk2/appdata /mnt/user/appdata /mnt/user0/appdata)!"

Sicher, daß Du Appdata nicht vielleicht auf dem Cache haben willst?

 

5 hours ago, tom233 said:

Ich würde gerne appdata nur auf einer Disk haben.

Meine 1. Überlegung wäre  

1. Docker / VM Stoppen

2. Freigabe Appdata nur auf Disk 1

3. Kopieren der Daten von Disk 2 appdata zu Disk1 ( MC)

Kopieren erzeugt doppelte Dateien.

Verschieben löscht die Quelle nach dem Kopieren. Das ist zu empfehlen, wenn Du nicht dennoch die selben Dateien auf den Qeulldisks behalten willst (und diese dann inkonsistenzen verursachen).

 

5 hours ago, tom233 said:

4 Start Docker / VM.

So würde ich es auch machen. MC bedient sich für mich schneller + einfacher, als diverse andere GUI/Apps.

Aber krusader oder das erwähne unbalance kann das wohl auch.

 

5 hours ago, tom233 said:

oder ist es sinnvoller Array raus zunehmen und als Cache  zu verwenden ? 

Wenn der Cache aus einer/mehreren SSD besteht und das Array aus Festplatten können die Festplatten schlafen. wenn dei Docker nur auf der/n SSD herumwerkeln.

Meiner Meinung nach macht es Sinn den appdata ins Cache zu verlagern. Ab und zu mal ein Backup ist dann aber sinnvoll.

 

5 hours ago, tom233 said:

Ist dies auch ohne Pool Cache möglich ( 2 Disk als Cache)?

Klar.

Link to comment
7 hours ago, tom233 said:

sudo fstrim -v, ich hoffe es bringt was

Nein tut es nicht. unRAID verbietet die Ausführung auf Array Datenträger.

 

7 hours ago, tom233 said:

Kopieren der Daten von Disk 2 appdata zu Disk1 ( MC)

Du meinst denke ich verschieben.

 

Was noch in deiner Liste fehlt: den appdata Share mit include und exclude auf disk1 limitieren. 

 

7 hours ago, tom233 said:

oder ist es sinnvoller Array raus zunehmen und als Cache  zu verwenden ?

Wenn trim irgendwann notwendig wird, vielleicht. Wobei du auch einfach gute große SSDs verbauen kannst. Die laufen auch ohne trim schnell genug.

Link to comment

Ein Cache ist meine beste Option .

Die m2 und ssd sind xfs formatiert, würde es funktionieren das beide im Cache sind ohne  btfrs formatiert werden zu müssen ?

Wenn nicht würde ich die m2 als cache und die ssd als array einrichten.

Um die m2 zum cache  umzustellen muss ich doch :

Array Stoppen

New config

m2  zum pool hinzufugen Cache ( ohne neu formatierun)

ssd zu Array (ohne neu Formatierung)

 

Ich meine natürlich verschieben und nicht kopieren  :)

 

 

 

 

 

 

Link to comment
  • 2 weeks later...

Ich hänge mich hier mal kurz dran. Ich bin derzeit am Überlegen wie ich fortan die Konfiguration von Docker Containern und dem Verzeichnis Appdata einstelle. Generell würde ich appdata weiterhin auf dem Cache liegen lassen, damit auch alles über "Backup/Restore Appdata" gesichert werden kann - da oftmals darin die Config Dateien etc beinhaltet sind, fällt auch kein extrem großer Speicherplatzbedarf an..

 

Jetzt gibt es allerdings zahlreiche Container, welche im Standard ebenfalls in Appdata speichern möchten - dabei handelt es sich dann aber oft um "benutzerbezogene Dateien" und keine Configs. Beispiele hierfür wären Nextcloud (alle Dateien eines jeden Users in Nextcloud), Synthing, Photoprism (Thumbnails, konvertierte RAWs,...) und noch einige andere Container.

Jetzt die Frage an euch: Wie handhabt ihr das? Lagert ihr solche Daten außerhalb von Appdata? Wenn ja, könnte es dabei Probleme geben? Oder habt ihr komplett in der Config auf andere Verzeichnisse verlinkt wo dann diese Bewegungsdaten liegen?

 

Danke vorab

Link to comment
2 hours ago, independence said:

Ich hänge mich hier mal kurz dran. Ich bin derzeit am Überlegen wie ich fortan die Konfiguration von Docker Containern und dem Verzeichnis Appdata einstelle. Generell würde ich appdata weiterhin auf dem Cache liegen lassen, damit auch alles über "Backup/Restore Appdata" gesichert werden kann - da oftmals darin die Config Dateien etc beinhaltet sind, fällt auch kein extrem großer Speicherplatzbedarf an..

Allein schon wegen der Peformance ist es meist empfehlenswert appdata, system und so auf einem SSD Pool/Cache zu haben.

 

2 hours ago, independence said:

Jetzt gibt es allerdings zahlreiche Container, welche im Standard ebenfalls in Appdata speichern möchten - dabei handelt es sich dann aber oft um "benutzerbezogene Dateien" und keine Configs.

Nicht selten kann man einem Dockercontainer bei der Installation auch andere Pfade einstellen, wenn man dort zu viel Datenvolumen vermutet (größer als man zur Verfügung hat), kann man dies also wo anders hin weisen lassen.

 

2 hours ago, independence said:

Beispiele hierfür wären Nextcloud (alle Dateien eines jeden Users in Nextcloud), Synthing, Photoprism (Thumbnails, konvertierte RAWs,...) und noch einige andere Container.

Jetzt die Frage an euch: Wie handhabt ihr das? Lagert ihr solche Daten außerhalb von Appdata?

Ich nutze keien Nextcloud, aber wenn dort viel Datenvolumen und häufige Zugriffe zu befürchten sind, könnte man überlegen das ausserhalb von Appdata zu platzieren.

Wenn es sogar mehr als die eine SSD werden könnte, vielleicht eien extra (große) SSD in einem eigenen Pool und dort dan einen Pfad hinweisen lassen.

Bei vielen, aber wenig abgefragten Daten, sollte es aber auch reichen, wenn bei ueberschreiten der Freigrenze ins Array geschrieben wird. Das ist zwar langsam, aber bei selten angefragten Daten ist das weniger relevant.

Link to comment
3 hours ago, DataCollector said:

Allein schon wegen der Peformance ist es meist empfehlenswert appdata, system und so auf einem SSD Pool/Cache zu haben.

 Ja, das weiß und und würde ich natürlich auch weiterhin so machen.

 

3 hours ago, DataCollector said:

Nicht selten kann man einem Dockercontainer bei der Installation auch andere Pfade einstellen, wenn man dort zu viel Datenvolumen vermutet (größer als man zur Verfügung hat), kann man dies also wo anders hin weisen lassen.

Das weiß ich auch, die Frage ist, ob das sinnvoll ist oder mir später auf die Füße fallen wird (warum auch immer).

Ich kann generell noch nicht so genau abschätzen wieviele Daten es sein werdendie zusätzlich anfallen. Es werden aber auf jeden Fall so viele, dass ich die teilweise auch nicht backupen möchte (über "Backup/Restore Appdata"), da diese schon mehrfach gebackupt sind oder eben kein Backup benötigen. Gar nicht abschätzen kann ich nämlich den Bedarf von Photoprism denn da werden alleine schon nach einem Test von ca. 1000 Bilder (teilweise in RAW) knapp 5GB Daten generiert. Die Thumbnails und konvertierten Dateien würde ich auch überhaupt nicht backupen wollen..

Sollte es also kein Problem sein die Pfade für die Container außerhalb von Appdata zu mounten, würde ich das wohl sehr gerne machen..

Link to comment
On 2/15/2023 at 12:53 PM, independence said:

Beispiele hierfür wären Nextcloud (alle Dateien eines jeden Users in Nextcloud), Synthing, Photoprism (Thumbnails, konvertierte RAWs,...) und noch einige andere Container.

Jetzt die Frage an euch: Wie handhabt ihr das?

Vorausgesetzt dein Container läuft mit User 99 und Gruppe 100, könnte man sogar Unterordner in einzelne Shares verweisen lassen. Also sagen wir du hast den Share "max". Dann könntest du zB folgendes machen:

image.png.255fded2e3d53a2e3aa9d1005dac6ca1.png

 

Hinweis: Das sollte man natürlich nicht im laufenden Betrieb machen. Erst müssten die Dateien an das neue Ziel verschoben werden, während der Container gestoppt ist.

Hinweis 2: Nextcloud bekommt dann nicht mit, wenn man Dateien in /mnt/user/max/nextcloud entfernt oder hinzufügt. Dafür müsste man dann ein Kommando zur Neuindexieren ausführen oder man arbeitet mit External Storage.

 

Oder man verlinkt /data komplett auf einen eigenen Share, der schlussendlich im Array landet. Ich könnte mir aber vorstellen, dass das Nextcloud deutlich verlangsamt, weil in /data die Logfile nextcloud.log liegt, die gerne mal beschrieben werden muss und der Ordner /data/appdata_* enthält Config-Dateien von den installierten Apps, die meine ich immer geladen werden. 

 

Daran sieht man eigentlich ganz gut, dass Nextcloud keine gute Struktur besitzt.

 

Analoge Überlegungen muss man dann eben auch bei anderen Containern anstellen. Das Optimum ist natürlich, dass die HDDs so gut wie nie anlaufen.

 

 

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