Zusammenführung zweier Proxmox Cluster

FvonPlaten

Member
Aug 15, 2017
3
0
6
Hi zusammen,

ich betreibe derzeit zwei voneinander getrennte Proxmox Cluster. Alle VMs sind mittlerweile per Backup & Restore von dem alten Cluster auf den neuen Cluster migriert worden. Es laufen auf dem alten Cluster also keine VMs mehr. Soweit so gut. Nun würde ich gerne die 3 älteren Server in den 5 Server starken neuen Cluster überführen. Hierzu poste ich euch die Paketinformationen. Innerhalb eines Clusters sind alle Maschinen auf dem gleichen Stand.

Neuer Cluster:
Bash:
proxmox-ve: 6.1-2 (running kernel: 5.3.13-1-pve)
pve-manager: 6.1-5 (running version: 6.1-5/9bf06119)
pve-kernel-5.3: 6.1-1
pve-kernel-helper: 6.1-1
pve-kernel-5.0: 6.0-11
pve-kernel-5.3.13-1-pve: 5.3.13-1
pve-kernel-5.0.21-5-pve: 5.0.21-10
pve-kernel-5.0.21-3-pve: 5.0.21-7
pve-kernel-5.0.21-2-pve: 5.0.21-7
pve-kernel-5.0.15-1-pve: 5.0.15-1
ceph: 14.2.6-pve1
ceph-fuse: 14.2.6-pve1
corosync: 3.0.2-pve4
criu: 3.11-3
glusterfs-client: 5.5-3
ifupdown: 0.8.35+pve1
ksm-control-daemon: 1.3-1
libjs-extjs: 6.0.1-10
libknet1: 1.13-pve1
libpve-access-control: 6.0-5
libpve-apiclient-perl: 3.0-2
libpve-common-perl: 6.0-9
libpve-guest-common-perl: 3.0-3
libpve-http-server-perl: 3.0-3
libpve-storage-perl: 6.1-3
libqb0: 1.0.5-1
libspice-server1: 0.14.2-4~pve6+1
lvm2: 2.03.02-pve3
lxc-pve: 3.2.1-1
lxcfs: 3.0.3-pve60
novnc-pve: 1.1.0-1
openvswitch-switch: 2.10.0+2018.08.28+git.8ca7c82b7d+ds1-12+deb10u1
proxmox-mini-journalreader: 1.1-1
proxmox-widget-toolkit: 2.1-2
pve-cluster: 6.1-2
pve-container: 3.0-16
pve-docs: 6.1-3
pve-edk2-firmware: 2.20191127-1
pve-firewall: 4.0-9
pve-firmware: 3.0-4
pve-ha-manager: 3.0-8
pve-i18n: 2.0-3
pve-qemu-kvm: 4.1.1-2
pve-xtermjs: 3.13.2-1
qemu-server: 6.1-4
smartmontools: 7.0-pve2
spiceterm: 3.1-1
vncterm: 1.6-1
zfsutils-linux: 0.8.2-pve2

Alter Cluster:
Bash:
proxmox-ve: 5.4-2 (running kernel: 4.15.18-20-pve)
pve-manager: 5.4-13 (running version: 5.4-13/aee6f0ec)
pve-kernel-4.15: 5.4-12
pve-kernel-4.15.18-24-pve: 4.15.18-52
pve-kernel-4.15.18-20-pve: 4.15.18-46
pve-kernel-4.15.18-18-pve: 4.15.18-44
pve-kernel-4.15.18-17-pve: 4.15.18-43
pve-kernel-4.15.18-16-pve: 4.15.18-41
pve-kernel-4.15.18-14-pve: 4.15.18-39
pve-kernel-4.15.18-13-pve: 4.15.18-37
pve-kernel-4.15.18-11-pve: 4.15.18-34
pve-kernel-4.15.18-9-pve: 4.15.18-30
pve-kernel-4.15.18-7-pve: 4.15.18-27
pve-kernel-4.15.18-4-pve: 4.15.18-23
pve-kernel-4.15.18-3-pve: 4.15.18-22
pve-kernel-4.15.18-1-pve: 4.15.18-19
pve-kernel-4.15.17-3-pve: 4.15.17-14
pve-kernel-4.15.17-1-pve: 4.15.17-9
pve-kernel-4.13.13-6-pve: 4.13.13-42
pve-kernel-4.13.13-5-pve: 4.13.13-38
pve-kernel-4.13.13-4-pve: 4.13.13-35
pve-kernel-4.13.13-2-pve: 4.13.13-33
pve-kernel-4.13.13-1-pve: 4.13.13-31
pve-kernel-4.13.8-3-pve: 4.13.8-30
pve-kernel-4.13.8-1-pve: 4.13.8-27
pve-kernel-4.10.17-3-pve: 4.10.17-23
pve-kernel-4.10.17-2-pve: 4.10.17-20
pve-kernel-4.10.17-1-pve: 4.10.17-18
pve-kernel-4.10.15-1-pve: 4.10.15-15
corosync: 2.4.4-pve1
criu: 2.11.1-1~bpo90
glusterfs-client: 3.8.8-1
ksm-control-daemon: 1.2-2
libjs-extjs: 6.0.1-2
libpve-access-control: 5.1-12
libpve-apiclient-perl: 2.0-5
libpve-common-perl: 5.0-56
libpve-guest-common-perl: 2.0-20
libpve-http-server-perl: 2.0-14
libpve-storage-perl: 5.0-44
libqb0: 1.0.3-1~bpo9
lvm2: 2.02.168-pve6
lxc-pve: 3.1.0-7
lxcfs: 3.0.3-pve1
novnc-pve: 1.0.0-3
openvswitch-switch: 2.7.0-3
proxmox-widget-toolkit: 1.0-28
pve-cluster: 5.0-38
pve-container: 2.0-41
pve-docs: 5.4-2
pve-edk2-firmware: 1.20190312-1
pve-firewall: 3.0-22
pve-firmware: 2.0-7
pve-ha-manager: 2.0-9
pve-i18n: 1.1-4
pve-libspice-server1: 0.14.1-2
pve-qemu-kvm: 3.0.1-4
pve-xtermjs: 3.12.0-1
qemu-server: 5.0-55
smartmontools: 6.5+svn4324-1
spiceterm: 3.0-5
vncterm: 1.5-3
zfsutils-linux: 0.7.13-pve1~bpo2

