Please enable JavaScript to view this site.

CodeMeter 8.40a User Help

Navigation: » No topics above this level «

TMR Server Setup

Scroll Prev Top Next More

Requirements

Requirements for both TMR Server computer are:

amd64 / armhf with at least 512 MB RAM and 2 cores

operating system Debian

information_weiss_klein26

Please note, that the TMR Server machines - if they are located in virtual environments - are not installed on the same host.
If the Backend Servers do not run on different hosts, the license can no longer be used, if one host with two CodeMeter Backend Servers fails.

achtung

By default, the number of file descriptors in Linux distributions is limited to a relatively low number affecting the number of open TCP connections.

If the number is not sufficient, the system administrator should loosen this restriction and adjust the number of available file descriptors according to individual needs.

Installation

information_weiss_klein26

Please note that if TMR installations already exist, the codemeter-tmr-server service on both TMR servers must be stopped before the installation (up- or downgrade).

To install the operating system on the TMR Server computers, please proceed as follows:

1.Install the Debian operating system (see here).

2.Download and install the package codemeter-tmr-server_[version]*_amd64 or[codemeter-tmr-server_[version]*_armhf].deb which includes the CodeMeter-own service TMR server and other required components.

3.Repeat steps 1. and 2. for the other TMR Server computer.

Moreover you must install the keepalived daemon on each TMR Server computer. For installation see https://www.keepalived.org/doc/installing_keepalived.html.

Setup

The setup of the two TMR Server computers requires for each computer the adaptation of the supplied configuration files, which you first copy and then adapt to your requirements. This sets up all communication paths, e.g. IP address and port information.

The configuration file keepalived.conf

Keepalived is a daemon which is located on both TMR Servers and is used to detect failover cases and to manage the virtual address of the TMR Setup. These two keep-alived instances monitor each other by exchanging messages via the Virtual Router Redundancy Protocol (VRRP).

To update the keepalived configuration in the keepalived.conf file, please proceed as follows for both TMR Server computer:

1.Copy the blueprint from directory /usr/share/doc/codemeter-tmr-server/examples/.

2.Save the blueprint to the directory /etc/keepalived/.

3.Customize the server environment.

Specify the interface names and IP addresses. 

vrrp_instance tmr_IPv4 {

 interface                front

 virtual_router_id        42

 

 virtual_ipaddress {

         192.0.2.42

 }

 track_interface {

         back

 }

 track_script {

         tmr_status

         tmr_manual_failover

 }

}

 

vrrp_instance tmr_IPv6 {

 interface                front

 virtual_router_id        42

 

 virtual_ipaddress {

         fe80:1::2a

         2001:db8:0:f::2a

 }

 track_interface {

         back

 }

 track_script {

         tmr_status

         tmr_manual_failover

 }

In general, the example configurations bases on the following schematic illustration.

serversetup

For more information about Keepalived configuration settings, see www.keepalived.org.

 

The TMR configuration file tmrconf.json

The customization of the TMR configuration file is necessary so that clients can access the duplicated TMR Server computers via a virtual IP and CmContainers are recognized by the three downstream CodeMeter Backend Server computers.

To update the TMR configuration in the tmrconf.json file, please proceed as follows for each TMR Server computer:

1.Copy the blueprint from directory /usr/share/doc/codemeter-tmr-server/examples/.

information_weiss_klein26

Two blueprints are available: tmrconf.json.minimal and tmrconf.json.full.  

In the minimal version you only have to adjust the IP address and port information. The remaining configuration can then be done via the WebAdmin of the TMR Server.

The full version includes all enries.

2.Save the blueprint into the directoy /etc/wibu/CodeMeter/.

3.Customize to the Server environment.

a)Setup the TmrServer.

information_weiss_klein26

For TwinServer, enter the IP address and port information of the other TMR server computer.

information_weiss_klein26

Next to IPv4 or IPv6, syntactically valid hostname address formats can be used.

The values for timeouts for Remote Procedure Calls (RPC) can also be configured here.
ConnectTimeoutInSeconds: The timeout for the initial connection to the respective Twin Server.
TransferTimeoutInSeconds: The timeout for data transfers between the Twin Servers.
If the values are not set explicitly, the default values 3 seconds for ConnectTimeoutInSeconds and 10 seconds for TransferTimeoutInSeconds apply.

"TmrServer": {

 "TwinServer": {

         "Ip": "2001:db8:0:f::17",

         "Port": 22354

         "ConnectTimeoutInSeconds": 3

         "TransferTimeoutInSeconds": 10

         }

}

b)Setup the three CodeMeter Backend Server CmServer. 

information_weiss_klein26

For specifying the Ip parameter next to IPv4 or IPv6, syntactically valid hostname address formats can be used.

"CmServer": {

 "NetworkRetryIntervalInSeconds": 30,

 "Server": [

         {

                 "Ip": "2001:db8:0:b::1",

                 "Port": 22350

         },

         {

                 "Ip": "2001:db8:0:b::2",

                 "Port": 22350

         },

         {

                 "Ip": "2001:db8:0:b::3",

                 "Port": 22350

         }

                 }

 ]

 

achtung

When creating the TMR configuration file and setting the network port of the TMR Server, the codemeter-tmr-webadmin must be restarted after starting codemeter-tmr-server.

This also applies to changing the network port of the TMR Server at a later time.

Handling Log Files

If you have configured a protocol file, it can become very large.

Wibu-Systems recommends using the Linux system command logrotate to prevent the log files from becoming too large and to archive "previous" log files (see https://linux.die.net/man/8/logrotate for the command).

information_weiss_klein26

Please use the options copytruncate and delaycompress of the logrotate command, because the TMR server keeps the log file open.

You may also execute this system command regularly in a scheduled cronjob.