Hostname ändern in einem produktiven Proxmox Ceph HCI Cluster

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

Dieser Artikel erklärt, wie man in einem produktiven Proxmox VE Ceph HCI Cluster den Hostnamen eines Systems ohne Downtime oder Service-Unterbrechung ändern kann. Zusätzlich betrachtet werden hier die notwendigen Änderungen innerhalb Ceph, Corosync und dem HA-Mode von Proxmox VE, wenn sich der Hostname eines Nodes ändert.



Wichtige Hinweise - Unbedingt lesen!

Stellen Sie sicher, dass der Host vollständig leer ist! Er darf keine VMs, keine Container, keine Vorlagen oder anderen Ressourcen mehr enthalten. Machen Sie dazu vor Durchführung der Anleitung eine Bulk-Migration aller Ressourcen auf einen anderen Host.

Dieses Tutorial richtet sich an fortgeschrittene Nutzer. Es werden Konfigurationsdateien angepasst, die bei falscher Konfiguration Ihr System negativ beeinflussen könnten. Befolgen Sie daher die Anleitung Schritt für Schritt und lesen Sie diese komplett durch.

Die Anleitung bezieht sich ausschließlich auf das Ändern eines Hostnames bei einem Cluster-System. Proxmox selbst empfiehlt das Umbenennen eines Hosts nicht - besser wäre eine Neuinstallation und Re-Integration des Hosts in das Cluster.

Sie agieren auf eigene Gefahr!

Einstellungen und Änderungen

In dieser Anleitung werden folgende Änderungen und Einstellungen vorgenommen:

  • Änderung des regulären Hostnamen des Servers
  • Anpassungen an der Corosync-Config vom Proxmox VE Cluster
  • Änderung der Ceph-Service Namen auf den neuen Hostnamen
  • Anpassung der Datacenter.cfg, sofern notwendig
  • Neuausstellung der Proxmox Zertifikate (Web-UI/SSH)
  • Anpassung der Anzeige des HA-LRM Status (unter Datacenter -> HA)

Folgende Werte bleiben unverändert:

  • Alte Log-Einträge
  • Alte Host-Metriken/Statistiken (Diese sind ggf. unbrauchbar aufgrund des alten Namens - Neue Metriken verwenden den neuen Hostnamen)

HA temporär deaktivieren

Eine Änderung des Hostnames und dem anschließenden Reboot des Servers könnte potentiell auch Auswirkungen auf die HA-Funktion von Proxmox VE-Clustern haben - da ggf. ein Fencing (= Reboot der anderen Nodes) getriggert wird. Bei korrekt konfiguriertem HA ist das sehr unwahrscheinlich, aber potentiell möglich. Man könnte das kleine Risiko reduzieren, indem man vor der Hostname Änderung, das Proxmox-VE-HA temporär mit folgenden Kommandos deaktiviert:

Zuerst auf allen Nodes nacheinander den PVE-HA-LRM Dienst stoppen:

 systemctl stop pve-ha-lrm

Ist dies auf allen Nodes erledigt, muss der PVE-HA-CRM Dienst auf jedem Node einzeln gestoppt werden:

 systemctl stop pve-ha-crm 

Es folgt eine Auflistung aller Dateien und Befehle, die entsprechend zur Änderung des Hostnames unter Proxmox VE 8.0 notwendig sind.

Hostname ändern

Als nächstes erfahren Sie, wie und wo der Hostname geändert wird:

  1. /etc/hosts auf jedem Cluster-Node auf den neuen Namen ändern (PMX1 -> PMX4)
  2. /etc/postfix/main.cf auf dem einzelnen Node umbenennen (PMX1 -> PMX4)
  3. den neuen Hostnamen setzen, bei uns: hostnamectl hostname PMX4
hostnamectl hostname <newhostname>
  • das Node-Verzeichnis im Proxmox Cluster File Systeme erstellen, bei uns: mkdir /etc/pve/nodes/PMX4
mkdir /etc/pve/nodes/<newhostname>
  • Backup des alten Node-Verzeichnis machen, bei uns: cp -r /etc/pve/nodes/PMX1 /root/
cp -r /etc/pve/nodes/<oldhostname> /root/
  • Anpassung der Corosync-Datei /etc/pve/corosync.conf (Namen ändern und config_version um 1 erhöhen!)
  • Corosync-Dienst auf jedem Node neustarten, entweder über Web-UI (System) oder mittels
 systemctl restart corosync 
  • Browser refreshen (ggf. Cache löschen) (nicht wundern, der neue Hostname wird noch mit einem Fragezeichen dargestellt)
  • Falls in der Storage-Definition der alte Hostname verwendet wird, diesen abändern in /etc/pve/storage.cfg

Server neustarten

  • Server neustarten (damit /etc/pve/nodes/newhostname erzeugt wird)
  • Zertifikate erneuern auf jedem Node ausführen:
 pvecm updatecerts -f 
  • Alten Node-Ordner im Cluster File System entfernen
 rm -rf /etc/pve/nodes/oldhostname 
  • Unable to read lrm_status Fehler beheben in der Datacenter --> HA Ansicht
systemctl stop pve-ha-crm.service (auf jedem Node ausführen)
rm -f /etc/pve/ha/manager_status (nur auf einem Node ausführen)
# Am Ende des Artikels starten wir wieder den pve-ha-crm.service, damit HA auch wieder aktiv ist.
  • tls_process_server_certificate: certificate verify failed (596) Fehler beheben mit:
systemctl restart pveproxy && systemctl restart pvestatd

auf jedem Node!

Ceph Dienste (Hostname-Korrektur)

Achtung: Es ist wichtig, dass das Ceph HEALTHY ist und dass ein Quorum bei den Ceph-Diensten vorhanden ist. Die folgenden Schritte bitte nur mit einem gesunden Cluster-Status ausführen - durch das Löschen des alten Ceph-Monitors darf kein Quorum-Loss entstehen.

  • Alten Ceph Monitor löschen und neu erstellen (damit er den neuen Namen bekommt)
  • Alten Ceph Manager löschen und neu erstellen (damit er den neuen Namen bekommt)
  • Alten Ceph Meta-Data-Service löschen und neu erstellen (damit er den neuen Namen bekommt)
  • Alte Ceph Host Crush Map Eintrag entfernen (vorher bitte Health Status prüfen, ob alles passt)
 ceph osd crush remove <oldhostname> 

Abschluss

Danach sollten alle technischen notwendigen Änderungen aber auch die optischen Korrekturen erledigt sein, der neue Host sollte an allen Stellen entsprechend den neuen Namen aufweisen. Bitte nun auf allen Hosts nacheinander zuerst mittels

 systemctl start pve-ha-lrm 

den HA-Local-Ressource-Manager starten und DANACH auf allen Nodes mittels

 systemctl start pve-ha-crm

den HA-Cluster-Ressource Manager starten.


Autor: Jonas Sterr

Ich beschäftige mich mit den Themen Software Defined Storage, Proxmox Virtualisierung auf Basis von KVM, QEMU & Ceph im Produktmanagement der Thomas-Krenn.AG in Freyung. Proxmox ist meine absolute Leidenschaft und ich freue mich gerne über Kontaktanfragen und einen Austausch auf LinkedIn.


Das könnte Sie auch interessieren

Ceph - max. Recovery & Backfilling Speed erhöhen
MGR Pool (.mgr) neu erstellen in Proxmox VE
Monitoring eines Proxmox VE Ceph Hosts mit checkmk