Appendix B: Cluster Installation and Configuration

Cluster Overview

Deploying Plant Applications in a clustered environment with Microsoft server failover cluster technology ensures the highest availability of the Plant Applications Server. For example, if the primary Plant Applications node in the cluster experiences difficulties, Plant Applications automatically starts on another node to take over. SQL Server, a historian, and the Plant Applications Web (Report) Server can also run as part of a cluster. Refer to Microsoft documentation for information to implement clustering for your particular environment.

System Requirements

To deploy Plant Applications in a clustered environment, you will need at least two cluster nodes. All the cluster nodes must be assigned to the same domain name, and must contain the following components:
  • Windows 2012 r2 server with the same service pack versions installed on them.
  • Feature Failover Clustering
  • An active Proficy license
  • Proficy Workflow
  • Plant Applications
  • iSCSI Target Server, serving as a remote drive for Plant Applications Buffer Files and Log Files

Deploy Plant Applications in a Clustered Environment

Before You Begin

Perform the following steps on each cluster node:
  • Access the iSCSI Initiator Properties window, and provide the address of an iSCSI target.
  • Create a storage for iSCSI by performing the following steps:
    1. Access the Failover Cluster Manager window, and then select the cluster node.
    2. Select Storage > Disks > Add Disk.
    3. Select iSCSI.
  • Create a Plant Applications role by performing the following steps:
    1. Access the Failover Cluster Manager window, and then select the cluster node.
    2. Select Roles > Create Role > Other Server.
    3. Set the NetBios name of the Plant Applications server.
    4. Right-click the shared drive, and then select Assign to Role > Pick PA Cluster role up.
  • Configure Workflow in a clustered environment by performing the steps provided in the following article: https://digitalsupport.ge.com/communities/en_US/Article/To-Build-Proficy-Workflow-Cluster
  • Configure the Proficy Certificate service by performing the following steps:
    1. Access the Proficy Certificate Properties window.
    2. Select General.
    3. From the services of type Generic Service, select Proficy Ceritificate.

Procedure

  1. Access the Add Roles and Features Wizard window, and then select Features.
  2. Expand Remote Server Administration Tools and then Feature Administration Tools.
  3. Select all the check boxes for Failover Clustering Tools.
  4. Create a Plant Applications resource type by accessing the Command Prompt and running the following commands:
    Regsvr32 "<Plant Applications installation folder>\Proficy Server\Server\PlantAppsResEx.dll" /s
    Cluster restype PlantAppsRes /create /dll:"<Plant Applications installation folder>\Proficy Server\Server\PlantAppsRes.dll" /type:PlantAppsRes /LooksAlive:5000 /IsAlive:30000
  5. Access the following file: <Plant Applications installation folder>\Proficy Server\Server\ClusterConfigurator.exe
    The Plant Applications Cluster Configurator window appears.
  6. Select Add resource to cluster, and then select Next.
    The New Resource window appears.
  7. In the Resource type and Group boxes, select Server and the cluster node, respectively, and then select Next.
    The Possible Owners window appears.
  8. Add the cluster nodes in the Available nodes section to the Possible owners section, and then select Next.
    The Advanced window appears.
  9. Select Restart > Affect the group, and then enter 3 and 900 in the Threshold and Period boxes, respectively.
  10. In the "Looks Alive" poll interval and "Is Alive" poll interval sections, select the Use value from resource type check boxes.
  11. Select Finished.
  12. Perform steps 1 through 11 for all the cluster nodes.

Results

Plant Applications is deployed on a clustered environment.

What To Do Next

  • For each cluster node, ensure that the following registry key is set to the Plant Applications Cluster NetBios name: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Proficy\Plant Applications\Proficy Server\LicenseMgrNode
  • Change the Plant Applications server name in the Microsoft SQL database to the Plant Applications cluster node name by running the following command: spSupport_UpdatePAServerReferences_Split <old server name> <Cluster NetBios name>
  • Change the path of the Plant Applications log files and buffer files to that of the cluster nodes shared drive by running the following commands:
    Select * from dbo.Site_Parameters where parm_id in (101, 102)
    Select * from dbo.User_Parameters where parm_id in (101, 102)
    
    Select * from dbo.Site_Parameters where parm_id in (101, 102)
    Select * from dbo.User_Parameters where parm_id in (101, 102)
    
    UPDATE Site_Parameters 
    SET Value = '<cluster node shared drive path to log files>'
    WHERE parm_id = 101
    
    UPDATE Site_Parameters 
    SET Value = '<cluster node shared drive path to buffer files>'
    WHERE parm_id = 102
    
    UPDATE User_Parameters 
    SET Value = '<cluster node shared drive path to log files>'
    WHERE parm_id = 101
    
    UPDATE User_Parameters 
    SET Value = '<cluster node shared drive path to buffer files>'
    WHERE parm_id = 102
    
  • Ensure that Plant Applications Manager does not control the Plant Applications services by running the following command:
    Update dbo.CXS_Service 
    Set Auto_Start = 0, Auto_Stop = 0, Restart_Non_Responding = 0
    where Service_Id between 2 and 25
    
  • Modify the following files to adjust route group and domain name to the cluster name and to adjust log files and buffer files path to a shared drive:
    • cmRtr.ini
    • PlantAppsMessaging.ini
    • cmConfigMgr.ini
    • Message.ini
  • Set the site parameter ClusteredSystem to true by running the following command:
    Select * from dbo.Parameters where Parm_Name like '%Cluster%'
    Select * from Site_Parameters where Parm_Id = 131
    
    Update Site_Parameters
    Set Value = 1
    Where Parm_Id = 131