Bevor ich die Aktion starte, bringe ich natürlich nochmal alle Konten per apt upgrade auf den aktuellsten Stand. :)

Nun meine Frage: Kann ich die 3 Maschinen im alten Cluster auf corosync 3 aktualisieren und dann mit einem
Bash:
pvecm add IP-ADDRESS-CLUSTER -link0 LOCAL-IP-ADDRESS-LINK0 -link1 LOCAL-IP-ADDRESS-LINK1 -force
in den neuen Cluster überführen und anschließend auf pve6.1 aktualisieren? Bzw. erst den alten Cluster auf corosync 3 und pve6.1 aktualisieren und dann die Cluster zusammenführen?

Oder ist das eher ein Fall für drei Neuinstallationen?


Vielen Dank für euren Input und beste Grüße!
 
Da Du nichts zu verlieren hast würde ich erstmal den alten Cluster zerstören, dann jede einzelne Maschine auf den neuen 6er Stand bringen, also inklusive Corosync und dann einfach die einzelnen Maschinen in den neuen Cluster schieben.
 
Man sollte Maschinen, die aus einem Cluster entfernt wurden, auf keinen Fall in einen Cluster stecken. An dieser Stelle ist die sicherste Methode, das Ganze sauber über die Bühne zu bringen, die Hosts komplett neu zu installieren und diese dann dem neuen Cluster hinzu zu fügen. Damit sparst du dir auch die Arbeit für das Update.
 
  • Like
Reactions: CoolTux
Das kann ich nicht mit Sicherheit sagen. Ich hab das selbst nie versucht. In der Proxmox Doku wird aber eindringlich davor gewarnt, einen Node den man aus einem Cluster entfernt hat, wieder mit dem Cluster zu verbinden.

Zu tun hat das mit der Art und Weise wie der Cluster kommuniziert. Es werden ja Konfigurationsdateien über das Cluster Filesystem zwischen allen Nodes synchronisiert. Diese Kommunikation ist sicherlich irgendwie abgesichert. Außerdem "kennt" jeder Clusternode den öffentlichen SSH Schlüssel der anderen Mitglieder etc.
Auch bei Ceph wird mit Schlüsseln gearbeitet. Wenn da etwas durcheinander kommt und falsche Schlüsselpaare synchronisiert werden etc. dann kann das zu einem katastrophalen Zusammenbruch des Clusters führen, den man kaum wieder repariert bekommt.
 
Danke für Eure Ausführungen :)
Ich konnte mich noch nicht wieder mit dem Thema beschäftigen. Ich habe aber schon geahnt, dass es mit den Zertifikaten Probleme geben könnte.

Im alten Cluster gibt es kein Ceph, im neuen hingegen schon.
Beispiel:
node1, node2 und node3 sind im alten Cluster. Entferne ich nun node1 aus dem Cluster und räume die authorized_keys auf, sollten node2 und node3 keine Möglichkeit mehr haben sich an node1 anzumelden und Dateien zu synchronisieren. Richtig?

Warum der ganze Aufwand? node2 hat leider keine Remote-Console... Ich müsste mir also einen Tag Urlaub nehmen und ins Rechenzentrum stiefeln. :) Da auf node2 jedoch nur nicht kritische Testumgebungen ihr Zuhause haben bzw. haben sollen, wird es wahrscheinlich das Beste sein node1 und node3 per ISO neu zu installieren und node2 bei Gelegenheit nachzuziehen.
 

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!