[SOLVED] Cluster mit 3. Quorum-Node (Raspberry 3B) aufbauen

MaDa99

Member
Feb 20, 2020
15
0
6
64
Hallo zusammen,
ich betreibe seit einer Woche erstmals 2 Proxmox-Nodes im einem Cluster und würde gern einen weiteren Node als Quorum (Raspberry Pi 3 Model B Rev 1.2) in den Verbund aufnehmen.

Dazu habe ich folgende Anleitung (auf Basis Debian Buster) umgesetzt (falls ich das richtig verstanden habe): https://pve.proxmox.com/wiki/Raspberry_Pi_as_third_node
1. /etc/corosync von Node1 auf Raspi kopiert
Code:
scp 192.168.3.200:/etc/corosync/* /etc/corosync

2. identische /etc/corosync.conf mit folgendem Inhalt auf allen 3 Geräten angelegt:
Code:
logging {
  debug: off
  to_syslog: yes
}

nodelist {
  node {
    name: proxmox
    nodeid: 1
    quorum_votes: 1
    ring0_addr: 192.168.3.200
  }
  node {
    name: proxmox2
    nodeid: 2
    quorum_votes: 1
    ring0_addr: 192.168.3.201
  }
  node {
    name: proxmox3
    nodeid: 3
    quorum_votes: 1
    ring0_addr: 192.168.3.203
  }

}

quorum {
  provider: corosync_votequorum
}

totem {
  cluster_name: pvecluster
  config_version: 2
  interface {
    linknumber: 0
  }
  ip_version: ipv4-6
  secauth: on
  version: 2
}


3. Restart quorum-Service
Code:
systemctl restart corosync
auf allen Nodes: fehlerfrei i.S.v es erfolgt keine Fehlerausgabe

4. in der Serveransicht erscheint der neue Node auch, aber mit einem roten Kreuz
Fehler hostname lookup 'proxmox3' failed - failed to get address info for: proxmox3: Der Name oder der Dienst ist nicht bekannt (500)

5. die /etc/hosts habe ich jeweils entsprechend angepasst
Code:
root@proxmox3:/home/pi# cat /etc/hosts
127.0.0.1    localhost
::1        localhost ip6-localhost ip6-loopback
ff02::1        ip6-allnodes
ff02::2        ip6-allrouters

127.0.1.1    proxmox3
192.168.3.203   proxmox3.lan.home proxmox3
192.168.3.203   pvelocalhost
root@proxmox3:/home/pi#

6. Bei der Fehleranalyse fällt mir auf, dass auf dem Node2 nach jedem Restart des quorum-Service der manuelle Eintrag der Node3-Parameter
Code:
  }
  node {
    name: proxmox3
    nodeid: 3
    quorum_votes: 1
    ring0_addr: 192.168.3.203
  }
gelöscht wird. Ich habe mehrfach versucht, die Nodes-Defintion hinzuzufügen, jedes Mals werden sie wieder gelöscht. Auf Nodes 1 und 3 bleiben sie erhalten. Der einzige für mich wahrnehmbare Unterschied zwischen Node1 und Node2 ist, dass ich auf Node 1 eine Subskription habe.

Woran könnte es liegen, dass ich den Raspi nicht hinzugefügt bekomme?

Hier noch ein paar Basisangaben:
Node1 :
root@proxmox:~# corosync-quorumtool
Quorum information
------------------
Date: Sat Mar 7 15:05:00 2020
Quorum provider: corosync_votequorum
Nodes: 2
Node ID: 1
Ring ID: 1.118
Quorate: Yes

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

Membership information
----------------------
Nodeid Votes Name
1 1 proxmox (local)
2 1 proxmox2
root@proxmox:~#
Node 2:
root@proxmox2:~# corosync-quorumtool
Quorum information
------------------
Date: Sat Mar 7 15:07:15 2020
Quorum provider: corosync_votequorum
Nodes: 2
Node ID: 2
Ring ID: 1.118
Quorate: Yes

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

Membership information
----------------------
Nodeid Votes Name
1 1 proxmox
2 1 proxmox2 (local)
root@proxmox2:~#
Node 3:
root@proxmox3:/home/pi# corosync-quorumtool
Quorum information
------------------
Date: Sat Mar 7 15:08:59 2020
Quorum provider: corosync_votequorum
Nodes: 1
Node ID: 3
Ring ID: 3/36
Quorate: No

Votequorum information
----------------------
Expected votes: 3
Highest expected: 3
Total votes: 1
Quorum: 2 Activity blocked
Flags:

Membership information
----------------------
Nodeid Votes Name
3 1 proxmox3 (local)
root@proxmox3:/home/pi#

proxmox-ve: 6.1-2 (running kernel: 5.3.18-2-pve)
pve-manager: 6.1-7 (running version: 6.1-7/13e58d5e)
pve-kernel-5.3: 6.1-5
pve-kernel-helper: 6.1-5
pve-kernel-5.3.18-2-pve: 5.3.18-2
pve-kernel-5.3.10-1-pve: 5.3.10-1
ceph-fuse: 12.2.11+dfsg1-2.1+b1
corosync: 3.0.3-pve1
criu: 3.11-3
glusterfs-client: 5.5-3
ifupdown: residual config
ifupdown2: 2.0.1-1+pve4
ksm-control-daemon: 1.3-1
libjs-extjs: 6.0.1-10
libknet1: 1.14-pve1
libpve-access-control: 6.0-6
libpve-apiclient-perl: 3.0-3
libpve-common-perl: 6.0-12
libpve-guest-common-perl: 3.0-3
libpve-http-server-perl: 3.0-4
libpve-storage-perl: 6.1-4
libqb0: 1.0.5-1
libspice-server1: 0.14.2-4~pve6+1
lvm2: 2.03.02-pve4
lxc-pve: 3.2.1-1
lxcfs: 3.0.3-pve60
novnc-pve: 1.1.0-1
proxmox-mini-journalreader: 1.1-1
proxmox-widget-toolkit: 2.1-3
pve-cluster: 6.1-4
pve-container: 3.0-19
pve-docs: 6.1-6
pve-edk2-firmware: 2.20191127-1
pve-firewall: 4.0-10
pve-firmware: 3.0-5
pve-ha-manager: 3.0-8
pve-i18n: 2.0-4
pve-qemu-kvm: 4.1.1-3
pve-xtermjs: 4.3.0-1
qemu-server: 6.1-6
smartmontools: 7.1-pve2
spiceterm: 3.1-1
vncterm: 1.6-1
zfsutils-linux: 0.8.3-pve1
root@proxmox:~#

System Node 1 und 2 identisch: ZBOX CI327 nano
Nutzlast Node 1: VM mit Centos7 und NethServer als Gateway, Firewall, Webproxy/Webfiler, LDAP, IPS,
Nutzlast Node 2: VM mit Debian Buster und Pihole als DNS-Server

Herzlichst, Marko
 
Last edited:
Ps ich habe jetzt noch mal
Code:
journalctl -xe
gecheckt:

Node 1: Mar 07 16:10:49 proxmox corosync[28363]: [KNET ] nsscrypto: Incorrect packet size.
Node 2: Mar 07 16:08:31 proxmox2 corosync[28473]: [KNET ] nsscrypto: Incorrect packet size.
Node 3:
root@proxmox3:/home/pi# journalctl -xe
-- Support: https://www.debian.org/support
--
-- A start job for unit hddtemp.service has begun execution.
--
-- The job identifier is 923.
Mär 07 15:48:04 proxmox3 systemd[1]: Started LSB: disk temperature monitoring daemon.
-- Subject: A start job for unit hddtemp.service has finished successfully
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- A start job for unit hddtemp.service has finished successfully.
--
-- The job identifier is 923.
Mär 07 15:48:04 proxmox3 systemd[1]: Reloading.
Mär 07 15:48:09 proxmox3 dbus-daemon[326]: [system] Activating via systemd: service name='org.freedesktop.PackageKit' unit='packagekit.service' requested by ':1.25' (uid=0 pid=1452 comm="/usr/bin/gdbus call --system --dest org.freedeskto")
Mär 07 15:48:09 proxmox3 systemd[1]: Starting PackageKit Daemon...
-- Subject: A start job for unit packagekit.service has begun execution
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- A start job for unit packagekit.service has begun execution.
--
-- The job identifier is 987.
Mär 07 15:48:09 proxmox3 PackageKit[1455]: daemon start
Mär 07 15:48:09 proxmox3 dbus-daemon[326]: [system] Successfully activated service 'org.freedesktop.PackageKit'
Mär 07 15:48:09 proxmox3 systemd[1]: Started PackageKit Daemon.
-- Subject: A start job for unit packagekit.service has finished successfully
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- A start job for unit packagekit.service has finished successfully.
--
-- The job identifier is 987.
Mär 07 15:55:40 proxmox3 PackageKit[1455]: daemon quit
Mär 07 15:55:40 proxmox3 systemd[1]: packagekit.service: Main process exited, code=killed, status=15/TERM
-- Subject: Unit process exited
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- An ExecStart= process belonging to unit packagekit.service has exited.
--
-- The process' exit code is 'killed' and its exit status is 15.
Mär 07 15:55:40 proxmox3 systemd[1]: packagekit.service: Succeeded.
-- Subject: Unit succeeded
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- The unit packagekit.service has successfully entered the 'dead' state.
Mär 07 16:00:21 proxmox3 sshd[1699]: Did not receive identification string from 192.168.3.1 port 40640
 
Ich würde die Änderung eher Zurück rollen und ein einfaches QDevice verwenden. RasPi als vollständige dritte node ist keine so gute Idee..
https://pve.proxmox.com/pve-docs/chapter-pvecm.html#_corosync_external_vote_support
Danke für den Tipp, mal sehen, ob ich das Manual umgesetzt bekomme. Bis jetzt ist mir der Unterschied noch nicht klar, da ja auf dem Raspberry ohnehin keine volle Proxmox-Installation möglich ist und ich den Raspi nur als Qurum-Node nutzen will; er liegt halt hier so in er Ecke rum.... QDevice sagt mir jetzt erst mal noch gar nichts.
 
naja, dass was du gemacht hast ist: volle einbindung in Proxmox VE, muss den gesamten traffic immer handeln und dank anderer Architektur und evtl. nicht mal Proxmox VE basierendes corosync und libknet Paketen ist das meiner Meinung eher eine Tickende Zeitbombe.

QDevice ist genau für den Zweck als "Entscheider" Konzipiert. Es kommuniziert viel seltener und muss nicht den gesamten corosync traffic mit verarbeiten und akzeptieren, es tritt nur im Falle eines quorum Verlust im Cluster auf und gibt dann, falls möglich, nur einer Node das Recht weiterzuarbeiten. Die verlinkte Doku sollte einiges an Fragen hoffentlich klären können.
 
Sooo... auf Node 1 erhalte ich folgende Meldung
Code:
root@proxmox:~# pvecm qdevice setup 192.168.3.203
QDevice already configured!
root@proxmox:~# pvecm status
Cluster information
-------------------
Name:             pvecluster
Config Version:   3
Transport:        knet
Secure auth:      on

Quorum information
------------------
Date:             Sat Mar  7 17:58:27 2020
Quorum provider:  corosync_votequorum
Nodes:            2
Node ID:          0x00000001
Ring ID:          1.121
Quorate:          Yes

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

Membership information
----------------------
    Nodeid      Votes    Qdevice Name
0x00000001          1    A,V,NMW 192.168.3.200 (local)
0x00000002          1         NR 192.168.3.201
0x00000000          1            Qdevice
root@proxmox:~#

Node 2:
Code:
root@proxmox2:~# pvecm qdevice setup 192.168.3.203
QDevice already configured!
root@proxmox2:~# pvecm status
Cluster information
-------------------
Name:             pvecluster
Config Version:   3
Transport:        knet
Secure auth:      on

Quorum information
------------------
Date:             Sat Mar  7 17:58:41 2020
Quorum provider:  corosync_votequorum
Nodes:            2
Node ID:          0x00000002
Ring ID:          1.121
Quorate:          Yes

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

Membership information
----------------------
    Nodeid      Votes    Qdevice Name
0x00000001          1    A,V,NMW 192.168.3.200
0x00000002          1         NR 192.168.3.201 (local)
0x00000000          0            Qdevice (votes 1)
root@proxmox2:~#

Auf dem Raspi erhalte ich:

Code:
root@proxmox3:~# systemctl start corosync-qnetd.service
root@proxmox3:~# systemctl enable corosync-qnetd.service
Synchronizing state of corosync-qnetd.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable corosync-qnetd
root@proxmox3:~#
#

War's das? ...irgendwie wäre mir das zu einfach... :)
Muss dass Quorum jetzt noch irgendwie administriert werden?
In der Proxmox-Web-GUI ist nichts zu sehen, außer
1583603057810.png

Wie kann ich testen, dass das Quorum funktioniert? Muss ich irgendwas beim etwaigen Rebooten des Clusters beachten?
Danke, Marko
 

Attachments

  • 1583603020348.png
    1583603020348.png
    20 KB · Views: 9
Last edited:
Node 2:
...
Total votes: 2

Dass schaut noch nicht OK aus.

War's das?

Wenn Node 2 nun auch passt, ja. :)

Muss dass Quorum jetzt noch irgendwie administriert werden?

Nicht wirklich, aber wenn irgendwann mal eine Node hinzugefügt wird muss man aufpassen, das QDevice ist nur im bei gerader node anzahl (2, 4, 6, ..) gut - da kann man nur gewinnen. Bei ungerader müsste man den Modus wechseln, aber dass empfehlen wir nicht, bei ungerader Anzahl braucht man normal eh kein QDevice :)

In der Proxmox-Web-GUI ist nichts zu sehen.

Ja dass fehlt noch implementierungs technisch, aber da's nicht viel zu sehen gibt reicht für jetzt auch ein Blick auf pvecm status :)

Wie kann ich testen, dass das Quorum funktioniert? Muss ich irgendwas beim etwaigen Rebooten des Clusters beachten?
Eine node mal herunterfahren, die zweite sollte dann trotzdem noch Quorum haben. Danach andersherum testen.
Bei kompletten cluster reboot haben halt beide mal kein Quorum, da kurz "offline" aber ansonsten gibt's da jetzt nichts spezielles zu machen.
 
Wenn Node 2 nun auch passt, ja.
Was müsste ich hier machen?
Ich habe nochmals das Setup von Node2 aus durchgeführt und den Raspi auf 192.168.3.203 von dort aus adressiert. Was anderes fällt mir nicht ein...

Code:
root@proxmox2:~# pvecm qdevice setup 192.168.3.203
QDevice already configured!
root@proxmox2:~#

Ich habe dort aber immer noch nur
Code:
Votequorum information
----------------------
Expected votes:   3
Highest expected: 3
Total votes:      2
Quorum:           2
Flags:            Quorate
 
ich habe mal jeweils die corosync.conf verglichen:
Auf Node 1 und 2 sind sie identisch und weisen den Raspi (192.168.3.203) als QDevice aus
Code:
quorum {
  device {
    model: net
    net {
      algorithm: ffsplit
      host: 192.168.3.203
      tls: on
    }
    votes: 1
  }
  provider: corosync_votequorum
}

Auf dem Raspi selbst überrascht mich, dass dort noch drin steht:
Code:
  node {
    name: proxmox3
    nodeid: 3
    quorum_votes: 1
    ring0_addr: 192.168.3.203
  }

Im Zuge des Rückbaues hatte ich vorsorglich auch /etc/corosync/* nach /etc/_old_corosync verschoben, da ich Artefakte vermeiden wollte.
Nun ist dieses Verzeichnis jedoch leer und in der aktuellen /etc/corosync/corosync.conf sieht das genau nach Artefakten aus.

Außerdem sind die zwischen den Nodes die Unterverzeichnisse in /etc/corosync verschieden
Node 1:
Code:
root@proxmox:/etc/corosync# ls
authkey  corosync.conf    qdevice  uidgid.d
root@proxmox:/etc/corosync#
Node 2:
Code:
root@proxmox2:/etc/corosync# ls
authkey  corosync.conf    qdevice  qnetd    uidgid.d
root@proxmox2:/etc/corosync#
Raspi:
Code:
root@proxmox3:/etc/corosync# ls
authkey  corosync.conf    qnetd  uidgid.d
root@proxmox3:/etc/corosync#
 
ich habe mal jeweils die corosync.conf verglichen:
zwischen Proxmox VE nodes sollten die automatisch durchs pmxcfs angeglichen werden - außer natürlich wenn Änderungen ohne quorum gemacht werden.
Den pmxcfs synct normalerweise die config von /etc/pve/corosync.conf nach /etc/corosync/corosync.conf - falls erst genannte neuer ist.

Der Raspi sollte mit der corosync.conf nichts mehr anstellen, das QDevice wird auf der nicht-cluster seite normal nicht durch diese configuration verwaltet.
 
  • Like
Reactions: MaDa99
Dass der Service am Node2 eh rennt wurde gschaut?
Ha, den Tipp hatte ich glatt überlesen ...

DAs wars

Code:
root@proxmox2:~# systemctl status corosync-qdevice.service
● corosync-qdevice.service - Corosync Qdevice daemon
   Loaded: loaded (/lib/systemd/system/corosync-qdevice.service; disabled; vendor preset: e
   Active: inactive (dead)
     Docs: man:corosync-qdevice

nun denne: root@proxmox2:~# systemctl start corosync-qdevice.service

Code:
root@proxmox2:~# systemctl status corosync-qdevice.service
● corosync-qdevice.service - Corosync Qdevice daemon
   Loaded: loaded (/lib/systemd/system/corosync-qdevice.service; disabled; vendor preset: e
   Active: active (running) since Sat 2020-03-07 22:13:37 CET; 3min 41s ago
     Docs: man:corosync-qdevice
Main PID: 17251 (corosync-qdevic)
    Tasks: 2 (limit: 4915)
   Memory: 2.2M
   CGroup: /system.slice/corosync-qdevice.service
           ├─17251 /usr/sbin/corosync-qdevice -f
           └─17257 /usr/sbin/corosync-qdevice -f

Mär 07 22:13:37 proxmox2 systemd[1]: Starting Corosync Qdevice daemon...
Mär 07 22:13:37 proxmox2 systemd[1]: Started Corosync Qdevice daemon.

Manchmal sieht man den Wald vor lauter Bäumen nicht.

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

Danke für die geduldige Unterstützung
 
Last edited:
aber auf dem Raspi sieht es nun defekt aus, owohl nach der Installation der Status o.k. war:
Code:
root@proxmox3:~# systemctl status corosync-qdevice.service
● corosync-qdevice.service - Corosync Qdevice daemon
   Loaded: loaded (/lib/systemd/system/corosync-qdevice.service; disabled; vendor preset: e
   Active: failed (Result: exit-code) since Sat 2020-03-07 23:06:04 CET; 59s ago
     Docs: man:corosync-qdevice
Main PID: 1835 (code=exited, status=1/FAILURE)

Mär 07 23:06:04 proxmox3 systemd[1]: Starting Corosync Qdevice daemon...
Mär 07 23:06:04 proxmox3 corosync-qdevice[1835]: Can't read quorum.device.model cmap key.
Mär 07 23:06:04 proxmox3 systemd[1]: corosync-qdevice.service: Main process exited, code=ex
Mär 07 23:06:04 proxmox3 systemd[1]: corosync-qdevice.service: Failed with result 'exit-cod
Mär 07 23:06:04 proxmox3 systemd[1]: Failed to start Corosync Qdevice daemon.

Code:
root@proxmox3:~# systemctl start corosync-qdevice.service
Job for corosync-qdevice.service failed because the control process exited with error code.
See "systemctl status corosync-qdevice.service" and "journalctl -xe" for details.
root@proxmox3:~#

Deshalb habe ich:
1. das QDevice zunächst aus dem Cluster entfernt
Code:
pvecm qdevice remove
2. auf dem Raspi alles zurückgebaut
Code:
apt remove corosync-qdevice  corosync-qnetd
apt purge corosync-qdevice  corosync-qnetd
apt autoremove corosync-qdevice  corosync-qnetd

3. /etc/corosync gelöscht
4. auf dem Raspi alles neu installiert
Code:
apt remove corosync-qdevice  corosync-qnetd
5. vom Node 1 das QDevice wieder aufgenommen
Code:
pvecm qdevice setup 192.168.3.203
6. Die Aktivierung des Service scheiterrt jedoch sowohl am Ende des Setups we auch manuell auf dem Raspi
Code:
root@proxmox3:~# systemctl status corosync-qdevice
● corosync-qdevice.service - Corosync Qdevice daemon
   Loaded: loaded (/lib/systemd/system/corosync-qdevice.service; disabled; vendor preset: e
   Active: failed (Result: exit-code) since Sat 2020-03-07 23:32:56 CET; 8h ago
     Docs: man:corosync-qdevice
Main PID: 942 (code=exited, status=1/FAILURE)

Mär 07 23:32:56 proxmox3 systemd[1]: Starting Corosync Qdevice daemon...
Mär 07 23:32:56 proxmox3 corosync-qdevice[942]: Can't read quorum.device.model cmap key.
Mär 07 23:32:56 proxmox3 systemd[1]: corosync-qdevice.service: Main process exited, code=ex
Mär 07 23:32:56 proxmox3 systemd[1]: corosync-qdevice.service: Failed with result 'exit-cod
Mär 07 23:32:56 proxmox3 systemd[1]: Failed to start Corosync Qdevice daemon.
root@proxmox3:~# systemctl start corosync-qdevice
A dependency job for corosync-qdevice.service failed. See 'journalctl -xe' for details.
root@proxmox3:~# systemctl enable corosync-qdevice
Synchronizing state of corosync-qdevice.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable corosync-qdevice
update-rc.d: error: corosync-qdevice Default-Start contains no runlevels, aborting.
root@proxmox3:~#

Die Überprüfung mit journalctl -xe ergibt:
Code:
root@proxmox3:~# journalctl -xe
-- Support: https://www.debian.org/support
--
-- An ExecStart= process belonging to unit corosync.service has exited.
--
-- The process' exit code is 'exited' and its exit status is 8.
Mär 08 07:56:38 proxmox3 systemd[1]: corosync.service: Failed with result 'exit-code'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- The unit corosync.service has entered the 'failed' state with result 'exit-code'.
Mär 08 07:56:38 proxmox3 systemd[1]: Failed to start Corosync Cluster Engine.
-- Subject: A start job for unit corosync.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- A start job for unit corosync.service has finished with a failure.
--
-- The job identifier is 1892 and the job result is failed.
Mär 08 07:56:38 proxmox3 systemd[1]: Dependency failed for Corosync Qdevice daemon.
-- Subject: A start job for unit corosync-qdevice.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- A start job for unit corosync-qdevice.service has finished with a failure.
--
-- The job identifier is 1832 and the job result is dependency.
Mär 08 07:56:38 proxmox3 systemd[1]: corosync-qdevice.service: Job corosync-qdevice.service
Mär 08 07:56:50 proxmox3 systemd[1]: Reloading.
Mär 08 08:00:25 proxmox3 sshd[2722]: Did not receive identification string from 192.168.3.1
Mär 08 08:00:32 proxmox3 PackageKit[1727]: daemon quit
Mär 08 08:00:33 proxmox3 systemd[1]: packagekit.service: Main process exited, code=killed,
-- Subject: Unit process exited
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- An ExecStart= process belonging to unit packagekit.service has exited.
--
-- The process' exit code is 'killed' and its exit status is 15.
Mär 08 08:00:33 proxmox3 systemd[1]: packagekit.service: Succeeded.
-- Subject: Unit succeeded
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- The unit packagekit.service has successfully entered the 'dead' state.
lines 2986-3030/3030 (END)

Worüber ich stolpere:
Code:
Mär 08 08:00:25 proxmox3 sshd[2722]: Did not receive identification string from 192.168.3.1

Das ist mir völlig unverständlich, da das Setup ja von 192.168.3.200 ausgeführt wurde und nicht von 192.168.3.1. Auf 192.168.3.1 läuft in einer VM auf Node1 mein Gateway (Nethserver).
Ich bin jetzt ratlos.
 
Last edited:
Dort ist es ein andere service, corosync-qnetd oder so. Eins ist der Empfänger (qdevice an den nodes) das andere der sender (am raspi).

Der service am raspi ist wohl einfach noch von der vorherigen corosync installation übrig. :)
 
Dort ist es ein andere service, corosync-qnetd oder so. Eins ist der Empfänger (qdevice an den nodes) das andere der sender (am raspi).

Der service am raspi ist wohl einfach noch von der vorherigen corosync installation übrig. :)

also auf 192.168.3.1 (Centos 7/Nethserver) läuft definitiv kein corosync
Code:
[root@v-nethserver etc]# ls /etc/
<...>
clamd.d                
cockpit                
collectd.conf          
collectd.d              
conntrackd              
cron.d                  
<...>

Ich werden Raspi wohl noch mal neu aufsetzen.
 
Neu Installation hat funktioniert:
Code:
Generating key.  This may take a few moments...

Notice: Trust flag u is set automatically if the private key is present.
QNetd CA certificate is exported as /etc/corosync/qnetd/nssdb/qnetd-cacert.crt
Created symlink /etc/systemd/system/multi-user.target.wants/corosync-qnetd.service → /lib/systemd/system/corosync-qnetd.service.
corosync (3.0.1-2) wird eingerichtet ...
Created symlink /etc/systemd/system/multi-user.target.wants/corosync.service → /lib/systemd/system/corosync.service.
corosync-qdevice (3.0.0-4) wird eingerichtet ...
Trigger für systemd (241-7~deb10u3+rpi1) werden verarbeitet ...
Trigger für man-db (2.8.5-2) werden verarbeitet ...
Trigger für libc-bin (2.28-10+rpi1) werden verarbeitet ...
root@raspberrypi:~#

Code:
root@raspberrypi:~# systemctl status corosync
● corosync.service - Corosync Cluster Engine
   Loaded: loaded (/lib/systemd/system/corosync.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2020-03-08 10:59:56 CET; 2min 43s ago
     Docs: man:corosync
           man:corosync.conf
           man:corosync_overview
Main PID: 1426 (corosync)
    Tasks: 9 (limit: 2200)
   Memory: 126.9M
   CGroup: /system.slice/corosync.service
           └─1426 /usr/sbin/corosync -f

Mär 08 10:59:56 raspberrypi corosync[1426]:   [QB    ] server name: votequorum
Mär 08 10:59:56 raspberrypi corosync[1426]:   [SERV  ] Service engine loaded: corosync cluster quorum service v0.1 [3]
Mär 08 10:59:56 raspberrypi corosync[1426]:   [QB    ] server name: quorum
Mär 08 10:59:56 raspberrypi corosync[1426]:   [KNET  ] host: host: 1 (passive) best link: 0 (pri: 0)
Mär 08 10:59:56 raspberrypi corosync[1426]:   [KNET  ] host: host: 1 has no active links
Mär 08 10:59:56 raspberrypi systemd[1]: Started Corosync Cluster Engine.
Mär 08 10:59:56 raspberrypi corosync[1426]:   [TOTEM ] A new membership (1:4) was formed. Members joined: 1
Mär 08 10:59:56 raspberrypi corosync[1426]:   [CPG   ] downlist left_list: 0 received
Mär 08 10:59:56 raspberrypi corosync[1426]:   [QUORUM] Members[1]: 1
Mär 08 10:59:56 raspberrypi corosync[1426]:   [MAIN  ] Completed service synchronization, ready to provide service.
root@raspberrypi:~#

und dann wieder beim Setup von Node1 aus... :-(

Code:
root@proxmox:~# pvecm qdevice setup 192.168.3.203
<...>
Synchronizing state of corosync-qdevice.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable corosync-qdevice
update-rc.d: error: corosync-qdevice Default-Start contains no runlevels, aborting.
command 'ssh -o 'BatchMode=yes' -lroot 192.168.3.200 systemctl enable corosync-qdevice' failed: exit code 1

wenn ich das auf dem Raspi aber selbst kontrolliere:
Code:
root@raspberrypi:~# systemctl status corosync
● corosync.service - Corosync Cluster Engine
   Loaded: loaded (/lib/systemd/system/corosync.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2020-03-08 10:59:56 CET; 9min ago
     Docs: man:corosync
           man:corosync.conf
           man:corosync_overview
Main PID: 1426 (corosync)
    Tasks: 9 (limit: 2200)
   Memory: 126.9M
   CGroup: /system.slice/corosync.service
           └─1426 /usr/sbin/corosync -f

Mär 08 10:59:56 raspberrypi corosync[1426]:   [QB    ] server name: votequorum
Mär 08 10:59:56 raspberrypi corosync[1426]:   [SERV  ] Service engine loaded: corosync cluster quorum service v0.1 [3]
Mär 08 10:59:56 raspberrypi corosync[1426]:   [QB    ] server name: quorum
Mär 08 10:59:56 raspberrypi corosync[1426]:   [KNET  ] host: host: 1 (passive) best link: 0 (pri: 0)
Mär 08 10:59:56 raspberrypi corosync[1426]:   [KNET  ] host: host: 1 has no active links
Mär 08 10:59:56 raspberrypi systemd[1]: Started Corosync Cluster Engine.
Mär 08 10:59:56 raspberrypi corosync[1426]:   [TOTEM ] A new membership (1:4) was formed. Members joined: 1
Mär 08 10:59:56 raspberrypi corosync[1426]:   [CPG   ] downlist left_list: 0 received
Mär 08 10:59:56 raspberrypi corosync[1426]:   [QUORUM] Members[1]: 1
Mär 08 10:59:56 raspberrypi corosync[1426]:   [MAIN  ] Completed service synchronization, ready to provide service.
root@raspberrypi:~#

Auch das Enabeling hat direkt auf dem Raspi funktioniert:
Code:
root@raspberrypi:~# systemctl enable corosync
Synchronizing state of corosync.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable corosync
root@raspberrypi:~#

Kontrolle auf Node 1:
Code:
root@proxmox:~# pvecm status
Cluster information
-------------------
Name:             pvecluster
Config Version:   7
Transport:        knet
Secure auth:      on

Quorum information
------------------
Date:             Sun Mar  8 11:11:55 2020
Quorum provider:  corosync_votequorum
Nodes:            2
Node ID:          0x00000001
Ring ID:          1.12a
Quorate:          Yes

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

Membership information
----------------------
    Nodeid      Votes    Qdevice Name
0x00000001          1    A,V,NMW 192.168.3.200 (local)
0x00000002          1         NR 192.168.3.201
0x00000000          1            Qdevice
root@proxmox:~#

Kontrolle auf Node 2:

dort bekomme ich den Service gestartet aber nicht enabled

aber die Anzahl Total votes stimmt

Code:
root@proxmox2:~# pvecm status
Cluster information
-------------------
Name:             pvecluster
Config Version:   7
Transport:        knet
Secure auth:      on

Quorum information
------------------
Date:             Sun Mar  8 11:15:33 2020
Quorum provider:  corosync_votequorum
Nodes:            2
Node ID:          0x00000002
Ring ID:          1.12a
Quorate:          Yes

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

Membership information
----------------------
    Nodeid      Votes    Qdevice Name
0x00000001          1    A,V,NMW 192.168.3.200
0x00000002          1    A,V,NMW 192.168.3.201 (local)
0x00000000          1            Qdevice
root@proxmox2:~#


bleibe noch die Frage, warum der Service auf Node 2 nicht enabled werden kann.
Code:
root@proxmox2:~# systemctl enable corosync-qdevice.service
Synchronizing state of corosync-qdevice.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable corosync-qdevice
update-rc.d: error: corosync-qdevice Default-Start contains no runlevels, aborting.

Hier mal die Service-Konfigurtaion:
Code:
root@proxmox2:~# systemctl cat corosync-qdevice.service
# /lib/systemd/system/corosync-qdevice.service
[Unit]
Description=Corosync Qdevice daemon
Documentation=man:corosync-qdevice
ConditionKernelCommandLine=!nocluster
Requires=corosync.service
After=corosync.service

[Service]
EnvironmentFile=-/etc/default/corosync-qdevice
ExecStart=/usr/sbin/corosync-qdevice -f $COROSYNC_QDEVICE_OPTIONS
Type=notify
StandardError=null
Restart=on-abnormal
RuntimeDirectory=corosync-qdevice
RuntimeDirectoryMode=0770
PrivateTmp=yes

[Install]
WantedBy=multi-user.target
root@proxmox2:~#
 
Last edited:
Ich bin immer noch auf der Suche nach einer Lösung, warum ich den Service auf Node 2 nicht enabeln kann.
Lässt sich daraus was entnehmen?:

Code:
root@proxmox2:~# ls -l /lib/systemd/system/*coro*
-rw-r--r-- 1 root root  453 Feb  4  2019 /lib/systemd/system/corosync-qdevice.service
-rw-r--r-- 1 root root  475 Feb  4  2019 /lib/systemd/system/corosync-qnetd.service
-rw-r--r-- 1 root root 1315 Nov 25 15:38 /lib/systemd/system/corosync.service
root@proxmox2:~# ls -l /etc/rc?.d/*coro*
lrwxrwxrwx 1 root root 26 Mär  7 17:46 /etc/rc0.d/K01corosync-qdevice -> ../init.d/corosync-qdevice
lrwxrwxrwx 1 root root 24 Mär  7 17:56 /etc/rc0.d/K01corosync-qnetd -> ../init.d/corosync-qnetd
lrwxrwxrwx 1 root root 26 Mär  7 17:46 /etc/rc1.d/K01corosync-qdevice -> ../init.d/corosync-qdevice
lrwxrwxrwx 1 root root 24 Mär  7 17:56 /etc/rc1.d/K01corosync-qnetd -> ../init.d/corosync-qnetd
lrwxrwxrwx 1 root root 24 Mär  7 17:56 /etc/rc2.d/S01corosync-qnetd -> ../init.d/corosync-qnetd
lrwxrwxrwx 1 root root 24 Mär  7 17:56 /etc/rc3.d/S01corosync-qnetd -> ../init.d/corosync-qnetd
lrwxrwxrwx 1 root root 24 Mär  7 17:56 /etc/rc4.d/S01corosync-qnetd -> ../init.d/corosync-qnetd
lrwxrwxrwx 1 root root 24 Mär  7 17:56 /etc/rc5.d/S01corosync-qnetd -> ../init.d/corosync-qnetd
lrwxrwxrwx 1 root root 26 Mär  7 17:46 /etc/rc6.d/K01corosync-qdevice -> ../init.d/corosync-qdevice
lrwxrwxrwx 1 root root 24 Mär  7 17:56 /etc/rc6.d/K01corosync-qnetd -> ../init.d/corosync-qnetd

Auf Node1, wo alles funktioniert, sieht das wesentlich aufgeräumter aus...

Code:
root@proxmox:~# ls -l /lib/systemd/system/*coro*
-rw-r--r-- 1 root root  453 Feb  4  2019 /lib/systemd/system/corosync-qdevice.service
-rw-r--r-- 1 root root 1315 Nov 25 15:38 /lib/systemd/system/corosync.service
root@proxmox:~# ls -l /etc/rc?.d/*coro*
lrwxrwxrwx 1 root root 26 Mär  7 17:43 /etc/rc0.d/K01corosync-qdevice -> ../init.d/corosync-qdevice
lrwxrwxrwx 1 root root 26 Mär  7 17:43 /etc/rc1.d/K01corosync-qdevice -> ../init.d/corosync-qdevice
lrwxrwxrwx 1 root root 26 Mär  7 17:43 /etc/rc6.d/K01corosync-qdevice -> ../init.d/corosync-qdevice
root@proxmox:~#


ich traue mich aber nicht, einfach die überzähligen Einträge auf Node 2 zu löschen, da ich mir nichts zerschießen möchte.
Kann bitte noch mal jemand mit überlegen?
 
Also.. ich habe jetzt corosync-qnetd deinstalliert, da der auf dem Node nichts zu suchen hat.
Jetzt funktioniert alles.
Danke für die geschätzte Aufmerksamkeit
 

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!