serveurs:installation:bkp-srv:creation-instance

Création instance de sauvegarde

Nous décrivons ci-dessous comment créer l'instance "bkp-srv" depuis l'instance "web-srv" :

  • Créer une instance "bkp" dans un datacentre distinct de celui des instances "web-srv" et "db-srv".
  • Copier le snapshot de l'instance "web-srv" vers l'instance "bkp-srv"
  • Recréer l'instance "bkp-srv" avec le snapshot de "web-srv"
  • Modifier les configs sur l'instance "bkp-srv" : ip, hostname…

Le transfert d'une sauvegarde d'un datacentre à un autre nécessite l'utilisation de fonctionnalité d'OpenStack non accessible directement depuis le manager d'OVH. Afin de pouvoir accéder à ces fonctionnalités, il est nécessaire d'instance les utilitaires Glance, Nova et OpenStack. Ces outils vont nous permettre de manipuler les instances, les volumes et les images (sauvegardes). Ils peuvent être installé sur une machine locale ou sur une instance selon les besoins.

Pour télécharger localement une sauvegarde d'instance :

  • Commencer par lister les images (dont les sauvegardes) pour accéder aux ID des images : glance image-list
  • Les sauvegardes auto des instances ont toutes le même nom (Ex. : web-srv_22h-06h_r7). Vous pouvez voir le détail et donc la date de la sauvegarde avec la commande : glance image-show --human-readable <image-ID>
    • Pour voir uniquement les dates : glance image-show <image-ID> | grep -P "(?:created_at|updated_at)"
    • Pour voir uniquement la taille du fichier à télécharger : glance image-show --human-readable <image-ID> | grep "size"
  • Vous pouvez ensuite télécharger localement dans le dossier courant une image avec la commande : glance image-download <image-ID> --progress --file ./<mon-fichier-de-sauvegarde-web-srv>.qcow2

Pour transférer une sauvegarde d'instance d'un datacentre à un autre dans le même projet Public Cloude (ce qui est notre cas) :

  • Lister les images pour pouvoir récupérer l'ID de la dernière sauvegarde de l'instance web-srv (possible aussi avec Glance) : openstack image list
  • Télécharger localement l'image (avec Glance ou comme ici avec OpenStack) : openstack image save --file <mon-fichier-de-sauvegarde-web-srv>.qcow <image-ID>
    • Si le message "Processus arrêté" survient, vérifier que "openstack" ne sature pas la mémoire du serveur. Si c'est le cas, essayer avec la commande Glance.
  • Créer un nouveau dossier local qui hébergera le fichier openrc.sh modifié avec la région du datacentre vers lequel vous souhaitez uploader votre sauvegarde d'instance : ~/<mon-dossier-de-stockage>/ovh-openstack/sinp-<region>-<abréviation-datacentre>/
    • Ex. : ~/Applications/ovh-openstack/sinp-paca-UK1/
  • Copier le fichier openrc.sh configurer pour l'accès au datacentre principal vers le nouveau dossier. Ex. : cp ~/Applications/ovh-openstack/sinp-paca-GRA7/openrc.sh ~/Applications/ovh-openstack/sinp-paca-UK1/openrc.sh
  • Éditer le fichier openrc.sh copié pour modifier le paramètre OS_REGION_NAME. Ex. : vi ~/Applications/ovh-openstack/sinp-paca-UK1/openrc.sh
    • Remplacer l'abréviation du datacentre principal par celle du datacentre secondaire qui hébergera "bkp-srv". Ex. : GRA7 par UK1
  • Ouvrir un nouveau terminal et se placer dans le dossier du datacentre secondaire. Ex. : cd ~/Applications/ovh-openstack/sinp-paca-UK1/openrc.sh
  • Recharger les variable d'environnement OpenStack du datacentre secondaire. Ex. : source ~/Applications/ovh-openstack/sinp-paca-UK1/openrc.sh
  • Uploader la sauvegarde de "web-srv" télécharger précédemment vers le datacentre secondaire : openstack image create --disk-format qcow2 --container-format bare --file ~/<mon-dossier-de-stockage>/ovh-openstack/sinp-<region>-<abréviation-datacentre-principal>/<mon-fichier-de-sauvegarde-web-srv>.qcow <nom-image-web-srv>
    • Ex. : openstack image create --disk-format qcow2 --container-format bare --file ~/Applications/ovh-openstack/sinp-paca-GRA7/2021-03-29_web-srv.qcow2 copy_web-srv_for_bkp-srv
    • L'upload est visible dans le Manager d'OVH : Public Cloud > Projet SINP > Storage > Instance backups

