[SOLVED] QDevice wird nicht mit Cluster verbunden

Jan 25, 2024
18
2
3
Ich habe einen zwei Node Cluster erstellt und möchte ein QDevice hinzufügen. Leider erhalte ich eine Fehlermeldung. Das QDevice ist im pvecm status auch nach der Fehlermeldung nicht gelistet.

Auf PBS:
apt install corosync-qnetd

Auf PVE00 und PVE01:
apt install corosync-qdevice

Auf PVE00:
pvecm qdevice setup 192.168.10.12


Folgende Versuche habe ich bereits unternommen:

- PermitRootLogin=yes ist auf jedem Server aktiviert.

- Ordner auf PVE00 gelöscht: rm -r /etc/corosync/qdevice/

- Ordner auf PBS gelöscht: rm -r /etc/corosync/qnetd/nssdb

- pvecm qdevice setup 192.168.10.12 -force

- eine SSH Verbindung von jedem Node und Backup Server im Netzwerk aufgebaut.


Dediziertes Mesh Netzwerk für Corosync und QDevice
PVE00: 192.168.10.10
PVE01: 192.168.10.11
PBS/QDevice: 192.168.10.12

Corosync Backup (Dediziert)
PVE00: 192.168.20.10
PVE01: 192.168.20.11

Corosync (Link 0) mit QDevice

Code:
                                                    PVE01
                                                      |
PVE00-------------------------------------------------|--------------------------------PBS/QDevice

Corosync Backup Leitung (Link 1)
Code:
PVE00-------------------------------------------PVE01

Code:
pvecm qdevice setup 192.168.10.12
sh: 0: getcwd() failed: No such file or directory
/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed

/bin/ssh-copy-id: WARNING: All keys were skipped because they already exist on the remote system.
                (if you think this is a mistake, you may want to use -f option)


INFO: initializing qnetd server
Certificate database (/etc/corosync/qnetd/nssdb) already exists. Delete it to initialize new db

INFO: copying CA cert and initializing on all nodes

node 'PVE00': Creating /etc/corosync/qdevice/net/nssdb
password file contains no data
node 'PVE00': Creating new key and cert db
node 'PVE00': Creating new noise file /etc/corosync/qdevice/net/nssdb/noise.txt
node 'PVE00': Importing CAHost key verification failed.

INFO: generating cert request
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
Creating new certificate request


Generating key.  This may take a few moments...

Certificate request stored in /etc/corosync/qdevice/net/nssdb/qdevice-net-node.crq

INFO: copying exported cert request to qnetd server

INFO: sign and export cluster cert
Signing cluster certificate
Certificate stored in /etc/corosync/qnetd/nssdb/cluster-PVE-Cluster.crt

INFO: copy exported CRT

INFO: import certificate
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
Importing signed cluster certificate
Notice: Trust flag u is set automatically if the private key is present.
pk12util: PKCS12 EXPORT SUCCESSFUL
Certificate stored in /etc/corosync/qdevice/net/nssdb/qdevice-net-node.p12

INFO: copy and import pk12 cert to all nodes

node 'PVE00': Importing cluster certificate and key
node 'PVE00': pk12util: PKCS12 IMPORT SUCCESSFULHost key verification failed.
command 'ssh -o 'BatchMode=yes' -lroot 192.168.20.11 corosync-qdevice-net-certutil -m -c /etc/pve/qdevice-net-node.p12' failed: exit code 255


Muss das QDevice auch eine Verbindung zur Backup Leitung herstellen können?
 
Das q-Device ist passiv und muss nur von den Nodes erreichbar sein. Da reicht ein Netzwerk, die Corosync Netzwerke können getrennt davon konfiguriert werden.
Du führst das auch als root aus und nicht mit einem sudo User?
 
Das q-Device ist passiv und muss nur von den Nodes erreichbar sein. Da reicht ein Netzwerk, die Corosync Netzwerke können getrennt davon konfiguriert werden.
Du führst das auch als root aus und nicht mit einem sudo User?

Super. Das macht es einfacher. Ich war der Ansicht, dass CoroSync und QDevice sich im selben Netzwerk befinden müssen, da CoroSync auch das Quorum bereitstellt.

Dann würde ich die CoroSync Netzwerke so belassen und das QDevice für das Produktive Netzwerk konfigurieren.

