Time Machine Server Requirements
Not all AFP servers support the functionality required for Time Machine backups. In order to support Time Machine, a server must implement the following:
Lock stealing—when the client logs in, it sends the
FPGetSessionToken
command. Upon receiving this command, if the Type field is set tokLoginWithTimeAndID
,kReconnWithTimeAndID
,kRecon1Login
, orkRecon1ReconnectLogin
, the server searches through any previous sessions. Previous sessions from the same user that contain a Time Machine sharepoint are destroyed, releasing all locks associated with those previous sessions. Due to the nature of lock stealing, it is recommended that sharepoints designated for Time Machine backups be used exclusively for Time Machine backups and not for general file sharing use.Client reconnect and state recovery—AFP 3.3 supports a replay cache for correct Time Machine behavior over AFP. Supporting and advertising this cache is required for all AFP Servers that want to support Time Machine. For more information, see AFP Replay Cache, Reconnect, and Reconnecting Sessions in Apple Filing Protocol Programming Guide.
A compliant server must implement the deny modes of
FPOpenFork
as mandatory locks.A compliant server must set the
kSupportsTMLockSteal
bit in the response to theFPGetVolParms
for AFP volumes designated to support Time Machine backups. See theFPGetVolParms
documentation for more information.A compliant server must support the
FPSyncDir
andFPSyncFork
(directory/fork data full sync and commit) AFP commands.Bonjour discovery—Time Capsule or OS X Server with a Time Machine sharepoint advertises itself through Bonjour as supporting Time Machine backups over AFP. This is required for the server to show up automatically in Time Machine’s preferences pane when you select "Change Disk...".
Each network storage server with suitable AFP share points must register and publish an mDNS service record with a type of
"_adisk._tcp"
.This service includes a
TXT
record with entries that correspond to an exported volume available for sharing.The name portion of each entry is a unique key string. The value portion of the entry is a comma-separated list of subkey/subvalue pairs with the subkey and subvalue separated by an equal sign (
=
). Each subkey is a 4-character property code (for example,adVN
for the name of the volume). The subvalue is the UTF-8 text associated with the specified property. Commas (,
) and backslashes (\
) are escaped with a backslash (for example,\,
for a literal comma character).The following property codes are currently required for Time Machine discovery:
adVN
UTF-8 name for the volume. This is also the share name used for mounting the volume.
adVF
AirDiskVolumeFlags
as a hex value string.
The flags value should be set to
0x81
to indicate that Time Machine is supported on this AFP volume:- 0x0001
AFP is supported for this volume.
- 0x0080
Time machine should allow this as a backup destination.
The following is an example of a
TXT
record for the volume “Backups”:dk0=adVN=Backups,adVF=0x81
For more information, see Bonjour Overview.
Copyright © 2009 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2009-08-19