[SOLVED] Cluster Synchronization failed

May 14, 2019
20
1
6
27
Servus,

ich habe derzeit ein Problem, dass nach einer Neuinstallation von zwei Proxmox Mail Gateways die Synchronisation der Datenbank nicht sauber funktioniert.

Ich erhalte im Syslog andauernd nachfolgenden Fehler

Code:
May 14 23:02:57 mx0 pmgmirror[1035]: starting cluster syncronization
May 14 23:02:57 mx0 pmgmirror[1035]: database sync 'mx1' failed - DBI connect('dbname=Proxmox_ruledb;host=/var/run/pmgtunnel;port=3;','root',...) failed: server closed the connection unexpectedly
                                             This probably means the server terminated abnormally
                                             before or while processing the request. at /usr/share/perl5/PMG/DBTools.pm line 59.
May 14 23:02:57 mx0 pmgmirror[1035]: cluster syncronization finished  (1 errors, 0.02 seconds (files 0.00, database 0.02, config 0.00))

Ich habe bereits versucht den zweiten Node aus dem Cluster zu werfen und wieder hinzuzufügen, was leider nicht funktionierte. Ein Login via root mittels SSH Keys von einem auf den anderen Host ist möglich, auch ist der SSH Port auf 22 belassen.

Gibt es hier eventuell erweiterte Logs die ich mir ansehen kann oder sonst irgendeinen Tipp der mir bei der Lösungsfindung helfen kann?

Liebe Grüße,
Alex
 
