When should you use APFS Containers, Volumes, and Folders?

There isn’t as much choice in HFS+: you have just two devices for dividing a disk, volumes and folders. Volumes have fixed allocations of space which can’t be shared, whereas folders share the space of a volume. With a file system pulling no particular tricks with either, most users allocate the whole of each disk to a single volume.

With APFS, the choice is more complex:

  • APFS Containers resemble HFS+ volumes, in that a disk is divided up into one or more non-overlapping containers of fixed size. Not only can space not be shared between two or more containers, but files copied to a volume in another container are true copies and occupy space in each container.
  • APFS Volumes share space within a container, so that a 1 TB container can contain two or more volumes of no more than 1 TB each. Each volume has its own file system, though, and files copied to another volume within the same container are also true copies and occupy space in each volume.
  • Folders share space within a volume, as they do in HFS+, and share the same file system. However, APFS introduces a significant space efficiency in that copies of files within the same volume share the same data. As the copies are changed and differ increasingly, APFS still tries to share as much common data between them as it can.

There are circumstances in which the choice is limited. If you want to install more than one bootable system on a single disk, then you can either place them in separate volumes within a single container, or in separate containers. This is because each bootable system consists of three or more different volumes. There are pros and cons as to whether you choose to use separate containers, but separate volumes work perfectly well and don’t require you to give each bootable system a fixed allocation of storage space.

In practical terms, one of the most significant differences between folders and volumes as divisions are their difference in space sharing. If you have two identical copies of a 10 GB file in two different folders on the same volume, APFS will only store one copy of the data, taking up 10 GB of space within the container. If you have the same two copies of that file in different volumes within the same container, then APFS can’t do that, and keeps two copies, requiring 20 GB of space within that container.

Some other differences can be more subtle, and at present of limited practical significance. Snapshots are made, stored, and deleted on a volume basis. Segregating active and more static files onto different volumes could allow you to operate different policies on the making and retention of snapshots, to control their growth in size. At present, only Carbon Copy Cloner appears capable of operating custom policies on different volumes, and Time Machine offers no customisation at all.

Unless you’re required to use separate volumes, they have little or no advantage over folders, and lose the valuable feature of space sharing. In most cases where you might be tempted to create and use another APFS volume, you’d be better off using instead a folder within the same volume. If it weren’t for boot disks requiring multiple volumes, there’d be few if any good reasons for ever creating more than one APFS volume in a container.