Installation Nvidia GRID Lizenz Server auf Ubuntu 20.04 LTS

Veröffentlicht von

Last Updated on 20. Oktober 2021 by Sebastian

In den meisten POCs im Bereich Nvidia GRID habe ich den Lizenzserver auf irgendeinen bestehenden Windows Server mitinstalliert. Oft habe ich dabei Probleme mit der Java installation gehabt. Daraus ist die Idee geboren den Lizenzserver unter Ubuntu bereitzustellen. Für die Installation habe ich ein Ubuntu 20.04 LTS in einer virtuellen Maschine installiert und die letzten Updates via apt update & apt upgrade eingespielt.

Als nächstes muss eine entsprechende Java Runtime installiert werden. Der Nvidia License Server unterstützt hier neben der klassischen Java Runtime von Oracle auch das OpenJDK was lizenztechnisch mittlerweile die sichere Variante ist. Mit apt Install default-jre führt man die Installation durch. Alle nötigen Pakete werden entsprechend geladen.
Im Anschluss laden wir noch das Apache Tomcat Paket. In der Nvidia License Server Dokumentation  wird zwar empfohlen das Apache Paket manuell zu laden und auf dem entsprechenden Hostsystem zu kompilieren um den Support aller Features zu gewährleisten. Allerdings bezieht sich dies wohl mehr allgemein auf die eingesetzte Version. z.B. gibt es viele Distributionen die immer noch auf eine veraltete Tomcat Version setzen bzw. keine neue Version in ihren Paketkatalog aufnehmen. Die Installation ist ähnlich einfach wie schon bei dem Java JRE. Ein apt Install tomcat9 tomcat9-admin erledigt hier alle nötigen Schritte.

Nun können wir uns der eigentlichen Lizenzserver Installation widmen. Im ersten Schritt müssen wir die aktuelle Version des Lizenzserver aus dem Nvidia Portal herunterladen. Stand aktuell 2020.05 Update 1 

Nachdem wir die Zip Datei runtergeladen haben entpacken wir diese entweder auf unserem Windows PC direkt oder kopieren Sie komprimiert mit der Hilfe eines SCP/SFTP Clients auf den Ubuntu Server. Ich habe mich dafür entschieden vorher die Zip Datei zu entpacken und kopiere lediglich die setup.bin via WinSCP.

Die Datei setup.bin muss nun noch ausführbar gemacht werden mit chmod u+x 

Wenn das geschafft ist können wir das Setup mit ./setup.bin start

An dieser Stelle drücken wir lediglich Enter. Wir werden aufmerksam gemacht das wir das Setup jederzeit  mit quit beenden können.

Es folgt die Enduser License Agreement die wir natürlich gewissenhaft gelesen haben und anschliessend mit y bestätigen. 

Hier werden wir nach dem Installationsverzeichnis für unseren Lizenzserver gefragt. Man kann die Einstellung Standard belassen und einfach mit Enter bestätigen.

Im weiteren verlauf müsst ihr den Pfad zu eurer Apache Tomcat Installation angeben. Auf einem Ubuntu System ist dies /var/lib/tomcat9

Die Firewallkonfiguration anschliessend lasse ich ebenso Standard. Hier sollte im Nachgang mit UFW entsprechende Firewallregeln erstellt werden die den Zugriff nur für bestimmte IP Bereiche erlaubt. Also mit Enter bestätigen.

Abschliessend erhalten wir die Info das der Lizenzserver erfolgreich installiert wurde und das wir noch ein weiteres mal mit Enter bestätigen sollen.

Achtung: In Update 1 des Lizenzservers hat sich wohl ein kleiner Bug eingeschlichen. Beim ersten Aufruf des Lizenzservers über den Browser kam eine Fehlermeldung zurück. Der Grund ist das die zwei Programmelemente(fne.war sowie licserver.war) des Lizenzserver nicht in das Webapps Verzeichnis des Tomcat Server geschrieben wurden. Wir kopieren die beiden Dateien die sich unter /opt/flexnetls/nvidia/ui befinden mit einem cp *.* /var/lib/tomcat9/webapps. Anschliessend starten wir den tomcat9 dienst neu mit service tomcat9 restart.

Der erste Browseraufruf via http://hostname:8080/licserver sollte das Portal wie im Screenshot zum Vorschein bringen.

Wir könnn nun unter License Management eine im Nvidia Lizenzportal generierte Lizenzdatei hochladen in dem wir die Datei über Choose File auswählen und anschliessend auf Upload klicken.

Die zur Verfügung stehenden Lizenzfeatures können über den Link auf License Feature Usage geprüft werden.

Nun ist es Zeit sich noch um ein kleines bisschen Sicherheit zu kümmern. Der Lizenzserver in der aktuellen Konfiguration benötigt keine Authentifizierung und kann somit von jedem User eingesehen und bearbeitet werden. Um dies zu verhindern wechseln wir nochmal auf die Konsole und aktiveren. Die Option das eine Passworteingabe zur Anpassung der Konfiguration im Lizenzserver notwendig ist. Hier zu erstelle ich im ersten Schritt eine Variable die es mir in den folgenden Schritten einfacher macht beim Handling mit den Befehlen. FLEXNETLS_BASEURL=http://localhost:7070/api/1.0/instances/~

Sobald die Variable erstellt ist können wir dann mit dem nächsten Befehl die Anmeldung via Benutzernamen/Passwort aktiveren mit dem Befehl. ./nvidialsadmin.sh -config -set security.enabled=true -server $FLEXNETLS_BASEURL . Um den Befehl erfolgreich auszuführen müsst euch im Pfad /opt/flexnetls/nvidia/enterprise befinden.

Nach erfolgreicher Aktivierung ( Invalid Input trügt etwas ) könnt ihr euch im Portal unter Login mit den Daten admin/Admin@123 authentifizieren.

Final ändern wir nun noch das Passwort des Admin Benutzers. Wichtig ist hier zu wissen das die Angaben in der Dokumentation nur eingeschränkt stimmen. So musste ich beim ändern des Passwortes immer die Rolle mit angeben sowie auch schon vorher die FLEXNETLS_BASEURL Variable. Die fertige Zeile sieht wie folgt aus: ./nvidialsadmin.sh -authorize admin Admin@123 -users -edit admin Password1! ROLE_ADMIN -server $FLEXNETLS_BASEURL

Achtet bei der Vergabe des Passwortes darauf das ihr keins verwendet welches evtl. als Steuerzeichen Interpretiert werden kann. z.B. & Zeichen. Es gibt zwar den Schalter -passwordConsoleInput dieses gilt allerdings nur für das bereits vergebene Passwort zur Authentifizierung.

Das warst fürs erste damit habt ihr einen Lauffähigen Lizenzserver der von euren Clients verwendet werden kann. Im nächste Schritt wäre noch eine Absicherung via SSL spannend hier zeigt sicher allerdings der Java Part der Applikation von der schönsten Seite. Meine bisherigen Versuche immer gescheitert. Ich werde es aber demnächst mal mit einem SelfSigned Zertifikat direkt über die Java Tools versuchen. Ansonsten gilt wie immer: Solltet ihr Anregungen und Kritik haben könnt ihr gerne schreiben.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.