Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Content imported from a Scroll Translations translation file.
Sv translation
languageen

Table of Contents
maxLevel3
printablefalse

PCS Cluster Installation

Next, PCS Cluster is installed, see Redundancy - Installing PCS Cluster.

Configure virtual IP address (only on one node!)

Then, the virtual IP address of the cluster is configured as a resource:

Translations Ignore


Code Block
titleConfigure virtual IP address
pcs resource create ClusterIP ocf:heartbeat:IPaddr2 ip=10.4.8.12 cidr_netmask=32 op monitor interval=30s



Check whether the address is started:

Translations Ignore


Code Block
titleCheck virtual IP address
pcs status
 
# It may take a few seconds before the resource is started. Run this command more than once...
 
-->
 
Cluster name: portal
Stack: corosync
Current DC: uk-acd-lb1 (version 1.1.16-12.el7_4.8-94ff4df) - partition with quorum
Last updated: Tue Mar 20 11:57:43 2018
Last change: Tue Mar 20 11:57:33 2018 by root via cibadmin on uk-acd-lb1

2 nodes configured
1 resource configured

Online: [ uk-acd-lb1 uk-acd-lb2 ]

Full list of resources:

 ClusterIP      (ocf::heartbeat:IPaddr2):       Started uk-acd-lb1

Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled



Firewall configuration

Next, the port shares for the mySQL forwarding must be entered in the firewall and saved permanently:

Translations Ignore


Code Block
languagebash
titleConfigure firewall
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=3307/tcp --permanent
firewall-cmd --zone=public --add-port=3308/tcp --permanent
firewall-cmd --reload



haproxy configuration for redundancy (both nodes)

The structure of the configuration file of the haproxy service is quite complex. For this reason it is recommended to use an appropriate template from the central jtel download directory to speed up the configuration work. There are two templates, which differ in whether the services are offered via HTTP or via HTTPS. If provision via HTTPS is desired, a file with a valid certificate and the corresponding private key in PEM-base64-- format must be provided in addition to the configuration file.

Downloading the following configuration template is a good starting point for a system that should be accessible via HTTP:

Translations Ignore


Code Block
languagebash
titleDownload the HTTP configuration template
curl https://cdn.jtel.de/downloads/configs/haproxy.redundant.http.cfg > /etc/haproxy/haproxy.cfg



If, on the other hand, it is desired that HTTP accesses are automatically redirected to HTTPS and all accesses are to take place via HTTPS, the following configuration template must be downloaded:

Translations Ignore


Code Block
languagebash
titleDownload the HTTPS configuration template
curl https://cdn.jtel.de/downloads/configs/haproxy.redundant.https.cfg > /etc/haproxy/haproxy.cfg



If the configuration supports HTTPS, the file /etc/haproxy/haproxy.pem must also be created, which contains the certificate, any secondary certificates and the private key. This file must also be given special permissions so that only the root user has read access, otherwise the haproxy service will not start.

For self-generated certificates see SSL/TLS Certificates - Self-signed certificate.

Translations Ignore


Code Block
languagebash
titleSave the certificate file
chmod 400 /etc/haproxy/haproxy.pem





Virtuelle Adresse konfigurierenVirtuelle Adresse prüfenHerunterladen der HTTP KonfigurationsvorlageHerunterladen der HTTPS Konfigurationsvorlage
Sv translation
languagede

Table of Contents
maxLevel3
printablefalse

PCS Cluster Installation

Als nächstes, wird PCS Cluster installiert, siehe Redundancy - Installing PCS Cluster.

Virtuelle IP Adresse konfigurieren (Nur auf einem Node!)

Anschließend, wird die virtuelle IP Adresse des Clusters als Ressource konfiguriert:

Translations Ignore


Code Block
title
Configure virtual IP
address
pcs resource create ClusterIP ocf:heartbeat:IPaddr2 ip=10.4.8.12 cidr_netmask=32 op monitor interval=30s



Prüfen, ob die Adresse gestartet wird:

Translations Ignore


Code Block
title
Check virtual IP
address
pcs status
 
# 
Es
It 
kann
may 
ein
take 
paar
a 
Sekunden
few 
dauern,
seconds 
bis
before 
die
the 
Ressource
resource 
gestartet
is 
wird
started. Run 
Dieses
this 
Kommando
command 
mehrmals
more 
ausführen
than once...
 
-->
 
Cluster name: portal
Stack: corosync
Current DC: uk-acd-lb1 (version 1.1.16-12.el7_4.8-94ff4df) - partition with quorum
Last updated: Tue Mar 20 11:57:43 2018
Last change: Tue Mar 20 11:57:33 2018 by root via cibadmin on uk-acd-lb1

2 nodes configured
1 resource configured

