:PROPERTIES:
:ID:       40a6cfb0-aec4-4caa-9e9f-2428e419d2c0
:mtime:    20220111154319
:ctime:    20220110094054
:END:
#+title: OCF remote and guest node

* Présentation
Un /Open Cluster Framework guest node/ est un noeud de cluster n'implémentant pas la stack du cluster. Cela a pour
conséquence qu'il ne contribue pas à la redondance (n'impacte pas le quorum, impossibilité de devenir /Designated Controller/) et ne pilote pas les [[id:7a81bb2d-a6cf-4a2d-8308-0de97fab1856][OCF resource agent]].

Un /Open Cluster Framework remote node/ est un /guest node/ hébergé sur une CPU/VM n'hébergeant pas de noeud du cluster.

* Communication avec les /remote nodes/ du cluster et le /Designated Controller/
 * Est sécurisée (TLS/PSK + authentification),
 * Bind du port TCP 3121 (par défaut),
 * Les noeuds du cluster et celui exécutant le /pacemaker_remote/ doit partager la même clé privée (à placer dans le
   répertoire /etc/pacemaker/authkey des noeuds.

* Howto
 * Installation de ~pacemaker_remote~ sur les noeuds pour lesquels un ou des ressources doivent être gérés par le cluster:
#+BEGIN_SRC shell
apt-get install --no-install-recommends --no-install-suggests pacemaker-remote resource-agents pcs
#+END_SRC
 * La clé privée à partager avec les noeuds du cluster est générée lors de l'installation. L'écraser par celle des
   noeuds du cluster (~/etc/pacemaker/authkey~).
 * Authentification du noeud nouvellement créée:
#+BEGIN_SRC shell
pcs host auth <host> -u hacluster -p <hacluster_password>
#+END_SRC
 * Supprimer les précédentes et éventuelles configurations du noeud (en cas d'erreur ~cluster configuration files found, the host seems to be in a cluster already~):
#+BEGIN_SRC shell
systemctl stop pacemaker_remote.service
rm -f /var/lib/pacemaker/cib/cib.xml /etc/corosync/corosync.conf
#+END_SRC
 * Ajout de la ressource nouvellement créée au cluster:
#+BEGIN_SRC shell
 * pcs cluster node add-remote <host>
#+END_SRC

* Références
 * https://clusterlabs.org/pacemaker/doc/deprecated/en-US/Pacemaker/1.1/html/Pacemaker_Remote/_guest_nodes.html
 * https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/high_availability_add-on_reference/pacemaker_remote
