Hey all,
I was looking through the docs for Ignition 8.1 and it seems that OPC UA Server Redundancy is now supported but I've had no luck getting it working so far. The specific issue I'm running into is the client doesn't like the URN returned by the server in the redundant server set array; it's expecting a normal opc.tpc endpoint, but instead Ignition returns the server URN.
I'm imagining I'm doing something wrong, so I'm going to take a look through the docs again -- but wanted to check here and ask if anyone has had any success getting server redundancy set up and using third party OPC UA clients.
Thanks.
So, just to be clear, all that really changed is that the server publishes that it only supports non-transparent redundancy, and now sets the ServiceLevel and ServerUriArray values as appropriate.
This client is broken. The redundant server set is a set of URIs, not endpoint URLs. It's the responsibility of the client to be able to map these to endpoint URLs. Servers are identified by a URI in the discovery services, so a client can either be configured with the mapping ahead of time or figure it out using discovery services.
2 Likes
In theory, OPC UA redundancy works best when using a centralized discovery server of some kind, but this practice hasn't really taken off quite yet. There are commercial GDS (Global Discovery Server) products starting to hit the market now so hopefully we see this become more common. If all servers support registration and there's a central discovery server, the Server URI lookup becomes a lot easier.
does Ignition provide the ability of providing an 3rd URL endpoint to which external OPC-UA client can connect so it would be transparent to the external client of what redundancy Ignition server it is connecting?
I'm confused regarding the 8.1.10 update which gives support to non-transparent redundancy. It gives redundancy at the URI level but not the endpoint URL?
OPCUA Redundancy
Thank you.
No it doesn't. You would need some kind of redundancy "proxy" or "broker" product to achieve transparent redundancy; I'm not sure anything like that exists right now.
That's what I thought. Currently we have our OPC-UA client (windows service) set up with failover using windows built-in failover management. (2 different servers each running the service)
I might look at setting up a gateway script which will call out to the failover cluster to switch when Ignition switches. Devil may be in the details but will give that a try.
How would the Ignition redundancy pair config support this. We have used that configuration for the failover currently.
Sorry I'm not sure what you're asking.
Ok Let me elaborate - We have 2 Ignition gateways Primary and Sec, which we are also wanting use as OPC-UA servers for external clients. Now we are trying to configure the failover, by using ignition inbuilt Redundant Pair config. But what we observe is, for the client because we configure the Primary server URL as endpoint, soft-failover works (tested with Force Failover feature) , but a hard failover does not (like a server restart)
Your clients are entirely responsible for the failover. They need to monitor for the server going down, or the ServiceLevel variable if both are online.
This is what non-transparent redundancy means - the client must be aware and take action.
1 Like
Just to verify, this is still true when exposing ignition opc-ua to third party software? I thought there was a listener for the redundant pair? Thanks
Still true, will probably always be true.
OPC UA Transparent redundancy isn't on the roadmap.
OPC UA Non-transparent redundancy is kind of supported in 8.1. We the ServiceLevel Variable appropriately, but the handling of server URIs is broken, so whether a Client can actually use this information to failover or not depends on the Client implementation.
Thanks Kevin, Do you have any recommendations on a proxy service manager if its broken?
No I'm still not sure if any product like that exists for OPC UA.
what's the specific use case here?
Might have some suggestions
MES is reading ignition opc-ua server, our servers are redundant. we just want to make sure that if the master goes down and the backup starts. MES can still read the opc-ua server.