Proxmox Host nach Ausfall ersetzen

20. August 2022 0 Von Moritz Heusinger

Hallo zusammen,

vor ein paar Tagen hat meine SSD leider nach nur 10 Monaten Nutzung den Dienst eingestellt. Während ich von meiner Proxmox Maschine welche sich in einem Cluster Verbund befindet, jegliche VMs per Backup gesichert habe, ist das beim Host selbst leider nicht der Fall.

Entsprechend dokumentiere ich für euch und für mich in diesem Beitrag, wie man einen Proxmox Host ersetzt, bzw. neu in den Cluster Verbund auf nimmt. In meinem Fall sind hier mehre Komponenten wichtig: Proxmox, GlusterFS, Postfix, USV. Für die USV wird ist eine Neueinrichtung analog zu diesem Beitrag nötig. Je nachdem ob es ein Nut-Server war oder lediglich ein Client sind unterschiedliche Schritte durchzuführen.

Im Folgenden gehe ich davon aus, dass ihr die Dateien auf der alten Platte noch wegsichern könnt und somit zu großen Teilen nur Dateien kopiert werden. Ich habe mir hierzu die Dateien auf eine externe Festplatte gesichert und diese direkt an den Proxmox Host angeschlossen. Mountet das Verzeichnis und bewegt euch dahin hinein, alle folgenden Befehle gehen von dort aus.

Proxmox

Die folgenden Befehle sind nötig um die Konfiguration wiederherzustellen:

1
2
3
4
5
6
7
8
cp etc/apt/sources.list /etc/apt/sources.list
cp etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.d/pve-enterprise.list
apt update
apt upgrade -y
apt dist-upgrade -y
cp etc/hosts /etc/hosts
cp etc/network/interfaces /etc/network/interfaces
reboot

Nach dem Reboot geht es weiter mit:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
systemctl stop pvestatd.service
systemctl stop pvedaemon.service
systemctl stop pve-cluster.service

cp -r root/.ssh/ /root/.ssh/
rm -rf /var/lib/pve-cluster/
cp var/lib/pve-cluster/ /var/lib/ -r
rm -rf /etc/corosync
cp etc/corosync/ -r /etc/
systemctl start pve-cluster.service
ln -sf /etc/pve/priv/authorized_keys /root/.ssh/authorized_keys
ln -sf /etc/pve/priv/authorized_keys /root/.ssh/authorized_keys.orig
systemctl start pvestatd.service
systemctl start pvedaemon.service

Dann fügt den Node wieder zu eurem Cluster hinzu (entsprechende IP eines Cluster Teilnehmers angeben):

1
2
pvecm add xxx.xxx.xxx.xxx -force
pvecm updatecerts

GlusterFS

Als erstes erstellen wir unseren GlusterFS Ordner, in meinem Fall:

1
2
mkdir /data/proxmox/ -p
apt install glusterfs-server

Checkt unbedingt ob die Version mit der auf euren Hosts übereinstimmt, ansonsten bringt diese aus einen Stand, weitere Infos findet ihr hier.

Wir benötigen ein neues Logical Volume, allerdings hat Proxmox alles besetzt und verkleinern geht nicht, deshalb löschen wir es, erstellen unser LV in gewünschter Größe und erstellen das Proxmox Data LV neu

1
2
3
4
5
lvcreate -n gluster -l100%VG pve
lvremove /dev/pve/data
lvresize -L 500G /dev/pve/gluster
lvcreate -n data -l100%VG pve
mkfs.ext4 /dev/pve/gluster

Nun mounten wir das Volume:

1
2
3
echo '/dev/pve/gluster /data/proxmox ext4 defaults 1 2' >> /etc/fstab
mount -a
mkdir /data/proxmox/gv0

Nun starten wir den Gluster Service (IP von Server 1 angeben):

1
service glusterd start

Postfix

Falls ihr Postfix eignerichtet habt, möchtet ihr sicher die Konfiguration kopieren, hierzu führt ihr folgenden Befehle aus:

1
2
3
4
5
apt install libsasl2-modules
cp etc/postfix/main.cf /etc/postfix/main.cf
postmap /etc/postfix/sasl_passwd
systemctl restart postfix.service
cp etc/postfix/sasl_passwd /etc/postfix/

Und nun final zum Testen (user@domain.de entsprechend ersetzen):

1
echo "Test mail from postfix" | mail -s "Test Postfix" user@domain.de

Nun solltet ihr eine Mail auf das angegebene Konto erhalten haben.

Falls Ihr Fragen, Wünsche oder Anregungen habt, stellt diese gerne in Form eines Kommentars oder schreibt eine Mail an info@iot-blog.net.