Leveraging Snapshots on APFS Volumes

This documentation is for an older version of CCC. You can find the latest version here.
Last updated on January 18, 2024

Watch a video of this tutorial on YouTube

What is a snapshot?

Snapshots are a new feature of Apple's APFS filesystem, and they're available on macOS High Sierra and later. A snapshot is a point-in-time representation of a volume on your hard drive. Once the snapshot is taken, each file within that snapshot will be available on the snapshot in its exact state at the moment that the snapshot was taken, even if you delete the file. When you configure CCC to make regular snapshots of your APFS-formatted volumes, you can quickly restore older versions of your files.

Note: Snapshots are only available for APFS-formatted volumes on macOS High Sierra and later.

The Role of Snapshots in a Comprehensive Data Protection Strategy

There are several aspects of data protection that a backup aims to provide. Protection against:

  • Accidental file deletion or modification
  • Malicious file modification (e.g. malware/ransomware)
  • An OS or software update that causes functionality regressions
  • Hard drive failure
  • Computer theft
  • Catastrophic loss (e.g. tornado, hurricane, flood -- loss of both original and backups)

Support for snapshots at the filesystem level is an important and integral component of a backup strategy, but snapshots are not a complete replacement for a true backup on physically separate hardware. If your startup disk fails, all the snapshots in the world aren't going to help you restore your startup disk and data. Having a backup on an external disk will get you back to work immediately.

 
Snapshots
External Backup
Backup to Remote Macintosh
Accidental file deletion
Malware/ransomware
Bad OS update
 
 
Hard drive failure
 
Theft
 
Catastrophic loss
 
 

When you develop your backup strategy, consider all of the possible risks to your data and decide whether and how you will mitigate those risks. At minimum, we recommend regularly scheduled backups to a locally-attached hard drive. With a regularly scheduled backup, you will have very good protection against the most common risks to your data.

Using snapshots in CCC

When you select an APFS volume on an SSD device as a source† or destination to a CCC backup task, CCC will automatically enable snapshot support on that volume and set a default Snapshot Retention Policy for that volume. For basic snapshot support, you don't need to configure any settings; CCC will automatically manage your snapshots using a sensible set of defaults.

† CCC will not automatically enable snapshot support on the startup disk. If you would like to use storage on your startup disk for snapshots, you can manually enable snapshot support for that volume.

APFS and snapshots on rotational HDD devices

CCC will only automatically enable snapshot support on an APFS volume backed by a Solid State Device, and only when CCC can determine that the device is a Solid State Device — that assessment is often not possible on external devices. If you are encountering poor performance on an APFS-formatted HDD device, we recommend that you disable snapshot support on that volume and delete any snapshots that are on that volume. We also recommend that you consider purchasing an SSD for making bootable backups of your startup disk.

Snapshots on the source

Maintaining snapshots on the source volume offers protection against accidental file deletion and modification. When snapshots are kept on the source volume, you don't need your backup volume to recover accidentally-deleted files. Retaining snapshots will increase disk usage over time, however, so we recommend limiting retention of snapshots on the source. This recommendation is specifically imposed by CCC upon the startup disk. Additionally, please keep in mind when developing your snapshot retention strategy that Apple's Installer may delete all snapshots from the startup disk when applying updates or major OS upgrades. Snapshots are not a permanent data storage strategy.

When your backup tasks run, CCC will automatically create a snapshot on an eligible source volume and use that snapshot as the source for the backup task. Because the snapshot is mounted read-only, changes that you make to files while the backup task runs won't cause errors during the backup task — you'll get a true point-in-time backup of your data. If you have snapshots disabled for the source volume (see more on how to do that below), CCC will automatically remove the temporary source snapshot at the end of the backup task.

macOS Catalina and later: CCC won't create snapshots on the source System volume in an APFS volume group. These volumes are already read-only so a snapshot is not required. This exception only applies to the special System volume in the source volume group, not to the Data volume. Snapshot creation and retention on the source Data volume follows your Snapshot Retention Policy.

