1. Systemanforderungen

Die Systemanforderungen für Installation und Betrieb des FVA Simulation Hub sind abhängig davon, wie viele FVA-Workbench-Instanzen gestartet und welche Berechnungen durchgeführt werden.

Die folgenden Mindestanforderungen gelten beim Betrieb eines FVA Simulation Hub mit drei durchgängig laufenden FVA-Workbench-Instanzen:

  • Prozessor: 2,4 GHz mit 6 Kernen

  • RAM: 32 GB

  • Speicher: 20-30 GB (exkl. Betriebssystem)

2. Windows

2.1. Verzeichnisstruktur

Für die Installation der Anwendung wird die folgende Verzeichnisstruktur empfohlen:

Verzeichnis Beschreibung

C:\FVA\FVA-Simulation-Hub\app

Verzeichnis für die Anwendungsdateien des FVA Simulation Hub.

C:\FVA\FVA-Simulation-Hub\lib

Verzeichnis für die Java-Laufzeitumgebung.

C:\FVA\FVA-Simulation-Hub\licenses

Verzeichnis für die FVA-Workbench-Lizenzen.

C:\FVA\FVA-Simulation-Hub\logs

Verzeichnis für diverse Log-Dateien der Hilfswerkzeuge.

C:\FVA\FVA-Simulation-Hub\tools

Verzeichnis für diverse benötigte Hilfswerkzeuge.

C:\FVA\FVA-Simulation-Hub\worker

Verzeichnis für die FVA-Workbench-Instanzen.

Je nach Bedarf können diese Verzeichnisse geändert bzw. frei gewählt werden. In diesem Fall müssen die Pfade angepasst werden, die im weiteren Verlauf der Installationhinweise angegeben sind.

2.2. Programme installieren

2.2.1. Notepad++

Die Installation von Notepad++ ist optional. Es wird aber empfohlen, um die Konfigurationdateien komfortabel zu bearbeiten.

Installation:

2.2.2. 7-zip

Das Windows-Standard-ZIP-Tool ist fehleranfällig (besonders mit langen Pfaden) und deshalb nicht zu verwenden. Als Alternative wird 7-zip empfohlen.

Installation:

2.2.3. Java

Der FVA Simulation Hub benötigt zur Ausführung die Java-Laufzeitumgebung in der Version 21.

Installation:

  • Download von https://jdk.java.net/archive/ (Windows 21 zip)

  • kopieren nach C:\FVA\FVA-Simulation-Hub\lib

  • Entpacken mit "7-zip → Hier entpacken"

2.2.4. NSSM

Für die Ausführung des FVA Simulation Hub als Windows-Dienst wird NSSM (Non-Sucking Service Manager) vorausgesetzt.

Installation:

  • Download von https://nssm.cc/download

  • kopieren nach C:\FVA\FVA-Simulation-Hub\tools

  • Entpacken mit "7-zip → Hier entpacken"

2.2.5. FVA-Lizenzserver

Der FVA Simulation Hub muss mit Floating-Lizenzen betrieben werden. Dazu ist der Einsatz des FVA-Lizenzservers erforderlich.

Installation:

2.2.6. FVA-Workbench

Zur Durchführung von Berechnungen werden FVA-Workbench-Instanzen benötigt.

Je mehr Instanzen bereitgestellt werden, desto mehr Berechungen können zeitgleich bearbeitet werden. Die maxmiale Anzahl an FVA-Workbench-Instanzen ist hierbei nur durch die verwendete Hardware (Prozessoren, Arbeitspeicher, Festplattenkapazität) und die verfügbaren Lizenzen limitiert.

Installation:

  • Download von https://download.fva-service.de/ (Portable)

  • kopieren nach C:\FVA\FVA-Simulation-Hub\worker

  • Entpacken mit "7-zip → Entpacken nach 'FVA-Workbench-x.y.z-YYYYMMDD-XXXXX'"

Erst ab Version 9.0.0 der FVA-Workbench kann eine Instanz mehrfach aus einem Verzeichnis ausgeführt werden. Für alle Versionen davor müssen die FVA-Workbench-Portable-Archive mehrmals entpackt werden (Suffix der Verzeichnisse beispielsweise mit _01 und _02, je nach Anzahl benötigter Instanzen).

