Expiration and Purge

Expiration and purge work together to keep a certain number of restore points available for data recovery and to permanently delete eligible items from disk to manage available disk space.

Expire

An expiration policy is determined by the company's business requirements and answers the question, "How many backups in each archive must be available for data recovery, and how far back in time must they go?" Available disk space may not align with business requirements. The company's business requirements may require that a store's capacity be increased by expanding a volume, or that a second storage device be configured to hold a store with its own retention requirements. Select archives may require fewer restore points than others and use a shorter retention to reduce disk space usage. For example, database files typically require more disk space than file server files, and those archives may be set with shorter retention. Once the company's business requirements for retention have been identified, they may be set globally at the store level or individually at the archive level.

Daily, Weekly, Monthly, Quarterly and Yearly retention settings are set in the Store's properties page on the Expiration tab. 

The number of restore points thins out as the Daily setting is reached and the Weekly, Monthly, Quarterly and Yearly settings are applied. For example, once the 60 day Daily retention setting is applied, as illustrated in the image above, restore points older than 60 days are moved to the Recycle Bin, except for one end of week restore point going back 26 weeks. Weekly restore points older than 26 weeks are moved to the Recycle Bin except for an end of month restore point going back 12 months, and so on for the remaining Quarterly and Yearly settings.

In addition, a minimum number of restore points is kept regardless of the expiration settings, which is useful for inactive archives no longer generating new restore points. For example, the default setting of 10 keeps the last 10 restore points in inactive and active archives that the Expire task would otherwise eventually expire.

Restore points that do not match the retention criteria are moved to the store Recycle Bin when the Expire task runs. Expired restore points and deleted archives may be restored to the store prior to Purge task execution, but not after. Purge empties the Recycle Bin. The Expiration settings are applied each time the Expire task executes, either manually or on a schedule. 

Retention settings may be set on individual archives, on the Expiration tab of an archive's Properties page, overriding the store's settings.

Additional information about the Expire task

  • Adjustments to the expiration settings may be made and then tested by running the Expire task and reviewing the Recycle Bin contents. Refresh the view to see the current set of expired restore points. When Expire runs, restore points in the Recycle Bin are also checked and may be moved back to the store if they have not expired according to the new settings. This must be completed before the Purge task runs, however.
  • Expire will always keep at least one restore point, the latest restore point, in each archive.
  • Expired items do not appear in the Restore calendar.
  • An Expire task is created using the 'Create Store Task' action and normally would be scheduled to run prior to running purge. Otherwise, purge would not find items eligible for deletion.
  • Rather than Expire, consider deleting the archive from the store when the archive is no longer needed. After deletion, run the Purge task to recover disk space associated with the archive.

Purge

Purge builds an index of all items in the store's Common Content that are referenced by current restore points, and keeps those items. All other items in the store (that are not referenced in the index) are permanently deleted from the store's Common Content, recovering disk space. Purge also rebuilds each plan index to remove old entries. Purge may lock the store at certain stages. Protection plans that attempt to start while the store is locked will wait in a holding state until the store lock is released. Running protection plans will pause and wait, as well. 

A purge task is created using the 'Create Store Task' action and should be scheduled to run with a frequency that is least impactful on the system, for example, scheduling the Purge task to run on Saturdays is usually frequent enough. There is nothing to configure in the Purge task other than the schedule.

The order of operations is to run Expire first, then Purge. The Expire task applies expiration settings to the Archives, so the archives conform to the expiration settings (Daily, Weekly, Monthly Quarterly, Yearly retention). Expired restore points are removed from the archives. Then, purge runs against what is left in the archives.

Additional information about the Purge task

  • Purge may take considerable time to run. The number of files protected and the number of unexpired restore points in the store corresponds to the length of time required to purge, in addition to processor power, memory, and system resources.
  • In stores created with the 9.0 release, or that have been updated to the build 9.0 store layout, the Verify task improves Purge runtime performance. For best performance, run a Level 2 Verify task prior to the Purge task.
  • On stores of the same size, the Purge task will run more efficiently with a store on local disk, including ISCSI and SAN disks, as opposed to a store on a network share due to better I/O performance.
  • On stores of the same size, the Purge task will run more quickly on a store used to protect structured (Exchange, SQL) data than File Server file data.
  • You may recover less disk space than assumed because items from expired restore points may still be referenced in current restore points. Those items must be retained in the store's Common Content. Only unreferenced items compared against all current archive restore points are eligible for deletion.
  • Expiration keeps the last restore point in any archive, so you have to delete the archive entirely to purge the unreferenced baseline and delta data from that archive.

For steps to configure expiration and purge tasks, refer to How to Configure Expiration and Purge.