Server Drain, Maintenance, and Auto-Restart

Draining the server provides for graceful shutdown and transition between EFT and HA nodes. Drain mode halts any NEW incoming connections and HA Event Rule activity for all Sites on a specific node. Transfers and events in progress would continue to operate until completion. When in drain mode, the node relinquishes mastership and the master stops delegating events to the drained node. If a certain node/server is expected to restart (e.g., after Windows updates), administrators can preemptively manually drain the node before the expected restart. In this way, all traffic is routed to and kicked off on the other nodes not paused. After the Windows update/maintenance of the node, traffic and event rule activity will resume normally.

Limitations

  • The WTC will deny uploads for any pending transfers on nodes that are in drain mode; in-progress transfers will be permitted to complete (unless drain timeout occurs).

  • When EFT enters drain mode, it denies all future connections. scClient may do some GET requests when a file completes upload during drain to obtain a refreshed directory listing. EFT will deny these requests and issue an error. These errors can be ignored; all uploads in progress will continue until completion or until drain timeout occurs.

To enable drain mode manually

  1. In the EFT administration interface, click File > Drain Server (or the COM API method, ICIServer::DrainServer). A message appears asking if you want to restart the server service after draining.

  2. Click Yes to automatically restart; click No if you want to restart later.

Auto-Drain

Auto-Drain takes effect automatically when an HA node detects that it is out of sync and a restart is required. The server engages Drain mode (waits for transfers and events to complete) and then automatically restarts the node to regain sync with the cluster.

The administrator can configure the time before drain takes effect, and the time it will allow for transfer and processes to complete, and can disable drain completely, if wanted.

Advanced Registry Key Overrides

DrainingTimeoutSecs

  • Draining timeout in seconds allows you to adjust the time for ongoing event rules and transfers to complete before draining starts.

  • Default is 900 seconds (15 minutes).

  • Maximum is 86400 seconds (24 hours).

  • If set to 0, then immediately shutdown and do not drain.

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\GlobalSCAPE Inc.\EFT Server 7.4\DrainingTimeoutSecs=900

ClusterOutOfSyncHealSecs

  • Amount of time in seconds that an HA node will wait for incoming administrative messages to arrive before declaring itself to be out-of-sync with the cluster and initiating draining and restart.

  • Default is 30 seconds.

  • If out of sync is detected, the node attempts to heal; if it can heal within the timeout period, the system resyncs and continues to operate as expected.

  • If out of sync is detected and cannot be repaired within the heal timeout period, the node will enter drain mode and then restart the service.

  • If set to 0, then do not attempt to heal; continue to operate the node out of sync.

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\GlobalSCAPE Inc.\EFT Server 7.4\ClusterOutOfSyncHealSecs=30

ClusterCoherenceQueueMsmqType

  • By default the MSMQ Broadcasting. TCP method of broadcasting ftp.cfg changes was developed for environments that do not support multicast (e.g., Azure and vMotion). Although AWS does not support Multicast, this was developed prior to the support of this option and so uses the AWS SQS/SNS services for now.

  • To use the TCP instead of MSMQ Broadcasting, set the Advanced Registry key ClusterCoherenceQueueMsmqType to msmq-iterative

  • To use MSMQ Broadcasting, either delete the key or set the ClusterCoherenceQueueMsmqType = msmq-broadcasting

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\GlobalSCAPE Inc.\EFT Server 7.4\ClusterCoherenceQueueMsmqType=msmq-multicast

ClusterCoherenceQueueDetectPrivateIP

  • Used to explicitly define the IP/Subnet via registry entry/advanced property, localized per node.

  • The key should be created in the EFT Server 7.4 registry location:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\GlobalSCAPE Inc.\EFT Server 7.4\ClusterCoherenceQueueDetectPrivateIP=autodetect

  • It can either be set to autodetect (which is the default, which causes it to find and use the first private subnet it finds), or it can be set to the prefix of the interface to use (e.g., “192.168.0", "192.168." or "192.168" just the prefix of the subnet, with no quotes).

  • Changes made in the registry are recorded in the ActiveNodes.json (located in the HA cluster's Shared configuration folder), which is used automatically by the EFT nodes to pass information between themselves and should not be edited.

  • If you do not choose to use the default subnet on a particular EFT node, that node will simply place the IP address you put for the advanced properties key in the “IP” field. That IP address will be the one the other nodes use to try to talk to it.