Zum Hauptinhalt springen

Installation der Hot-Standby Option

CONZEPT 16-Server - Installation der Hot-Standby Option Beschreibung zur Installation der Hot-Standby Option des CONZEPT 16-Servers

Serversysteme und Netzanbindung

Für die CONZEPT 16 Hot-Standby Option werden zwei CONZEPT 16-Datenbank-Server benötigt. Diese werden über eine direkte Gigabit-Ethernet Verbindung oder vergleichbarem miteinander verbunden. Zusätzlich müssen diese Rechner ebenfalls vom Netzwerk aus erreicht werden können. In jedem Rechner müssen also mindestens zwei Netzwerkanschlüsse installiert sein, einen zur Kommunikation mit dem Netzwerk und einen zur Kommunikation mit dem anderen Serversystem. Weitere Hardware wird für den Hot-Standby Betrieb nicht benötigt.

Arbeitet eines der Systeme zusätzlich als Fileserver, ist zu beachten, dass beim Ausfall des Systems die Dateien des CONZEPT 16-Clients nicht mehr zur Verfügung stehen. Das kann vermieden werden, wenn der CONZEPT 16-Client auf den lokalen Festplatten der Clientsysteme abgelegt wird. Ein Versionsabgleich könnte dann zum Beispiel durch eine Verteilungssoftware oder Skript bei der Anmeldung vorgenommen werden (siehe auch FAQ ).

Die Systeme können sich von der Leistungsfähigkeit und sogar vom verwendeten Betriebssystem unterscheiden. Im Normalbetrieb wird das Sekundärsystem zwar wesentlich geringer belastet als das Primärsystem, allerdings muss es bei einem Ausfall des Primärsystems in der Lage sein, die anfallenden Benutzeranfragen und Transaktionen ausreichend schnell bearbeiten zu können. Auf dem Sekundärsystem können neben dem CONZEPT 16-Server natürlich auch weitere Dienste (z. B. Druckdienste oder Job-Server) betrieben werden.

Die Hot-Standby-Option funktioniert nur, wenn das Sekundärsystem die gleichen Voraussetzungen für den Einsatz der verwendeten Lizenz erfüllt, wie das Primärsystem. die Voraussetzungen beziehen sich auf die Anzahl der logischen Prozessoren, das Betriebssystem und ob es sich um ein 64-Bit System handelt. Hot-Standby kann zum Beispiel nicht eingesetzt werden, wenn das Primärsystem unter einem Windows-Betriebssystem läuft und das Sekundärsystem unter Linux, wenn eine Standard-Edition verwendet wird (Diese läuft nur unter Windows oder Linux). Beim Einsatz einer Advanced-Edition gibt es keine Probleme, da diese Lizenz unter Windows und Linux betrieben werden kann.

Datenbankserver

Auf beiden Rechnern muss der CONZEPT 16-Server in der gleichen Version inklusive Lizenzdatei installiert werden. Bei einer Lizenz mit Hardwareschutz muss der Dongle-Treiber mindestens auf dem Primärsystem installiert sein. Auf dem sekundären Server wird der Dongle-Treiber nur benötigt, um bei einem längeren Ausfall des Primärsystems gegebenenfalls ein Umstecken des Dongles zu ermöglichen. Bei einer Lizenz mit Softwareschutz darf sich die Lizenzidentitätsdatei (*.idn) nur auf dem Primärsystem befinden. Ohne ein Umstecken des Dongles bzw. kopieren der Lizenzidentitätsdatei können alle Hot-Standby Datenbanken auf dem Sekundärsystem noch weitere 60 Tage geöffnet werden. Die Zeitspanne wird ab dem letzten Kontakt, durch Aktualisierung der Datenbank, mit dem Primärsystem gemessen und ist unabhängig davon, ob der Server in der Zwischenzeit neu gestartet wurde. Danach ist der Login für neue Clients gesperrt.

info

Während dieser Zeit dürfen die Einstellungen der Datenbank ( Name , Datenbank und die Adresse des Primärsystems ( Serveradresse )) nicht verändert werden.

Zum Starten des Systems muss der Dongle (bei Verwendung einer Lizenz mit Hardwareschutz ) beim Primärsystem aufgesteckt werden. Das Sekundärsystem wird ohne eine Lizenz gestartet.

info

Wird der CONZEPT 16-Server mit Clients der Versionen 4.7 oder 5.0 betrieben, können Datenbanken nur solange geöffnet werden, wie der CONZEPT 16-Server nicht neu gestartet wurde und weniger als 60 Tage seit der letzten Aktualisierung durch das Primärsystem vergangen sind. Bei einem Neustart des Systems muss der Dongle auf das Sekundärsystem gesteckt oder die Lizenzidentitätsdatei auf das Sekundärsystem kopiert werden, damit sich Clients der Versionen 4.7 oder 5.0 mit einer Datenbank verbinden können.