Il n'est pas possible de télécharger directement un volume (bootable ou pas). Il est nécessaire de créer une image à partir du snapshot du volume pour ensuite télécharger localement l'image :

  • Voir la liste des volumes : openstack volume list
  • Voir le détail d'un volume : openstack volume show <volume-id>
  • Créer une image à partir du volume : openstack image create --volume <nom-volume> <nom-image>
    • Ex. : openstack image create --volume db-storage 2021-03-26_db-storage_before_deleting
  • Vérifier le statut d'avancement de la création de l'image avec : openstack image list | grep "<nom-image>"
    • Ex. : openstack image list | grep "2021-03-26_db-storage_before_deleting"
  • Une fois le statut active atteint, l'image est téléchargeable localement avec : openstack image save --file ./<nom-image-locale>.raw <image-ID>

Il faut uploader l'image locale du volume puis la transformer en volume sur le datacentre choisi :

  • Se placer dans le dossier contenant le fichier openrc.sh correspondant au datacentre sur lequel vous souhaitez uploader le volume : cd
  • Charger les variables d'environnement correspondant au datacentre choisi : source openrc.sh
  • Uploader l'image du volume précédement téléchargée : openstack image create --container-format bare --disk-format qcow2 --file <nom-fichier-image-local> <nom-image>
  • Récupérer l'ID de l'image <nom-image> que vous venez d'uploader sur le datacentre : openstack image list
  • Créer maintenant le volume à partir de l'image en indiquant son ID (<image-ID>), sa taille en Giga-Octets ( <taille-en-Go>) et le nom du volume que vous souhaitez créeer (<volume-nom>) : openstack volume create --image <image-ID> --size <taill-en-Go> <volume-nom>

Lors de la création de la nouvelle instance :

  • Lors du choix de l'image à utiliser pour la création, sélectionner la sauvegarde préalablement créé. Dans notre cas : copy_web-srv_for_bkp-srv
  • Le choix du réseau VPN ne semble pas fonctionner, il est possible de l'attacher ensuite via l'interface d'Horizon

Après la création de la nouvelle instance dans le Manager d'OVH, il est nécessaire de :

  • Modifier le fichier hostname : vi /etc/hostname
    • Remplacer le nom de l'hôte précédent (ex. : web-aura-sinp) par le nouveau : bkp-<region>-sinp
  • Modifier le fichier hosts : vi /etc/hosts
  • Modifier les config des interfaces réseaux, généralement ens3 et ens4 (anciennement eth0, eth1) :
  • Redémarrer l'instance : systemctl reboot
  • Modifier la configuration de FirewallD:
    • Ajouter le port SSH spécifique à "bkp-srv" :
      • sur la zone "public" : firewall-cmd --zone=public --permanent --add-port=<port-ssh-bkp>/tcp
      • sur la zone "internal" : firewall-cmd --zone=internal --permanent --add-port=<port-ssh-bkp>/tcp
    • Ajouter les ports pour InfluxDB :
      • firewall-cmd --zone=internal --permanent --add-port=8086/tcp
      • firewall-cmd --zone=internal --permanent --add-port=8089/udp
    • Enregistrer les changements : firewall-cmd --reload
  • Modifier le port SSH en suivant les indications présente sur la page indiquant comment configurer SSH sur le serveur et localement.
  • Supprimer le port SSH de l'instance "web-srv" la configuration de FirewallD de "bkp-srv" :
    • sur la zone "public" : firewall-cmd --zone=public --permanent --remove-port=<port-ssh-web>/tcp
    • sur la zone "internal" : firewall-cmd --zone=internal --permanent --remove-port=<port-ssh-web>/tcp
    • Enregistrer les changements : firewall-cmd --reload
  • Modifier les références au nom de l'hôte dans le fichier de config de Postfix /etc/postfix/main.cf, le fichier /etc/postfix/smtp_header_checks et dans le fichier /etc/mailname. Voir la doc sur la config de Postfix.
  • Mettre en place une sauvegarde automatique de l'instance "bkp-srv" via l'interface du Manager d'OVH comme indiqué dans la documentation suivante.
  • Modifier le mot de passe de l'utilisateur root (et le stocker dans Keepass) : passwd
  • Modifier le mot de passe de l'utilisateur geonat (et le stocker dans Keepass) : passwd geonat

Vérifications :

  • Vérifier la présence de l'IP privée 10.0.1.30 sur l'interface ens4 (anciennement eth1) : ip a
  • Si l'IP n'apparait pas, il peut être nécessaire de démarrer l'interface : ifup ens4 ou ifup eth1
  • Vérifier la connectivité entre les différentes instances sur le réseau privé. Ex. : ping 10.0.1.20
  • serveurs/installation/bkp-srv/creation-instance.txt
  • Dernière modification : 2023/12/01 13:17
  • de jpmilcent