LSF software is licensed using the FLEXlm license manager from Globetrotter Software, Inc. The LSF license key controls the hosts allowed to run LSF. The procedures for obtaining, installing and upgrading license keys are described in `Getting License Key Information' on page 34 and `Setting Up the License Key' on page 36. This section provides background information on FLEXlm.
FLEXlm controls the total number of hosts configured in all your LSF clusters. You can organize your hosts into clusters however you choose. Each server host requires at least one license; multiprocessor hosts require more than one, as a function of the number of processors. Each client host requires 1/5 of a license.
LSF uses two kinds of FLEXlm license: time-limited DEMO licenses and permanent licenses.
The DEMO license allows you to try LSF out on an unlimited number of hosts on any supported host type. The trial period has a fixed expiry date, and the LSF software will not function after that date. DEMO licenses do not require any additional daemons.
Permanent licenses are the most common. A permanent license limits only the total number of hosts that can run the LSF software, and normally has no time limit. You can choose which hosts in your network will run LSF, and how they are arranged into clusters. Permanent licenses are counted by a license daemon running on one host on your network.
For permanent licenses, you need to choose a license server host and send hardware host identification numbers for the license server host to your software vendor. The vendor uses this information to create a permanent license that is keyed to the license server host. Some host types have a built-in hardware host ID; on others, the hardware address of the primary LAN interface is used.
FLEXlm is used by many UNIX software packages because it provides a simple and flexible method for controlling access to licensed software. A single FLEXlm license server can handle licenses for many software packages, even if those packages come from different vendors. This reduces the systems administration load, since you do not need to install a new license manager every time you get a new package.
FLEXlm uses a daemon called lmgrd
to manage permanent licenses. This daemon runs on one host on your network, and handles license requests from all applications. Each license key is associated with a particular software vendor. lmgrd
automatically starts a vendor daemon; the LSF version is called lsf_ld
and is provided by Platform Computing Corporation. The vendor daemon keeps track of all licenses supported by that vendor. DEMO licenses do not require you to run license daemons.
The license server daemons should be run on a reliable host, since licensed software will not run if it cannot contact the license server. The FLEXlm daemons create very little load, so they are usually run on the file server. If you are concerned about availability, you can run lmgrd
on a set of three or five hosts. As long as a majority of the license server hosts are available, applications can obtain licenses.
Software licenses are stored in a text file. The default location for this file is
/usr/local/flexlm/licenses/license.dat
, but this can be overridden. The license file must be readable on every host that runs licensed software. It is most convenient to place the license file in a shared NFS directory.
The license.dat
file normally contains:
SERVER
line for each FLEXlm server host. The SERVER
line contains the host name, hardware host ID and network port number for the server.
DAEMON
line for each software vendor, which gives the file path name of the vendor daemon.
FEATURE
line for each software license. This line contains the number of copies that may be run, along with other necessary information.
The FEATURE
line contains an encrypted code to prevent tampering. For permanent licenses, the licenses granted by the FEATURE
line can be accessed only through license servers listed on the SERVER
lines.
For DEMO licenses no FLEXlm daemons are needed, so the license file contains only the FEATURE
line.
Here is an example of a DEMO license file. This file contains one line for each separate product (see `Modifying LSF Products and Licensing' on page 113). However, no SERVER
or DAEMON
information is needed. The license is for LSF 3.1 and is valid until Jun. 10, 1998.
FEATURE lsf_base lsf_ld 3.100 10-Jun-1998 0 5C51F231E238555BAD7F "Platform" DEMO
FEATURE lsf_batch lsf_ld 3.100 10-Jun-1998 0 6CC1D2C137651068E23C "Platform" DEMOFEATURE lsf_multicluster lsf_ld 3.100 10-Jun-1998 0 2CC1F2E132C85B8D1806 "Platform" DEMO
The following is an example of a permanent license file. The license server is configured to run on hostD, using TCP port 1700. This allows 10 hosts to run LSF, with no expiry date.
SERVER hostD 08000962cc47 1700
DAEMON lsf_ld /usr/local/lsf/etc/lsf_ld
FEATURE lsf_base lsf_ld 3.100 01-Jan-0000 0 51F2315CE238555BAD7F "Platform"
FEATURE lsf_batch lsf_ld 3.100 01-Jan-0000 0 C1D2C1376C651068E23C "Platform"
FEATURE lsf_multicluster lsf_ld 3.100 01-Jan-0000 0 C1F2E1322CC85B8D1806 "Platform"
FLEXlm provides several utility programs for managing software licenses. These utilities and their manual pages are included in the LSF software distribution.
Because these utilities can be used to shut down the FLEXlm license server, and thus prevent licensed software from running, they are installed in the LSF_SERVERDIR
directory. The file permissions are set so that only root and members of group 0 can use them.
lmcksum
Calculate check sums of the license key information
lmdown
Shut down the FLEXlm server
lmhostid
Display the hardware host ID
lmremove
Remove a feature from the list of checked out features
lmreread
Tell the license daemons to re-read the license file
lmstat
Display the status of the license servers and checked out licenses
lmver
Display the FLEXlm version information for a program or library
For complete details on these commands, see the on-line manual pages.
FLEXlm only accepts one license key for each feature listed in a license key file. If there is more than one FEATURE
line for the same feature, only the first FEATURE
line is used. To add hosts to your LSF cluster, you must replace the old FEATURE
line with a new one listing the new total number of licenses.
The procedure for updating a license key file to include new license keys is described in `Adding a Permanent License' on page 40.
The fourth field on the SERVER
line specifies the TCP port number that the FLEXlm server uses. Choose an unused port number. LSF usually uses port numbers in the range 3879 to 3882, so the numbers from 3883 on are good choices. If the lmgrd
daemon complains that the license server port is in use, you can choose another port number and restart lmgrd
.
For example, if your license file contains the line:
SERVER hostname host-id 1700
and you want your FLEXlm server to use TCP port 3883, change the SERVER line to:
SERVER hostname host-id 3883
The configuration changes to enable a particular product
in a cluster are handled during installation by lsfsetup
. If at
some later time you want to modify the products of your cluster, edit the PRODUCTS
line in the `Parameters
' section of the lsf.cluster.
cluster
file. You can specify any combination of the strings `LSF_Base
',
`LSF_Batch
', `LSF_JobScheduler
', `LSF_Analyzer
',
`LSF_MultiCluster
' and `LSF_Parallel
' to enable the
operation of LSF Base, LSF Batch, LSF JobScheduler, LSF Analyzer, LSF MultiCluster,
and LSF Parallel, respectively. If any of `LSF_Batch
', `LSF_JobScheduler
',
or `LSF_MultiCluster
' are specified, then `LSF_Base
'
is automatically enabled as well.
If the lsf.cluster.
cluster
file is shared, adding a product name to the
PRODUCTS
line enables
that product for all hosts in the cluster. For example, enable the operation
of LSF Base, LSF Batch and LSF MultiCluster:
Begin Parameters
PRODUCTS=LSF_Batch LSF_MultiCluster
End Parameters
Enable the operation of LSF Base only:
Begin Parameters
PRODUCTS=LSF_Base
End Parameters
Enable the operation of LSF JobScheduler:
Begin Parameters
PRODUCTS=LSF_JobScheduler
End Parameters
It is possible to indicate that only certain hosts run
LSF Batch or LSF JobScheduler within a cluster. This is done by specifying `LSF_Batch
'
or `LSF_JobScheduler
' in the RESOURCES
field on the
HOSTS
section of the lsf.cluster.
cluster
file. For example, the following enables hosts hostA, hostB,
and hostC to run LSF JobScheduler and hosts hostD, hostE,
and hostF to run LSF Batch.
Begin Parameters
PRODUCTS=LSF_Batch
End Parameters
Begin Host
HOSTNAME model type server RESOURCES
hostA SUN41 SPARCSLC 1 (sparc bsd lsf_js)
hostB HPPA9 HP735 1 (linux lsf_js)
hostC SGI SGIINDIG 1 (irix cs lsf_js)
hostD SUNSOL SunSparc 1 (solaris)
hostE HP_UX A900 1 (hpux cs bigmem)
hostF ALPHA DEC5000 1 (alpha)
End Hosts
The license file used to serve the cluster must have the corresponding features. A host will show as unlicensed if the license for the product it was configured to run is unavailable. For example, if a cluster is configured to run LSF JobScheduler on all hosts, and the license file does not contain the LSF JobScheduler feature, than the hosts will be unlicensed, even if there are licenses for LSF Base or LSF Batch.