Auf dem Sekundärserver kann eine zusätzliche Serverlizenz eingerichtet werden. So können auch Datenbanken geöffnet werden, die nicht für den Hot-Standby Betrieb eingerichtet wurden. Falls die 60-Tage Frist einer Hot-Standby Datenbank nach einem Primärserverausfall verstrichen ist, wird dann auch der Login nicht gesperrt, sondern die Lizenz des Sekundärservers verwendet. Dabei ist darauf zu achten, dass es nach Ablauf der primären Lizenz zu Einschränkungen in der Anzahl der Benutzer beziehungsweise des Funktionsumfangs kommen kann, wenn unterschiedliche Serverlizenzen verwendet werden. Die Lizenz des Sekundärservers benötigt dazu keine Hot-Standby-Option.

Besitzt der Sekundärserver keine eigene Lizenz, sollte in der Konfiguration des Servers die Option Hot-Standby-Betrieb ohne Dongle aktiviert werden.

info

Um aufgetretene Probleme rechtzeitig zu erfahren, sollte unbedingt die automatische Mailbenachrichtigung (siehe Konfiguration des Servers ) beim Primär- und beim Sekundärserver eingerichtet werden. Da die Benutzer nach einer kurzen Unterbrechung ihre Arbeit mit dem System fortsetzen können, ist in der Regel nicht damit zu rechnen, dass der Ausfall an den Systemadministrator gemeldet wird. Das Benachrichtigungssystem des CONZEPT 16-Servers informiert dann in jedem Fall umgehend von dem Wechsel zum Sekundärsystem.

Einstellungen der Datenbanken

Die Einstellungen der Datenbanken erfolgt über die Web-Administration des Servers. Einstellungen können auch über ältere Clients (ab Version 5.1) vorgenommen werden. Es stehen dann aber nicht alle Einstellungen zur Verfügung. Ältere Versionen bekommen von dem Server keine Lizenz und können nicht gestartet werden. Im laufenden Betrieb wird eine Lizenz für die älteren Versionen vom Primärserver auf den Sekundärserver übertragen. Die Lizenz befindet sich im Hauptspeicher des Sekundärservers.

Die Datenbank muss auf beiden Serversystemen eingetragen werden. Der symbolische Name der Datenbank muss auf beiden Systemen gleich sein. Alle anderen Eintragungen können abweichen. Die physikalische Datenbankdatei darf nur auf dem Primärsystem abgelegt werden. Die Datenbank wird beim ersten Öffnen automatisch auf den Sekundärserver übertragen.

info

Im laufenden Hot-Standby-Betrieb empfängt der Sekundärserver Datenbankupdates vom Primärserver und puffert diese im Datenbankcache. Von dort werden sie in die Datenbank übertragen. Ist das sekundäre System zu stark ausgelastet und kann neue Transaktionen nicht aus dem Cache in die Datenbank schreiben, kann es zu einer Trennung der Verbindung kommen. Diese wird automatisch durchgeführt, wenn der Cache des sekundären Systems mehr als eine Minute zu über 90 Prozent belegt ist (Siehe auch Database HSB Update Failure in der Log-Datei des Datenbankservers). Da ein zu klein konfigurierter Datenbankcache auf dem sekundären System praktisch sofort zu diesem Zustand führen kann, ist unbedingt darauf zu achten, dessen Größe korrekt einzustellen.

Die Einstellungen für den Betrieb mit der Hot-Standby Option werden über die Administration des Servers vorgenommen. Die Einstellungen werden nach der Auswahl der Datenbank über den Link Hot-Standby aufgerufen. Optional kann auch die Datenraumtabellen des Datenbankservers direkt editiert werden.

Die folgenden Einstellungen können für den Hot-Standby-Betrieb vorgenommen werden:

  • Serveradresse Hier wird die IP-Adresse des anderen Servers angegeben. Erfolgt die Eintragung beim Primärserver, wird hier die IP-Adresse des Sekundärservers angegeben. In der Eintragung des Sekundärservers wird die IP-Adresse des Primärservers eingetragen. Bei diesen IP-Adressen handelt es sich um die Adressen der Netzwerkkarten der Direktverbindung. Es sollten keine Namen anstelle der numerischen IP-Adressen verwendet werden, da sonst im Falle von Problemen mit der Namensauflösung keine Verbindung zwischen den Servern hergestellt werden kann. Die IP-Adresse der "normalen" Netzwerkverbindung muss nach einem Semikolon ebenfalls angegeben werden. Ist diese Adresse nicht vorhanden, können keine Statusinformationen über die normale Netzverbindung ausgetauscht werden. Bei einem Ausfall der Direktverbindung kann es dann vorkommen, dass ein gleichzeitiges Anmelden an Primär- und Sekundär-Server möglich ist. Durch die Angabe der "normalen" Netzwerkverbindung können Statusinformationen zwischen den Servern ausgetauscht werden und ein gleichzeitiges Anmelden an beide Datenbanken ist ausgeschlossen. Zudem wird die Erreichbarkeit des Sekundärsystems für die Clients durch das Primärsystem überprüft. Ist das Sekundärsystem nicht für die Clients erreichbar, zum Beispiel wegen Einstellungen der Firewall, wird eine entsprechende Warnung in die Protokolldatei geschrieben.
