Login  •  Register


server redundancy

General topics regarding OPC Foundation and communication technology in general.

server redundancy

Postby kp85 » 03 Nov 2011, 16:21

hi

I wonder if in your example of multiple server if there is one that supports redundancy! and how to implement such a server
Last edited by kp85 on 07 Feb 2013, 11:00, edited 1 time in total.
kp85
Sr. Member
Sr. Member
 
Posts: 16
Joined: 02 Sep 2011, 19:30

Re:server redundancy

Postby Support Team » 10 Nov 2011, 22:35

Hello,

Before I can explain how to configure redundancy with the Unified Automation products, I need to explain the OPC UA concepts for redundancy.

OPC UA defines two main modes for server redundancy, non-transparent and transparent. Non-transparent has the sub modes Cold, Warm and Hot.

In the non-transparent case, all servers in the redundant set have their own Server URI and Endpoint URLs. Every server in the redundant set provides a list of the other redundant servers in the set (Server URI) and the sub mode (Cold, Warm or Hot). With this feature a client need to know only one server and can find the other available servers through the information in the server object (Objects -> Server -> ServerRedundancy). The advantage of non-transparent redundancy is that it is easy to support on the server side. The disadvantage is that the client needs to do something to benefit from redundancy. But it would be easy to implement a generic support in the client with the information provided by the server.

In the transparent case, all servers in the redundant set have the same Server URI and Endpoint URLs. The servers are running in a cluster with the same IP-Address. A client cannot connect to a specific server but he can request the list of available server and their status in Objects -> Server -> ServerRedundancy. The advantage of transparent redundancy is that the client needs to know nothing about redundancy to benefit for the redundant servers. The disadvantage is the higher effort on the server side.

The C++ Server SDK from Unified Automation supports both main modes for server redundancy, non-transparent and transparent. For transparent redundancy an additional module is needed that is not part of the standard SDK. It is available on request. The non-transparent configuration can also be used in the UaGateway V1.2.

Non-Transparent redundancy can be configured in the ServerConfig.xml file. See example below. In addition you should configure both servers to register with the Local Discovery Server (LDS) on the other computer. It is possible to configure more than two servers.

Code: Select all
  <!--Provides the redundancy settings for the server-->
  <
RedundancySettings>
    <!--
Redundancy support options are NoneColdWarmHot and TransparentTransparent requires special module. -->
    <
RedundancySupport>Hot</RedundancySupport>
    <!--List 
of server URIs for the servers in the NonTransparent redundant set.--> 
    <
ServerUri>urn:PC1:UnifiedAutomation:RedundancySample</ServerUri>
    <
ServerUri>urn:PC2:UnifiedAutomation:RedundancySample</ServerUri>
  </
RedundancySettings>

  <!--
Discovery configuration
      Configuration 
for registration with discovery server(s)-->
  <
DiscoveryRegistration>
    <!--
Interval in milliseconds for registration with discovery server(s) -->
    <
RegistrationInterval>30000</RegistrationInterval>
    <!--List 
of discovery servers to register with.
        If 
the list is empty, no registration is executed
        Default 
is opc.tcp://localhost:4840 for the local discovery server.
        
Additional remote discovery servers can be added-->
    <
Url>opc.tcp://PC1:4840</Url>
    
<Url>opc.tcp://PC2:4840</Url>
  
</DiscoveryRegistration>
  <!--
Discovery configuration end--> 


Best Regards,
Unified Automation Support Team
Last edited by Support Team on 07 Feb 2013, 11:00, edited 1 time in total.
Best regards
Unified Automation Support Team
User avatar
Support Team
Hero Member
Hero Member
 
Posts: 2422
Joined: 18 Mar 2011, 15:09

Re:server redundancy

Postby kp85 » 11 Nov 2011, 15:40

hi

thank you for the clarification. I want to know if the active server and the redundant server can run on the same computer because I board change the xml file but I board not redundant server.
Last edited by kp85 on 07 Feb 2013, 11:00, edited 1 time in total.
kp85
Sr. Member
Sr. Member
 
Posts: 16
Joined: 02 Sep 2011, 19:30

Re:server redundancy

Postby Support Team » 14 Nov 2011, 13:31

You can run both redundant servers on the same computer.

But they need to have different ports and different Server URIs.

If you use the default ServerConfig.xml file, the Server URI is created from the computer name. You must change the URI in the configuration to be unique for every server e.g. by adding something unique at the end.


Best Regards,
Unified Automation Support Team
Last edited by Support Team on 07 Feb 2013, 11:00, edited 1 time in total.
Best regards
Unified Automation Support Team
User avatar
Support Team
Hero Member
Hero Member
 
Posts: 2422
Joined: 18 Mar 2011, 15:09

Re:server redundancy

Postby kp85 » 18 Nov 2011, 15:04

hi
I board modify the ServerConfig.xml file as you have told me I board but not redundant server and also I would like if you have an example ServerConfig.xml file to show me?
Last edited by kp85 on 07 Feb 2013, 11:00, edited 1 time in total.
kp85
Sr. Member
Sr. Member
 
Posts: 16
Joined: 02 Sep 2011, 19:30

Re:server redundancy

Postby kp85 » 24 Nov 2011, 23:11

hello I would like to know if you have a sample configuration file for a redundant server on the same machine with two different ports in c + + because I change my configuration XML file but I board not redundant server.
Last edited by kp85 on 07 Feb 2013, 11:00, edited 1 time in total.
kp85
Sr. Member
Sr. Member
 
Posts: 16
Joined: 02 Sep 2011, 19:30

Re:server redundancy

Postby Support Team » 01 Dec 2011, 08:44