Online: [ uk-acd-lb1 uk-acd-lb2 ]

Full list of resources:

 ClusterIP      (ocf::heartbeat:IPaddr2):       Started uk-acd-lb1

Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled



Firewall Konfiguration

Als nächstes müssen in der Firewall die Port-Freigaben für die mySQL Weiterleitungen eingetragen und persistent gespeichert werden:

Translations Ignore


Code Block
languagebash
titleConfigure firewall
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=3307/tcp --permanent
firewall-cmd --zone=public --add-port=3308/tcp --permanent
firewall-cmd --reload



haproxy Konfiguration für Redundanz (beide Nodes)

Der Aufbau der Konfigurationsdatei des haproxy Dienstes ist recht komplex. Aus diesem Grunde empfiehlt es sich eine entsprechende Vorlage aus dem zentralen jtel Download-Verzeichnis anzuwenden, um die Konfigurationsarbeiten zu beschleunigen. Dort befinden sich zwei Vorlagen, die sich darin unterscheiden, ob die Dienste über HTTP oder über HTTPS angeboten werden. Ist die Bereitstellung über HTTPS gewünscht, muss zusätzlich zu der Konfigurationsdatei auch eine Datei mit einem gültigen Zertifikat und dem dazugehörigen Private Key im PEM-base64--Format zur Verfügung gestellt werden.

Das Herunterladen der folgenden Konfigurationsvorlage ist ein guter Startpunkt für ein System welches über HTTP erreichbar sein soll:

Translations Ignore


Code Block
languagebash
title
Download the HTTP configuration template
curl 
http
https://cdn.jtel.de/downloads/configs/haproxy
-std
.redundant.http.cfg > /etc/haproxy/haproxy.cfg



Ist hingegen gewünscht, dass HTTP Zugriffe automatisch auf HTTPS umgeleitet werden und alle Zugriffe über HTTPS erfolgen sollen, so ist folgende Konfigurationsvorlage herunterzuladen:

Translations Ignore


Code Block
languagebash
title
Download the HTTPS configuration template
curl 
http
https://cdn.jtel.de/downloads/configs/haproxy
-ssl
.redundant.https.cfg > /etc/haproxy/haproxy.cfg



Im Falle einer Konfiguration die HTTPS Unterstützt, muss zusätzlich die Datei /etc/haproxy/haproxy.pem angelegt werden, in der sich sowohl das Zertifikat, eventuelle Zwischenzertifikate und der Private Schlüssel befindet. Diese Datei muss außerdem eine spezielle Berechtigung erhalten, damit nur der Benutzer root darauf lesen zugreifen kann, ansonsten wird der haproxy Dienst nicht starten

...

Sichern der Zertifikatdatei

.

Für selbstgenerierte Zertifikate siehe SSL/TLS Certificates - Self-signed certificate.

Translations Ignore


Code Block
languagebash
title
Save the certificate file
chmod 400 /etc/haproxy/haproxy.pem

Erforderliche Anpassungen der Konfiguration

Die Konfigurationsdatei /etc/haproxy/haproxy.cfg muss nun mit einem Text-Editor der Umgebung entsprechend angepasst werden. Die Datei enthält verschiedene Bereiche, die der Anpassung bedürfen.

Anpassung der Benutzer für die haproxy-Administration

Über die URL http(s)://acd-store:7777 kann auf eine Administrationsoberfläche des haproxy-Dienstes zugegriffen werden. Hier können z.B. Backend-Server aus der Verteilung zu Wartungs- oder Test-Zwecken ausgeschlossen werden. In der Standardkonfiguration gibt es einen Read-Only-Benutzer (Benutzername: user, Passwort: fireball) und zwei Konfigurations-berechtigte Benutzer (admin und jtel). Beide haben das gleiche (bekannte) Passwort. Möchte man z.B. das Passwort für den Benutzer admin ändern, so dass z.B. ein Kudnen- oder Partner-Administrator auch Zugriff hat, so kann man mittels einem speziellen Befehl einen neuen Passwort-Hash generieren:

Code Block
languagebash
titleGenerieren eines Passwort-Hashes
python -c 'import crypt; print crypt.crypt("F1r3ball2016", "$5$jhaProxy")'

Dieser Befehl generiert ein neues SHA256 Hash für das Passwort "F1r3ball2016" unter Benutzung des Salt-Wertes "jhaProxy". Dieser Hash kann dann für den entsprechenden Benutzer eingesetzt werden. Der Benutzerbereich in der Konfigurationsdatei sieht folgendermaßen aus:

Code Block
titleBenutzerbereich in /etc/haproxy/haproxy.cfg
userlist stats-auth
        user  admin     password $5$jhaProxy$rd33gRtd4Wt5UyIclODlyjinSeH4N2DjLtKk33PNZH.
        user  jtel      password $5$jhaProxy$rd33gRtd4Wt5UyIclODlyjinSeH4N2DjLtKk33PNZH.
        user  user      password $5$jhaProxy$.saE3wsZ9AzbDMk2jW9WWQqm.4.vgyZCjFdCf5dAKD6
        group admin     users admin,jtel
        group readonly  users user

Anpassung der URL Umleitungen

Die Konfigurationsvorlage stellt drei URL-Umleitungen zu Verfügung um den komfortablen Zugriff auf die Login Masken für den System-Administrator Login, den normalen Benutzer-Login und den normalen Benutzer-Login für den Mini Client zu ermöglichen. Dies erfordert allerdings eine Anpassung an dem Bereich acdportal_http bzw. acdportal_https:

Code Block
titleAnpassung der URL-Umleitungen
        redirect        location /CarrierPortal/login/RESELLER/CLIENT if root_req
        redirect        location /CarrierPortal/mclogin/RESELLER/CLIENT if mini_req

Hier sind die Zeichenketten RESELLER bzw. CLIENT respektive mit der "Reseller UID" und der "Client UID" des Standardmandanten zu ersetzen. Werden diese bei der Einrichtung des Kundensystems nicht spezifisch angepasst, so lauten beide "default".

Anpassung der Backend-Listen

Die Liste der Web-Applikationsserver auf die die Anfrage verteilt werden sollen, wird in der Konfigurationsdatei in zwei getrennten Bereichen gepflegt. Der folgende Bereich ist zuständig für die Verteilung aller Aufrufe auf das Portal:

Code Block
titleBackend Bereich für das Web Portal
backend jtel_portal
        mode            http
        compression     algo gzip
        compression     type text/xml text/html text/plain text/css text/javascript
        cookie          SERVERID insert indirect nocache
        appsession      JSESSIONID len 32 timeout 3600000
        balance         leastconn # roundrobin
        server          jboss1 192.168.1.31:8080 weight 1 cookie jboss1 check inter 1m
        server          jboss2 192.168.1.32:8080 weight 1 cookie jboss2 check inter 1m

Hier sind entsprechend der Systemarchitektur alle Web-Applikationsserver einzutragen, die das Web-portal (auch Mini Client) zur Verfügung stellen sollen. Für jeden Server ist eine "server"-Zeile zu erstellen. Dabei ist darauf zu achten, eindeutige interne Namenskennzeichnungen und cookie-Werte zu verwenden (im obigen Fall "jbossX" wobei X durchnummeriert wird).

Der folgende Bereich ist hingegen zuständig für die Verteilung aller SOAP Anfragen:

Code Block
titleBackend Bereich für das SOAP Interface
backend jtel_soap
        mode            http
        compression     algo gzip
        compression     type text/xml text/html text/plain text/css text/javascript
        balance         leastconn # roundrobin
        stick-table     type ip size 20k
        stick           on src
        server          jboss1 192.168.1.31:8081 weight 1 cookie jboss1 check inter 1m
        server          jboss2 192.168.1.32:8081 weight 1 cookie jboss2 check inter 1m

Auch hier sind entsprechend der Systemarchitektur alle Web-Applikationsserver einzutragen, die das SOAP Interface zur Verfügung stellen sollen. Für jeden Server ist eine "server"-Zeile zu erstellen. Dabei ist darauf zu achten, eindeutige interne Namenskennzeichnungen und cookie-Werte zu verwenden (im obigen Fall "jbossX" wobei X durchnummeriert wird). Diese Server sind in der Regel die gleichen, die auch für den Portal-Zugriff verwendet werden. In großen Installationen können hierfür aber auch dedizierte Web-Applikationsserver angegeben werden.

Note
titleWichtiger Hinweis

Ein wichtiger Unterschied zwischen der HTTP under HTTPS Version der Konfigurationsdatei, liegt in dem Port zu dem SOAP Anfragen geleitet werden. Erfolgt der Zugriff über HTTPS, so werden alle Anfrage zu den Web-Application Server auf Port 8081 geleitet. Dieser Connector ist so konfiguriert, dass der JBOSS-Server weiss, dass die originalen Anfragen über HTTPS hereingekommen sind, und die zurück gegebene URLs (wie z.B. im WSDL) mit dem entsprechenden Schema versieht, auch wenn die Kommunikation zwischen haproxy und Backend nur über HTTP läuft.

In der reinen HTTP-Version der Konfigurationsvorlage werden die Anfragen hingegen zu Port 8080 geleitet.

Starten des haproxy-Dienstes

Nach dem alle Konfigurationsanpassungen getätigt wurden, kann der haproxy-Dienst gestartet werden:

Code Block
languagebash
titleStarten des haproxy Dienstes
service haproxy start