info

Die IP-Adressen der Direktverbindung und die IP-Adressen der "normalen" Netzwerkverbindung müssen in unterschiedlichen Netzen liegen.

  • Sekundärsystem Mit dieser Einstellung wird die Unterscheidung der beiden Server in "Primärsystem" und "Sekundärsystem" vorgenommen. Die Einstellung muss daher auf beiden Servern unterschiedlich sein. Die Einstellung muss nach der Installation nicht mehr verändert werden, da die Rolle des jeweiligen Servers ("Aktiv" oder "Standby") davon unabhängig ist.
  • Automatische Aktivierung Ist diese Option nicht gesetzt, wird durch eine Sperre verhindert, dass sich Benutzer direkt an die Datenbank anmelden können, wenn der aktive Server ausgefallen ist (siehe Einrichten von Sperren ).
  • Automatische Synchronisation Ist diese Option nicht gesetzt, wird durch eine Sperre verhindert, dass die Datenbank nach einem Serverausfall automatisch wieder mit der aktiven Datenbank synchronisiert wird (siehe Einrichten von Sperren ). Scheitert eine Synchronisation an dieser Sperre, wird zusätzlich die Login-Sperre gesetzt und ein entsprechender Eintrag in die Protokolldatei der Datenbank vorgenommen. Die Sperre muss durch den Administrator über die Funktion Freigabe für Login entfernt werden.
  • Timeout Verbindungsaufbau Beim Öffnen der Datenbank versucht der aktive Server eine Verbindung zum Standby-Server aufzubauen. Gelingt dies nicht in der hier angegebenen Zeitspanne, wird die Datenbank auf dem Standby-Server nicht aktualisiert. Der nächste Verbindungsaufbau wird nach der Zeit, die in dem Feld "Verbindungs-Intervall" angegeben ist, initiiert. Der Timeout kann zwischen 3 Sekunden und 300 Sekunden (5 Minuten) betragen. Ist der Standby-Server nicht mehr erreichbar, verzögert sich die Anmeldung des ersten Benutzers um den hier eingetragenen Wert. Die Ausführung von Serviceoperationen verzögert sich ebenfalls um diesen Wert. Empfohlener Wert: 3 Sekunden.
  • Verbindungs-Intervall Kommt es beim Öffnen einer Datenbank nicht zu einer Verbindung zum Standby-Server, wird in regelmäßigen Abständen versucht diese Verbindung erneut herzustellen. Es können hier Wartezeiten zwischen 1 Minute und 15 Minuten eingestellt werden. Falls die Verbindung zum Standby-Server abbricht, werden erneute Verbindungsversuche auch in diesen Zeitabständen durchgeführt. Empfohlener Wert: 5 Minuten.
  • Automatische Abschaltung bei Master-Master Betrieb Bei eingerichtetem Hot-Standby-Betrieb dürfen sich nie beide Datenbanken im gleichzeitig Master-Modus befinden, da sich in diesem Zustand Clients auf beiden Datenbanken arbeiten können und dadurch später Datenverluste entstehen. Erkennt einer der beiden beteiligten Datenbankserver einen solchen Zustand und ist diese Option gesetzt, werden beide Datenbank geschlossen, die Benutzer ausgeloggt und die Datenbanken mit einer Login- und einer Synchronisations-Sperre versehen. In den Protokollen der Datenbanken wird der Fehler Database shutdown requested due to HSB master-master conflict eingetragen. Um wieder mit der Datenbank arbeiten zu können, muss der Administrator anhand der Protokolle entscheiden, welches System sich fälschlicherweise im Master-Modus befand. Diese Datenbank muss umbenannt oder verschoben werden. Bei der richtigen Datenbank muss danach eine "Freigabe für Login" erfolgen. Ein Master-Master-Betrieb kann beispielsweise auftreten, wenn die aktive Datenbank (Master) auf einer virtuellen Maschine läuft, die eingefroren wird. Übernimmt in diesem Fall das Standby-System die Masterrolle, sind nach dem Aufwecken des virtuellen Systems beide Datenbanken im Master-Modus.
  • Login sperren wenn Standby-Server nicht mehr verfügbar Wenn diese Option eingeschaltet ist, wird bei aktiven Hot-Standby-Betrieb eine bedingte Sperre in der Master-Datenbank eingetragen. Diese Sperre verhindert das Öffnen der Datenbank im Master-Betrieb, wenn das Standby-System nicht erreichbar ist. Die Sperre kann über die Weboberfläche des Servers angezeigt und auch entfernt werden. Im normalen Betrieb hat die Sperre keine Auswirkungen, sie wird auch nicht auf die Standby-Datenbank übertragen. Die Sperre ist nur in folgendem Szenario wirksam: Nach erfolgreichem Hot-Standby-Betrieb wird die Master-Datenbank geschlossen. Ist beim erneuten Öffnen der Datenbank der Standby-Server nicht verfügbar, kann sich kein Benutzer an der Datenbank anmelden. Sobald der Standby-Server wieder funktioniert, können sich wieder Benutzer an der Master-Datenbank anmelden. Fallen nacheinander zunächst der Primär- und anschließend der Sekundärserver aus, können sich erst dann wieder Benutzer an der Datenbank anmelden, wenn beide Server wieder gestartet sind und so die tatsächliche Master-Datenbank ermittelt werden kann. Bei längerer Nichtverfügbarkeit des Standby-Systems muss die Sperre über die Weboberfläche des Masters entfernt werden. Die Sperre wird automatisch unwirksam, wenn die HSB-Adresse bei der Masterdatenbank entfernt wird und somit der Hot-Standby-Betrieb deaktiviert wird.