Ja, ich melde mich als root in der shell an und füre die Befehle auch mit root aus.
 
Das q-Device ist passiv und muss nur von den Nodes erreichbar sein. Da reicht ein Netzwerk, die Corosync Netzwerke können getrennt davon konfiguriert werden.
Du führst das auch als root aus und nicht mit einem sudo User?
Leider funktioniert es auch im Produktiv Netzwerk (192.168.100.0/24) nicht.

Nur auf PVE00 ausgeführt:
pvecm qdevice setup 192.168.100.12


Code:
root@PVE00:/etc/network# pvecm qdevice setup 192.168.100.12
/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.100.12 (192.168.100.12)' can't be established.
ED25519 key fingerprint is SHA256:pumIULRPB+Fyyv0czdUeKHgmzD+sy5FBCn2WbxQfI1g.
This host key is known by the following other names/addresses:
    ~/.ssh/known_hosts:1: [hashed name]
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed

/bin/ssh-copy-id: WARNING: All keys were skipped because they already exist on the remote system.
                (if you think this is a mistake, you may want to use -f option)


INFO: initializing qnetd server
Certificate database (/etc/corosync/qnetd/nssdb) already exists. Delete it to initialize new db

INFO: copying CA cert and initializing on all nodes

node 'PVE00': Creating /etc/corosync/qdevice/net/nssdb
password file contains no data
node 'PVE00': Creating new key and cert db
node 'PVE00': Creating new noise file /etc/corosync/qdevice/net/nssdb/noise.txt
node 'PVE00': Importing CAHost key verification failed.

INFO: generating cert request
Creating new certificate request


Generating key.  This may take a few moments...

Certificate request stored in /etc/corosync/qdevice/net/nssdb/qdevice-net-node.crq

INFO: copying exported cert request to qnetd server

INFO: sign and export cluster cert
Signing cluster certificate
Certificate stored in /etc/corosync/qnetd/nssdb/cluster-PVE-Cluster.crt

INFO: copy exported CRT

INFO: import certificate
Importing signed cluster certificate
Notice: Trust flag u is set automatically if the private key is present.
pk12util: PKCS12 EXPORT SUCCESSFUL
Certificate stored in /etc/corosync/qdevice/net/nssdb/qdevice-net-node.p12

INFO: copy and import pk12 cert to all nodes

node 'PVE00': Importing cluster certificate and key
node 'PVE00': pk12util: PKCS12 IMPORT SUCCESSFULHost key verification failed.
command 'ssh -o 'BatchMode=yes' -lroot 192.168.20.11 corosync-qdevice-net-certutil -m -c /etc/pve/qdevice-net-node.p12' fai                                                                                                                  led: exit code 255
 
Ich habe es herausgefunden. Ich habe mich von PVE00 via SSH auf 192.168.20.11 verbunden und den Fingerprint akzeptiert.
Danach habe ich erneut pvecm qdevice setup 192.168.100.12 -f ausgeführt und die Einrichtung ist durchgelaufen.

Das QDevice wird im Status angezeigt. Allerdings hat es bei beiden Nodes keinen Vote. Ist das so richtig?

Code:
 pvecm status
Cluster information
-------------------
Name:             PVE-Cluster
Config Version:   3
Transport:        knet
Secure auth:      on

Quorum information
------------------
Date:             Thu Jul 18 14:10:56 2024
Quorum provider:  corosync_votequorum
Nodes:            2
Node ID:          0x00000001
Ring ID:          1.1f
Quorate:          Yes

Votequorum information
----------------------
Expected votes:   3
Highest expected: 3
Total votes:      2
Quorum:           2
Flags:            Quorate Qdevice

Membership information
----------------------
    Nodeid      Votes    Qdevice Name
0x00000001          1   A,NV,NMW 192.168.10.10 (local)
0x00000002          1   A,NV,NMW 192.168.10.11
0x00000000          0            Qdevice (votes 1)
 
Nachdem ich alles gelöscht und neugestartet habe, hat es nun funktioniert.
external Device: apt remove corosync-qnetd
Nodes: apt remove corosync-qdevice

rm -R /etc/corosync/qdevice/
rm -R /etc/corosync/qnetd

reboot
 

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!