Knowledgebase: Filesystem related
Posted by Sven Koester, Last modified by Andre Kuehnemund on 17 June 2011 17:52
The PresSTORE modules Backup, Archive and Synchronize should not be executed against files residing on network mounted volumes. Instead, a PresSTORE client has to be installed on the host where data is read or written to. |
This article describes why.
The AFP (Apple Filing Protocol) is not fully supported, as it lacks support for some important file attributes (ACL's, metadata). In case files are copied over AFP with PresSTORE, such attributes are lost.
When connecting volumes via NFS (Network File System) ot SMB (Server Message Block) protocols to a Mac, data fork and Mac-only related parts (resource fork, finder info, etc) are physically saved as two different files (the AppleDouble format). Currently, files will always remain as two distinct parts in case they are saved/restored/copied with PresSTORE, as the "re-combination" to one single file is not performed. Yet, starting with V3, PresSTORE will automatically assume all non-HFS(+) volumes to be in AppleDouble format and thus perform automatic AppleDouble conversions on-the-fly.
All network file protocols:
If a volume of one host (A) is mounted on another host (B) and the network connection between them fails, the mounted volume on B will no longer be accessible. In case an application, including PresSTORE, is accessing files on that volume, the system call hangs and this causes the calling process to hang, too, maybe forever.
Also, the serving host often does not provide privileged access to the mounting host when mounted with standard options. The PresSTORE server is running as root process, thus on a network volume with standard mount options, file access is mapped to the guest account. This in turn means that PresSTORE most probably has insufficient access rights to save or restore data.
Because of all that, there is a different protocol implemented within PresSTORE, that is the PresSTORE client protocol. This protocol handles all file-access issues properly. Also, in case of a connection failure for any reason, the client is saved up to that point, the missing data is simply handled on to next invocation of the same job, and PresSTORE continues with the next job or the next client.