Snapshots on the destination

If you have CCC's SafetyNet feature enabled, CCC will create a SafetyNet Snapshot of the destination at the beginning of the backup task. CCC will then thin snapshots on the destination according to the Snapshot Retention Policy defined for that volume. At the end of the backup task, CCC will create another "Backup Snapshot" that defines the point-in-time backup for that backup task event.

Toggling snapshot support and setting a Snapshot Retention Policy

CCC considers snapshot support on an individual volume basis. Snapshot support is automatically enabled for a volume when you select that volume (or a folder on that volume) as a source or destination to a CCC backup task. If you prefer that CCC does not automatically enable snapshot support for source and destination volumes, you can disable that behavior in CCC's Preferences window.

To view or change a volume's snapshot support or retention policy, reveal CCC's sidebar, then click on the volume in CCC's sidebar. CCC will list any snapshots currently present on the volume and will display the retention policy for that volume. Remember that snapshot support is limited to APFS volumes. If you select a non-APFS formatted volume in CCC's sidebar, you won't see any snapshot settings.

Toggling snapshots and setting a retention policy

Default retention policy settings

  • SafetyNet snapshots will be retained for 7 days†
  • Weekly snapshots will be retained until free space is constrained†
  • Daily snapshots will be retained for 30 days†
  • Hourly snapshots will be retained for 24 hours
  • The oldest snapshots will be deleted when free space is less than 30GB

† CCC applies a more conservative retention policy for the startup disk — SafetyNet snapshots are retained for 3 days, weekly snapshots are not retained, and daily snapshots are only retained for 3 days. You can customize those settings if you want a longer retention for snapshots on the startup disk, but be sure to consider the implications this will have on disk usage on your startup disk.

CCC will thin snapshots at the beginning of the backup task, and any time during the backup task if free space becomes constrained (on a destination volume). The retention policy is evaluated in the order listed above, but any snapshot may be deleted if doing so is required to achieve the specified free space limit. The only exception to that is for any snapshots created by other applications, and the snapshot created during the current backup task – CCC will not remove the SafetyNet snapshot that was created at the beginning of the current backup task.

Volume Group Snapshot Retention Policy

Volume groups are handled by a single snapshot retention policy per group. The settings for the policy can be edited when viewing the Data member of the group. CCC will only create snapshots on a destination System volume when changes have been made to the source (i.e. when you apply system updates), and only on macOS Catalina. As such, time-based retention of System volume snapshots is not very applicable. Instead, CCC will retain every snapshot of System volumes and will only remove System snapshots when the free space limit of the retention policy is exceeded.

Snapshots created by other applications

During snapshot thinning, CCC will never delete snapshots created by other applications. If you would like to remove snapshots created by another application, click on the relevant volume in CCC's sidebar, select the snapshots you would like to remove, then press the Delete key.

CCC's snapshot retention policy is only applied when snapshots are enabled for that volume

If you disable CCC snapshot support for a volume that contains previously-created CCC snapshots, CCC will not perform automated snapshot thinning on that volume. When you disable snapshot support, you are welcome to delete the snapshots listed above the snapshot toggle button. Simply select one or more snapshots listed in the table then press the Delete key.

The snapshot retention policy defines which snapshots will be retained, not when they will be created

CCC creates snapshots when your backup tasks run, and only when your backup tasks run. CCC will never create snapshots outside of a scheduled or manually-run backup task. As such, a retention policy that saves "up to one snapshot per hour for 24 hours" does not imply that you will have 24 snapshots for the last day. If you have a backup task configured to run only on a daily basis, you should expect to see only one snapshot for the source and destination volumes. If you want to have hourly snapshots, be sure to configure your backup task to run on an hourly basis.

CCC will override your free space limit if that's required to complete a backup

The default free space limit of 30GB will generally ensure that CCC can write 30GB of data to your destination volume during each backup task. If CCC finds more than 30GB of data to copy and runs out of room on the destination, it will remove additional snapshots during the backup task to free additional space. When this "emergency" thinning takes place, CCC will add a notification to your backup task event (in the Task History window), suggesting that you review the Snapshot Retention Policy for your destination volume.