Im Anschluss sollte geprüft werden, ob der Dienst auch tatsächlich läuft. Ist dies nicht der Fall, kann die Log-Datei Aufschluß über eventuelle Konfigurationsfehler geben.

Bei Konfigurationsänderungen kann der haproxy DIenst im laufenden Betrieb mittels folgendem Befehl seine Konfiguration aktualisieren:

Code Block
languagebash
titleAktualisieren der Konfiguration im Betrieb
service haproxy reload

Ein finaler Test gibt Aufschluss über den Erfolg der Installation. Da zu diesem Zeitpunkt die UID Werte des Reseller und Mandanten noch nicht umbenannt wurden, empfiehlt sich der Aufruf der URL für den Admin-Login: http://acd-lb.example.com/admin welcher im Erfolgsfall zur Login-Maske des Portals führt.

Image Removed

Weiterführende Links





Sv translation
languagefr

Table of Contents
maxLevel3
printablefalse

Installation du PCS Cluster

Ensuite, le PCS Cluster est installé, voir Redundancy - Installing PCS Cluster.

Configurer l'adresse IP virtuelle (uniquement sur un nœud !)

Ensuite, l'adresse IP virtuelle du cluster est configurée comme une ressource :

Translations Ignore


Code Block
titleConfigurer l'adresse IP virtuelle
pcs resource create ClusterIP ocf:heartbeat:IPaddr2 ip=10.4.8.12 cidr_netmask=32 op monitor interval=30s



Vérifiez si l'adresse est lancée :

Translations Ignore


Code Block
titleVérifiez l'adresse IP virtuelle
pcs status # Il peut s'écouler quelques secondes avant que la ressource ne soit lancée. Exécutez cette commande plus d'une fois...   --> Nom du cluster : portal Stack : corosync Current DC : uk-acd-lb1 (version 1.1.16-12.el7_4.8-94ff4df) - partition avec quorum Dernière mise à jour : Mardi 20 Mar 11:57:43 2018 Dernier changement: Mardi 20 Mar 11:57:33 2018 par root via cibadmin sur uk-acd-lb1 2 noeuds configurés 1 ressource configurée en ligne : [ uk-acd-lb1 uk-acd-lb2 ] Liste complète des ressources : ClusterIP (ocf::heartbeat:IPaddr2): Started uk-acd-lb1 Daemon Status: corosync: active/enabled pacemaker: active/enabled pcsd: active/enabled



Configuration du pare-feu

Ensuite, les partages de port pour la redirection mySQL doivent être saisis dans le pare-feu et enregistrés de manière permanente :

Translations Ignore


Code Block
languagebash
titleConfigurer le parefeu
firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --zone=public --add-port=3307/tcp --permanent firewall-cmd --zone=public --add-port=3308/tcp --permanent firewall-cmd --reload



configuration haproxy pour la redondance (les deux nœuds)

La structure du fichier de configuration du service haproxy est assez complexe. Pour cette raison, il est recommandé d'utiliser un modèle approprié du répertoire central de téléchargement de jtel pour accélérer le travail de configuration. Il existe deux modèles, qui diffèrent selon que les services sont offerts via HTTP ou via HTTPS. Si la fourniture via HTTPS est souhaitée, un fichier avec un certificat valide et la clé privée correspondante au format PEM-base64-- doit être fourni en plus du fichier de configuration.

Le téléchargement du modèle de configuration suivant est un bon point de départ pour un système qui devrait être accessible via HTTP :

Translations Ignore


Code Block
languagebash
titleTélécharger le modèle de configuration HTTP
curl https://cdn.jtel.de/downloads/configs/haproxy.redundant.http.cfg > /etc/haproxy/haproxy.cfg



Si, en revanche, on souhaite que les accès HTTP soient automatiquement redirigés vers HTTPS et que tous les accès se fassent via HTTPS, le modèle de configuration suivant doit être téléchargé :

Translations Ignore


Code Block
languagebash
titleTélécharger le modèle de configuration HTTPS
curl https://cdn.jtel.de/downloads/configs/haproxy.redundant.https.cfg > /etc/haproxy/haproxy.cfg



Si la configuration supporte le HTTPS, le fichier /etc/haproxy/haproxy.pem doit également être créé, qui contient le certificat, les éventuels certificats secondaires et la clé privée. Ce fichier doit également être doté de permissions spéciales afin que seul l'utilisateur root ait un accès en lecture, sinon le service haproxy ne démarrera pas.

Pour les certificats autogénérés, voir SSL/TLS Certificates - Self-signed certificate.

Translations Ignore


Code Block
languagebash
titleEnregistrer le fichier de certificat
chmod 400 /etc/haproxy/haproxy.pem

...