ServerBeat is a special protocol that will dynamically assign the specified IP between multiple CrushFTP servers.  You specify an IP that is free for your Virtual IP.  You then set any NAT port mapping or DNS records to point to that IP.  The CrushFTP instances that are running configured for that virtual IP via ServerBeat will share the IP.  Only one machine will have the IP at any time, and it will hold onto it unless its powered off.  In that case, within just a few seconds, the other CrushFTP server will take over and start using the IP.\\
\\
This is ideally suited for two machines in a failover scenario, but it could be used on 3 or 4 if you really wanted to.  Still only one machine is active at any time.  When Crush changes the IP, its changing it in the OS.  Technically its assigning an IP alias for the machine.\\
\\
We __only support two Priority levels__, a primary and a non-primary node. As long as the primary is live, it will run the Jobs, until it goes down, then another of the non-primary nodes will take over. The Priority numbers should be , for example 200/100/100 in a 3-node cluster, and not 100/150/200, adding a 3rd level means serverbeat randomly does whatever and restricts nothing.\\
\\
On the General tab, the IP is the LAN IP of the current machine, and the port is a port number both machines will talk to each other on to decide who is master.\\
On the Advanced tab, the Virtual IP is the shared IP each machine will dynamically assign, and the second field is an ethernet index.  Keep it as 1 unless your Linux/Solaris machine has a different index on it.  eth0:2 for example.\\

[{Image src='sb_1.jpg' width='1440' height='..' align='left' style='..' class='..' }]

----
If you plan on running the CrushFTP instances as a non SYSTEM user on the machine, you need to configure access rights to allow it to be able to issue its netsh commands.\\
\\

If you need to run a job only on one side of the cluster then replace the VIP with the "job", and then it will run only on the machine configured.\\
[attachment|serverbeat1.png]

In order to ensure that the CrushFTP service on Windows can properly handle updates to the product while running as a low-privilege service account, users should configure the CrushFTP services in the following way:\\
\\ 
Service Accounts\\
\\ 
Service: CrushFTP Server\\
Account: Low-privilege account (normal user; Service Control Manager will grant “Logon as a service” user right)\\
 \\
Service: CrushFTP Restart\\
Account: Local System\\
 \\
Service Permissions\\
 \\
Where the redacted entries are the name of the “CrushFTP Server” service account:\\
 \\
[attachment|settings.png]\\
 \\
File System Permissions\\
 \\
Set the NTFS ACL on the CrushFTP installation folder to the following:\\
 \\
SYSTEM: Full Control\\
Administrators: Full Control\\
CrushFTP Server Service Account: Modify\\
----
You can customize the commands CrushFTP uses by modifying the prefs.XML for the following fields:\\
{{{
serverbeat_command: /sbin/ifconfig {adapter}:{index} {ip} netmask {netmask} up
serverbeat_command_disable: /sbin/ifconfig {adapter}:{index} {ip} netmask {netmask} down
serverbeat_ifup_command: /sbin/ifup {adapter}:{index}
serverbeat_ifdown_command /sbin/ifdown {adapter}:{index}
serverbeat_post_command: #used for things like arping to make a router learn a new MAC of the new owner of the vip.
}}}