(1) What does async actually do?
Simply put, async synchronizes new files and directories, as well as modified files and directories between remote endpoints. It moves, deletes and renames, and transfers new file contents as needed. For example:
- Moving a file out of the synchronized directory results in deletion at the remote peer.
- Moving a file into the synchronized directory results in a copy at the remote peer.
- Renaming a file in a previously synchronized directory renames the file at the remote peer; moving a file in a previously synchronized directory results in the same move operation at the peer.
For additional details on async's core features, please review the Introduction.
(2) How does async differ from rsync?
async is a high-speed replacement for rsync in uni-directional mode, and is designed to be a drop-in replacement with similar command line options (async Command Line Options). async also supports bi-directional and multi-directional synchronization. The following key capabilities distinguish async from rsync:
- Uses Aspera's high-speed fasp transport technology, while rsync transfers over traditional TCP.
- Operates in push, pull and bi-directional modes.
- Circumvents the typically slower comparison of the local system to the remote system over the WAN, and instead, efficiently compares the current file system state to the last async snapshot.
- Detects and implements file/directory moves and renames to avoid unnecessary transfers over the network.
- Waits for the system(s) to become stable (i.e., detects whether or not files are still being modified) before performing synchronization.
To view an example of async options versus rsync options, please see the topic rsync vs. async Uni-directional Example.
(3) How is one-time mode different from continuous mode?
As described in the topic Synchronization and Direction Modes, async offers two modes of operation: one-time (i.e., "on-demand") synchronization and continuous synchronization. When async is running in one-time mode, it synchronizes once and exits. Continuous mode, on the other hand, offers constant synchronization between file systems. Note that continuous mode can only be used where file system change notification (i.e., inotify, which monitors file system events) is available on the systems that are running async. NFS-mounted file systems do not support inotify change notification for updates made by remote NFS clients, so in these scenarios, async should be run in one-time mode (and can be scheduled through cron). Note that the scan mode used is designed for maximum speed and is fully pipelined with transfer, so as to allow for maximum performance even in one-time mode.
(4) What directions does async work in?
async works in multiple directions: push, pull and bi-directional.
- async supports pushing files/directories from the local system to a remote system (like rsync) AND pulling files/directories from a remote system to the local system.
- Bi-directional synchronization occurs between two endpoints, which means that file system changes occurring at either end (local or remote) are replicated on both sides.
(5) How are conflicts handled (applies to bi-directional mode only)?
A conflict situation can arise in bi-directional mode when a file or directory changes content; an entity is renamed before synchronization has completed; or the change occurs on both endpoints concurrently such that the "newer" version cannot be reliably determined. async reports such conflicts and does not modify either file system, leaving the file systems in conflict. To resolve this type of conflict, you can perform the following actions:
- Delete the file on both sides, put back the desired file on one side, and then re-run async.
- Delete the file on one side, use asyncadmin to clear the conflict on the remaining side; and then re-run async.
(6) How much space is required for the Aspera sync snapshot?
The largest amount of space you will need is approximately 200 MB.