Folgende Versionen der FVA-Workbench werden unterstützt:

  • 10.0.x (10.0.1, 10.0.0)

  • 9.0.x (9.2.1, 9.2.0, 9.0.2, 9.0.1, 9.0.0)

  • 8.1.x (8.1.2, 8.1.1, 8.1.0)

  • 8.0.x (8.0.1, 8.0.0)

  • 7.1.x (7.1.2, 7.1.1, 7.1.0)

Da die Portable-Varianten der FVA-Workbench verwendet werden, muss zwingend die "Microsoft Visual C++ Redistributable" installiert werden. Die zugehörige .exe-Datei befindet sich für gewöhnlich im Hauptverzeichnis der Protable-Version (Dateiname z. B. vc2017redist_x64.exe).
Für die Berechnung von Gleitlagern mit COMBROS ist die Installation von MATLAB Runtime R2016b(9.1) erforderlich. Hier kann die Version heruntergeladen werden: www.mathworks.com/products/compiler/matlab-runtime.html

2.2.7. FVA Simulation Hub

Installation:

2.3. Konfiguration

2.3.1. Java-Laufzeitumgebung

Um den Pfad zur Java-Laufzeitumgebung zu konfigurieren, muss die Datei C:\FVA\FVA-Simulation-Hub\app\bin\run.conf.bat.example zu run.conf.bat umbenannt werden.

In dieser Datei muss der Pfad zur Java-Laufzeitumgebung gesetzt werden:

set "JAVA_HOME=C:\FVA\FVA-Simulation-Hub\lib\jdk-21.0.2"

2.3.2. Anwendung

Zum Ändern der Konfigurationsparameter muss die Datei C:\FVA\FVA-Simulation-Hub\app\config\application.yml.example zu application.yml umbenannt werden.

In dieser Datei können die Konfigurationsparameter der Anwendung bearbeitet werden. Ein Auflistung aller Parameter ist hier zu finden: Konfiguration

2.4. Anwendung ausführen

Öffnen Sie die Kommandozeile, wechseln Sie in das Installationsverzeichnis und starten Sie die Anwendung:

$ cd C:\FVA\FVA-Simulation-Hub\app
$ bin\run.cmd
Der hier beschriebene Start der Anwendung sollte nur für Testzwecke verwednet werden. Für den produktiven Betrieb sollte die Anwendung als Dienst betrieben werden.

Die Anwendung startet standardmäßig unter dem Port 8080. Nach dem Start können Sie die erfolgreiche Ausführung im Browser testen. Klicken Sie dazu den folgenden Link: http://localhost:8080/

Verwenden Sie zum Beenden der Anwendung von der Kommandozeile aus die Tastenkombination [STRG]+[C]. Dadurch ermöglichen Sie der Anwendung ein "sanftes" Beenden mit dem automatischen Herunterfahren aller gestarteten FVA-Workbench-Instanzen.

2.5. Dienst einrichten

Dienst konfigurieren und starten

Dienst erstellen:

$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe install FVA-Simulation-Hub C:\FVA\FVA-Simulation-Hub\app\bin\run.cmd

Ausführungsverzeichnis setzen:

$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe set FVA-Simulation-Hub AppDirectory C:\FVA\FVA-Simulation-Hub\app

Log-Dateien umleiten:

$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe set FVA-Simulation-Hub AppStdout C:\FVA\FVA-Simulation-Hub\logs\service.log
$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe set FVA-Simulation-Hub AppStderr C:\FVA\FVA-Simulation-Hub\logs\service-error.log

Ausführenden Benutzer setzen:

$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe set FVA-Simulation-Hub ObjectName .\simhub-user password

Dienst starten:

$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe start FVA-Simulation-Hub

Service überwachen

Status prüfen:

$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe status FVA-Simulation-Hub

Dienst stoppen und entfernen

$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe stop FVA-Simulation-Hub
$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe remove FVA-Simulation-Hub confirm

3. Linux

Für die Installation und die Ausführung von FVA-Workbench-Instanzen ist Windows als Betriebssystem erforderlich. Eine Installation unter Linux ist nur bei Load Balancing als Gateway möglich.

