Skip to main content
Code42 Support

Archive maintenance

Available in:

  • CrashPlan PRO
    • Standard
    • Premium
    • Enterprise
Applies to:

Overview

Archive maintenance is a regularly scheduled task that runs on each backup destination. The purpose is to maintain archive integrity and optimize the size of the archives. When archive maintenance runs, it will:

  • Check backup archives for corrupted files and repair any detected corruption.
  • Prune file versions and remove deleted files according to the frequency and version settings.
  • Purge files that are no longer selected for backup.

Archive maintenance in depth

The major operations that archive maintenance performs are defined and described below.

Prune

Pruning is the process that removes files and versions as defined by the frequency and version settings.

prune

  Item Description
1 Block data files  Files stored in the archive as blocks of data.
2 Unused block data files Pruning marks blocks as unused. Think of these blocks as "holes" that still take up space in the block data file until they are compacted.

Compact

Compacting is the process that frees up space on the store point's file system after pruning.

compact

  Item Description
1 Unused block data files  Blocks marked as unused by the pruning process.
2 New block data file The storage server rewrites the relevant block data file and omits the "holes" described in the previous section. The new block data file is smaller than the original.

Validate and heal

Archive maintenance performs the critical task of validating the health of the backup archive and checking for data corruption.Validate and heal

  Item Description
1 Archive maintenance

The process of archive maintenance.

2 Validation If archive maintenance finds bad blocks of data, the destination self-heals the archive by re-requesting the affected data blocks from the source device.
3 Healing The source device sends new blocks of data to heal the archive.

Types of archive maintenance

The following table summarizes the differences between shallow and deep maintenance:

  Prunes files Validates files and heals corruption Verifies block checksums Compacts archives Resource intensive Default interval
Shallow maintenance Yes Yes No No No 7 days
Deep maintenance Yes Yes Yes Yes Yes 28 days

Shallow maintenance

During shallow maintenance, the process will:

  • Check for data corruption by making sure all files have valid versions and valid block lists.
  • Prune file versions and deleted files based on the device's frequency and version settings.
  • Prune deselected files and data excluded by file exclusions.

Shallow maintenance runs on an archive every seven days, or according to the configured schedule. The shallow maintenance interval is not configurable for cloud destinations.

Deep maintenance

During deep maintenance, the process will:

  • Check for data corruption by making sure all files have valid versions and valid block lists.
  • Prune file versions and deleted files based on the device's frequency and version settings.
  • Prune deselected files and data excluded by file exclusions.
  • Validate block checksums for the entire archive.
  • Compact archives to reclaim disk space.

Deep maintenance runs each time the last deep maintenance was more than 28 days ago, or if there is an error related to the archive. The deep maintenance interval is configurable only for 4.x clients using inbound backup.

Maintenance queue

All maintenance jobs get placed into a queue. This applies to shallow and deep maintenance jobs initiated by the user or the admin. You can view and cancel maintenance jobs under Settings > Archive maintenance queue.

Each server has two different maintenance queues—user and system:

  • User: Archive maintenance initiated by a user, either by clicking Compact in the 4.x Code42 app or Run maintenance in the 5.x and later Code42 app, or clicking Maintain archive from Device Details > Archive Action Menu in the administration console. All jobs in the user queue undergo deep maintenance.
  • System: Archive maintenance initiated by the system according to the configured maintenance interval, or in response to a detected error in the archive.

Both system and user maintenance queues display in the archive maintenance queue.

Add a job to the archive maintenance queue

Follow these steps to manually add a job to your archive maintenance queue from the administration console:

  1. Open the administration console.
  2. Go to Devices.
  3. Select the device for which you want to start archive maintenance.
  4. From the device details, select the Archive Options icon Archive Options.
  5. Select Maintain Archive...
    Your job is added to the queue.

Customize when maintenance occurs

Configure the shallow maintenance interval

In most environments, we recommend configuring the interval to seven days, which is the default. Archive maintenance is an I/O intensive operation, so a seven-day interval provides good distribution of work on the destination, while also validating the health of the backup archives at a reasonable interval. The shallow maintenance interval is not configurable for cloud destinations.

To configure shallow maintenance:

  1. Log in to the administration console.
  2. Go to Settings > Server.
  3. From the General section, change the setting for Maintain archives every to the desired value.

Configure archive maintenance for computer and local folder destinations (Code42 apps 4.x only)

In the Code42 app version 4.x, devices can be used as backup destinations (inbound backup is disabled in Code42 apps 5.x and later). For example, a user with both a desktop and a laptop could use the desktop as a destination for the laptop, and vice versa.

