Gestion des disques supplémentaires (volumes Block Storage)
Configurer et monter un disque supplémentaire (volume "Block Storage")
- Se connecter en tant qu'admin à l'instance sur laquelle le volume a été attaché :
ssh admin@<instance>-<region>-sinp
- Passer en root :
sudo -i
- Vérifier que le volume a bien été préalablement attaché à l'instance (⇒ présence disque
sdb
ouvdb
) :lsblk
- Créer dessus une partition :
fdisk /dev/sdb
- Commande de création :
n
- Répondre à toutes les questions par les valeurs par défaut
- Au final, le message à obtenir :
Created a new partition 1 of type 'Linux' and of size <…> GiB.
- Écrire la nouvelle partition :
w
- Formater la nouvelle partition :
mkfs.ext4 /dev/sdb1
- Créer le dossier (
/data
) qui contiendra le volume monté :mkdir /data
- Monter la partition dans le dossier :
mount /dev/sdb1 /data
- Vérifier que le volume est bien monté :
df -h -t ext4
- Rendre persistant le montage du volume :
- Rechercher l'UUID du nouveau disque :
blkid
- Ajouter une nouvelle entrée au fichier
/etc/fstab
:vi /etc/fstab
- Exemple de contenu (changer l'UUID si vous copier/coller la ligne) :
UUID=449a906d-66e4-4196-bba9-846b93664e2c /data ext4 nofail 0 0
Réaliser un snapshot (sauvegarde) du volume
- Note : Le détachement du volume ainsi que le snapshot sont très rapide : ~5mn.
- Si le disque contient des données accédées par un service d'une ou plusieurs instances, il est préférable d’arrêter le service le temps du snapshot.
- Ancien exemple pour la base de données Postresql (les performance réduite du volume ne nous permettent finalement pas d'héberger les données de la base sur un volume) :
- Sur "web-srv" :
- Se connecter en tant qu'admin :
ssh admin@sinp-<region>-web
- Arrêter les services Supervisor :
supervisorctl stop all
- Vérifier le statut :
supervisorctl status
- Sur "db-srv" :
- Se connecter en tant qu'admin :
ssh admin@sinp-<region>-db
- Arrêter le service Postgresql :
systemctl stop postgresql
- Vérifier l'arrêt du service :
systemctl status postgresql
- Sur le "Manager d'OVH" :
- Sur l'onglet "Public Cloud" > sélectionner le projet "GeoNature-SINP-<region>"
- Ouvrir Horizon pour avoir une visibilité sur l'état du volume et du snapshot. L'interface d'OVH ne se met pas correctement à jour :
- Cliquer sur "Project management" > "Users and roles"
- Sur l'utilisateur "Administrateur" cliquer sur le bouton d'action "···" (icône représentant 3 points horizontaux) puis choisir "Ouvrir OpenStack Horizon"
- Dans Horizon, dans le bandeau sélectionner "GRA7" (= le datacenter hébergeant les instances).
- L'état du Volume est consultable dans "Volumes" > "Volumes".
- Sur le manager d'OVH, dans le menu gauche, cliquer sur "Block Storage".
- Pour détacher le volume de l'instance : sur la ligne du disque concerné cliquer sur le bouton d'action "···" puis choisir "Détacher de l'instance".
- Vérifier la fin du "détachement" dans Horizon. Il est aussi possible de se déconnecter/reconnecter au Manager pour voir la mise à jour.
- Pour créer la sauvegarde : sur la ligne du disque concerné cliquer sur le bouton d'action "···" puis choisir "Créer un snapshot".
- Vérifier la fin du "snapshot" dans Horizon.
- Se déconnecter/reconnecter au Manager pour voir la mise à jour.
- Pour attacher à nouveau le volume de l'instance : sur la ligne du disque concerné cliquer sur le bouton d'action "···" puis choisir "Attacher l'instance".
- Sur l'instance dans laquelle nous allons connecter le volume :
- Monter à nouveau le disque :
mount /dev/sdb1 /data
- Vérifier que le volume est bien monté :
df -h
etls -al /data
- Relancer les services qui accèdent aux données hébergées sur le volume.
- Ancien exemple pour la base de données Postresql :
- Sur "db-srv" :
- Démarrer à nouveau le service Postgresql :
systemctl start postgresql
- Vérifier l'arrêt du service :
systemctl status postgresql
- Sur "web-srv" :
- Démarrer les services Supervisor :
supervisorctl start all
- Vérifier le statut :
supervisorctl status
Augmenter la taille d'un volume Block Storage
- Sur le serveur où le volume est attaché :
- Se connecter via SSH au serveur en tant qu'admin puis passer en root.
- ATTENTION : Si les données du disque sont importantes, effectuer une sauvegarde au préalable !
- Vérifier l'espace des disques :
lsblk
- Arrêter les services utilisant des données présentent sur le disque additionnel : sauvegarde (Borg), Docker et vérifier que la sauvegarde d'un snapshot n'est pas en cours.
- Si besoin, vérifier quels services occupent un point de montage :
lsof|grep <mountpoint>
- Sur l'interface du Manager d'OVH :
- Ouvrez votre projet Public Cloud
- Cliquez ensuite sur "Block Storage" dans le menu de gauche.
- Cliquez sur le bouton "…" à droite du volume concerné et sélectionnez "Éditer".
- Dans la fenêtre qui apparaît, indiquez la nouvelle taille du volume et cliquez sur "Modifier le volume".
- Assurez-vous que le volume est attaché à votre instance avant de continuer. Si ce n’est pas le cas, cliquez sur "…" dans la ligne du volume et sélectionnez "Attacher à l'instance".
- A nouveau, sur le serveur où le volume a été attaché :
- Se connecter via SSH au serveur en tant qu'admin puis passer en root.
- Vérifier l'espace des disques :
lsblk
- Démonter le disque qui est monté sur /data/ :
umount /data
- Chercher l'emplacement dans /dev du disque additionnel avec :
df -h
oufdisk -l
- Lancer la commande permettant de modifier la partition :
fdisk /dev/vdb
- Afficher les informations de la partition pour réutiliser les mêmes infos sauf le secteur de fin qui devra être plus grand :
p
- Supprimer la partition :
d
- Sélectionner la partition principale (il ne doit y en avoir qu'une seule) :
1
- Recréer la partition :
n
- Indiquer la partition comme principale :
p
- Indiquer le numéro de partition :
1
- Indiquer le premier et dernier secteur disponible en appuyant sur Entrée à chaque fois.
- Valider les changements :
w
- Quitter Fdisk :
q
- Vérifier la partition :
e2fsck -f /dev/vdb1
- Redimensionner la partition :
resize2fs /dev/vdb1
- Remonter le disque :
mount /dev/vdb1 /data/
- Vérifier la présence du disque et sa taille :
df -h -t ext4
- Si nécessaire pour la prise en compte redémarrer la machine.
- Démarrer les services utilisant des données présentent sur le disque additionnel : sauvegarde (Borg), Docker et vérifier que la sauvegarde d'un snapshot n'est pas en cours.
Supprimer définitivement un volume Block Storage attaché à une instance
- Nous commençons par réaliser un dernier snapshot de l'instance afin de sauvegarder son dernier état avant suppression. Suivre donc les étapes de la section "Réaliser un snapshot (sauvegarde) du volume" sans remonter le volume sur l'instance bien entendu.
- Se connecter à l'instance où était monter le volume en admin puis root.
- Éditer le fichier /etc/fstab pour y supprimer la ligne correspondant au volume :
vim /etc/fstab
- C'est la ligne contenant
/data
et dont l'UUID n'est plus visible dans la sortie de la commandeblkid
- Supprimer enfin le volume via l'interface du Manager d'OVH