You protect a large environment using Rapid Recovery 6.1.x You determine that although the efficiency of built in Rollup jobs has improved compared to previous versions, you still experience rollup performance issues. You have used the script attached either to KB205880 or KB137049 and you want a similar script for Rapid Recovery 6.1.x
To solve the issue, the following requirements have been drawn:
1. Instead of having a large rollup batch job running in succession for all protected agents, each agent will be rolled up separately.
2. If an agent to be subjected to a rollup job is already running a job which potentially may conflict with rollup jobs, the agent is skipped and the rollup job is attempted again at a later time.
3. The rollup job ends when all the agents have been rolled up.
To meet the requirements powershell script has been prepared.
The script does the following:
1. Disables nightly jobs rollups.
2. Disables the deferred deletes as a nightly job (if set so).
3. Identifies the repositories available to the core and creates a list of agents for each repository.
4. Eliminates agents that cannot be rolled up from the rollup pool. As such, recovery points only, agents with no recovery points, Clusters without cluster volumes (nodes are still rolled up) etc. are removed from the rollup pool.
5. Gets the date of the last rollup for each agent and the rollup list for each repository is sorted in such a way that agents that were rolled up the longest ago will be rolled up sooner.
5. Sets the maximum number of rollups to the number of repositories as rollups will be executed in parallel per repository.
6. Starts rollups one agent per repository at a time (for instance, if you have 3 repositories, you will have maximum 3 rollup jobs running at the same time, each on a separate repository)
7. If any job except those on a list (i.e. transfer) is performed at the time the rollup for a specific agent is attempted, the rollup is skipped and the agent kept in the "not yet rolled up" list.
8. Next rollup is started
5. The performed rollups are compared with the initial list and the skipped agents list when new rollups are initiated. Only agents that have not been already rolled up are considered.
The process continues until the rollups for all agents are finished. The number of rolled up agents and the ones still to be rolled up together with the progress of the current rollup job are shown periodically in the Powershell console.
If necessary to be run over extended periods of time, the script may run on a schedule using the Windows Task Scheduler.
KB147472 - How to use Windows Task Scheduler to run AppAssure PowerShell scripts for setting the task.
*Note: In rare instances the script may require modification to successfully run. Please use the KB below to accomplish.
KB228464 - Script does not complete - returns "Error: Exiting"
Please note that, for simplicity and based on experience, quite a few parameters present in the previous versions of the script have been removed.
The new script is attached to this KB
Disclaimer: This script is provided "as is" for the purpose of illustrating how RapidRecovery tasks may be performed in conjunction with Powershell. Quest Inc/RapidRecovery shall not be liable for any direct, indirect, incidental, consequential, or other damage alleged in connection with the furnishing or use of this script or of the principles it demonstrates.