Verschieben der security2.fdb

Forum für Fragen rund um die Installation, Konfiguration und Inbetriebnahme von Firebird.

Moderator: martin.koeditz

Antworten
neuwinger
Beiträge: 2
Registriert: Mo 9. Sep 2019, 09:17

Mo 9. Sep 2019, 09:24

Guten Morgen zusammen!

Ich hätte mal eine Frage bezüglich der security2.fdb und ob es einen Konfigurationseintrag gibt mit der man einen anderen Speicherort festlegen kann. Ich habe leider bis jetzt dazu kein Informationen finden können. Wir betreiben den Firebird Server auf einem Linux-Cluster, meine Idee war eventuell es über einen Symlink zu probieren wollte aber erst mal hören ob jemand damit Erfahrung gemacht hat oder ob es eventuell eine andere Lösung gibt.

Danke und Gruß,
Thomas
bfuerchau
Beiträge: 92
Registriert: Mo 7. Mai 2018, 18:09

Mo 9. Sep 2019, 10:58

Ich denke nicht, dass ein Verschieben möglich ist, da alle Hinweise auf den Installationsort zielen.
Die DB alls Symlink einzutragen wird nicht funktionieren, da die FB-Datenbank per "MemoryMappedFile" verarbeitet werden, was mit SymLinks (und deshalb auch mit Netzwerklaufwerken) nicht funktioniert.

Was ich mich frage:
Wozu soll das überhaupt gut sein?
Jede Instanz benötigt ihre eigene Security-DB!
Aber eine Instanz kann durchaus viele Datenbanken gleichzeitig bedienen.
neuwinger
Beiträge: 2
Registriert: Mo 9. Sep 2019, 09:17

Di 10. Sep 2019, 18:46

Ok, ich versuche mal zu erklären wo mein aktuelles Problem liegt ;-)

Wir haben zwei Linux Server die sich per DRBD einen Partition synchronisieren. Gemounted ist diese immer nur auf dem gerade aktiven System.
In diesem Mount liegen die Datenbanken die wir so benötigen. Aber... die security2.fdb liegt im Firebird-Verzeichnis (/opt/firebird/...) und wird somit nicht auf den zweiten Server synchronisiert.
Im Fehlerfall sorgen DRBD und Keepalived dafür das der zweite Server die Partition mounted und der Firebird Dienst gestartet wird. Aber der zweite Server hat eine veraltete security2.fdb.
Mein Plan war die security2.fdb und die DRBD-Partition zu kopieren (somit synchron auf beiden Servern) und im Firebird-Verzeichnis einen Symlink auf die Datenbank zu erstellen.

Gruß, Thomas
bfuerchau
Beiträge: 92
Registriert: Mo 7. Mai 2018, 18:09

Mi 11. Sep 2019, 17:49

Ich denke mal, ein regelmäßiger Backup/Restore wäre hier zielführender.
Man kann ja durchaus den Datei-Timestamp LastUpdate/Changed mit einem Backup vergleichen und bei Änderungen einen neuen Backup erstellen und verteilen.
Bei Aktiverung dann den Backup in eine neue DB restoren, den Dienst beenden, die DB umbenennen und den Dienst wieder starten.
Das wird auch der schnellste Weg sein, da diese DB ja nicht so groß sein wird.
Außerdem sollte man sowieso einen regelmäßigen Backup der Security.db durchführen.

Du könntest aber auch gleich den ganzen Dienst auf der Partition installieren, dann stellt sich das Problem doch gar nicht erst (stelle ich mir als Linux-Laie so vor).
Antworten