Local folder destinations can be any folder or directory located on any disk that is physically mounted on a device running the Code42 app. However, local folder destinations are generally located on an external hard drive, USB drive, or other large capacity external storage device.

Maintenance scheduling
Local folder backups cannot be scheduled separately from other inbound computer backups. If a computer is backing up to a folder location and also receiving backups from another computer, maintenance for both backups will run on the same schedule.

For computer-to-computer backup, perform the steps below for the destination computer. For local folder backups, perform these steps for the source computer.

To configure the maintenance interval from the Code42 app (4.x only):

  1. Open the Code42 app.
  2. Go to Settings > General > Inbound backup from other computers and click Enable.
    The Inbound Backup Settings dialog appears.
  3. Change the settings for Perform shallow maintenance every and Perform deep maintenance every.

To configure the maintenance interval from the administration console:

  1. Log in to the administration console.
  2. Navigate to the device you want to configure.
  3. Go to Action Menu > Edit > General.
    Ensure that Accept inbound backups is selected. (This setting applies to Code42 apps version 4.x only.)
  4. In the 4.x Code42 app, ensure that Inbound backup from other computers is enabled and that Perform shallow maintenance every and Perform deep maintenance every are set.

How long does it take to see an increase in free space?

If a user or admin deletes files or folders, or adds new file exclusions, the free space available on the store point does not increase immediately. A file scan verification must be run for the file exclusions to take effect, pruning must occur during maintenance, and a compaction must also occur.

For example, if you exclude all mp3 files from existing backups system wide, it may take up to a month before compaction removes all mp3 files from all backup archives. However, you will see increases in free space as backup archives undergo compaction during regular maintenance cycles. If you'd like the data removed sooner, you can trigger deep maintenance on individual archives from the device or from the console.

Performance considerations

Distribution of archive maintenance jobs

Each backup archive is on its own archive maintenance schedule. The destination distributes the workload so it does not process all maintenance jobs at once. For example, maintenance may begin on Wednesday at 4:09 pm on the archive associated with Joe's Macbook Pro, while maintenance for Michelle's Windows 8 desktop may begin Friday at 1:36 am.

Archive availability during maintenance

Backups and restores interrupt scheduled maintenance jobs. However, maintenance triggered by a user or admin, or triggered by the system due to an error, are not interrupted. Archives undergoing this type of maintenance are unavailable for restore until maintenance finishes. If maintenance is slow, check the Maintenance Rates:

  1. Go to Settings > Server > General.
  2. Click View next to Archive maintenance queue.
  3. From the action menu select Adjust Maintenance Rates.
  4. Move the slider controls to increase the priority given to user and system maintenance jobs, up to a maximum of 100 percent.

IOPS and disk I/O

  • Code42 for Enterprise requires fast disk I/O. You may see performance bottlenecks on network storage, such as a NAS or a SAN that is not fiber attached. Consider moving to storage devices with higher throughput and lower latency.
  • Triggered maintenance jobs and maintenance triggered by errors are always deep maintenance. Deep maintenance is more resource intensive than shallow maintenance.

Storage servers with multiple store points

The Code42 server runs one of each maintenance job type (system and user) on each store point simultaneously. Storage servers with multiple store points may therefore run more than two maintenance jobs at a time. For example, a storage server with four store points could run up to eight maintenance jobs simultaneously.

We recommend limiting the number of store points on each storage server, and taking into account the limitations of the hardware. Use destinations and organizations to assist in organizing users and archives, rather than using store points or storage servers.

Troubleshoot archive maintenance

The process of archive maintenance can have several effects on your backup. This section describes those effects as well as how to start archive maintenance.

Why is my backup not running?

You may receive a backup status report informing you that you have not backed up in several days, or you may notice an "Unable to backup: Archive is being maintained" message in the Code42 app. When archive maintenance runs on your backup archive, all backup activity stops until maintenance has completed. The amount of time required to run maintenance varies based on the size of your archive. Your backups will resume as soon as maintenance completes.

Why can't I restore files?

During the process of archive maintenance, access to the archive is restricted and restores from the Code42 app are disabled. If you begin a restore from the Code42 app while maintenance is running, the restore screen displays "Restore Pending." Once maintenance has completed, restores from the Code42 app are enabled and any pending restores will begin.

If you are trying to restore and cannot find a particular file, there may be an issue with your local Code42 app cache files, or the file may have been removed due to corruption.

What happened to my files?

As part of archive maintenance, files are scanned for corruption. When a corrupt file is detected, it is removed from the archive and is re-requested for backup. If the original file isn't available on the source machine when re-requested, the corrupted file is not recoverable.