Jump to content

Umzug Docker und Cache Pfade


Revan335

Recommended Posts

Hallo,

 

habe gesehen das es empfehlenswert wäre für Docker /mnt/cache/ statt User zu nutzen. Gilt dies ggf. für weitere Shares/Pfade/Settings/Tools....

 

Was wird eigentlich im libvirt/img gespeichert? Sollte das auch in /mnt/cache/

On 8/10/2022 at 3:21 PM, ich777 said:

Dann gehst du mal in die Docker Settings stellst von Image auf Pfad um, ich würd dir den Pfad /mnt/cache/system/docker empfehlen <- /mnt/user/... aus dem Grund nicht da der direkte Pfad einfach Resourcenschonender und weniger Overhead erzeugt, danach kannst den Docker Dienst wieder aktivieren.

 

Muss ich da was beachten wenn ich das ändern will?

Der Share wie System/Appdata liegt eh schon im Cache. (Bevorzugt : Cache)

 

Hat das irgendeinen Nachteil "außer" das man den Pfad für ggf. Backups anpassen muss, obwohl das nicht so notwendig sein sollte, weil die Daten ja unter Appdata liegen, falls der Cache mal ausfallen sollte oder so und es nur die Container Images sind, die beim installieren geladen werden.

 

Vielen Dank!

 

Viele Grüße

 

Revan335

Edited by Revan335
Link to comment
27 minutes ago, Revan335 said:

habe gesehen das es empfehlenswert wäre für Docker /mnt/cache/ statt User zu nutzen. Gilt dies ggf. für weitere Shares/Pfade/Settings/Tools.

 

Gem. Deinem Beitrag scheinst Du zwei Dinge zu vermischen:

 

1.) Die Ablage für das Docker Subsystem selbst.

 

2.) Die Ablage für die Docker Container.

 

Um etwas zu ändern solltest Du Dich zunächst vergewissern ob die aktuellen Container Konfigurationen wie von Unraid vorgesehen auf dem USB-Stick liegen (ls /boot/config/plugins/dockerMan/templates-user/). Das sind die letzten von Dir eingestellten Container Konfigurationen. Mit deren Hilfe kannst Du jeden Deiner Container bei Bedarf wieder herstellen.

 

Zu 1.) In den Einstellungen zum Docker Subsystem kann man wählen ob die Container "Programme" in einem BTRFS Image, einem XFS Image oder einem Verzeichnis abgelegt werden sollen. Standard ist meines Wissens BTRFS Image. Als mehrfach durch BTRFS Geschädigter habe ich das im Laufe der Zeit von dem BTRFS Image über ein XFS Image zu einem Verzeichnis auf einem XFS formatierten M.2 NVMe Drive gewechselt. Das erfordert das Stoppen aller Container (gute Gelegenheit für Backup der Container Daten!), das Stoppen des Container Subsystems, das Umstellen auf das gewünschte Format und einem Start des Docker Subsystems. Genau bei diesem vorgenannten Schritt kannst Du gleichzeitig das Ziel von /mnt/user/... nach /mnt/cache/... oder was auch immer ändern. Danach sind naturgemäß alle Container weg.

 

Zu 2.) Nach einer Änderung an der Konfiguration des Docker Subsystems kannst Du Deine nun fehlenden Container wie folgt zurückholen. Du gehst auf der Container Übersicht auf "Add Container" und wählst dort Deinen zu installierenden Container aus. Danach wird Dir dieser wie zuletzt konfiguriert angezeigt. Nun könntest Du in dieser Konfiguration die Pfade von /mnt/user/... nach /mnt/cache/... oder was auch immer ändern. Ein Klick auf Apply und der Container wird wieder hergestellt:

 

image.png.14e97cd234645d39db40ffacd0e6c97c.png

 

Ein paar Warnungen - und es gibt bestimmt noch mehr denn der Einfallsreichtum in diesem Forum kann so ähm negativ-kreativ sein:

 

