Zum Hauptinhalt springen Zur Navigation springen Zur Fußzeile springen

Backup und Wiederherstellung

Kopieren Sie ein aktives Repository auf eine zweite Maschine, nehmen Sie die erste offline, und holen Sie die Daten zurück.

Backup und Wiederherstellung

Ihre App läuft im Produktivbetrieb. Sichern Sie sie ab. rdc kopiert ein gesamtes Repository, die App, ihre Datenbank, ihre Dateien und ihre Konfiguration, auf eine zweite Maschine und holt es zurück, wenn die erste verschwunden ist.

Dieses Tutorial beschreibt das nicht nur. Es tut es, auf zwei echten Maschinen, und liest die Daten am Ende wieder aus.

Drei Schritte

Kopieren, wiederherstellen, beweisen

  1. Kopieren Sie das Repository auf eine Maschine, die Sie kontrollieren.
  2. Stellen Sie diese Kopie als eigenständiges Repository wieder her.
  3. Beweisen Sie es, indem Sie Ihre Daten wieder auslesen.

Schritt 1: Die Daten, die überleben müssen

rdc term connect my-app --command 'cat orders.txt'

Lesen Sie zuerst die Nutzdaten aus dem laufenden Repository aus. Eine Zeile in einer Datei, damit der Beweis am Ende etwas ist, das Sie sehen können, statt etwas, das Sie glauben müssen.

Alles Folgende wird an dieser einen Zeile gemessen. Achten Sie in Schritt 7 erneut darauf.

Schritt 2: Das Repository auf eine zweite Maschine kopieren

rdc repo push my-app --to machine-12

Kopieren Sie das Repository auf eine zweite Maschine. Der erste Push überträgt das komplette verschlüsselte Image, auf dieser Flotte etwa zwei Gigabyte in dreißig bis vierzig Sekunden, und jeder folgende Push sendet nur noch die geänderten Blöcke. Auf dem Ziel landet ein Backup-Artefakt, kein zweites laufendes Repository.

Das Delta-Transfer-Tutorial zeigt die inkrementelle Hälfte davon live.

Ein Artefakt ist kein laufendes Repository, und genau deshalb gibt es Schritt 5.

Schritt 3: Die Backup-Maschine hat es

rdc repo list --machine machine-12

Fragen Sie die Backup-Maschine, was sie hält. Die Kopie erscheint unter ihrem eigenen Namen, aufgelöst aus Ihrer Config. Die zweite Zeile mit der rohen Kennung ist die aufbewahrte Delta-Basis, die den nächsten Push auf diese Maschine inkrementell macht.

Schritt 4: Katastrophe

rdc repo down my-app --unmount

Nehmen Sie die primäre Maschine offline: Stoppen Sie ihre Dienste und hängen Sie das verschlüsselte Volume aus. Ab jetzt läuft alles gegen die Kopie auf der anderen Maschine.

Schritt 5: Das Artefakt in ein Repository verwandeln

rdc backup restore my-app@machine-12 --as my-app-restored --machine machine-12 --yes

Restore ist der Befehl, der aus einer gepushten Kopie ein Repository macht. Benannt wird sie mit --as, platziert mit --machine und bestätigt mit --yes. Die Wiederherstellung unter einem neuen Namen überschreibt nichts, deshalb lässt sich das gefahrlos auf einer laufenden Maschine üben.

Tun Sie das einmal pro Maschine, bevor Sie es brauchen. Eine Maschine, die nie einen vollständigen Kreislauf durchlaufen hat, ist nicht gesichert, wie gesund ihre Pushes auch aussehen, und die Wiederherstellung unter einem neuen Namen ist auf einer Maschine, die live Traffic bedient, gefahrlos.

Schritt 6: Einhängen

rdc repo up my-app-restored --no-start

Binden Sie das wiederhergestellte Repository ein. Die Container bleiben absichtlich gestoppt: Was hier bewiesen wird, sind die Daten, nicht die Anwendung.

Schritt 7: Die Daten haben überlebt

rdc term connect my-app-restored --command 'cat orders.txt'

Derselbe Befehl wie in Schritt eins, ausgeführt gegen ein Repository, das vor zwei Befehlen noch nicht existierte. Die Zeile kommt Byte für Byte zurück, von einer Maschine, die nie das Original war.

Legen Sie beide nebeneinander. Schritt 1, aus dem ursprünglichen Repository auf der primären Maschine:

order-1042 paid 2026-08-16

Schritt 7, aus einem Repository, das vor zwei Befehlen noch nicht existierte, auf anderer Hardware:

order-1042 paid 2026-08-16

Das ist das Tutorial. Nicht eine Meldung, dass ein Backup erfolgreich war, sondern die Zeile selbst, zurückgelesen von einer anderen Maschine.

Schritt 8: Backups, durch die Sie zurückrollen können

rdc backup snapshot my-app

Das Kopieren auf eine Maschine gibt dir das repository, so wie es jetzt ist. Für eine Historie, durch die du zurückspulen kannst, gehen Snapshots in den Chunk-Store: Der erste Lauf lädt die geschriebenen Blöcke hoch, jeder Lauf danach nur das, was sich geändert hat, und jeder Snapshot lässt sich einzeln wiederherstellen. Dieser Befehl wird nur getippt und nicht ausgeführt, weil das Hochladen einen Account-Server und ein lizenziertes repository braucht, keines von beidem hat eine Aufnahme. Auf deiner eigenen Installation, mit einem Account, ist das der Befehl.

Auf Ihrer eigenen Installation, mit einem Konto, lautet die vollständige Abfolge:

rdc backup snapshot my-app
rdc backup manifests my-app
rdc backup restore my-app --as my-app-yesterday --at <snapshot-id> --up

Der Backup-&-Wiederherstellungs-Leitfaden behandelt Snapshots, Aufbewahrung und Verifizierung vollständig.


Weiter: Netzwerk und Domänen.