3.1. Verzeichnisstruktur

Für die Installation der Anwendung wird die folgende Verzeichnisstruktur empfohlen:

Verzeichnis Beschreibung

/opt/FVA-Simulation-Hub/app

Verzeichnis für die Anwendungsdateien des FVA Simulation Hub.

/opt/FVA-Simulation-Hub/lib

Verzeichnis für die Java-Laufzeitumgebung.

Je nach Bedarf können diese Verzeichnisse geändert bzw. frei gewählt werden. In diesem Fall müssen die Pfade angepasst werden, die im weiteren Verlauf der Installationhinweise angegeben sind.

3.2. Programme installieren

3.2.1. Java

Der FVA Simulation Hub benötigt zur Ausführung die Java-Laufzeitumgebung in der Version 21.

Installation:

  • Download von https://jdk.java.net/archive/ (Linux 21 tar.gz)

  • kopieren nach /opt/FVA-Simulation-Hub/lib

  • Entpacken mit tar -zxf openjdk-21.0.1_linux-x64_bin.tar.gz

3.2.2. FVA Simulation Hub

Installation:

3.3. Konfiguration

3.3.1. Java-Laufzeitumgebung

Um den Pfad zur Java-Laufzeitumgebung zu konfigurieren, muss die Datei /opt/FVA-Simulation-Hub/app/bin/run.conf.example zu run.conf umbenannt werden.

In dieser Datei muss der Pfad zur Java-Laufzeitumgebung gesetzt werden:

set "JAVA_HOME=/opt/FVA-Simulation-Hub/lib/jdk-21.0.2"

3.3.2. Anwendung

Zum Ändern der Konfigurationsparameter muss die Datei /opt/FVA-Simulation-Hub/app/config/application.yml.example zu application.yml umbenannt werden.

In dieser Datei können die Konfigurationsparameter der Anwendung bearbeitet werden. Ein Auflistung aller Parameter ist hier zu finden: Konfiguration

3.4. Anwendung ausführen

Wechseln Sie in das Installationsverzeichnis und starten Sie die Anwendung:

$ cd /opt/FVA-Simulation-Hub/app
$ bash bin/run.sh
Der hier beschriebene Start der Anwendung sollte nur für Testzwecke verwednet werden. Für den produktiven Betrieb sollte die Anwendung als Dienst betrieben werden.

Die Anwendung startet standardmäßig unter dem Port 8080. Nach dem Start können Sie die erfolgreiche Ausführung im Browser testen. Klicken Sie dazu den folgenden Link: http://localhost:8080/

3.5. Dienst einrichten

Dienst konfigurieren und starten

Vergeben Sie ausführende Berechtigung für das Start-Script:

$ chmod +x /opt/FVA-Simulation-Hub/app/bin/run.sh

Service erstellen und starten

$ cp /opz/FVA-Simulation-Hub/app/bin/systemd/fva-simulation-hub.service /etc/systemd/system/
$ nano /etc/systemd/system/fva-simulation-hub.service
    # 'WorkingDirectory' -> Setzen Sie hier das Installationsverzeichnis
    # 'ExecStart' -> Setzen Sie hier den vollständigen Pfad zur run.sh
    # 'SyslogIdentifier' -> Setzen Sie hier eine ID für das System-Log

$ systemctl daemon-reload
$ systemctl enable fva-simulation-hub
$ systemctl start fva-simulation-hub

Service überwachen

Status prüfen:

$ systemctl status fva-simulation-hub
$ journalctl -u fva-simulation-hub -b

Service stoppen und entfernen:

$ systemctl stop fva-simulation-hub.service
$ systemctl disable fva-simulation-hub.service
$ rm /etc/systemd/system/fva-simulation-hub.service
$ systemctl daemon-reload
$ systemctl reset-failed

4. Reverse Proxy

Der Einsatz eines Reverse Proxy kann folgende Vorteile bieten:

In diesem Abschnitt wird die Einrichtung eines Reverse Proxy am Beispiel von NginX beschrieben. Andere Programme, wie Apache oder Microsoft Internet Information Services (IIS), können alternativ auch verwendet werden.

4.1. Windows

Voraussetzungen