info

Für die Verbindungen des Clients zum Server kann eine Maximalzeit eingestellt werden, die der Client beim Verbindungsaufbau zum Server warten darf. Danach wird automatisch der Sekundärserver angesprochen. Weiteres dazu unter Konfigurationsdatei / TcpConnectTimeout .

Beispiel zur Konfiguration der Hot-Standby Systeme

Die Netzwerkkarten der Direktverbindung zwischen den beiden Serversystemen verwenden in dieser Konfiguration die Adressen 192.168.0.1 und 192.168.0.2. Die Adressen zur Kommunikation mit dem Netzwerk über die beiden Zweitnetzwerkkarten könnten dann beispielsweise 10.0.0.1 und 10.0.0.2 lauten.

Konfiguration des Primärservers

DatenbanknameBeispieldatenbank
Speicherortc:\c16\ca1\Examples-1
Adresse des anderen Servers192.168.0.2;10.0.0.2
Sekundärsystemdeaktiviert
Automatische Aktivierungdeaktiviert
Automatische Synchronisationaktiviert
Timeout Verbindungsaufbau3 Sekunden
Verbindungs-Intervall5 Minuten
Automatische Abschaltung bei Master-Master Betriebaktiviert
Login sperren wenn Standby-Server nicht mehr verfügbardeaktiviert

Konfiguration des Sekundärservers

DatenbanknameBeispieldatenbank
Speicherortc:\c16\hotstandby\Examples-2
Adresse des anderen Servers192.168.0.1;10.0.0.1
Sekundärsystemaktiviert
Automatische Aktivierungaktiviert
Automatische Synchronisationaktiviert
Timeout Verbindungsaufbau3 Sekunden
Verbindungs-Intervall5 Minuten
Automatische Abschaltung bei Master-Master Betriebaktiviert
Login sperren wenn Standby-Server nicht mehr verfügbardeaktiviert

Aufruf der Datenbank über eine Verknüpfung

Wenn eine Datenbank über eine Verknüpfung geöffnet werden soll, kann generell die Executable des Clients, gefolgt von den Parametern Datenbankserver, Datenbankaliasname, Datenbankbenutzer und Passwort, in der Verknüpfung angegeben werden. So kann der Anwender direkt in die für ihn vorgesehene Umgebung einsteigen. Beim Hot-Standby Betrieb würde dies aber bedeuten, dass der Client nur versuchen würde den Primärserver zu erreichen. Daher können als Datenbankserver zwei verschiedene Systeme, getrennt von einem + angegeben werden. Zwischen Primärserver, der Konjunktion und dem Sekundärserver dürfen dabei keine Leerzeichen vorhanden sein. Der Client versucht sich dann zunächst beim ersten angegebenen Server anzumelden. Ist dieser nicht erreichbar oder ist die Datenbank älter als die des anderen Servers, verbindet sich der Client automatisch mit dem zweiten Server.

Beispiel:

c:\c16\client\c16_winc.exe dbserver+dbbackup codelibrary

oder

c:\c16\client\c16_winc.exe 10.0.0.1+10.0.0.2 codelibrary