Restore unklar?


#1

Ich will mal die Frage Dastensicherung aufwerfen.
Wir haben einen Seafile-Server auf einem VServer laufen, Die Daten wachsen ständig.
Es wird täglich eine Sicherung gefahren.
In den nächsten Tagen muss der VServer getauscht werden. Seafile sollte dann in der neuesten Version
aufgespielt werden.
ABER: Wie bekomme ich die Daten transferriert??
Wie genau ist das zu bewerkstelligen?
Gibt es ein Stück Doku, dass genau dies beschreibt?
Kennt sich jemand damit aus.
(Im Grunde ist es auch die Frage, wozu mache ich die Datensicherung? )
Danke für eure Antworten.


#2

Du hast soweit ich weiß 3 Optionen:

  1. Kopier alles was zu Seafile gehört auf den neuen Server rüber zu dem neuen Benutzer/Container wo alles hin soll. (Falls du MariaDB nutzt: Spiel deine logischen Backups der Seafile-Datenbanken ein) Upgrade dann ganz normal.
    2.Nehm nen Image von deinem Server/Container und nimm das für den neuen Server/Container, upgrade dann ganz normal.
  2. Bei einer neuen Seafile-Installation kannst du ein auch seafile-data und seafile-db importieren, alles andere müsstest du dann nochmal konfigurieren.

Warum Backups? Irgendwann wird der Moment kommen bei irgendeinem Computer-System: “Scheiße, warum hab ich kein Backup gemacht/ warum ist das Backup so lang her.”


#3

Am besten die Daten wieder in die gleiche Version importieren oder das Upgrade auf dem alten System durchführen, ein Backup erstellen und das Backup dann anschließend auf dem neuen Server wiederherstellen.

Dazu die Abhängigkeiten installieren, Seafile entpacken und konfigurieren. Die Datenbank importieren und in der Konfiguration hinterlegen, die Daten auf den Server kopieren (diese liegen in seafile_root/seafile-data).


#4

Vielen Dank für die Antwort.
Option 1. klingt danach, dass es was werden könnte. Wenn es denn in der Tat so ginge, könnten die Probleme
überschaubar bleiben. Ein wenig Dateirechte neu setzen. Database sicher auch neuen User aufsetzen

Option 2. Finde ich persönlich ungeeignet. Kann man machen, wenn die Maschinen lokal vorhanden sind.

Option 3. Ist eigentlich das was ich suche.
Hat Seafile eine Importmöglichkeit aus den Backup-Files heraus?

Zu meinen Bemerkungen zum Backup: Da hab ich mich sicher mißverständlich ausgedrückt. Es werden täglich Backups gezogen. Da bin ich völlig schmerzfrei. Nur weiß ich, dass ich bei Serverdefekt nicht weiß, wie ich die Backups wieder einspielen kann.
Deshalb ja mein Posting. Die Tatsache, dass der Server getauscht werden soll, ist nur konkreter Handlungszwang.
Ich brauche selbst für mich die Fähigkeit zum Restaurieren meiner Daten.
Deshalb schnell noch mal die Frage in die Runde:
Hat jemand sowas schon mal gemacht? In der Installation vorhandene Daten eingespielt.


#5

Ja, aber nur eine vollständige Wiederherstellung. Eine teilweise Wiederherstellung ist mindestens mit deutlich mehr Aufwand verbunden, erfordert aber auch einiges an Wissen über Seafile.


#6

Du wirst bei der Installation gefragt ob du eine vorhandenen Datensatz nehmen möchtest.


#7

OK, wenn das die gewünschte Lösung ist.
So etwas ähnliches hab ich auch im Handbuch erblickt.
https://manual.seafile.com/maintain/backup_recovery.html
Ich habe es aber nicht wirklich ernst genommen, weil dieses Handbuch fast so alt ist wie ich selbst bin.
Ich werden in den nächsten Tagen ein Testumgebung aufbauen und so ein Restore protokollieren.

Vielen Dank.


#8

Ich habe die 3.Option von Bionade24s Antwort aufgegriffen und im Detail ausprobiert.
Und es lief erfolgreich.
Eng angelehnt an das o.g. Kapitel “backup and recovery” aus dem (uralten) Seafile-Handbuch kommt man zum Ziel.
Die relevanten Schritte nach dem Aufbau einer neuen Maschine sind :
a) Nachdenken über Ablageorte :
seafile-server als binary
seafile daten : wenn es hier um einige 100 GB … x TB geht, kommen die auf ein reines data-volume
Datenbanken : die werden nicht ausverschämt groß, kann man unter default lassen oder in der Konfiguration von Maria-DB einstellen.
b) Nachdenken über Zugriffsrechte.
Seafile-server und seafile-daten müssen für den seafile-user zugreifbar sein.
Ein Backup-Job muß auf die seafile-daten zugreifen können.

c. Installation eines neuen Seafile-Servers

  • install phyton
  • install maria-db
  • download seafile-server_x.y.z und entpacken.
  • Ausführen ./setup-seafile-mysql.sh
    Hier die Datenbanken neu anlegen lassen.
    Seafile-data an das gewünschte Ziel anpassen.
    Vorläufig fertig. (ggf Test seafile und seahub starten, ansehen über Browser port 8000)

seafile und seahub stoppen !

Alte Daten einspielen:
Alle Daten von seafile-data vom alten System oder einer Sicherung nach seafile-data des neuen Systems kopieren.
Rechte für den Seafileuser setzen.

Die Datenbanken vom alten System holen per mysqldump :
USER=seafile
PWD=xyz

mysqldump -u$USER -p$PWD --opt ccnet-db > /irgendwo/ccnet-db.sql.bak
mysqldump -u$USER -p$PWD --opt seafile-db > /irgendwo/seafile-db.sql.bak
mysqldump -u$USER -p$PWD --opt seahub-db > /irgendwo/seahub-db.sql.bak

und im neuen System einspielen
USER=seafile
PWD=xyz
mysql -u$USER -p$PWD ccnet-db < /irgendwo/ccnet-db.sql.bak
mysql -u$USER -p$PWD seafile-db < /irgendwo/sefile-db.sql.bak
mysql -u$USER -p$PWD seahub-db < /irgendwo/seahub-db.sql.bak

Das war es im Grunde. Seafile und Seahub starten und über einen Klient testen.

Jetzt die neue Datensicherung scripten und in crontab eintragen.

Der Rest ist dann https einrichten und die Klienten informieren über die neuen Verbindungsdaten.

@Bionade24 und @shoeper vielen Dank das ihr mich auf den rechten Weg geschubst habt.
Viel zu lange habe ich mich vor den Mühen des Restores gedrückt.