Serveur Physique de Base de Donnée - FunWarry/Projet-ESEO-css-datacenter GitHub Wiki
Le serveur physique de base de donnée déploie un cluster Galera avec 3 nœuds de base de données et 2 nœuds HAProxy pour la répartition de charge. Ce serveur inclut également un agent Zabbix pour la supervision.
Structure du Dossier galera.ansible
Dans le serveur physique de base de donnée, le dossier Bureau contient les éléments nécessaires pour déployer automatiquement les machines virtuelles (VMs) et appliquer les rôles Ansible.
L’arborescence est la suivante :
-
/home/etudis/bureau/
- variables : Contient le fichier
inventory.ini
avec les variables nécessaires pour les playbooks Ansible. - playbook : Contient les fichiers et rôles nécessaires au déploiement des éléments sur chaque serveur physique.
- galera.ansible : Contient le Vagrantfile et les éléments nécessaires au déploiement des machines virtuelles.
- node.yml : Ce fichier est utilisé pour déployer la machine, attendre qu'elle soit accessible en SSH, puis exécuter les rôles Ansible.
- variables : Contient le fichier
Scripts d'Initialisation (Avant les Rôles Ansible)
Avant de déployer les rôles Ansible, les scripts suivants sont exécutés sur chaque machine virtuelle pour préparer l'environnement :
- script_ssh : Autorise les connexions SSH avec mot de passe.
- config_ssh : Envoie la clé publique de la machine physique vers les VMs.
- config_sys : Configure les adresses IP des machines dans le bon masque de réseau.
- script_route : Configure les passerelles et routes nécessaires pour assurer la connectivité entre les machines.
Déploiement via Vagrant
Le fichier node.yml déploie les machines virtuelles, attend leur disponibilité en SSH, puis applique les rôles Ansible à chaque machine.
Rôles Ansible Déployés
Une fois les machines accessibles, les rôles Ansible sont appliqués dans l'ordre suivant :
-
galeranode1, galeranode2, galeranode3 : Ces rôles configurent les nœuds Galera du cluster de base de données. Chaque rôle effectue l'installation de MariaDB, configure la synchronisation entre les nœuds et gère les paramètres du cluster.
-
haproxynode1, haproxynode2 : Ces rôles installent et configurent HAProxy sur deux nœuds pour la répartition de charge. Ils assurent une haute disponibilité en dirigeant le trafic vers les nœuds de base de données Galera.
-
agent_zabbix : Ce rôle installe et configure l'agent Zabbix sur tous les nœuds pour assurer la supervision du cluster Galera et de HAProxy.
Déploiement des Machines
Une fois les scripts exécutés, la commande vagrant up est utilisée pour démarrer et déployer les machines virtuelles. Après que les machines sont en ligne et accessibles via SSH, Ansible applique les rôles définis pour chaque machine.
Accès aux Machines
Une fois le déploiement terminé, vous pouvez accéder aux machines via SSH :
-
Pour accéder aux nœuds Galera :
vagrant ssh galeranode1
vagrant ssh galeranode2
vagrant ssh galeranode3
-
Pour accéder aux nœuds HAProxy :
vagrant ssh haproxynode1
vagrant ssh haproxynode2
-
Pour superviser via Zabbix, assurez-vous que l'agent Zabbix est correctement configuré et que vous pouvez visualiser l'état des nœuds dans l'interface de supervision.