Es wird angenommen, dass Zertifikatsdatein bereits unter den folgenden Pfaden zur Verfügung stehen:

C:\certs\[DOMAIN]\cert.pem
C:\certs\[DOMAIN]\fullchain.pem
C:\certs\[DOMAIN]\privkey.pem

NginX installieren

Falls noch nicht vorhanden, kann Nginx mit den folgenden Schritten installiert werden:

$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe install Nginx C:\FVA\FVA-Simulation-Hub\tools\nginx-1.26.3\nginx.exe
$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe start Nginx

Konfiguration erstellen

Am Ende der Datei C:\FVA\FVA-Simulation-Hub\tools\nginx-1.26.3\conf\nginx.conf, aber innerhalb der http-Sektion muss folgender Inhalt eingefügt werden:

server {
    listen 80;
    listen [::]:80;

    server_name [SUBDOMAIN].[DOMAIN];
    # example: server_name my-app.example.com;

    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name [SUBDOMAIN].[DOMAIN];
    # example: server_name my-app.example.com;

    ssl_certificate C:/certs/[DOMAIN]/fullchain.pem;
    # example: ssl_certificate C:/certs/example.com/fullchain.pem;
    ssl_certificate_key C:/certs/[DOMAIN]/privkey.pem;
    # example: ssl_certificate_key C:/certs/example.com/example.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:[APP_PORT];
        # example: proxy_pass http://127.0.0.1:8080;

        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;

        # WebSocket support
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Stellen Sie sicher, dass Sie alle der folgenden Platzhalter ersetzt haben:

  • [DOMAIN]

  • [SUBDOMAIN]

  • [APP_PORT]

Die maximal zulässige Größe für Requests kann bei Nginx über den Parameter client_max_body_size festgelegt werden.

Konfiguration testen

Testen Sie die Konfiguration mit dem folgenden Kommando:

$ C:\FVA\FVA-Simulation-Hub\tools\nginx-1.26.3\nginx.exe -t

NginX neustarten

Mit dem folgenden Kommando können Sie Nginx neustarten und die Anpasungen werden aktiv:

$ systemctl restart nginx
$ C:\FVA\FVA-Simulation-Hub\tools\nssm-2.24\win64\nssm.exe restart Nginx

4.2. Linux

Voraussetzungen

Es wird angenommen, dass Zertifikatsdatein bereits unter den folgenden Pfaden zur Verfügung stehen:

/etc/pki/tls/certs/[DOMAIN]/cert.pem
/etc/pki/tls/certs/[DOMAIN]/fullchain.pem
/etc/pki/tls/certs/[DOMAIN]/privkey.pem

NginX installieren

Falls noch nicht vorhanden, kann Nginx mit dem folgenden Kommando installiert werden:

$ apt install nginx

Konfiguration erstellen

Erstellen Sie die Datei /etc/nginx/conf.d/[SUBDOMAIN].conf mit dem folgenden Inhalt:

server {
    listen 80;
    listen [::]:80;

    server_name [SUBDOMAIN].[DOMAIN];
    # example: server_name my-app.example.com;

    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name [SUBDOMAIN].[DOMAIN];
    # example: server_name my-app.example.com;

    ssl_certificate /etc/pki/tls/certs/[DOMAIN]/fullchain.pem;
    # example: ssl_certificate /etc/pki/tls/certs/example.com/fullchain.pem;
    ssl_certificate_key /etc/pki/tls/certs/[DOMAIN]/privkey.pem;
    # example: ssl_certificate_key /etc/pki/tls/certs/example.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:[APP_PORT];
        # example: proxy_pass http://127.0.0.1:8080;

        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;

        # WebSocket support
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Stellen Sie sicher, dass Sie alle der folgenden Platzhalter ersetzt haben:

  • [DOMAIN]

  • [SUBDOMAIN]

  • [APP_PORT]

Die maximal zulässige Größe für Requests kann bei Nginx über den Parameter client_max_body_size festgelegt werden.

Konfiguration testen

Testen Sie die Konfiguration mit dem folgenden Kommando:

$ nginx -t

NginX neustarten

Mit dem folgenden Kommando können Sie Nginx neustarten und die Anpasungen werden aktiv:

$ systemctl restart nginx