The question often comes up – “I am used to failover servers configured in a triad (3). Why can’t RLM support this?”
Whenever this happens, it is because someone is used to the way that FLEXlm configures redundant servers.
The reality is this – RLM and FLEXlm work differently with respect to server failover, and the RLM method is easier for the end-user to configure, while providing the same amount of server redundancy. In a FLEXlm redundant-server configuration, a little-known fact is this:
the third server can never serve licenses
This is because, in FLEXlm, 2 of the 3 servers must be running to have the system operate. So, either servers 1 and 2, 2 and 3, or 1 and 3 must be running. And FLEXlm (at least until version 10.?) always picks the server whose name is first in an alphabetical sort (we know, we wrote the code). So the server with the last name, alphabetically, will never serve licenses.
By contrast, with RLM, you pick a primary license server, and a failover server. If the primary goes down, the failover takes over. There is no 3rd server to configure. There is no situation where 3 FLEXlm servers would serve licenses that RLM will not serve licenses (assuming RLM is configured on 2 of the 3 FLEXlm servers). In other words:
adding a 3rd RLM server buys you nothing, other than extra administrative overhead
What about the cheat possibility, if some one isolate the network between two license servers and start misusing the licenses?
Isn’t the three license server logic is in place to ensure that the licenses cannot be misused.
That is correct. There is a possibility of misuse of licenses and the ISV can decide whether or not to issue licenses for failover servers.
The important point is that from an end-user perspective, failover license servers are always easier to manage and more robust.
When the primary RLM /ISV service is stopped, with the primary server still operational (power on/pingable from the failover) , should the failover license assume control?
There are 2 kinds of failover servers licenses: rlm_failover and rlm_failover_server.
The difference between an rlm_failover license and an rlm_failover_server
license is whether rlm checks for the machine being down (rlm_failover)
or the rlm process on the machine being down (rlm_failover_server) before
serving the licenses from the primary server.
So if you want the failover to take over while the primary server is still
up but the RLM processes on the primary are not running, you would need
an rlm_failover_server license.
Hi,
The RLM manual states regarding failover checking:
This is done by attempting TCP/IP connection(s) to ports on the failed server in order to determine whether the server is up or down.
An end user wants to know exactly what kind of data runs in the
network for the checking.
Can you provide this information?
There is no data, just the connection attempt.
Hi,
We found a case where it seems the failover gets broken.
Actually, we have configured a failover license, and it works perfectly when the primary server becomes down, the failover server successfully takes over the license.
But the issue come at midnight, it seems the automatic “reread” command sent by the rlm server brakes the current in place failover as it tries to find the primary server (as if we just started the failover process) and doesn’t find (normal as it is still down…).
So basically, the failover works well but if the primary server isn’t up again before midnight, the license is not available anymore, and no failover is possible until the primary server is up again.
We were also able to reproduce the issue by manually running the rlmreread command.
Is normal behavior ? Or is there anything we can do to avoid this situation ?
(Note: we use RLM 9.2 version)
Thank you !
Denis: I see that you had a ticket for this issue, and that we resolved it. Please let us know (on the support system) if you have any other issues.
Thank You.
@Reprise: I regret to say the argument you made above is flawed. Let’s suppose
one uses a primary license server and a failover server. If for whatever reason the
latter becomes unavailable — say because of a network partition or router failure —
and then the primary crashes, one is left without an active license server. Basic
principles of fault tolerant design require primary servers to be backed up by any
number of secondary servers.
Of course for a truly redundant system this is true. But this misses the point entirely.
This blog post is a comparison of RLM and FLEXlm’s handling of server failover. With a FLEXlm redundant server configuration, 2 out of the 3 servers have to be running (and not partitioned on the network) for licenses to be served. Given that, there is no situation where a FLEXlm redundant server configuration works and hands out licenses where an RLM failover server configuration would not. That is the point.
Thank you.