- Die appdata Daten liegen nicht verteilt auf z.B. Cache und einer Array-Disk sondern exklusiv auf dem Chache oder Pool etc.

- Du löschst nix in Deinem appdata, o.ä. Verzeichnis

- Du löschst zunächst nicht die alte BTRFS Docker Image Datei (die Option zum Löschen auf der Docker Konfiguration ignorierst Du). Das kannst Du nach ein paar Tagen immer noch per Hand machen

- Du hast vorsichtshalber Backups von den o.g. XML Dateien auf dem USB Stick

- Du hast Backups von Deinen Containern

- Du machst nur diese Schritte und keine anderen gleichzeitig - auch nicht an den Container Konfigurationen

 

Habe ich etwas vergessen?

 

Edited by hawihoney
  • Thanks 1
Link to comment
2 minutes ago, hawihoney said:

Habe ich etwas vergessen?

 

außer das Thema Network ... die Einstellungen sind dann ex, ein Thema wenn er custom:br0 nutzen würde mit fester IP Vergabe ... oder custom bridges erstellt hat usw ... Danke Dir ;)

 

und eigentlich haben wir das Thema bereits mehrfach durch ... mit etwas Suche wird er es auch finden ;)

Link to comment

Kannst du auch was zum libvirt sagen? @hawihoneyWas wird eigentlich im libvirt/img gespeichert? Sollte das auch in /mnt/cache/ also wie Default /mnt/***/system/libvirt/

 

Könnte ich dann nicht, da ich schon auf dem Docker Pfad statt img bin, den Pfad verschieben bzw. sollte dieser nicht bereits komplett im Cache liegen aufgrund der Cache/Mover Settings (Bevorzugt/Prefer)

 

Dann bräuchte man nur den Pfad ändern, nachdem Docker gestoppt ist.

Edited by Revan335
Link to comment
10 minutes ago, Revan335 said:

Sowas Richtung Docker Image?

Die eigentlichen VMs und dessen ISOs liegen ja in nem separaten Verzeichnis.

 

Oh, jetzt bist Du komplett daneben - jetzt mischst Du schon drei unterschiedliche Themen. Das geht eindeutig in die falsche Richtung. In Deinem eigenen Interesse, beschäftige Dich zunächst mit dem Unterschied zwischen den Subsystemen Docker und KVM und deren Erzeugnisse Container bzw VM. Führe meine o.g. Schritte auf keinen Fall aus. Ich befürchte das das kein gutes Ende nehmen wird. Ich dachte Du wärst weiter.

 

Wie von mir zu Docker aufgeführt gilt das Ganze auch für das KVM Subsystem. Auch hier gibt es diese Trennung. Allerdings legt Unraid die VM Konfigurationen nicht auf dem Stick ab. Die muss man selbst mit virsh "dumpen".

 

Edited by hawihoney
Link to comment
4 minutes ago, hawihoney said:

 

Oh, jetzt bist Du komplett daneben - jetzt mischst Du schon drei unterschiedliche Themen. Das geht eindeutig in die falsche Richtung. In Deinem eigenen Interesse, beschäftige Dich zunächst mit dem Unterschied zwischen den Subsystemen Docker und KVM und deren Erzeugnisse Container bzw VM. Führe meine o.g. Schritte auf keinen Fall aus. Ich befürchte das das kein gutes Ende nehmen wird. Ich dachte Du wärst weiter.

 

Vielleicht hab ich mich auch nur falsch ausgedrückt.

 

An den Konfigs oder Sachen am USB Stick möchte ich nichts ändern.

 

Es geht um das ändern des Pfades vom Docker und ggf. libvirt für die VMs. (Sofern das für libvirt auch sinnvoll ist)

 

Default liegen beide unter /mnt/user/system/docker und /libvirt/libvirt.img

 

Da system aber schon per Cache/Mover Setting auf Prefer/Bevorzugt steht, müsste es ja eigentlich reichen, wenn man nachdem stoppen der Docker/VM Dienste den Pfad auf /mnt/cache/system/docker und libvirt ändert.

