Installation du script de transfert des sauvegardes des instances des serveurs
L'objectif est de mettre en place un script se chargeant de transférer les dernières sauvegardes des instances "db-srv" et "web-srv" présentes sur le datacenter de Gravelines vers celui de Londres. Il se lancera automatiquement tous les jours.
Installation d'OpenStack Client (OSC)
- Se connecter à l'instance "bkp-srv" en tant que "backups" :
ssh backups@bkp-<region>-sinp
- Installer l'environnement virtuel spécifique à openstack client (OCS) :
virtualenv --python=python3 osc-env
- Activer l'environnement :
source osc-env/bin/activate
- S'il s'avère nécessaire de mettre à jour Pip :
- Vérifier la présence de Pip :
pip --version
- Mettre à jour Pip vers sa dernière version :
pip install --upgrade pip
- Vérifier la version de Pip:
pip --version
- Installer le client OpenStack avec Pip :
- Installer le client OpenStack :
pip install python-openstackclient
- Vérifier la bonne installation du client :
openstack --help
- Installer son auto-complétion sous Bash :
openstack complete | sudo tee /etc/bash_completion.d/osc.bash_completion > /dev/null
- Ré-ouvrir un terminal pour activer l'auto-complétion
Accéder à OSC sans activer l'environnement virtuel
- Créer un dossier ~/bin avec :
mkdir ~/bin
- Modifier le fichier ~/.bashrc afin d'autoriser l'accès aux exécutable du dossier ~/bin lors d'un accès par SSH avec :
vi ~/.bashrc
- Ajouter au début du fichier avant le commentaire « # If not running interactively, don't do anything » le code :
# Set PATH here to include user's private bin for SSH login # It's necessary for using OpenStack Client ! if [[ -d "${HOME}bin" && ":$PATH:" != *":${HOME}bin:"* ]] ; then PATH="${HOME}bin:${PATH}" fi
- Recharger l'environnement :
source ~/.bashrc
- Ajouter le lien symbolique vers l’exécutable d'OSC :
ln -s ~/osc-env/bin/openstack ~/bin/openstack
- Vérifier que l'environnement virtuelle est bien désactivé :
deactivate
- Tester avec la version d'OSC :
openstack --version
Mise en place du volume "bkp-storage" (Block Storage)
- Commande un volume Block Storage dans le Public Cloud en le nommant : "bkp-storage"
- Suivre les indications concernant la commande du volume "bkp-storage" et son attachement au serveur "bkp-srv"
- Puis suivre les indications de configuration et montage du volume
- Il n'est pas nécessaire de mettre en place de sauvegarde du volume "bkp-storage" car il contient lui même des sauvegardes…
- Créer le dossier qui contiendra les images des serveurs :
mkdir /data/srv-img-bkp ; chown backups: /data/srv-img-bkp/
Installation du script de transfert des instances
Le script backup_instance.sh
sera utilisé par l'utilisateur "backups" de l'instance "bkp-srv" pour exécuter le transfert des sauvegardes des instances du datacenter de Gravelines (GRA7) vers le datacenter de Londres (UK-1). De façon temporaire, les instances sont stockées sur le volume "bkp-storage" dans le dossier /data/srv-img-bkp/GRA7
.
- Se connecter à l'instance "bkp-srv" en tant qu'utilisateur "backups" :
ssh backups@bkp-<region>-sinp
- Créer un dossier ~/bin/ s'il n'existe pas déjà :
mkdir ~/bin
- Modifier le fichier ~/.bashrc pour prendre en compte les scripts présents dans le dossier ~/bin/. Si le code suivant n'est pas déjà présent ajouter le :
# Set PATH so it includes user's private bin if it exists and not already set if [[ -d "${HOME}bin" && ":$PATH:" != *":${HOME}bin:"* ]] ; then PATH="${HOME}bin:${PATH}" fi
- En local sur votre machine placer vous à la racine de votre dépôt sinp-<region>-srv :
cd ~/workspace/sinp-<region>-srv/
- À l'aide de Rsync uploader le scripts de sauvegarde des instances et les fichiers qui lui sont associé :
rsync -av bkp-srv/home/backups/bin/ backups@bkp-<region>-sinp:/home/backups/bin/ --dry-run
(si tout est ok, supprimer l'option
--dry-run
) - À l'aide de Rsync uploader le cron :
rsync -av bkp-srv/etc/crond.d/ admin@bkp-<region>-sinp:/home/admin/dwl/ --dry-run
(si tout est ok, supprimer l'option
--dry-run
- Si ce n'est pas déjà fait, créer un utilisateur OpenStack (de type Administrateur) en suivant ce guide : OVH - Créer un utilisateur OpenStack
- Se connecter à nouveau à l'instance "bkp-srv" en tant qu'utilisateur "backups" :
ssh backups@bkp-<region>-sinp
- Se rendre dans le dossier ~/bin/ :
cd ~/bin
- Créer le fichier de config settings.ini :
cp settings.defaut.ini settings.ini ; chmod 600 settings.ini
- Supprimer les lignes des variables qui ne nécessitent pas d'être surchargées dans le fichier
settings.ini
. - Récupérer les infos nécessaires pour le fichier
settings.ini
depuis le fichieropenrc.sh
téléchargeable de la façon indiquée dans ce guide.
- Se connecter à l'instance "bkp-srv" en tant qu'utilisateur "admin" :
ssh admin@bkp-<region>-sinp
- Copier le fichier de cron dans le dossier cron.d :
sudo mv ~/dwl/backup_instance.cron /etc/cron.d/backup_instance
Notes
Sur le script backup_instance.sh
- Accéder à l'aide du script avec :
./backup_instance.sh -h
- Le script stocke des logs dans
/home/backups/tmp/log/bkp_srv_instance.log
- Le script envoie un email avec le contenu du log à l'email configuré dans la variable
bsi_email_to
du fichier~/bin/settings.default.ini
(ousettings.ini
).
Sur l'utilisation d'OSC
- Pour l'utiliser manuellement se connecter en tant que "backups"
- Se placer dans le dossier
~/bin
avec :cd ~/bin
- Charger les paramètres nécessaires dans les variables d'environnement :
source settings.default.ini; source settings.ini
- À tout moment pour voir les variables d'env d'OSC :
printenv | grep OS_
- Pour change de région (= de datacenter) :
export OS_REGION_NAME="UK1"
ouexport OS_REGION_NAME="GRA7"
- Lister les images :
openstack image list
- Voir le détail d'une image :
openstack image show <image-id>