Moving to redundant gateways

I’m working on an installation where there are 2 Ignition systems, both Windows, and each at different points along the road of commissioning. The first system (we’ll call it Sub-system) is mostly finished (designed, programmed, and installed by others), and is currently responsible for a vendor supplied plant sub-system. The second system, which I am responsible for (we’ll call it Plant), is somewhere between development and commissioning and is more of plant-wide system. It has been decided that these 2 systems should become redundant pairs, and I would like some guidance on implementing the setup. I am following this as a guide.

I think it makes sense for the Sub-system to be the backup; with the Plant system primary. And since I do not have a “clean” gateway for setting up the backup, I thought it might make sense to employ a virtual machine to implement the creation of the backup.

These are the steps I think I should follow:

  1. Backup each gateway
  2. Spin-up virtual machine (Ubuntu since I have something Ignition ready, and I can quickly clone it)
  3. Follow the steps in this guide, using the VM as the backup
  4. Make a backup of the VM backup
  5. Restore the VM backup to the sub-system PC
  6. Set IP addresses as required.

I think it should be working at this point.

Comments? Suggestions?



I could be missing something here, but I’m assuming your sub-system gateway has functionality that is not on your Plant gateway. You would need to, at some point, restore an Ignition backup of the Plant gateway to the sub-system gateway and then re-add any of the sub-system functionality to the sub-system gateway. From reading your steps, I feel like that piece is missing, and you would end up with the sub-system gateway not having the vendor’s system functionality.

That being said, I haven’t seen an architecture in the wild where a Redundant gateway was actively used for functionality that doesn’t exist on the Main gateway. Looking at the documentation I don’t think this is possible:

Configuration Synchronization

The master node maintains the official version of the system configuration. You must make all changes to the system on the master Gateway, the backup Gateway does not allow you to edit properties. Similarly, the Designer only connects to the master node.

When changes are made on the master, they are queued up to be sent to the backup node. When the backup connects, it retrieves these updates, or downloads a full system backup if it is too far out of date.

If the master node has modules that aren’t present on the backup, they are sent across. Both types of backup transfers, data only and full , will trigger the Gateway to perform a soft reboot.


System Activity

When a node is active, it runs fully, connecting to any configured OPC servers, and communicating with devices. When it is not active, its activity level is dictated by the settings, either warm or cold .

  • In warm standby, the system runs as if it were active, with the exception of logging data or writing to devices, allowing for faster fail-over.
  • In cold standby, the system connects to all OPC servers but does not subscribe to Tag values. The Ignition OPC UA server does not communicate with any device, but third party OPC UA servers may still have device connections. This allows the system to standby without putting additional load on the devices and network. Failover takes slightly longer, as Tags must be subscribed and initialized.

The issue is that, once you create a redundant pair, one of the gateways will be “inactive” and it isn’t going to be able to write to devices, databases, etc… And your designer isn’t going to allow you to connect to the backup node while the master node is active.


You could get this to work if you implemented all of the functionality of the sub-system on the plant gateway. But then you would be running the sub-system from the plant-gateway during normal conditions.

1 Like

Yes, you are correct, the sub-system gateway has functionality that is not on your Plant the gateway.

And this is sounding like something that’s not going to work.