To review the Snapshot Retention Policy: Click on the destination volume in CCC's sidebar, then click on the Customize button to customize the retention policy settings. The specific setting that you should consider changing is the one labeled "Delete the oldest snapshots when free space is less than xx GB". When reviewing the free space limit, consider whether your backup tasks generally copy more than 30GB (you can make that assessment in CCC's Task History window). Specify a value that will leave enough space to accommodate the amount of data that usually gets copied to the destination to avoid the emergency thinning and associated notification.

If you notice that your backup task is suddenly copying a lot more data than usual, please take a moment to look for potential problems. For example, if you have more than one backup task backing up different sources to the same destination, those tasks may be conflicting, removing each others' files. You should also determine if disk usage on the destination is unusually high compared to the source (excluding snapshot disk usage). If the disk usage looks suspicious, or if the amount of data that CCC is copying is difficult to explain, please don't hesitate to contact us for an additional review of your setup.

SafetyNet snapshots vs. Backup snapshots

SafetyNet is a feature unique to CCC that aims to protect data on your destination volume. Suppose, for example, that you have three volumes: Macintosh HD, Backup, and Photos. If you created a backup task and accidentally selected the Photos volume as your destination, most cloning applications would simply erase the destination or delete the files on that volume, with no recourse! With SafetyNet enabled, CCC benevolently retains those items on the destination, but cordons them off to a separate folder so you can recover them later if necessary.

On a snapshot-enabled volume, the SafetyNet is now implemented as a pre-flight snapshot. Before CCC makes any changes to the destination, it will create a "SafetyNet Snapshot" of the destination. Then the task will proceed in the normal manner, copying files from the source to the destination. If you later realize that you had configured the task with the wrong destination, or that you had placed files on the destination volume and they're missing after running your backup task, you can restore those items to the destination from the SafetyNet Snapshot.

At the end of the backup task, CCC will create a second snapshot; a "Backup Snapshot". This second snapshot represents the state of the source for the current backup event. If you ever wanted to restore data back to the original source or to a replacement disk (e.g. because the source disk failed), you would use a Backup Snapshot to restore that data. This is a very important point: you generally will never use a SafetyNet snapshot to restore data back to the original source. SafetyNet Snapshots are used to restore files that were errantly deleted or modified on the destination.

Summarizing, keep these two points in mind:

  • SafetyNet Snapshot icon SafetyNet Snapshots allow you to recover files on the destination that were unrelated to your backup task
  • Backup Snapshot icon Backup Snapshots give you point-in-time restores of the data from your source volume

Do I need SafetyNet? Can I turn it off, or limit the amount of space it uses?

SafetyNet snapshots offer protection from configuration mistakes, e.g. selecting the wrong destination, or using the destination to store files that are not related to the backup task. Because these snapshots have a different purpose, they are managed by a separate retention policy. By default, CCC will remove SafetyNet Snapshots that are more than one week old. If your destination volume is dedicated to your backup task and you never store other files on that volume, then you can reduce the SafetyNet retention value (e.g. to one or two days).

If you're very confident in your tasks' configurations, and your destination is dedicated to the backup task, and your destination does not have a lot of overhead, you can also choose to disable SafetyNet. You can either disable SafetyNet on a per-task basis, or, what we recommend instead, you can set the SafetyNet retention value for your destination volume to zero. With that setting, CCC will still create a SafetyNet snapshot at the beginning of the task, but it will remove all previously-created SafetyNet Snapshots at the beginning of the next task. This configuration gives you a modicum of protection from configuration errors without consuming a lot of extra space on your destination disk.

SafetyNet is a safety mechanism, it's not a strategy for retaining other stuff on your backup volume