steht etwas relevantes in den postgres logs (/var/log/postgresql/*log)
bzw. im gesamten `journalctl` ?
jeweils auf beiden beteiligten nodes.
 
I can see the following lines in the postgres log file:

Code:
postgres@postgres LOG:  provided user name (postgres) and authenticated user name (root) do not match
postgres@postgres FATAL:  Peer authentication failed for user "postgres"

That's part of the output of journalctl
Code:
May 15 20:20:50 mx0 snmpd[793]: error on subcontainer 'ia_addr' insert (-1)

May 15 20:20:57 mx0 pmgmirror[1035]: starting cluster syncronization
May 15 20:20:57 mx0 pmgmirror[1035]: database sync 'mx1' failed - DBI connect('dbname=Proxmox_ruledb;host=/var/run/pmg
                                             This probably means the server terminated abnormally
                                             before or while processing the request. at /usr/share/perl5/PMG/DBTools.p

Die Datenbank existiert auf beiden Systemen ist auch über den root Benutzer erreichbar.

Code:
root@mx0 ~ # psql -d Proxmox_ruledb
psql (9.6.13)
Type "help" for help.

Proxmox_ruledb=>
 
Last edited:
welche versionen sind denn auf beiden PMGs installiert?
(pmgversion -v)
 
mx0
Code:
proxmox-mailgateway: 5.1-1 (API: 5.1-2/0b56b766, running kernel: 4.15.18-7-pve)
pmg-api: 5.1-2
pmg-gui: 1.0-42
proxmox-spamassassin: 3.4.2-1
proxmox-widget-toolkit: 1.0-20
pve-kernel-4.15.18-7-pve: 4.15.18-26
pve-kernel-4.15: 5.2-10
libpve-http-server-perl: 2.0-11
lvm2: 2.02.168-2
pve-firmware: 2.0-5
libpve-common-perl: 5.0-40
pmg-docs: 5.1-4
pve-xtermjs: 1.0-5
libarchive-perl: 3.2.1-1
libxdgmime-perl: 0.01-3
zfsutils-linux: 0.7.11-pve1~bpo1
libpve-apiclient-perl: 2.0-5

mx1
Code:
proxmox-mailgateway: 5.1-1 (API: 5.1-2/0b56b766, running kernel: 4.15.18-7-pve)
pmg-api: 5.1-2
pmg-gui: 1.0-42
proxmox-spamassassin: 3.4.2-1
proxmox-widget-toolkit: 1.0-20
pve-kernel-4.15.18-7-pve: 4.15.18-26
pve-kernel-4.15: 5.2-10
libpve-http-server-perl: 2.0-11
lvm2: 2.02.168-2
pve-firmware: 2.0-5
libpve-common-perl: 5.0-40
pmg-docs: 5.1-4
pve-xtermjs: 1.0-5
libarchive-perl: 3.2.1-1
libxdgmime-perl: 0.01-3
zfsutils-linux: 0.7.11-pve1~bpo1
libpve-apiclient-perl: 2.0-5

Ist also der identische Versionsstand auf beiden Systemen.

lg.
 
das ist seltsam...
* läuft der `pmgtunnel.service` ?
* von welchem log stammt die postgresql fehlermeldung?
* bitte die gesamte Fehlermeldung von pmgmirror pasten

* wurde etwas an der Konfiguration verändert? (Postgres, user, ssh-keys, ssh-config)?
 
Servus,

der Service läuft, ja.
Der Log kommt direkt aus /var/log/postgresql/postgresql-9.6-main.log am master (mx0).

Das scheint mir die ganze Fehlermeldung zu sein. Ich ziehe diese aus dem "Syslog" Fenster im Webinterface.
Code:
May 16 14:00:51 mx0 pmgdaemon[1067]: successful auth for user 'root@pam'
May 16 14:00:53 mx0 snmpd[793]: error on subcontainer 'ia_addr' insert (-1)
May 16 14:00:57 mx0 pmgmirror[1035]: starting cluster syncronization
May 16 14:00:57 mx0 pmgmirror[1035]: database sync 'mx1' failed - DBI connect('dbname=Proxmox_ruledb;host=/var/run/pmgtunnel;port=3;','root',...) failed: server closed the connection unexpectedly
                                             This probably means the server terminated abnormally
                                             before or while processing the request. at /usr/share/perl5/PMG/DBTools.pm line 59.
May 16 14:00:57 mx0 pmgmirror[1035]: cluster syncronization finished  (1 errors, 0.02 seconds (files 0.00, database 0.02, config 0.00))
May 16 14:01:01 mx0 pmg-smtp-filter[14824]: starting database maintainance
May 16 14:01:01 mx0 pmg-smtp-filter[14824]: end database maintainance (21 ms)

An der Portgres Config habe ich nichts verändert, die User sind aus dem Image, SSH-Keys wurden auch bei der Installation generiert. Einzig die SSH Config habe ich über mein Ansible-Playbook ausgerollt und dahingehend angepasst, dass der Login sauber funktioniert.

Ich werde hier nochmals die Config durchsehen.

lg.
 
* Als welcher user laeuft der pmgtunnel service?
* Was funktionieren sollte ist auf der commandline von mx0 folgendes auszuführen (als root):
Code:
 psql -h /var/run/pmgtunnel/ -p 3 Proxmox_ruledb

(und sollte in einer psql shell auf mx01 resultieren)

Einzig die SSH Config habe ich über mein Ansible-Playbook ausgerollt und dahingehend angepasst, dass der Login sauber funktioniert.
was für Anpassungen wurden denn vorgenommen?
 
Servus,

Da erhalte ich den genannten Fehler zurück

Code:
root@mx0 /var/log #  psql -h /var/run/pmgtunnel/ -p 3 Proxmox_ruledb
psql: server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.

Ich habe soeben alle Parameter in der SSHD Config auskommentiert und erhalte dennoch den selben Fehler. An der Config kann es wohl damit nicht liegen.

Zusätzlich dazu habe ich die originale Config wiederhergestellt. Ebenso erfolglos.

lg.
 
Funktioniert auf mx1 ein `psql -h /var/run/postgresql/ Proxmox_ruledb` als root?

falls ja liegt es am pmgtunnel - dieser leitet mittels '-L' das postgres socket durch ssh weiter.

steht in den authorized_keys vl. noch etwas außer dem key (z.b. no-port-forwarding)?
 
Ich habe nun in Richtung SSH weitergesucht
Code:
mx1 sshd[1105]: Received request to connect to path /var/run/postgresql/.s.PGSQL.5432, but the request was denied.

Anschließend habe ich die SSH Config nochmals vom Original Kopiert und die beiden Systeme komplett neu gestartet. Siehe da, es funktioniert. Warum auch immer hat ein Neustart des SSH Services selbst nicht geholfen. Ich vermute, dass wohl Tunneling bzw. Socket Forwarding disabled war.

Vielen Dank dennoch für deine Hilfe!

lg.
 
Freut mich, dass das Problem behoben wurde! Bitten then Thread als 'SOLVED' markieren
Danke!
 
  • Like
Reactions: huizi

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!