UNIX-Lizenzmanagement

Sie haben kommerzielle Anwendungen für UNIX oder Linux, die einen LizenzManager voraussetzen? Ihr Software-Hersteller fragt Sie nach einer "lmhostid" für die Maschine, auf der Sie seine Applikation betreiben wollen?

Standard ist hier im UNIX- und Linux-Umfeld der FlexLM (auch "FlexNet Publisher") der Firma Flexera (davor Macrovision, davor Globetrotter).
Eine damit lizensierte Applikation benötigt eine Lizenzdatei (meist license.lic oder license.dat) in ungefähr folgendem Format:
----

SERVER hostname HostID Port#
DAEMON VENDORDAEMON
FEATURE ...

----
Manchmal weiß man gar nicht, dass er "unter der Haube" eines Programms für dessen Lizenzen zuständig ist, und installiert ihn mit verschiedenen kommerziellen Applikationen unbemerkt mehrfach — hier auf einem Server, da auf einer Workstation. Das können Sie selbst prüfen: suchen Sie auf Ihren Maschinen nach "lmgrd"-Prozessen (ps -efl | grep lmgrd).

Fallen solche Rechner mal aus oder Sie wagen gar, die Applikation auf einen anderen Rechner umzuziehen, ist die ausgestellte Lizenz plötzlich ungültig (obwohl Sie eine besitzen!) und Sie haben wegen dieser Kleinigkeit tatsächlich — einen Produktionsstillstand...

Das läßt sich vermeiden.

Zentralisierter Lizenzserver

Alle FlexLM-Lizenzen lassen sich konsolidieren - also auf einen einzigen Server (u.U. unternehmensweit) ausstellen, der dann alle Lizenzen für FlexLM-abhängige Programme netzwerkweit herausgibt.
Keine Sorge — auch mit einem solcherart zentralisierten Lizenzserver umgehen Sie keine Lizenzbedingung! Darf eine Applikation nur einmal gestartet werden, gibt auch dieser zentralisierte Lizenzserver nur eine Lizenz heraus - jeder weitere Startversuch des teuren Programms schlägt mangels zweiter Lizenz "ordnungsgemäß" fehl.

Dieser zentrale FlexLM-Server benötigt nur eine Installation des FlexLM und stellt die Lizenzen für alle mit diesem Lizenzmanager lizensierten Applikationen über das Netzwerk bereit. Die Applikationen brauchen dann keine lokalen license.lic-Dateien mehr, sondern erfahren über die Umgebungsvariable LM_LICENSE_FILE, von welchem Server sie nun ihre Lizenzen auschecken müssen.
Damit funktionieren dieselben Programme nun auf verschiedenen Workstations oder Servern — Umzüge auf neue Rechner oder auch nur die Urlaubsvertretung eines Kollegen von der eigenen Workstation aus verlieren ihren lizenztechnischen Schrecken.

Ist dieser FlexLM-Server als virtuelle Maschine angelegt, die mittels VM-Migration über mehrere physische Hosts abgesichert ist, wird Ausfallsicherheit durch das Neu-Starten der FlexLM-VM auf einem anderen Host gewährleistet.

Haben Sie ihn noch nicht virtualisiert, ließe sich dieser Lizenzserver nur durch ein 3fach-Setup ausfallsicher betreiben ("Triade"): auf drei beliebigen Rechnern laufen je ein lmgrd mit identischen license.lic-Dateien, die sich mit den zwei anderen zu einem Cluster zusammenschließen. Jetzt kann von diesen drei immerhin ein Rechner ausfallen, ohne dass die netzweite Lizenzausgabe beeinträchtigt ist. (Warum nur einer? Wegen des Quorums, der erforderlichen Mindestmehrheit in einem Cluster — zwei von dreien müssen da sein, sonst könnte man die Triade aufsplitten und in drei verschiedenen Netzen 3x soviele Lizenzen nutzen wie bezahlt.

Die license.lic-Datei einer solchen Triade erkennt man an drei "SERVER"-Zeilen:
----

SERVER hostnameA HostID-A Port#
SERVER hostnameB HostID-B Port#
SERVER hostnameC HostID-C Port#

DAEMON /path/to/VendorDaemon
FEATURE ...
INCREMENT ...

----

Achtung! Für eine solche Triade müssen Ihnen die Hersteller der Programme die bestehenden Lizenzen neu ausstellen — denn jetzt müssen ihre "FEATURE"- oder "INCREMENT"-Zeilen ja für insgesamt drei Host-IDs gültig sein und auch dann funktionieren, wenn nur zwei davon erreichbar sind.


Lizenztypen:

lokal installiert zentraler FlexLM-Server
node-locked Auf der "zugelassenen" Maschine funktional, aber nicht zentral erfaßt. zentral erfaßt, trotzdem funktional: auch wenn sie vom Server übers Netzwerk zugeteilt wird, funktioniert die "node-locked license" nur auf der Maschine, für die sie ausgestellt ist (eben "locked to a node").
floating wenn lokal installiert, sinnlos - kann nicht transparent auf anderen Maschinen genutzt werden für mehrere Maschinen nutzbar — aber immer nur so oft "gleichzeitig" , wie 'seats' bzw. 'counts' in der Lizenz kodiert sind.

Die in FEATURE bzw. INCREMENT kodierten 'seats' oder 'counts' bestimmen, wie oft ein Programm gleichzeitig gestartet werden darf. Bei einer node-locked license gilt das nur auf dem lizenzierten Rechner, bei floating licenses netzwerkweit, also für alle Maschinen, die die technischen Voraussetzungen für die Applikation erfüllen.

Aus vielen Gründen sollten node-locked-Lizenzen so weit wie möglich gemieden werden.
Fordern Sie Ihren Software-Hersteller also immer auf, die gekauften 'seats' in Form einer floating license auszustellen, um nicht nur auf eine einzige Maschine beschränkt zu sein — denn die könnte ausfallen.
Selbst wenn man tatsächlich nur einen einzigen 'seat' kauft, erhält man mit einer floating license die Flexibilität, das Programm auf allen geeigneten Rechnern zu benutzen, wenn auch nur jeweils in einer einzigen gleichzeitigen Instanz.



Backlinks: 123ora:Linux