Das Docker.img nutze ich nicht mehr sondern bereits den Pfad, wie du es machst.

 

Es scheint so zu sein, das bspw. das emulierte BIOS der VM oder andere Dinge in diesem libvirt.img stecken. Die Daten/img der VMs liegen ja in einem separaten Verzeichnis.

Link to comment
22 minutes ago, Revan335 said:

Die eigentlichen VMs und dessen ISOs liegen ja in nem separaten Verzeichnis.

genau, und wie @hawihoney erwähnte, lass davon die Finger weg ... da passiert auch nichts und du gewinnst nichts, und ich meine auch da geht das nicht ...

 

also, lies Dich ein zum Thema Docker Pfad wenn Interesse, aber ganz ehrlich ... lass es sein wenn du nicht verstehst was, wie, wo .. passiert, es gibt bereits diverse Unterhaltungen zu dem Thema, mach Dich schlau, und wenn du dann wirklich hängst frag an, aber diese Anfragen von "Überschiften" ohne sich selbst damit zu beschäftigen enden in der Regel in endlosen Nachfragen und am Ende in einem nicht mehr funktionierenden System, Docker an sich liegen in einem Image, das ist auch die default Einstellung ... wenn man jetzt davon weg geht für mehr Performance dann sollte man wissen was man da macht ;)

Link to comment
9 hours ago, Revan335 said:

Der Share wie System/Appdata liegt eh schon im Cache. (Bevorzugt : Cache)

Das alleine hilft nicht. Grob gesagt ist die Zugriffszeit bei /mnt/user 10x langsamer als bei /mnt/cache und verursacht 100% mehr CPU Last. Egal ob die Dateien bereits alle auf der SSD liegen.

 

9 hours ago, Revan335 said:

Muss ich da was beachten wenn ich das ändern will?

Ja dir muss klar sein, dass das böse enden kann, wenn zb doch noch appdata Dateien im Array liegen und du stellst die Container alle auf /mnt/cache um und startest sie. Wie bei Cache Only sehen die Container dann keine Dateien mehr, die gerade im Array liegen. Daher doppelt prüfen, bevor man diese Änderung macht.

 

Auch musst du einen min free space für alle Pools und shares einstellen, weil sonst Dateiuploads auf Shares (also /mnt/user) den Cache voll schreiben können und dir die Container abschmieren, weil sie nichts mehr schreiben können.

 

Was ich mal falsch gemacht habe: Docker gestoppt, SSD mit Cache Yes über den Mover auf das Array geleert und dann eine größere SSD eingebaut, Cache auf Prefer, wieder Mover an und dann hab ich Depp Docker gestartet, ohne das Ende des Movers abzuwarten. Alle Container waren kaputt, weil sie keine / kaum Dateien unter /mnt/cache/appdata fanden und sich dann neu installiert haben. Schlussendlich musste ich alle über ein Backup wiederherstellen.

 

8 hours ago, Revan335 said:

Die eigentlichen VMs und dessen ISOs liegen ja in nem separaten Verzeichnis.

unRAID ersetzt übrigens automatisch den Pfad /mnt/user gegen /mnt/cache, wenn eine vdisk von einer VM verwendet wird. Davon sieht der Nutzer aber nichts. Auch hier der Grund die bessere Performance.

 

 

 

 

Link to comment
32 minutes ago, mgutt said:

Auch hier der Grund die bessere Performance.

 

Nur als zusätzlicher Hinweis: In der Vergangenheit gab es immer mal wieder Probleme einzelner Anwendungen und Systeme wenn sie über Fuse zugriffen. Letztes markantes Beispiel war SQLite vor 2-3 Jahren. Reiner Content (Dokumente, Bilder, etc) erfahren keine Nachteile, bei Anwendungen bin ich hingegen sehr vorsichtig geworden - bis hin zur vollständigen Abschaltung von User Shares.

 

Wir tauschten uns in der Vergangenheit schon mehrfach hier über Fuse aus. Das ist halt eine convenience Funktion mit Nebenwirkungen.

 

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