Has anyone experimented with configuring the PI Analysis engine to run highly available other than by using Windows Clustering?
There is no other option than using windows cluster for AF Analysis. It does not support NLB like AF where both nodes can be active. Only one AF Analysis service can be active at a point in time. Therefore we can only use windows cluster for Analysis cluster
Request you to submit your feedback in User voice for multiple instances.
Multiple instances for Asset Analytics – User Feedback for OSIsoft Products and Services
Lal is correct there is no supported alternative then Windows Failover Clustering.
Are you running into issues you think an HA solution would help with?
I have seen the OSIsoft documentation that indicates that the only way to achieve high availability (or automatic failover) of the PI Analysis Service is to use Windows Clustering. We have managed to wean ourselves off of Windows Clustering and do not want to return to those dark days. I manage or assist with many PI systems at our company. Most of them only have a single PI Server, AF Server and SQL server with PI Analysis running on the AF server. We rely on good luck for high availability for those systems which works well most of the time. We only patch the servers when the associated equipment is off line.
But for our centralized PI System we have multiple redundant systems including four PI Analysis Services on four different machines in two different physical locations. Unfortunately, only one of them runs. And starting one of the others if the running one stops takes a significant effort. Typically it only stops once a month when we patch the server.
I am looking into rectifying that situation. One of the complications is that the PI Analysis service runs on our PI AF Servers. Our PI AF Servers are configured with SQL Server running in an "AlwaysOn" configuration so all of our AF Servers need to be behind a network load balancer. Neither the load balancer software (F5) nor OSIsoft provide any documentation on how to configure the AF servers to run in this configuration. And the PI Analysis service must connect to the AF system to work. BUT it looks like the Analysis is looking for the AF Server name not the AF Service name. When services are running behind a network load balancer it is the service that is "balanced" not the server!!! Our load balanced service name is not the name of any of the AF Servers. Requests for AF data sent to the load balancer are distributed among the servers in a "round robin" technique which is to say each request is sent to the next server sequentially without regard for the servers load.
The PI Analysis subsystem appears to use the AF Client connection configuration to connect to the AF service.
You can connect one PI Analysis Service to the Network Load Balanced PI AF Application service by specifying the load balancer's name in %PIHOME64%Analytics\PIAnalysisManager.exe.config. Just look for the "PISystem" key and replace the value with the load balancer's name. You could also uninstall the PI Analysis Service and reinstall it and specify the load balancer's name when prompted in the install kit.
You won't be able to connect multiple PI Analysis Service to the same logical PI AF Server.
The current setting in %PIHOME64%Analytics\PIAnalysisManager.exe.config is "." which is to say, "the current server". The point being that the setting is pointing to a server not a service! The setting in the AF Configuration database at OSIsoft|PIANO|AnalysisService|ServiceConfiguration is:
I tried changing this to the load balancer's name but that prevented the analysis system from running period.
My current configuration with "." set as the PI Analysis Manager hostname on both servers with the service set to "Manual" startup type and the AF Client connection on each server configured to connect to the local server name with the other server name and load balancer name in the alias allows me to stop the Analysis service on one server and start it on the other server with little or no loss of service.
There are still some things to do before I could consider this a reliable solution. But ultimately is should be more reliable that Windows Cluster servers.
We have a few customers that are currently using a similar "manual" fail over approach. I would strongly recommend against it as any information stored on disk won't be persisted. For example, as of version 2018 auto-backfilling will use the last execution time of each analysis to determine the auto-backfilling time range. In your case, if you manually failover, you may end up auto-backfilling a much longer period than necessary, it will fail if the last execution time is greater than 72 hours in the pass (default setting), meaning if your secondary service was not running for more than 72 hours there won't be any auto-backfilling, and if an analysis wasn't running the last time this secondary service was up, no auto-backfilling will occur.
This is one example, there are a few other points of failure. Bottom line is that we store run time information to disk that is needed for the PI Analysis Service to function properly. In a Windows Failover configuration, this run time info is stored in the Clustered Shared Volume which is accessible by all nodes in the cluster.
Another point is that this setup isn't supported. If you call into support for assistance and we determine that the issue is related to this unsupported setup, the first step we will suggest for you to do is to move back to a supported setup.
What issues were you running into with Windows Failover Clustering? Is the issue here that you want Asset Analytics on the same node as AF? Why not move Asset Analytics to a separate set of VMs, configure those in a Windows Failover Cluster? Let me know, I can help you out getting this to work in a cluster!
I am having a similar question/problem installing PI Analysis in a failover cluster. I have installed PI AF Service in a HA environment with F5 NLB. The NLB has a DNS that we use for AF clients to connect to the AF Server. That part is working (finally). Now, when I installed PI Analysis on the first node of the cluster using the DNS name of the NLB all is good. When I attempt to install PI Analysis on the second node of the Windows cluster I am greeted with the message below.
As you have mentioned above, "You won't be able to connect multiple PI Analysis Service to the same logical PI AF Server", So what is the proper mode of installing PI Analysis on two nodes to prepare for clustering? Do I check the box for "Use the PI Analysis Service from this installation instead" ?
I suspect I will have the same issue when installing Notifications in a Windows Failover cluster.
Thanks for your help.
It doesn't matter if you check that check box or not. You will need to go and manually edit the service configuration in the AF configuration database and specify the cluster name (or FQDN or IP) for the Hostname configuration parameter after the installation.
You can find the details here:
https://livelibrary.osisoft.com/LiveLibrary/content/en/server-v12/GUID-2A823A0E-DB9A-4CFF-823C-BAE825A834A0Hope this helps, Seb
Thanks Seb. That does help. I knew about the additional configuration after the install but was unsure how to proceed during the install when that message appeared. I mistakenly assumed that the install may fail.
Thanks for the good feedback, I'll let our documentation team know that the guide could be a little clearer to avoid any confusion.
Retrieving data ...