Creating a cluster of openPDC servers

I’m curious how others are going about creating a redundant cluster of openPDC instances. Our thought is to have multiple instances in some sort of fail over configuration so that a server can be brought down for maintenance without affecting our PMU data flow to our Transmission Provider. How are others accomplishing this in a Windows environment? Are you leveraging Microsoft Clustering with shared storage or is it possible to accomplish this in another way? Do you set up multiple streams of identical data and just rely on the recipient de-duplicating the events?

Great question - and there are many ways.

Of obvious concern for most companies is reducing the bandwidth requirements to the substation, so making sure only one instance is retrieving device data is a good first strategy.

From there you have options:

(1) Use Microsoft Failover Clustering, here only one machine is active with other(s) on standby - these machines will use shared storage where only the active machine will be writing to the drive.

(2) Use multiple simultaneous active instances (either as standalone machines or with Microsoft Load Balanced Clustering) such that only one of the machines, the “primary” is actively receiving data, with option to move this function to another server, and all other machines are receiving data their data from the primary system (such as via STTP/GEP) - this keep the bandwidth up in the control center environment and minimizes substation traffic to one connection.

(3) A hybrid approach, e.g., two control centers where each control center has a failover cluster and one control center acts as primary (i.e., the center querying the substation devices) and the other control center receives its data from primary - control center to control center data transfer. With this option you would have the ability to swap primary role to the other control center.

These are some common configurations - but you also may have questions about data storage too…



Thank you for your detailed response. This is exactly the kind of information I was looking for. You’re right about the storage as well. I’ll have to spend some time researching and weighing the options. What I’m taking away from your answer is that openPDC itself does not have any clustering capability inherent to the software itself. It has to be handle through outside solutions. Is that a fair summarization?


Well, through configuration you can do things like setup a primary, secondary, etc. server for data connections - but no “built-in” clustering options like moving the active service. We generally just use Windows deployment options for these kind of features.