====== PVE HA Disable ======
Dies kann bei größeren Eingriffen helfen damit sich der Cluster nicht selbst abschießt. \\
Dies ist auch hilfreich falls man etwas an der Corosync-Config ändern möchte.
\\
===== HA Disable =====
Damit HA Disable ist müssen zwei Services gestoppt werden. Hier muss die Reihenfolge genau(!) eingehalten werden!
\\
\\
==== LRM ====
pve-ha-lrm ---> local resource manager \\
Dies muss auf jeder Node durchgeführt werden. Wichtig das zuerst der pve-ha-lrm gestoppt wird.
systemctl stop pve-ha-lrm
\\
==== CRM ====
pve-ha-crm ---> cluster resource manager \\
Dieser darf erst gestoppt werden wenn auf alle Nodes der lrm gestoppt ist.
systemctl stop pve-ha-crm
\\
==== Status - HA deaktiviert ====
Wenn beide Services abgedreht sind hat der Cluster via Corosync noch ein Quorum kann aber keine VMs mehr verschieben. Auch ein manuelles verschieben von VMs ist nicht mehr möglich.\\
Die VMs laufen natürlich alle normal weiter.\\
Möchte man etwas an der Corosync-Config ändern ist jetzt ein guter Zeitpunkt.
\\
So sollte der Status nach dem stoppen der Servcies aussehen:
root@pve01:~$ ha-manager status
quorum OK
master pve03 (old timestamp - dead?, Wed Dec 21 11:45:08 2022)
lrm pve01 (old timestamp - dead?, Wed Dec 21 11:44:58 2022)
lrm pve02 (old timestamp - dead?, Wed Dec 21 11:45:01 2022)
lrm pve03 (old timestamp - dead?, Wed Dec 21 11:44:46 2022)
service vm:101 (pve02, freeze)
service vm:102 (pve01, freeze)
root@pve01:~$ pvecm status
Cluster information
-------------------
Name: TestCluster
Config Version: 12
Transport: knet
Secure auth: on
Quorum information
------------------
Date: Wed Dec 21 11:53:44 2022
Quorum provider: corosync_votequorum
Nodes: 3
Node ID: 0x00000001
Ring ID: 1.113
Quorate: Yes
Votequorum information
----------------------
Expected votes: 3
Highest expected: 3
Total votes: 3
Quorum: 3
Flags: Quorate
Membership information
----------------------
Nodeid Votes Name
0x00000001 1 192.168.88.141 (local)
0x00000002 1 192.168.88.142
0x00000003 2 192.168.88.143
\\
===== HA aktivieren =====
Beim aktivieren vom HA ist auch wieder wichtig genau die Reihenfolge beim starten einzuhalten. Wir starten in der gleichen Reihenfolge wie wir gestoppt haben.
\\
\\
==== LRM ====
Dies muss auf jeder Node durchgeführt werden. Wichtig das zuerst der pve-ha-lrm gestartet wird.
systemctl start pve-ha-lrm
\\
==== CRM ====
Dieser darf erst gestartet werden wenn auf alle Nodes der lrm gestartet ist.
systemctl start pve-ha-crm
\\
==== Status - HA aktiviert ====
Nachdem beide Services wieder gestartet wurden gibt es wieder eine Master Node und alle Funktionen sind wieder verfügbar.
\\
So sollte der Status nach dem stoppen der Servcies aussehen:
root@pve01:~$ ha-manager status
quorum OK
master pve03 (active, Wed Dec 21 12:04:42 2022)
lrm pve01 (active, Wed Dec 21 12:04:36 2022)
lrm pve02 (active, Wed Dec 21 12:04:35 2022)
lrm pve03 (idle, Wed Dec 21 12:04:43 2022)
service vm:101 (pve02, started)
service vm:102 (pve01, started)
root@pve01:~$ pvecm status
Cluster information
-------------------
Name: TestCluster
Config Version: 12
Transport: knet
Secure auth: on
Quorum information
------------------
Date: Wed Dec 21 11:53:44 2022
Quorum provider: corosync_votequorum
Nodes: 3
Node ID: 0x00000001
Ring ID: 1.113
Quorate: Yes
Votequorum information
----------------------
Expected votes: 3
Highest expected: 3
Total votes: 3
Quorum: 3
Flags: Quorate
Membership information
----------------------
Nodeid Votes Name
0x00000001 1 192.168.88.141 (local)
0x00000002 1 192.168.88.142
0x00000003 2 192.168.88.143
\\
===== Via Loop =====
Hier deaktiveren und aktivieren via For Schleife
\\
==== Loop - HA deaktivieren ====
for i in pve01 pve02 pve03 ; do echo "### $i ###" ; ssh -l root $i "systemctl stop pve-ha-lrm; systemctl status pve-ha-lrm.service | grep Active"; echo "" ; done
for i in pve01 pve02 pve03 ; do echo "### $i ###" ; ssh -l root $i "systemctl stop pve-ha-crm; systemctl status pve-ha-crm.service | grep Active"; echo "" ; done
\\
==== Loop - HA aktivieren ====
for i in pve01 pve02 pve03 ; do echo "### $i ###" ; ssh -l root $i "systemctl start pve-ha-lrm; systemctl status pve-ha-lrm.service | grep Active"; echo "" ; done
for i in pve01 pve02 pve03 ; do echo "### $i ###" ; ssh -l root $i "systemctl start pve-ha-crm; systemctl status pve-ha-crm.service | grep Active"; echo "" ; done