If the server domain contains multiple hosts, an order must be imposed on the hosts, so that one can be considered the primary license server for the domain, and the remainder can be considered backups. This ordering is achieved by defining alias hostnames for the hosts of the server domain in /etc/hosts
.
All the hosts in the server domain should have an alias of the form
hqnservern
where n is 1, 2, and so on. The lowest-numbered hqnserver
alias becomes the primary license server within the server domain, and the rest become backups that will be interrogated in ascending order.
Note: It is perfectly possible to have a host occur in more than one server domain. Thus a host might be the primary license server in one server domain, and a backup in another.
To prevent product permits being duplicated on subsets of a server domain (when a network is divided, for example), hqn_lsd
uses a validation mechanism in domains with multiple hosts. Upon start-up, the primary license server within a server domain must contact the daemons on at least half the members of the domain before it will serve licenses, and backup daemons must contact the acting primary before they will serve licenses in the future. This means that on initial start-up at least half of the daemons in a server domain must be active, but once an active primary is available, daemons within the domain can be started and stopped as required, primary-status always passing to the lowest-numbered hqnserver
machine.
If multiple hosts are required there should ideally be a minimum of three within the server domain. This allows one machine to be down or removed from a network while still allowing the server domain to be initialized. The larger the domain, the greater the flexibility, but the longer it will take to initialize. The maximum number of hosts permitted in a server-domain is twenty.
This product/server domain mechanism allows licensed stand-alone hosts to be included in networks, or networks to be split, without new permits being required and without compromising the licensing security.
Daemons can be run on any machine, but they serve licenses only when their host machine is within the server domain of a product permit. They will, however, read all available permit files, and redirect any requests for licenses to an appropriate domain.
LispWorks Guide to the License Server - 15 Sep 2017