Documentation
Mirroring
Require: Symcon >= 7.0
A system can be configured as a mirror of another server system. In this case, the mirror is regularly updated by the server and adapts its configuration to that of the server. If the server fails, the mirror can be used and take over the tasks of the server, thereby optimizing the availability of the overall system.
Mirroring contains various parameters which should be configured to suit the use case. In order to optimize the commissioning of this extension, we recommend contacting our Support so that the optimal configuration for the use case can be worked out and implemented together.
To use mirroring, remote access must be enabled on the server. The initial settings for mirroring can be configured in the core instance “Replication”. These are then created in the file "replication.json" in the same directory as "settings.json" – see Installation of the corresponding operating system. Changes after the initial activation of replication can only be made in this file, as the rest of the system is a 1:1 mirror of the main system.
Parameter of replication.json
| Parameters | Type | Default | Description |
|---|---|---|---|
| Active | Boolean | false | Mirroring is active if the value is set to true, otherwise it is inactive and the system acts normally. |
| Mode | Integer | 0 | Operating mode of the mirrored system 0 ( REPLICATION_MODE_PARALLEL) - Parallel: The system is fully operational and all its connections are active. This means that the system can be used directly if the server fails. However, either a gateway must support the connection of multiple devices or a separate gateway must be available. If the mirrored system is used although the server is still running, these changes will be overwritten during the next mirroring and will therefore expire1 ( REPLICATION_MODE_STANDBY) - Standby: The system is in standby and all its connections are inactive. If the server fails, the mirrored system is promoted to master by Failover - automatically (see FailoverActive) or manually with IPS_PromoteToReplicationMaster. The required connections are then established and the mirrored system can be used. |
| Host | String | "" | The URL under which the server system can be reached |
| Port | Integer | 3777 | The port under which the server system provides IP-Symcon |
| UseSSL | Boolean | false | If true, the connection to the server is encrypted via SSL |
| VerifyPeer | Boolean | true | If true, it is verified that the SSL certificate of the host is correct (only if UseSSL is also true) |
| VerifyHost | Boolean | true | If true, it is verified that the host URL from the SSL certificate matches the host from the property (only if UseSSL is also true) |
| Username | String | "" | The user name, i.e. the license address, of the server system |
| Password | String | "" | The password for remote access to the server system |
| Timeout | Integer | 10000 | The timeout for requests to the server in milliseconds. If a request takes longer, the connection is marked as faulty and no mirroring is performed |
| RetryCount | Integer | 10 | Number of attempts to load the configuration from the server on startup. If all attempts fail, the mirrored system starts as master in the mode Standby (failover) |
| RetryBackoff | Integer | 20 | Waiting time in seconds after a failed attempt to load the configuration from the server on startup |
| FailoverActive | Boolean | true | If true, the mirrored system in the mode Standby is automatically promoted to master as soon as the mirroring during operation has failed as many times in a row as specified in FailoverCount. If false, only a manual promotion is possible |
| FailoverCount | Integer | 20 | Number of consecutive failed mirrorings during operation after which the automatic failover is triggered (only if FailoverActive is true) |
| Synchronization | Object | not set | Detailed settings for not mirroring aspects of the server while retaining your own settings |
Parameter for Synchronization
| Parameter | Type | Description |
|---|---|---|
| ExcludeObjects | Array | Objects whose IDs are in this list are not updated during a mirroring and retain the configuration of the mirrored system |
| ExcludeProfiles | Array | Variable profiles whose names are in this list are not updated during a mirroring and retain the configuration of the mirrored system |