« Zurück zu Produkt

Dokumentation

Replikation

Mit der kostenpflichtigen Erweiterung Mirroring kann ein System als Spiegel (Slave) eines anderen Systems (Master) betrieben werden. Die Replikation wird in der Kern Instanz "Replikation" bzw. in der Datei "replication.json" konfiguriert und beim Start von IP-Symcon eingelesen. Änderungen an der Konfiguration werden daher erst nach einem Neustart des Diensts wirksam.

Ist die Replikation aktiv, lädt der Slave beim Start die Konfiguration vom Master. Im laufenden Betrieb gleicht er alle 5 Sekunden die Änderungen des Masters ab. Änderungen, welche direkt am Slave vorgenommen werden, werden dabei überschrieben.

Modus Konstante Name Beschreibung
0 REPLICATION_MODE_PARALLEL Parallel Der Slave ist voll einsatzbereit und all seine Verbindungen sind aktiv.
1 REPLICATION_MODE_STANDBY Standby Die I/O-Instanzen des Slave bauen keine Verbindungen auf und verbleiben im Status Standby (106, IS_STANDBY). Ereignisse und Timer der Instanzen werden nicht ausgeführt. Erst beim Failover wird der Slave aktiv.

Failover

Im Modus Standby kann der Slave die Aufgaben des Masters übernehmen, indem er mit IPS_PromoteToReplicationMaster zum Master befördert wird. Dabei wird der Abgleich angehalten, alle Instanzen im Status Standby werden aktiviert und Ereignisse sowie Timer wieder ausgeführt. Ist das automatische Failover aktiv (Parameter "FailoverActive"), geschieht dies automatisch, sobald der Abgleich mit dem Master so oft in Folge fehlgeschlagen ist, wie im Parameter "FailoverCount" angegeben (Standard: 20). Kann die Konfiguration beim Start auch nach mehreren Versuchen nicht vom Master geladen werden, startet der Slave ebenfalls als Master. Mit IPS_DemoteToReplicationSlave wird der Slave wieder zurückgestuft und der Abgleich fortgesetzt.

Sync Remote

Mit dem Modul Sync Remote wird der Objektbaum eines entfernten Symcon Systems unterhalb der Sync Remote Instanz gespiegelt. Jedes gespiegelte Objekt erhält dabei eine eigene lokale ID, auch das Wurzelobjekt (ID 0) des entfernten Systems. Symcon speichert für jede Sync Remote Instanz die Zuordnung zwischen der ID auf dem entfernten System (RemoteID) und der lokalen ID. Als ServerID dient die ID der lokalen Sync Remote Instanz. Die Zuordnung wird in den Einstellungen gespeichert und beim Löschen des lokalen Objekts entfernt. Ein Slave übernimmt bei der Replikation die Zuordnungen des Masters.

Das Schalten gespiegelter Variablen (SetValue, RequestAction), Modul-Funktionen sowie ändernde IPS_ Funktionen (z.B. IPS_Set*, IPS_Delete*, IPS_RunScript, IPS_ApplyChanges), deren erster Parameter ein gespiegeltes Objekt ist, werden über die Zuordnung an das entfernte System weitergeleitet, auf dem das Objekt liegt. Lesende Funktionen (IPS_Get*, IPSIs*, IPS\Exists, IPS_HasChildren, IPS_HasPermission) und die Funktionen zur Umrechnung der IDs wirken lokal auf dem gespiegelten Objekt. Ausnahmen sind IPS_GetConfigurationForm, IPS_GetMediaContent, IPS_GetScriptContent und IPS_GetFlowScriptStatistic, welche weitergeleitet werden. Die Debug-Funktionen stehen für gespiegelte Instanzen nicht zur Verfügung und melden einen Fehler.

Mit IPS_GetRemoteObject, IPS_FindObjectID, IPS_FindRemoteID und IPS_FindServerID können die Objekt-IDs zwischen dem lokalen System und den entfernten Systemen umgerechnet werden. Ist keine Zuordnung vorhanden, liefern die Find-Funktionen 1.

IPS_DemoteToReplicationSlavestuft einen zum Master beförderten Slave wieder zurück
IPS_FindObjectIDliefert die lokale ID zu einer ID des entfernten Systems
IPS_FindRemoteIDliefert die ID des entfernten Systems zu einer lokalen ID
IPS_FindServerIDliefert die Sync Remote Instanz eines gespiegelten Objekts
IPS_GetRemoteObjectliefert die ID eines gespiegelten Objekts auf dem entfernten System
IPS_GetReplicationFailoverTimeliefert den Zeitpunkt des letzten Failovers
IPS_GetReplicationModeliefert den Modus der Replikation
IPS_GetReplicationSyncTimeliefert den Zeitpunkt des letzten erfolgreichen Abgleichs
IPS_IsReplicationActiveprüft, ob die Replikation aktiv ist
IPS_IsReplicationFailoverActiveprüft, ob der Slave die Aufgaben des Masters übernommen hat
IPS_PromoteToReplicationMasterbefördert den Slave zum Master
Haben Sie noch Fragen?