En tant qu'administrateur Cloud, le redimensionnement ou la modification des ressources d'une instance ou d'une machine virtuelle est l'une des tâches les plus courantes.
Dans l'environnement Openstack, il existe certains scénarios où l'utilisateur du cloud a fait tourner une machine virtuelle en utilisant une certaine saveur (comme m1.smalll) où la taille du disque de la partition racine est de 20 Go, mais à un moment donné, l'utilisateur veut étendre la taille de la partition racine à 40 Go . Ainsi, le redimensionnement de la partition racine de vm peut être effectué en utilisant l'option de redimensionnement dans la commande nova. Lors du redimensionnement, nous devons spécifier la nouvelle version qui inclura une taille de disque de 40 Go.
Remarque : Une fois que vous avez étendu les ressources de l'instance telles que la RAM, le processeur et le disque à l'aide de l'option de redimensionnement dans openstack, vous ne pouvez plus la réduire.
Lire plus sur :Comment créer et supprimer une machine virtuelle (VM) à partir de la ligne de commande dans OpenStack
Dans ce tutoriel, je vais montrer comment redimensionner une instance d'openstack à partir de la ligne de commande. Supposons que j'ai une instance existante nommée "test_resize_vm " et sa version associée est " m1.small" et la taille du disque de la partition racine est de 20 Go.
Exécutez la commande ci-dessous à partir du nœud de contrôleur pour vérifier sur quel hôte de calcul notre machine virtuelle "test_resize_vm" est provisionnée et ses détails de saveur
:~# openstack server show test_resize_vm | grep -E "flavor|hypervisor" | OS-EXT-SRV-ATTR:hypervisor_hostname | compute-57 | | flavor | m1.small (2) | :~#
Connectez-vous également à la VM et vérifiez la taille de la partition racine,
[[email protected] ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/vda1 xfs 20G 885M 20G 5% / devtmpfs devtmpfs 900M 0 900M 0% /dev tmpfs tmpfs 920M 0 920M 0% /dev/shm tmpfs tmpfs 920M 8.4M 912M 1% /run tmpfs tmpfs 920M 0 920M 0% /sys/fs/cgroup tmpfs tmpfs 184M 0 184M 0% /run/user/1000 [[email protected] ~]# echo "test file for resize operation" > demofile [[email protected] ~]# cat demofile test file for resize operation [[email protected] ~]#
Obtenez la liste des saveurs disponibles en utilisant la commande ci-dessous,
:~# openstack flavor list +--------------------------------------+-----------------+-------+------+-----------+-------+-----------+ | ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public | +--------------------------------------+-----------------+-------+------+-----------+-------+-----------+ | 2 | m1.small | 2048 | 20 | 0 | 1 | True | | 3 | m1.medium | 4096 | 40 | 0 | 2 | True | | 4 | m1.large | 8192 | 80 | 0 | 4 | True | | 5 | m1.xlarge | 16384 | 160 | 0 | 8 | True | +--------------------------------------+-----------------+-------+------+-----------+-------+-----------+
Nous allons donc utiliser la saveur "m1.medium" pour l'opération de redimensionnement, exécutez la commande nova ci-dessous pour redimensionner "test_resize_vm",
Syntaxe :# nova resize {VM_Name} {flavor_id} —poll
:~# nova resize test_resize_vm 3 --poll Server resizing... 100% complete Finished :~#
Confirmez maintenant l'opération de redimensionnement en utilisant "openstack server -confirm" commande,
~# openstack server list | grep -i test_resize_vm | 1d56f37f-94bd-4eef-9ff7-3dccb4682ce0 | test_resize_vm | VERIFY_RESIZE |private-net=10.20.10.51 | :~#
Comme nous pouvons le voir dans la sortie de la commande ci-dessus, l'état actuel de la machine virtuelle est "verify_resize ", exécutez la commande ci-dessous pour confirmer le redimensionnement,
~# openstack server resize --confirm 1d56f37f-94bd-4eef-9ff7-3dccb4682ce0 ~#
Après la confirmation du redimensionnement, le statut de la VM deviendra actif, revérifiez maintenant les détails de l'hyperviseur et de la saveur pour la VM
:~# openstack server show test_resize_vm | grep -E "flavor|hypervisor" | OS-EXT-SRV-ATTR:hypervisor_hostname | compute-58 | | flavor | m1.medium (3)|
Connectez-vous maintenant à votre VM et vérifiez la taille de la partition racine
[[email protected] ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/vda1 xfs 40G 887M 40G 3% / devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 1.9G 8.4M 1.9G 1% /run tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup tmpfs tmpfs 380M 0 380M 0% /run/user/1000 [[email protected] ~]# cat demofile test file for resize operation [[email protected] ~]#
Cela confirme que la partition racine de la VM a été redimensionnée avec succès.
Remarque : Pour une raison quelconque, si l'opération de redimensionnement n'a pas réussi et que vous souhaitez rétablir l'état précédent de la machine virtuelle, exécutez la commande suivante,
# openstack server resize --revert {instance_uuid}
Si vous avez remarqué "affichage du serveur openstack ” sorties des commandes, la VM est migrée de compute-57 à compute-58 après redimensionnement. Il s'agit du comportement par défaut de la commande "nova resize" (c'est-à-dire que la commande nova resize migrera l'instance vers un autre calcul, puis la redimensionnera en fonction des détails de la version)
Si vous n'avez qu'un seul nœud de calcul, le redimensionnement nova ne fonctionnera pas, mais nous pouvons le faire fonctionner en modifiant le paramètre ci-dessous dans le fichier nova.conf sur le nœud de calcul,
Connectez-vous au nœud de calcul, vérifiez la valeur du paramètre
[[email protected] ~]# grep -i resize /etc/nova/nova.conf allow_resize_to_same_host = True [[email protected]tack-linuxtechi ~]#
Si "allow_resize_to_same_host ” est défini sur False, puis remplacez-le par True et redémarrez le service de calcul nova.
Lire plus sur Déploiement d'OpenStack à l'aide de Devstack sur le système CentOS 7/RHEL 7
C'est tout de ce tutoriel, au cas où cela vous aiderait techniquement, n'hésitez pas à partager vos retours et commentaires.