Ein Blick in die Produktdokumentation zeigt, dass ohne die interne Datenbank die gesicherten Daten nicht wiederherstellbar sind. Ebenso ist ein „Medienimport“ nicht möglich. Die Sicherung der Datenbank ist also essentiell.
Wie funktioniert das Datenbank Backup überhaupt?
Wenn man sich die „Command Execution Configuration“ anschaut, sieht man, dass folgendes Kommando aufgerufen wird:
/opt/vprotect/scripts/backup_db.sh /tmp/vprotect_db.sql.gz
Ein Backup erzeugt also eine gezippte SQL Datei ind /tmp und wenn man mit „find / -name vprotect_db.sql.gz“ sucht, findet man ein Verzeichnis (!) namens vprotect_db.sql.gz in den sich mehrere Dateien befinden:
# ll /vprotect_data/backups/2024b869-c5f4-4331-b2bf-b908d45481e4/vprotect_data/app-2024b869-c5f4-4331-b2bf-b908d45481e4/vprotect_db.sql.gz/
insgesamt 296
-rw-r–r–. 1 vprotect vprotect 72398 1. Mär 13:00 1677672025619
-rw-r–r–. 1 vprotect vprotect 73214 6. Mär 14:09 1678108163486
-rw-r–r–. 1 vprotect vprotect 75079 6. Mär 14:31 1678109523277
-rw-r–r–. 1 vprotect vprotect 76460 6. Mär 14:33 1678109633267
Die neueste Datei hat den gleichen Inhalt wie die Datei /tmp/vprotect_db.sql.gz. Es handelt sich um eine MariaDB Dump Datei, welche mit gzip komprimiert wurde, der aber kein .gz angehangen wurde.
Wir wissen jetzt: Die Datei in /tmp ist aktuell und mit „find“ findet man zur Not auch ältere Versionen.
Aber was ist, wenn man Daten woanders hin gesichert hat, z.B. in ein Deduplizierungsgerät oder eine Backup Applikation? Wie soll man da ohne eine funktionierende Datenbank wieder rankommen? Nicht unmöglich, aber im Ernstfall eventuell zu kompliziert.
Wie kann man die Datenbank an einer sicheren Stelle ablegen?
Man könnte die Datenbank natürlich täglich auf einen USB Stick sichern und diesen dann in der Hosentasche mit sich rum tragen. Scherz beiseite, wir suchen natürlich nach einer Enterprise Lösung.
Das Datenbank Backup bietet die Möglichkeit einer „Secondary Backup Destination“, nur wohin sollte man das Backup schreiben?
Mein Vorschlag: Per NFS auf einen anderen Rechner und mittels isoLayer abgesichert.
Restoreprozedur:
Nehmen wir folgendes Szenario an:
- „All in One“ Installation
- Der Storware Server musste komplett neu installiert werden
- Sicherung der Datenbank auf dem NFS Server gefunden
- Dateiname der Sicherung: 1678109633267
Zusätzlich wird benötigt:
- Datenbankpasswort, dieses wurde bei der Installation festgelegt.
- Pfad zum Stagingbereichen des Nodes
- Lizenz Datei
- Storware installieren und dabei den Stagingbereich richtig eingeben.
- Lizenz einspielen.
- systemctl stop vprotect-node
- systemctl stop vprotect-server
- gunzip < /tmp/1678109633267 | mysql -u root -p<PASSWORT> vprotect
- systemctl start vprotect-server
- systemctl start vprotect-node