Wir haben kürzlich von vBulletin auf Discourse umgestellt.
Wir lernen noch, wie man Discourse und seine Tools nutzt.
Eine meiner Sorgen ist die Katastrophenwiederherstellung.
Wir haben automatische Snapshots, die wir über einen langen Zeitraum aufbewahren.
Wir erstellen tägliche Backups mit den integrierten Tools von Discourse und speichern diese für 15 Tage in einem S3-Bucket.
Die Wiederherstellung aus einem Snapshot ist ziemlich unkompliziert.
Die Idee besteht darin, vom letzten funktionierenden Snapshot wiederherzustellen und dann das letzte verfügbare Backup zu verwenden, um den Inhalt wiederherzustellen.
Ich benötigte einen Testrechner, um einige Discourse-Plugins zu testen.
Das war also eine gute Gelegenheit, meinen Plan zur Katastrophenwiederherstellung zu erproben.
Anstatt jedoch einen Snapshot zu verwenden, habe ich versucht, von Grund auf neu wiederherzustellen (nur für den Fall, dass alles schiefgeht und wir von vorne beginnen müssen, um ein verfügbares Backup wiederherzustellen).
Ich habe eine Debian-Maschine erstellt, die Software aktualisiert und Discourse von Grund auf neu installiert (ohne Plugins, nur das absolute Minimum).
Ich habe HTTPS konfiguriert, damit es funktioniert, und danach versucht, das letzte Backup wiederherzustellen.
Es ist beim Aktualisieren der Datenbank fehlgeschlagen.
Es wurden Fehler bezüglich fehlender Spalten in einigen Tabellen gemeldet. Es wurde zurückgerollt, und ich hatte wieder denselben Inhalt: fast nichts.
Nachdem ich die Fehlermeldungen und einige Threads hier gelesen hatte, wurde mir klar, dass dies möglicherweise auf unterschiedliche Discourse-Versionen zurückzuführen ist.
Ich habe das überprüft. Ja, das neue Forum hatte eine etwas neuere Version als das ursprüngliche.
Ich habe das ursprüngliche Forum auf die neueste Version aktualisiert und ein Backup erstellt.
Ich habe versucht, es wiederherzustellen, und es ist erneut mit ähnlichen Fehlern gescheitert.
Möglicherweise waren im neuen Forum nicht dieselben Plugins installiert.
Also habe ich die app.yml so angepasst, dass die Plugins installiert werden, die App neu erstellt und es erneut versucht.
Dieses Mal hat es gut funktioniert.
Aber es hat mich beunruhigt.
Wenn Sie das Backup auf einer Maschine wiederherstellen müssen, auf der exakt dieselben Plugins und Versionen installiert sind, wird eine erfolgreiche Wiederherstellung ziemlich schwierig sein.
Diesmal war mein altes Forum online und es war einfach, die Versionen zu überprüfen und es auf die neueste Version zu aktualisieren.
Aber wenn Sie sich von einer Katastrophe erholen, haben Sie keine Möglichkeit, Versionen zu überprüfen oder die Software zu aktualisieren.
Wie lösen Sie das?
Enthält das Backup Informationen über die installierten Plugins sowie die Discourse- und Plugin-Versionen?
Wie erstellen Sie eine grundlegende Discourse-Instanz mit den entsprechenden Discourse- und Plugin-Versionen, um diese mit denen Ihres Backups abzugleichen?
Vielen Dank im Voraus für Ihre Anleitung.