Ceci est une ancienne révision du document !
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 (OCS)
- 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 :<code bash> # Set PATH here to include user's private bin for SSH login # It's necessary for using OpenStack Client ! if "* ; then PATH="${HOME}bin:${PATH}" fi </code> * 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.inidepuis le fichieropenrc.shté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_todu 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
~/binavec :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" '' ou '' export OS_REGION_NAME="GRA7" ''
- Lister les images : ''openstack image list ''
- Voir le détail d'une image : ''openstack image show <image-id> ''