This knowledgebase article describes best practices for integrating Neverfail Heartbeat V4.6 or later with Microsoft Windows (x86 and x64) NTBackup.
The following issues are addressed:
- Install and post-install
- Configuring NTBackup
- Performing backup/restore jobs
- Known issues
If you intend to have backup jobs running on both servers, Neverfail recommends the configuration of backup software before installing Heartbeat, since this will eliminate the need to repeat some of the configuration steps on the Secondary server. You must also make sure that the Secondary server’s backup hardware is similar to that of the Primary server (both in geometry and configuration) and that there is no difference between the two servers in terms of how the operating system sees the backup hardware, if you want that jobs configured on the Primary server to execute successfully on the Secondary. As an example, each server might have an external HDD attached: the HDDs must have the same size (at a minimum, they should have enough space to ensure backup jobs can run properly, irrespective of the server identity), and the same drive letter assigned to them.
Install and Post-Install
Make sure that no backups are performed during the installation of Neverfail Heartbeat.
- Configuring NTBackup
Caution: While the current configuration of the backup software will be replicated from the Primary server to the Secondary server during the installation of Neverfail Heartbeat, future changes to the configuration will usually not be replicated. It is therefore the Administrator's responsibility to maintain configuration changes between the two servers, so that the backup jobs will run successfully on the active server, be it Primary or Secondary. Documenting changes made to the configuration on the Primary server would be a useful way to maintain this information.
- Jobs performed on the active server may use any backup method.
- Jobs performed on the passive server must not change the contents of the files being backed up. For this, the ‘Copy’ method must be used when backing up files.
- After installing Heartbeat, please reconfigure any previously scheduled jobs on the Secondary server so that identical jobs are not executed at the same time on both servers.
NOTE: Scheduled jobs are performed with the help of the Task Scheduler service. When installing some AMs (e.g. Exchange AM, SQL Server AM, IIS Server AM), the Task Scheduler service may be included in the corresponding AM’s start/stop scripts. This means that this service will be stopped on the passive server and therefore no scheduled backup jobs will be performed on that server while passive.
If the Task Scheduler service is NOT included in the start/stop scripts of any AM, (this can be checked with each AM using the advice in section 3. below), in order for the scheduled jobs to be correctly executed, you must choose between two approaches:
- Configure scheduled backup jobs to use the ‘Copy’ method only. This allows jobs to be performed irrespective of the server role.
- On both servers: set the ‘Task Scheduler’ service to manual and include it in the start/stop scripts of one of the AMs (please see section 3. below for advice on how to do this). This will ensure that backup jobs will be performed on the active server only; in which case any backup method can be chosen.
Following the configuration of backup software on each server, you should test that all backup jobs are performed successfully. In order to do so, you may need to perform a switchover, test the backup software on the newly active server, and then switchback to the original configuration.
This section explains how to locate and edit the start/stop scripts. When editing the scripts, double-check all changes since they will have a direct impact on the status of both backup software and protected applications.
The start (start.bat) and stop (stop.bat) scripts for each application module can be found in the %install_dir%\R2\Scripts\%application%\ folder, where %application% is the name of any protected application (e.g. FileServer, SQLServer).
When editing a start script, the command controlling the 'Task Scheduler' service must be included after all other commands controlling protected services. When editing a stop script, the command controlling 'Task Scheduler' must be included immediately before the commands controlling protected services. You must use the name “Schedule” (the service name, not the display name) when referring to this service in the start/stop scripts.
The start script should contain:
NfNet Start "Schedule" /R || set FAILED=1
The stop script should contain:
NfNet Stop "Schedule" /R || set FAILED=1
It does not matter which set of start and stop scripts will include this service (i.e. you can add it to the start/stop scripts for the SQL Server AM, or the FileServer AM, or the Exchange AM, etc.), unless there are logical dependencies (e.g. you backup SQL Server data, so it should be started after SQL Server is started, or you backup Exchange data, so it should be started after Exchange is started), in which case you should take them into account.
- Backup jobs should be configured so that they do not overlap with Neverfail Heartbeat tasks (for example, DRM shadow creation, Rollback operations, or Full System Checks).
Please ensure that you exclude the following directory from any backup
%install_dir%\R2\log (including subdirectories)
- Please avoid scheduling a backup job during a Full System Check. Competition for file access between Neverfail Heartbeat and NTBackup will significantly increase the durations of both the backup job and the Full System Check task. This is especially important in environments with large databases (Exchange or SQL Server) where the time required to backup data is considerable.
- Protected locations must not be configured as backup destinations.
- Any restore should be performed under careful supervision of a system administrator.
Restores must take place on the active server only. Neverfail Heartbeat
should be stopped before performing any restore.
If prompted, reboot the machine in order to complete the restore.
DO NOT start Heartbeat on the passive server yet. You now have the opportunity to examine the restored data (on the active server) without it being replicated:
- If, for any reason, you do not want to keep the restored data, you have the option to shutdown Heartbeat on the active server (if it is running), manually switch the roles of the servers (using the Configure Server wizard), and then start Heartbeat and replication on both servers. This will bring the data on the server pair back to the state it was before the restore. Once the servers are synchronized, you can switchover to the pre-restore server pair configuration.
If you want to continue using the restored data, simply start Heartbeat
on the active (if required) and passive servers and allow the pair
to get in synch.
- When restoring system state, service state, registry data, or any other selection containing the Neverfail installation folder, or folders which are vital to the operating system (for example, the Windows installation directory), a reboot is usually required. Following the reboot, Neverfail may detect an unclean shutdown, set the server role to passive, and not start – there will be two passive servers. Please refer to Knowledgebase article #984 - 'Resolve Two Passive Servers', for advice on how to resolve this situation.
Also, there must be no cross-restores of such selections. A cross-restore is the restoration of data, which was backed up on one server in the server pair, and is restored on the other server.
Both Neverfail Heartbeat task times and backup jobs times will increase significantly when these tasks overlap and the overall performance of the server pair may be degraded.
Following any switchover or failover, it is recommended that you check the correct operation of NTBackup on the server pair (especially on the active server), by examining the status of scheduled jobs and backup devices, and any settings which impact the execution of backup jobs.
Neverfail Heartbeat V4.6 or Later