Here are sample snippets for the XML configuration.
You need to replace MyPC in all places with your computer name.

Server Instance information (original):
Code: Select all
  <!--Server instance information defined for the server installation.
      [NodeName} can be used as placeholder for the computer name. -->
  <ServerUri>urn:[NodeName]:UnifiedAutomation:UaDemoserver</ServerUri>
  <ServerName>OpcDemoServer@[NodeName]</ServerName>
  <!--Server instance information end-->

Server Instance information (Server1):
Code: Select all
  <!--Server instance information defined for the server installation.
      [NodeName} can be used as placeholder for the computer name. -->
  <ServerUri>urn:MyPC:UnifiedAutomation:UaDemoserver:Server1</ServerUri>
  <ServerName>OpcDemoServer_1@MyPC</ServerName>
  <!--Server instance information end-->

Server Instance information (Server2):
Code: Select all
  <!--Server instance information defined for the server installation.
      [NodeName} can be used as placeholder for the computer name. -->
  <ServerUri>urn:MyPC:UnifiedAutomation:UaDemoserver:Server2</ServerUri>
  <ServerName>OpcDemoServer_2@MyPC</ServerName>
  <!--Server instance information end-->

Endpoint configuration (original):
Code: Select all
  <UaEndpoint>
    <SerializerType>Binary</SerializerType>
    <!-- URL of the Endpoint
         This URL is used for Discovery and to open the Endpoints in the UA stack if no StackUrl ist configured.
         [NodeName] can be used as placeholder for the computer name. -->
    <Url>opc.tcp://[NodeName]:4841Url>

Endpoint configuration (Server 1):
Code: Select all
  <UaEndpoint>
    <SerializerType>Binary</SerializerType>
    <!-- URL of the Endpoint
         This URL is used for Discovery and to open the Endpoints in the UA stack if no StackUrl ist configured.
         [NodeName] can be used as placeholder for the computer name. -->
    <Url>opc.tcp://MyPC:50501</Url>

Endpoint configuration (Server 2):
Code: Select all
  <UaEndpoint>
    <SerializerType>Binary</SerializerType>
    <!-- URL of the Endpoint
         This URL is used for Discovery and to open the Endpoints in the UA stack if no StackUrl ist configured.
         [NodeName] can be used as placeholder for the computer name. -->
    <Url>opc.tcp://MyPC:50502</Url>

Redundancy settings (same for both servers)
Code: Select all
  <!--Provides the redundancy settings for the server-->
  <RedundancySettings>
    <!--Redundancy support options are None, Cold, Warm, Hot and Transparent. Transparent requires special module. -->
    <RedundancySupport>Hot</RedundancySupport>
    <!--List of server URIs for the servers in the NonTransparent redundant set.
    <ServerUri>urn:MyPC:UnifiedAutomation:UaDemoserver:Server1</ServerUri>
    <ServerUri>urn:MyPC:UnifiedAutomation:UaDemoserver:Server2</ServerUri>-->
  </RedundancySettings>
Best regards
Unified Automation Support Team
User avatar
Support Team
Hero Member
Hero Member
 
Posts: 2422
Joined: 18 Mar 2011, 15:09

Re: server redundancy

Postby rpatel010 » 09 Jul 2015, 23:42

I am trying to setup non-transparent redundancy and this is very helpful.

Can anyone shed some lights on what do we need to do on client end?

Any help is greatly appreciated.
rpatel010
Jr. Member
Jr. Member
 
Posts: 1
Joined: 09 Jul 2015, 23:40

Re: server redundancy

Postby Support Team » 10 Jul 2015, 01:45

Hi,

In version 1.03 of OPC UA Part 4 the description of client behavior for the different redundancy modes was enhanced a lot. You can download the specification from the OPC Foundation website also as non-member:
https://opcfoundation.org/developer-too ... -services/

Version 1.03 is a release candidate at the moment but the final release will be available this month.

You can find the details in chapter 6.4.2.4.

Best Regards,
Unified Automation Support Team
User avatar
Support Team
Hero Member
Hero Member
 
Posts: 2422
Joined: 18 Mar 2011, 15:09

Re: server redundancy

Postby Support Team » 07 Jan 2016, 20:07

Hi,

Transparent redundancy requires first of cluster software to be able to run more than one network node with the same IP-address. On Windows, this can be done with the Network Load Balancing (NLB) feature of Windows Server.

In addition, the OPC UA servers in a transparent redundant set need to synchronize all Sessions and Subscriptions created by clients and all related status information between each other. This synchronization is handled by an additional SDK module that is not included in the normal SDK license.

The additional module handles most of the synchronization but there is additional customizing and integration effort necessary to fully support transparent redundancy. Please contact sales@unifiedautomation.com if you are interested in this module and the necessary integration support.

The additional module provides the synchronization functionality that is necessary for NonTransparent redundancy with mode HotPlusMirrored but this option was not requested by a customer yet and is therefore not completed.

Best Regards,
Unified Automation Support Team
User avatar
Support Team
Hero Member
Hero Member
 
Posts: 2422
Joined: 18 Mar 2011, 15:09

Re: server redundancy

Postby yeh38492 » 19 Aug 2019, 03:15

I have the same question. I've been searching for it but couldn't find any solution
How do you play happy wheels
yeh38492
Jr. Member
Jr. Member
 
Posts: 1
Joined: 19 Aug 2019, 03:06

Re: server redundancy

Postby nikhilmv » 11 Nov 2019, 07:55

Do we have server redundancy for C# package as well?
nikhilmv
Full Member
Full Member
 
Posts: 8
Joined: 20 May 2019, 06:27


Return to General

Who is online

Users browsing this forum: No registered users and 0 guests