Pulse Redundancy User Guide August 2014
Copyright The information in this document is subject to change without prior notice and does not represent a commitment on the part of AFCON Control and Automation Ltd., AFCON Software and Electronics Division. No part of this document may be used or reproduced in any manner whatsoever without written permission from AFCON Control and Automation Ltd., AFCON Software and Electronics Division. The software described in this document is furnished under a license agreement or a non-disclosure agreement. The software may be used or copied only in accordance with the terms of the agreement. It is against the law to copy this software on any other medium for any purpose other than the purchaser's personal use. Copyright 2014 AFCON Control and Automation Ltd., AFCON Software and Electronics Division. All rights reserved. Pulse logos are registered trademarks of AFCON Control and Automation Ltd., AFCON Software and Electronics Division. Windows is a registered trademark of Microsoft Corporation in the United States and other countries. Disclaimer ANTLR Notification and License Agreement (Legal Commitment) Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Table of Contents Pulse Redundancy... 1 Hot Redundancy... 2 Minimum System Requirements... 3 Redundancy Prerequisites... 3 Setting Up Hot Redundancy... 3 Defining the Redundancy Configuration... 4 General Redundancy Parameters... 6 Redundancy Project Synchronization Parameters... 8 Replicating/Synchronizing between Two Servers... 9 Redundancy without a VIP Address... 10 General Parameters for a Redundancy without a Virtual IP Address... 13 Redundancy Project Synchronization... 15 Replicating/Synchronizing between Two Servers... 16 Pulse Redundancy 1
Pulse Redundancy Redundancy is used in a Pulse network to ensure continuous uninterrupted operation if the main or active Pulse Server goes down. In such an instance, a Passive Server, which is running an identical copy of the project and collecting the same data as the previously active server, becomes the active server and all clients automatically connect to it. Pulse 3 has two Redundancy modes: Hot Redundancy - is a redundancy with a virtual IP address, it is when an Active server has an attached virtual IP address. Network clients connect to the server with the attached virtual IP address. Redundancy without a VIP Address - is a redundancy without a virtual IP address. When Pulse clients connect to one of the two running Pulse Server and in case of failure, the Active server client automatically connects to the second Pulse Server which becomes active. Pulse Redundancy 1
Hot Redundancy Use the Hot Redundancy mode to reduce the risk of data loss during the takeover phase of the Passive server and to ensure smooth and seamless transition between the servers. Network clients will note the transition when a Disconnect Network dialog box appears when the server is switched. Clients continue to work as usual without any interference. Further, using Hot Redundancy mode minimizes the system s vulnerability by requiring that only Read access permissions be assigned to shared folders. This is achieved by routing updates in only one direction, from the Active server to the Passive server and not viceversa. In Hot Redundancy, both servers are on-line simultaneously, each running a copy of the same Pulse project and each having a unique IP address. At any given moment, either server may function as Active while the other is in the Passive state. During runtime, the Active Pulse server performs all tasks including data publishing and data providing for all Pulse network stations. The Passive server collects real time data from the Active server and records data changes to its local history and alarm files, unless otherwise specified, (optionally enabling communication to the PLC from the Passive server). It does not publish the data to the clients. Periodically, the Passive server pulls the files from the Active server and updates the local application files. The Passive server is in standby mode, ready to take control if the active server goes down for any reason. Upon Active server failure, the Passive server recovers the virtual IP and becomes the active server. Network clients automatically connect to this new active server. During startup, each server polls all the files from the other server. According to the file time-stamps, one server has assumed the Active or Passive server role, with the other server assuming the opposite role. NOTE The Supreme Report database can be supported, only it requires a manual configuration (in the Project Synchronization tab in the Pulse Redundancy). The Event Manager database is not replicated in Hot Redundancy. Since clients on the Pulse network must believe that there is only one server in use, implementing Redundancy faces two main issues: Each computer is a separate node with a unique IP address. Clients can be configured to send data to one address only. The solution is creating a third (assumable) virtual IP address that is shared by both servers. By assuming the same virtual IP address, both the active and passive servers connect to the same data sources and collect the same data from them. The Active server assumes the virtual IP address. During failure, the virtual IP address is released and the second immediately assumes it, therefore switching from the passive state to the active Pulse server. Since only one server is functional at a given time, both servers are designated with an identical node number. Clients are all configured to only send data to this virtual IP address by referencing the shared node number. Pulse Redundancy 2
Minimum System Requirements The minimum system requirements for Hot Redundancy mode is: Operating system: Windows Server 2008 Standard Edition, 64-Bit For both server stations: Pulse SEK version 8.00 and up. Both require the same SEK configuration. NOTE Using the Hot Redundancy mode requires that both servers have the exact same hardware components. Redundancy Prerequisites Before setting-up the Pulse Redundancy, make sure that: You know that both Servers are providing the same service but one server will be Server 1 (Primary) and the other Server will be Server 2 (Secondary). The same version of Pulse is installed on both computers. Both computers are equipped with a Pulse Master SEK or a Master Registration key. You replicate the Project file and database so as to enable the sharing between both Servers. Both computers have been properly configured for Windows networking: The unique IP addresses for all network cards have been specified in the TCP/IP properties dialog box. The DNS, WINS, and DHCP services are installed. The paths for the locations of Pulse and the Pulse project files are identical on both computers. The folders for relevant files are enabled for sharing. You have decided on a virtual IP address. Most company's Intranet use a specific range of IP addresses. Choose any unused IP address from that range. Setting Up Hot Redundancy A client cannot connect to the server when the server cable is unplugged and redundancy is enabled. The client that runs on the disconnected server cannot connect to the server as well since its local server could not obtain a virtual IP. Failure to connect to the virtual IP can be an indication that the server started while the cable was unplugged. When the server starts and its cable is unplugged, the server does not support hot redundancy until the server is restarted while the cable is plugged. Pulse Redundancy 3
Defining the Redundancy Configuration In the Redundancy Editor, define your Pulse system s Redundancy configuration, which comprises the following sets of parameters: General Redundancy Parameters Redundancy Project Synchronization Parameters To define the Redundancy Configuration 1 In the AFCON Pulse Program Group s Development folder, double-click the Pulse Redundancy icon. The Pulse Redundancy Editor is displayed. Pulse Redundancy 4
2 Select the Enable Hot Redundancy checkbox to open the Redundancy settings. 3 Define the General Redundancy parameters. 4 Define the Redundancy Project Synchronization parameters. 5 Click Save to save the redundancy configuration. Pulse Redundancy 5
General Redundancy Parameters In the General tab, define redundancy options and IP addresses used in the redundancy configuration. Define the General Redundancy parameters as follows: General Settings Enable Hot Redundancy Enable Communication on Passive Server Enable the Passive Server to write to PLC Select this option to enable redundancy in your Pulse installation. Selected by default. This option enables the Passive server to communicate with the PLCs or network server. Deselecting this option disables all outbound communication from the Passive server and restricts communication to the Active server only. Make sure that the PLCs support concurrent connections before selecting this option. Selected by default. This option enables the Passive server to directly write to the PLC. Pulse Redundancy 6
Enable Editor Logging Checkbox option unselected by default. Select this checkbox option to enable recording of redundancy activity in the Redundancy Log. There are two redundancy logs, one for each server. New log files are created daily. Both logs are saved in the Pulse project Alarms folder as: YYMMDD_computer name_redun.log. For example: the log file of 2013 September 8th will be 130908_computer name_redun.log. Redundancy Mode Enable the active server to attach the Virtual IP to its network card IP address Checkbox option selected by default. This option enables Redundancy with a virtual IP (Hot Redundancy) The virtual IP address to be shared by both servers Subnet Mask Subnet mask for your network. The default is 255.255.0.0. Pulse servers are running in Web Configuration Set IP address used for TCP/IP communication Set IP address used for Project files synchronization Select this option if the Pulse installations are on Web servers. In this situation, the Virtual IP address needs to be assigned to a NAT router. Contact the System Administrator. Server #1, #2 - The IP addresses for both servers When synchronizing the project between the active and passive server, the files on Server #1 are the reference used to synchronize the project files on Server #2. Pulse Redundancy 7
Redundancy Project Synchronization Parameters In the Project Synchronization tab, define project replication and synchronization between the servers. Define the Project Synchronization parameters as follows: Synchronize project s database Synchronize every seconds Pulse project s share name on the other server Synchronize project s path and directories Project s paths to synchronize Synchronize files of type As a default this checkbox is not marked. This option checks and defines the synchronization between Server 1 and Server 2 s database. Specify the interval for running synchronization polling scans. You must enable sharing on the Pulse project in order to apply synchronization. Enter the project s share name on the passive server. To locate the project, click the Browse button. This option is selected as default. It enables synchronization of the entire Pulse project's files and sub-folders. Deselect it to specify paths and files for synchronization (making the following fields available). Choose the project name. Specify the file types (extensions) to synchronize. *.* denotes all files. Pulse Redundancy 8
Share name of the other server Add/update path Remove path Enter the project s share name on the passive server. Click this button to enter the synchronization parameters into the table. NOTE Parameters that are not displayed in the table will not be synchronized. Click this button to remove the synchronization parameters from the table. The table in the dialog box shows the synchronization information. Replicating/Synchronizing between Two Servers To ensure consistency between two Pulse servers, replication or synchronization of data is required. To replicate/synchronize between two Pulse servers, do the following: 1 Configure network sharing between the two servers. 2 Define the Pulse Redundancy Project Synchronization settings by clicking Start > Programs > AFCON Pulse > Development > Redundancy Editor and configuring the Project Synchronization tab. 3 Set the administrative privileges on the File Network Access Security Settings dialog box (Start > AFCON Pulse > Pulse Setup > Project > Configure File Access Security icon). 4 In the File Network Access Security Settings dialog box, select the This user option. 5 Enter a user name and password then select from the Domain drop-down list a domain that has a Read-only access for the shared Project folder on the other server. 6 Select the OK button. Pulse Redundancy 9
Redundancy without a VIP Address The Redundancy without a VIP mode is a redundancy where a Pulse Client can keep two unique IP addresses of two Pulse Servers. When working in a Redundancy mode where a virtual IP address is absent, both Pulse Servers run with a unique IP address in Active or Passive mode. The Pulse Client connects to the Active server and in case failure in the Active server, the Client connects to the second server which becomes active. In a Redundancy mode where there is no virtual IP address, both servers are on-line simultaneously, each running a copy of the same Pulse project and each having a unique IP address. At any given moment, either server may function as Active while the other is in the Passive state. During runtime, the Active Pulse server performs all tasks including data publishing and provides data for all Pulse network stations. The Passive server collects real time data from the Active server and records data changes to its local history and alarm files, unless otherwise specified, (optionally enabling communication to the PLC from the Passive server), it does not publish the data to the clients. Periodically, the Passive server pulls the files from the Active server and updates the local application files. The Passive server is in standby mode, ready to take control if the active server goes down for any reason. Upon Active server failure, the Passive server becomes the Active Server. Network clients automatically connect to this new Active server. During startup, each server polls all the files from the other server. According to the file time-stamps, one server has assumed the Active or Passive server role, with the other server assuming the opposite role. On startup, the Pulse server becomes active and the other Pulse server assumes the opposite (passive) role. Each Pulse server keeps two IP addresses; its own IP address and the second server s IP address. When the Pulse client connects to the Active server, the Pulse server provides the client the IP of the second Pulse server. Therefore, the Pulse client (in case of failure) the Active server is capable of connecting to the new active Pulse server. The Pulse client computer should be connected to two Pulse servers; an Active server and a Passive server. Both servers launch the Pulse client simultaneously. When both Pulse servers are running, one as Active and the other as Passive, the user launches to one of them through the Workstation. On the first connection, the Pulse server supports the IP address of both Pulse servers. If the Pulse server, to which the user is trying to connect, is active then the Pulse client connects them and operates normally. If the Pulse server is passive, the client obtains information about the IP of the second Pulse server and then connects to the Active server. This procedure takes place only in the first connection of the Pulse client. The switches in the Pulse server occur automatically up to the next time the Pulse client closes. Pulse Redundancy 10
To define the Redundancy Configuration 1 In the AFCON Pulse Program Group s Development folder, double-click then Pulse Redundancy icon. The Redundancy Editor is displayed. Pulse Redundancy 11
2 Select the Enable Hot Redundancy checkbox to open the Redundancy settings. 3 Define the General Redundancy parameters. 4 Define the Redundancy Project Synchronization parameters. 5 Click Save to save the redundancy configuration. Pulse Redundancy 12
General Parameters for a Redundancy without a Virtual IP Address In the General tab, define redundancy options and IP addresses used in the redundancy configuration. Define the General Redundancy parameters as follows: General Settings Enable Hot Redundancy Enable Communication on Passive Server Enable the Passive Server to write to PLC Select this option to enable redundancy in your Pulse installation. Selected by default. This option enables the Passive server to communicate with the PLCs or network server. Deselecting this option disables all outbound communication from the Passive server and restricts communication to the Active server only. Make sure that the PLCs support concurrent connections before selecting this option. Selected by default. This option enables the Passive server to directly write to the PLC. Pulse Redundancy 13
Enable Editor Logging Checkbox option unselected by default. Select this checkbox option to enable recording of redundancy activity in the Redundancy Log. There are two redundancy logs, one for each server. New log files are created daily. Both logs are saved in the Pulse project Alarms folder as: YYMMDD_computer name_redun.log. For example: the log file of 2013 September 8th will be 130908_computer name_redun.log. Redundancy Mode Enable the active server to attach the Virtual IP to its network card IP address Checkbox option selected by default. In a Redundancy where a virtual IP address does not exist, click to deselect the checkbox option. The virtual IP address to be shared by both servers Subnet Mask Subnet mask for your network. The default is 255.255.0.0. Pulse servers are running in Web Configuration Set IP address used for TCP/IP communication Set IP address used for Project files synchronization Select this option if the Pulse installations are on Web servers. In this situation, the Virtual IP address needs to be assigned to a NAT router. Contact the System Administrator. Server #1, #2 - The IP addresses for both servers When synchronizing the project between the active and passive server, the files on Server #1 are the reference used to synchronize the project files on Server #2. Pulse Redundancy 14
Redundancy Project Synchronization In the Project Synchronization tab, define project replication and synchronization between the servers. Define the Project Synchronization parameters as follows: Synchronize project s database Synchronize every seconds Pulse project s share name on the other server Synchronize project s path and directories Project s paths to synchronize Synchronize files of type As a default this checkbox is not marked. This option checks and defines the synchronization between Server 1 and Server 2 s database. Specify the interval for running synchronization polling scans. You must enable sharing on the Pulse project in order to apply synchronization. Enter the project s share name on the passive server. To locate the project, click the Browse button. This option is selected as default. It enables synchronization of the entire Pulse project's files and sub-folders. Deselect it to specify paths and files for synchronization (making the following fields available). Choose the project name. Specify the file types (extensions) to synchronize. *.* denotes all files. Pulse Redundancy 15
Share name of the other server Add/update path Remove path Enter the project s share name on the passive server. Click this button to enter the synchronization parameters into the table. NOTE Parameters that are not displayed in the table will not be synchronized. Click this button to remove the synchronization parameters from the table. The table in the dialog box shows the synchronization information. Replicating/Synchronizing between Two Servers To ensure consistency between two Pulse servers, replication or synchronization of data is required. To replicate/synchronize between two Pulse servers, do the following: 1 Configure network sharing between the two servers. 2 Define the Pulse Redundancy Project Synchronization settings by clicking Start > Programs > AFCON Pulse > Development > Redundancy Editor and configuring the Project Synchronization tab. 3 Set the administrative privileges on the File Network Access Security Settings dialog box (Start > AFCON Pulse > Pulse Setup > Project > Configure File Access Security icon). 4 In the File Network Access Security Settings dialog box, select the This user option. 5 Enter a user name and password then select from the Domain drop-down list a domain that has a Read-only access for the shared Project folder on the other server. 6 Select the OK button. Pulse Redundancy 16