Wearing a seatbelt doesn't make it OK to drive into a wall every day. Your backup volume should be dedicated to your backup task. If you want to take advantage of some extra space on your backup disk, you should add a volume to that disk specifically for storing the other data. That other volume will be outside of CCC's purview, thus protected from any unintentional alterations. Open Disk Utility and select your backup disk, then choose Add an APFS Volume... from the Edit menu to add a volume to your backup disk.

Mounting and browsing the contents of a snapshot

If you would like to browse the contents of a snapshot, select that snapshot in the snapshots table, then right-click and choose the Browse in Finder option. Or, simply double-click on the snapshot. You may then browse the contents of that snapshot in the customary manner in the Finder. The snapshot is mounted read-only, so it is impossible for you to make any harmful modifications to the snapshot. If you would like to restore a single item, you can simply drag the item from the snapshot to wherever you want to restore it to. When a snapshot is mounted, the creator icon of the snapshot in the Snapshots table will have a green dot to indicate that it is mounted.

Use the contextual menu to mount and browse snapshots

Note: Neither the Finder nor Disk Utility shows mounted snapshots by default, so you cannot typically unmount a snapshot in those applications. CCC will indicate when a snapshot is mounted by placing a small green dot on the snapshot creator icon in the snapshots table. You can right-click on a mounted snapshot in CCC and choose the Unmount option to manually unmount a snapshot. For your convenience, however, CCC will automatically unmount any snapshots that it mounted when you quit CCC.

Restoring from a snapshot

CCC offers two methods to restore from a snapshot. The simplest method is to start from CCC's Disk Center:

  1. Click on a volume in CCC's sidebar to view a list of snapshots available on that volume
  2. Select an individual snapshot
  3. Click on the Restore... button

CCC will create a new Restore task, mount the snapshot and select it as the source for the backup task. If the selected snapshot was a SafetyNet snapshot, CCC will select the original destination volume as the destination. If the selected snapshot was a Backup snapshot created by CCC, CCC will select the original source volume as the destination. If the selected snapshot was not created by CCC, click on the Destination selector to choose a destination for the restore task. You may also choose to limit the restore task to a specific set of files and folders.

You can also select a snapshot when configuring a restore task manually:

  1. Create a new task
  2. Select the volume containing the snapshot as the source
  3. Click on the source selector and select a specific snapshot from the contextual menu

Restoring from a snapshot

Restoring system files to your startup disk (High Sierra and Mojave only)

macOS does not allow you to modify the operating system while you are booted from it. If you would like to restore your OS from an earlier snapshot, boot your Mac from your CCC backup volume, then you can proceed to restore from a snapshot.

Restoring an APFS volume group from a pair of snapshots (macOS Catalina only)

This procedure is not available on macOS Big Sur – Apple does not accommodate the restoring of macOS Big Sur from a snapshot..

Apple introduced the concept of volume groups in macOS Catalina. A volume group consists of a pair of volumes; one volume contains the operating system files, the other contains your data. CCC will retain a single snapshot of each OS version on your destination's System volume, and will retain snapshots of your Data volume according to your snapshot retention policy for the destination. When listing snapshots, CCC indicates the OS version and build number that was current when the snapshot was created.

To restore an APFS volume group from snapshots, you will perform two separate restore tasks. First, select a snapshot on your backup disk's Data volume, click the "Restore" button, then proceed to restore that snapshot to an APFS-formatted destination. Second, select a snapshot on your backup disk's System volume, click the "Restore" button, then proceed to restore that snapshot to the same APFS-formatted destination. CCC will automatically create a volume group on the destination and handle the logistics of restoring each snapshot to the correct volume on the destination.

  • You may restore System and Data snapshots that are associated with different OS versions, but we don't yet know the implications of mixing these. When possible, restore System and Data snapshots with matching OS versions.
  • CCC can identify whether the source snapshot is a System or Data volume snapshot, and will handle the logistics of restoring each to the correct volume on the destination. You don't have to take any special steps to direct the snapshots to the right location, simply select the volume that you want to restore to.

Restoring files to your destination from a SafetyNet Snapshot

