Add first ocf related resources
This commit is contained in:
36
20220110091205-ocf_resource_agent.org
Normal file
36
20220110091205-ocf_resource_agent.org
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
:PROPERTIES:
|
||||||
|
:ID: 7a81bb2d-a6cf-4a2d-8308-0de97fab1856
|
||||||
|
:mtime: 20220111174057
|
||||||
|
:ctime: 20220110091205
|
||||||
|
:END:
|
||||||
|
#+title: OCF resource agent
|
||||||
|
#+filetags: :Pacemaker:Cluster:
|
||||||
|
|
||||||
|
* Présentation
|
||||||
|
* /Open Cluster Framework resource agent/ est un exécutable permettant de controller une ressource d'un cluster,
|
||||||
|
* Une resource = tout ce qui peut être géré par un cluster (IP, FS, BDD ou une VM par exemple),
|
||||||
|
* Un /OCF resource agent/ peut être utilisé par les applications de gestion de cluster /Pacemaker/ et /RGmanager/,
|
||||||
|
|
||||||
|
* Implémentation
|
||||||
|
* Pas de language dédié (shell généralement),
|
||||||
|
* Règle de nommage: lower kebab case (a-ocf-agent-exemple).
|
||||||
|
|
||||||
|
* Howto
|
||||||
|
* Installer ~resource-agents~ package:
|
||||||
|
#+BEGIN_SRC shell
|
||||||
|
apt-get install resource-agents
|
||||||
|
#+END_SRC
|
||||||
|
* Pour tester la conformité d'un ~resource-agent~ créé :
|
||||||
|
#+BEGIN_SRC shell
|
||||||
|
ocf-tester -n <nom du resource-agent> <chemin vers le script du resource agent>
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
* A installer dans le répertoire ~/usr/lib/ocf/resource.d/<provider>/~ du noeud concerné
|
||||||
|
* Pour créer une nouvelle ressource:
|
||||||
|
#+BEGIN_SRC shell
|
||||||
|
sudo pcs resource create <id de la resource> [<standard>:[<provider>:]]<type>
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
* Références
|
||||||
|
* https://github.com/ClusterLabs/resource-agents/blob/main/doc/dev-guides/ra-dev-guide.asc
|
||||||
|
* https://dopensource.com/2017/04/27/creating-custom-ocf-resource-agents/
|
43
20220110094054-ocf_guest_node.org
Normal file
43
20220110094054-ocf_guest_node.org
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
: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
|
Reference in New Issue
Block a user