Sharing DAOS tier 2 objects across servers

Beginning with Domino 12, you can conserve storage space by sharing DAOS tier 2 objects across servers within a cluster.

When tier 2 object sharing is enabled, each unique DAOS attachment object resolves to a single object in tier 2 storage that all servers in the cluster share.

To enable sharing of DAOS tier 2 objects, you create a shared key in the credential store to use to encrypt the objects. Either AES-128 or AES-256 encryption algorithm can be used. You also modify the Server documents of the participating servers to enable encryption with the shared key.

After you enable attachment objects to be encrypted with a shared key, when a DAOS object is created in tier 1 (on the local Domino server), it is encrypted with the shared key. Tier 1 objects created prior to enabling object sharing are encrypted with the shared key if they are pushed to tier 2 storage.

Because DAOS objects "age" independently across servers according to when they are last accessed on each server, one attachment object can be in tier 1 on some servers and tier 2 on others.

If all references to a shared tier 2 object on a particular server are deleted, DAOS removes the tier 2 reference to the object for that server according to the DAOS setting Defer object deletion for n days. If this is the last server that referenced the object, the tier 2 object itself is also deleted, and the object's life cycle is complete.

DAOS tracks which servers reference each tier 2 object and coordinates creation (pushing) and deletion (pruning) of the objects across the servers to avoid any race conditions.

Note: All participating servers must be in the same cluster and run Domino 12 or later. Do not use object sharing if you think you may need to downgrade servers to a Domino pre-12 version.
Note: Even if you do not use tier 2, using shared keys may simplify your backup strategy. Using a shared key means that each unique attachment object has the same name and the same key. So, only a single backup of the object is required and the object can be restored to any of the servers that use the shared key.