SafetyNet is a mechanism that is designed to protect files on your destination volume from accidental deletion. If you errantly selected the wrong volume as a destination, or if you were storing files on your destination that were unrelated to the source data set and you're now missing those files, you can restore those files to your destination from a SafetyNet Snapshot.

  1. Open CCC and select the affected destination volume from CCC's sidebar.
  2. Select the applicable SafetyNet Snapshot in the snapshots table.
  3. Click the Restore... button.
  4. Verify the settings of the task that CCC creates for you, then click the Clone button.

When you proceed with this restore task, CCC will copy the files from the snapshot back to your selected destination. Keep in mind that CCC cannot delete the snapshot that holds the files that you're restoring prior to restoring those files to the destination. As a result, the destination must have enough additional free space to accommodate a copy of all of the files that you're restoring. In some cases, it may not be practical to restore files back to the original destination, you may need to recover them to another disk first.

Related resources:

CCC snapshots vs. Time Machine snapshots

CCC and Time Machine are both capable of creating snapshots on a given APFS volume. The snapshots that are created by each are exactly comparable – there's no technical difference between a snapshot created by CCC vs. a snapshot created by Time Machine. If you enable Time Machine and you do not specifically exclude your CCC source or backup volume from Time Machine's purview, Time Machine will automatically create and delete its own snapshots on those volumes. CCC is ambivalent about the snapshots that it presents for restoring, so it is acceptable to allow Time Machine to create snapshots on your CCC source and destination volumes.

However, you should carefully consider whether you want to allow both CCC and Time Machine to create snapshots on any given volume. Redundant snapshots managed by different retention policies is not harmful, but will probably result in a less effective retention schedule. Time Machine only retains snapshots for 24 hours, though, so the concern is only applicable to one day's worth of snapshots.

Disabling Time Machine snapshots for an individual volume

Many users find that snapshots are still created on a volume even after disabling snapshot support within CCC for that volume. Disabling snapshot support only affects CCC's creation and removal of snapshots from that volume, it does not affect Time Machine. CCC's snapshot list will indicate the icon of the application that created the snapshot:

  • CCC Snapshot icon Snapshot created by Carbon Copy Cloner
  • Time Machine Snapshot icon Snapshot created by Time Machine

If you would like to prevent Time Machine from creating snapshots on a given volume, you can exclude that volume from Time Machine:

  1. Open the System Preferences application
  2. Open the Time Machine Preference Pane
  3. Click on the Options... button at the bottom of the window
  4. Click the + button and select the volume you would like to exclude

 

Snapshots and space concerns; Deleting snapshots

Initially, snapshots do not inherently consume space. When you create a snapshot, the disk usage on the volume containing the snapshot remains unchanged. However, because the snapshot retains references to every file on the volume, space is not freed when you delete a file. Suppose you have a 100GB hard drive with 80GB of content. You create a snapshot, then move 20GB of files to the Trash and empty the Trash. The resulting disk usage is still 80GB. That 20GB of space is not freed until the snapshot is deleted.

This free space behavior is an important factor to consider when you decide whether to enable snapshots for any particular volume, including your startup disk. If you have a hard drive that is particularly full, then maintaining snapshots on that volume may not be a practical solution. In contrast to Time Machine, CCC offers a lot of flexibility in whether snapshots are enabled for a particular volume, and how those snapshots are maintained over time. Additionally, CCC allows you to find and delete specific snapshots with ease. Simply click on a snapshot in the Snapshots table, then press the Delete key to delete that snapshot.

Note: Finder and Get Info windows don't include local snapshots in their calculations of the storage space available on a volume. If you would like to see the amount of space consumed by snapshots on any particular volume, select that volume in CCC's sidebar. The disk usage indicator will show the percentage of space consumed by snapshots, and the snapshots table will indicate the size of each snapshot on the volume. Calculating the size of snapshots is complex and dynamic – as you delete snapshots, the space consumed by adjacent snapshots may change as those snapshots become the last reference holder for files on the disk. This is normal. Also, note that the size of the snapshot indicates how much space would be freed if that snapshot is deleted, it does not indicate the total amount of data referenced by the snapshot.

