Transfers with failover

Introduction

You can configure multiple cluster nodes to have active transfers. All these transfer will be active at the same time.

There are a few configuration options that need to be taken into account when implementing a transfer in a cluster.

Requirements

In order to avoid conflicts with the same transfer being executed on multiple nodes, there are a few restriction in terms of how a transfer should be configured.

Below is the list of requirements:

  • The source and destination for a transfer should be shared and accessible to all nodes.

  • delete_source_on_success should always be enabled

  • overwrite_rule is not supported for options fail or skip

  • transfer_memory_duration should be disabled

  • ignore_duplicate_paths is not supported

  • minimum_transfer_count is not supported

  • Batch transfers are not supported

Recommendations

Each cluster node should be configured with a different failover_interval value. The primary node should be configured with failover_interval = 0

For a secondary node it is recommended to configured a delay that is greater that the transfer duration for a single file. For example, for small files, you can set this to 10 minutes failover_interval = 600 For tertiary nodes this can be set to 20 minutes or even 30 minutes.

When a transfer fails while a file is actively copied to the destination server, the destination server might end up with a partially uploaded file.

It is recommended to setup the transfers to use destination_temporary_suffix = .tmp

In this way, on the destination server, the transferred file will be stored under the expected name only after the transfer was successful.


For local files, make sure all the nodes have access to the files using a Windows Share or an Unix NFS share.