Many vendors choose FLEX lm as their license manager, and it is likely that you must administer licenses from more than one vendor, or multiple products from the same vendor.
Preventing licensing conflicts
Use one of the following methods to avoid licensing conflicts during installation when running FLEX lm -licensed products from multiple vendors:
· Multiple license servers; each running one lmgrd
and one license file
· One license server running one lmgrd
and one license file
· One license server running multiple lmgrd
s and multiple license files
Note: Each
lmgrd
can only control a single license file.
Running separate lmgrd
s and license files simplifies initial installation and can increase daily administration of your licenses. For multiple license servers, you have more license servers to monitor. For the one license server, you have only one server, but multiple lmgrd
s to administer.
Your product's license file (or files) define the license server (or servers) by hostname and hostid in the SERVER line (or lines) in the license file. If the license files for two or more products contain identical SERVER lines, then see Using the Same Server Node . If the license files for two products contain different SERVER lines, then the license servers for those products will run on different nodes.
Using the Same Server Node
If you have two or more products with license servers run on the same node (as specified by the SERVER lines in the license files), you may be able to combine the license files into a single license file. If the SERVER lines in those files have identical hostids, then you can combine the files into a single file. If the SERVER lines have different hostids, then you must keep the license files separate.
Combining two license files
You can combine two license files under the following conditions:
1. The number of SERVER lines in each file is the same.
2. The hostid field of each SERVER line in one file exactly matches the hostid field of each SERVER line in the other file.
Incompatibility of license files
Under the following conditions, some license files are not compatible:
· License files are set up to run on different server nodes, so hostids are different.
· One file is set up for single server (has only one SERVER line), the other is set up for redundant servers (has multiple SERVER lines).
· One vendor uses a custom hostid algorithm, so the hostids on the SERVER lines are different even though the files are for the same machine.
If your license files are compatible you can combine license files and run a single lmgrd
, as described in Combining license files for multiple vendors .
If the license files are not compatible, you must keep the license files separate, and run separate copies of lmgrd
for each license file, as described in Using Separate license files on the same server node .
Note: Combining compatible license files is not required. You always have the option of running separate
lmgrd
s as described in Using Separate license files on the same server node .
Combining license files for multiple vendors
If your license files are compatible (i.e., use the same server nodes), you can combine them with any text editor. To combine license files, read all of the compatible license files into one file, then edit out the extra SERVER lines so that only one set of SERVER lines remains. Write out this data, and you have your combined license file. If you write the data to license.dat in the default location, you will generally not need to set the LM_LICENSE_FILE
environment variable. If you write the data out elsewhere, or if you were able to combine some but not all of your license files, then you must set the LM_LICENSE_FILE
variable (unless your application uses another method to find the license file).
FLEX lm license manager component compatibility
When you combine license files for two different FLEX lm -licensed products, those products might not use the same version of FLEX lm . FLEX lm is designed to handle this situation, and has two basic compatibility rules for FLEX lm:
1. A newer lmgrd
can be used with an older vendor daemon, but a newer vendor daemon might not work properly with an older lmgrd
.
2. A newer vendor daemon (or lmgrd
) can be used with an older client program (such as an application or utility programs like lmstat ), but a newer client program might not work properly with an older vendor daemon.
Selecting administration tools
From these two compatibility rules comes the simple rules for selecting which version of administration tools to use:
1. Always use the newest version of lmgrd
and the newest version of each vendor daemon.
2. If you have FLEX lm v3.0 utilities, use these; otherwise use the most recent version of the utility programs (such aslmstat ) which can connect to all of the vendor daemons.
For specific application programs, you can use either the new or the old version (with the assumption that the vendor daemon that goes with that application is at least as new as the application).
Exceptions
There are a couple of details and exceptions to go with the above rules:
1. Products using version 2.0 of FLEX lm may not be combined in one license file with products using version 1.5 or earlier of FLEX lm . In this case, you must use separate license files (see Using Separate license files on the same server node ).
2. If you combine a product using version 2.1 or later of FLEX lm with a product using version 1.5 or earlier of FLEXlm , you must use the"-b" (for backwards compatibility) command line option to lmgrd
. You can always use a version of lmgrd
that is newer than the one provided by your software vendor, as long as you are careful to use the "-b" switch if replacing v1.x lmgrd
with a v2.1 or later lmgrd
.
Note: FLEX lm v2.4 and later versions of
lmgrd
default to "-b". Do not use the "-b" option if you are using FLEX lmv2.4 or later.
Using Separate license files on the same server node
If you have incompatible license files, you must run a separate copy of lmgrd
for each license file. (You can also do this even if your license files are compatible.) When you run lmgrd
separately for each license file, there are two details to remember:
1. The port number on the SERVER line of each license file must be unique. You can use a standard text editor to change the port number in each license file so that they are all different.
2. You must make sure that you are using a compatible version of lmgrd
when you start it up for a particular license file. This can be done by either using an explicit path to lmgrd
, or by renaming lmgrd
to something specific for that product (some vendors do this to make it easier to identify the lmgrd they ship with their product).
When running client programs (such as a licensed application), you can set the LM_LICENSE_FILE
environment variable to point to multiple license files. For example, you may have a license file from vendor ABC and a license file from vendor XYZ with incompatible servers. You can place the license file from vendor ABC into:
and the license file from vendor XYZ into:
then set the LM_LICENSE_FILE
environment variable to point to both of them. Each name in LM_LICENSE_FILE
should be separated by a colon ":". In the C shell:
In the Korn and Bourne shells:
Note:
LM_LICENSE_FILE
can point to only one license file for FLEX lm v1.x applications.
Using a Different Server Node
If products use different license server nodes, each set of license servers requires separate license files. (When multiple software vendors use the same set of license server nodes, the technique described above in Using the Same Server Node can be used to combine license files.) The resulting (multiple) license files can be installed in convenient locations, and you would set the LM_LICENSE_FILE
environment variable as follows:
lfpath1
Path to the first license file
lfpath2
Path to the second license file.
lfpathN
Path to the last (Nth) license file
Each application queries each license file in the order listed in the LM_LICENSE_FILE
path. If the license server serving the license file listed in lfpath1 was unreachable, perhaps due to an NFS problem, changing the LM_LICENSE_FILE
would allow a user to obtain a license from another server.
For more information about LM_LICENSE_FILE
and setting the location of the license file, see Specifying Location of the License File .