Why is the total snapshot disk usage greater than the sum of each individual snapshot's disk usage?

Many people think we don't know how to do math when they see this difference, but the figures are all correct — total snapshot disk usage is not a simple sum of individual snapshot disk usage. The video linked below demonstrates why.

Learn more about snapshots and disk usage concerns in this video on YouTube

Frequently Asked Questions

The retention policy says it will save one snapshot per hour. Why don't I see more hourly snapshots on my disks?

To give you the most control over the creation of snapshots on your disks, CCC only creates snapshots when your backup tasks run (this is specifically in contrast to Time Machine's non-configurable hourly snapshots). If your backup task is configured to run on a daily or weekly basis, then CCC will not produce hourly snapshots. The retention policy will keep at most one snapshot per hour for the specified interval, but that does not imply that you will have at least one snapshot per hour for that interval. If you would like to have snapshots created on an hourly basis, then you can schedule your tasks to run on an hourly basis.

Where did the _CCC SafetyNet folder go?

Prior to CCC 5.1, CCC would create a "_CCC SafetyNet" folder at the root of the destination volume if the SafetyNet feature was enabled. As CCC updates the destination, any files that don't exist on the source or that were getting replaced by an updated version would be moved into that SafetyNet folder. With snapshot support in CCC 5.1 and later, that folder is no longer used as part of the SafetyNet mechanism when snapshots are enabled on the destination. Instead, CCC creates a SafetyNet Snapshot at the beginning of the task, then proceeds to update the destination. Older versions of files and files that don't exist on the source are immediately removed from the destination (but still protected by the SafetyNet Snapshot!), so at the end of the task, the source and destination look identical.

If you enable snapshots on an APFS destination volume that has a legacy SafetyNet folder, CCC will first create a SafetyNet Snapshot. After having successfully created the SafetyNet Snapshot (which will retain your legacy SafetyNet folder), the legacy SafetyNet folder is removed. That SafetyNet Snapshot is then subject to the SafetyNet retention setting defined by the Snapshot Retention Policy for your destination volume. If you would like to access the contents of that SafetyNet folder, select the SafetyNet Snapshot, right-click on that snapshot and choose Browse In Finder.

If you're familiar with using the SafetyNet for recovering older versions of your files, please keep in mind that Backup Snapshots are designed for that purpose in CCC 5.1. You should only be looking into a SafetyNet Snapshot if you had kept something on the destination and then lost it after running a backup task.

See also: The legacy SafetyNet folder is not used when snapshots are enabled on the destination

I want hourly snapshots, but my destination isn't available every hour of the day. How can I get hourly snapshots on my source volume?

CCC only creates snapshots during a task event, because snapshots are a piece of the backup strategy, not a replacement for it. Snapshots are a convenience, but the true backup requires that your files are safeguarded on a physically different piece of media. Nevertheless, some people would like the convenience of hourly snapshots, but for logistical reasons, can't run a backup task because the destination is not always available (e.g. when you go to work).

To configure CCC to create hourly snapshots on a particular volume, you can configure a new task that copies one folder to another on that same source volume. What gets copied in that case isn't important (in fact the folders can be empty), as long as the folders are both on the same disk. CCC will create and retain snapshots on that volume according to the retention policy that you have defined for that volume.

  1. Create two new folders somewhere on the source volume, named "source" and "destination"
  2. Open CCC and click the New Task button in the toolbar
  3. Drag the source folder onto CCC's Source selector
  4. Drag the destination folder onto CCC's Destination selector
  5. Turn off the SafetyNet feature
  6. Schedule the task to run hourly
  7. Save the task

I just enabled encryption on my APFS-formatted volume. Why am I now getting errors that CCC can't create snapshots?

The APFS filesystem won't create nor remove snapshots while encryption conversion is underway. You can type diskutil apfs list in the Terminal application to see conversion progress.