Können alle Docker-Volumes in einer Partition sein und wäre das gut für Backup- bzw. Klonzwecke? (Beispiel: /var/lib/docker/volumes/ in /dev/sdb1 @fstab)

Können alle Docker-Volumes in einer Partition sein und wäre das gut für Backup- bzw. Klonzwecke? (Beispiel: /var/lib/docker/volumes/ in /dev/sdb1 @fstab)

Ich denke darüber nach, die Infrastruktur für alle unsere Dokumente und Tabellen von einem alten eigenständigen Samba-Server auf eine dieser beliebten selbstgehosteten Lösungen zu migrieren, und versuche, die beste, langlebige und fehleranfällige, einfache (Neu-)Installation durchzuführen. Ich habe die Erstinstallation mit einer eigenen Docker-Compose-Datei anhand von Beispielen vereinfacht.

Es verfügt über eine Vielzahl von Containern, darunter Datenbank, Webserver, Zertifikatsgenerator und -validator.

Für einen Docker-Neuling wie mich scheint das Sichern sehr komplex zu sein, insbesondere weil auf einigen Websites steht, dass ich /var/lib/docker/volumes/ nicht einmal anfassen darf und ich Angst habe, dass Paketmanager oder Docker-Installationen/-Updates es beschädigen könnten.

Für mich scheint der schnellere und einfachere Weg so zu sein:

  • systemctl stoppt Docker

  • Docker speichert; Docker exportiert Container nach Tars

  • clonezilla /dev/sdb1 zu einem Image oder einer Festplatte gleicher Größe (wenn /var/lib/docker/volumes/ in /dev/sdb1 gemountet ist)

und bei Bedarf in den neuen Server der zukünftigen Maschine:

  • Stellen Sie das Clonezilla-Image/-Gerät wieder her und mounten Sie es in /var/lib/docker/volumes
  • Docker installieren und starten
  • Docker-Ladung(en); Docker-Import(e) Tars

Ich befürchte, dass der Datenbankcontainer möglicherweise keine Verbindung zu seinem Datenträger herstellen kann und ich Anmeldungen und Versionsverwaltung verliere, aber Dateien zu verlieren ist anscheinend schlimmer.

Soweit ich weiß, dauert das Sektor-für-Sektor-Kopiervorgang von Partitionen Minuten, während das Kopieren von Millionen von Dateien mit cp -R Stunden dauern würde. Diese Schritte geben mir ein wirklich sichereres Gefühl, Docker-Compose erneut auszuführen, um die Datenbank und die Web-Engines zu aktualisieren, da es für die Nutzung im Web sicher und gepatcht sein muss.

Was halten Sie für sicherer – schnell wäre gut, aber nicht wirklich notwendig – oder bin ich sicher genug?

Danke schön!

Antwort1

Ist die Verwendung von Volume-Mounts zwingend erforderlich? Wenn nicht, sollten Sie Bind-Mounts überprüfen. Nehmen Sie einfach das Dateisystem von Server A, kopieren Sie es auf Server B und mounten Sie es als Bind-Mount.

Positiv ist, dass der Migrationsaufwand minimal ist und Sie die Möglichkeit haben, es an einem beliebigen Ort auf dem Server zu speichern. Es ist nicht nötig, es in /var/lib/docker/volumes zu speichern. Negativ ist, dass Sie sich um Benutzer- und Gruppen-IDs und Berechtigungen kümmern müssen. Abhängig von Ihrem Setup kann dies etwas mehr Aufwand bedeuten.

verwandte Informationen