Déploiement automatisé de deux instances CloudStack avec réplication MySQL

Prérequis :
  • Avoir un serveur ou poste de travail personnel avec un interpréteur PHP5-CLI (incluant l’extension http) depuis lequel vous allez exécuter les scripts PHP pour lancer les déploiements.

  • Connaitre la clé d’API et clé privée de votre compte CloudStack by Ikoula (celles-ci vous sont fournies dans le mail contenant vos accès CLoudStack à la livraison et/ou sont disponibles dans les informations de votre compte utilisateur dans l’interface UI CloudStack by Ikoula, Menu Comptes>Compte>Voir utilisateurs>Votre utilisateur).

  • Connaitre l’ID de votre réseau d’invité au sein duquel vous souhaitez déployer les instances MySQL (Cliquez sur le nom de votre réseau d’invité depuis l’UI CloudStack by Ikoula puis récupérez la valeur du champ ID).
1) Déploiement des instances MySQL :

--> Récupérez le script php «deb7-mysql-replication.php » sur votre serveur/poste de travail personnel (avec wget par exemple) :
https://raw.github.com/ikoula/cloudstack/master/deb7-mysql-replication.php

-->Editez –le avec votre éditeur de texte afin de renseigner les éléments suivants :

Requis :
  • Votre clé d’API (ligne 11 du script remplacez <VOTRE CLEF D'API> par celle-ci).

  • Votre clé privée (ligne 12 du script, remplacez <VOTRE CLEF PRIVEE> par celle-ci).

  • L’ID de votre réseau d’invité (ligne 26 du script, remplacez <L'ID DE VOTRE RESEAU D'INVITE> par celui-ci).Cet ID est visible depuis l’interface UI CloudStack by Ikoula dans les détails de votre réseau.
Optionnel :
- L’UUID de l’offre de service que vous souhaitez (ligne 35 du script, remplacez < c6b89fea-1242-4f54-b15e-9d8ec8a0b7e8 > qui est l’uuid de l’offre de service m1.small utilisé par défaut par l’uuid de l’offre de service de votre choix parmis les choix disponibles dans les commentaires précédents cette ligne).

--> Enregistrez vos modifications puis exécutez le script à l’aide de la commande suivante (depuis le répertoire où vous avez sauvegardé le script) :

php -d -f deb7-mysql-replication.php Suite à l’exécution de cette commande vous allez être invité à saisir les quelques paramètres suivants pour poursuivre le déploiement (faites [Entrée] pour valider) :

Parametrage de la premiere instance (MySQL maitre).
Nom a donner a votre instance : 1
Mot de passe pour le compte root de MySQL : 2
Mot de passe pour le compte de replication replic_user : 3
Port SSH publique a utiliser pour cette instance : 4
*NomQueVousAvezChoisiPourLa1ereInstance - Mot de passe : password1
Parametrage de la seconde instance (MySQL slave).
Nom a donner a votre instance : 5
Port SSH publique a utiliser pour cette instance : 6
**NomQueVousAvezChoisiPourLa2emeInstance - Mot de passe : password2


1 = Le nom de votre instance MySQL Master tel qu’il apparaitra dans l’interface CloudStack UI et également le hostname de celle-ci. Ce nom doit être unique au sein de votre réseau d’invité et comporter uniquement des caractères alphanumériques.
2 = Le mot de passe de votre choix pour le compte root MySQL de vos instances MySQL Master et Slave (ne doit pas contenir d’espace).
3 = Le mot de passe de votre choix pour le compte de réplication MySQL (ne doit pas contenir d’espace).
4 = Le port SSH publique de votre choix pour votre instance MySQL Master (ne doit pas être déjà utilisé sur votre réseau)
*A ce moment-là, le déploiement de votre instance MySQL Master est lancé et retourne le nom de votre instance MySQL Master que vous avez choisi et son mot de passe root une fois terminé. Retenez ces informations puis continuez en saisissant les paramètres pour le déploiement de votre instance MySQL Slave
5 = Le nom de votre instance MySQL SLave tel qu’il apparaitra dans l’interface CloudStack UI et également le hostname de celle-ci. Ce nom doit être unique au sein de votre réseau d’invité et comporter uniquement des caractères alphanumériques.
6 = Le port SSH publique de votre choix pour votre instance MySQL Slave (ne doit pas être déjà utilisé sur votre réseau)
**Le déploiement de votre instance MySQL Slave est alors lancé et retourne le nom de votre instance MySQL Slave que vous avez choisi avec son mot de passe root .
Si vous n’avez rencontré aucune erreur, le déploiement de votre instance MySQL Master puis celui de votre instance MySQL Slave est terminé et la réplication MySQL entre celles-ci est déjà opérationnelle.

Si vous avez rencontrez des erreurs, vérifier que vous avez bien les prérequis et que vous n’avez commis aucune erreur en saisissant vos données dans le scripts de déploiement (ex : Clé API, Clé Privée…). Si vous obtenez l’erreur “New rule conflicts with existing rule with specified id”, c’est que vous avez indiqué un port ssh en conflit avec une règle déjà présente, faites le nécessaire puis relancer le script.

2) Vérification de la réplication MySQL :

--> Connectez-vous à votre instance MySQL Master en SSH, connectez-vous à Mysql avec l’utilisateur root et le mot de passe que vous avez défini puis saisissez « SHOW MASTER STATUS\G » vous devriez avoir le même retour que ci-dessous :



--> Connectez-vous à votre instance MySQL Slave en SSH, connectez-vous à Mysql avec l’utilisateur root et le mot de passe que vous avez défini puis saisissez « SHOW SLAVE STATUS\G » vous devriez avoir le même retour que ci-dessous (les lignes encadrées en rouge doivent être à Yes) :




Ajouter un commentaire