Cette page décrit la procédure pour augmenter la taille d’un volume Cinder dans OpenStack.
Le backend de stockage ne supporte pas le redimensionnement à chaud.
Le volume doit donc être détaché de la machine virtuelle avant l’opération.
La procédure dépend du type de volume :
openstack server list
Lister les volumes attachés :
openstack server volume list <SERVER_ID>
⚠️ Attention !
Veillez à démonter le disque dans la machine virtuelle avant de procéder à son détachement.
openstack server remove volume <SERVER_ID> <VOLUME_ID>
Vérifier que le volume est bien disponible :
openstack volume show <VOLUME_ID>
Le statut doit être available.
openstack volume set --size <NOUVELLE_TAILLE_EN_GB> <VOLUME_ID>
Exemple :
openstack volume set --size 200 12345678-abcd-efgh
openstack server add volume <SERVER_ID> <VOLUME_ID>
Le volume root étant attaché à la VM, il faut supprimer l’instance tout en conservant le volume.
openstack server list
openstack server show <UUID>
Veillez à relever l’ensemble des caractéristiques de la machine virtuelle (flavor, réseau, groupes de sécurité, clé SSH, etc.) afin de pouvoir la recréer à l’identique après l’opération.
Repérer l’ID du volume root dans la section volumes_attached.
⚠️ Avant de supprimer la machine virtuelle, vérifiez que le volume root n’est pas configuré avec l’option Delete On Termination activée, sinon le volume sera supprimé en même temps que l’instance.
openstack server volume list <SERVER_ID>
Exemple :
+----------+-----------------------------------+-----------------------------------+------+------------------------+-----------------------------------+------------------------------------+
| Device | Server ID | Volume ID | Tag | Delete On Termination? | Attachment ID | BlockDeviceMapping UUID |
+----------+-----------------------------------+-----------------------------------+------+------------------------+-----------------------------------+------------------------------------+
| /dev/vda | e0e5926a-a71f-4aaa-a124-578b39fcd115 | 40161ea7-52cf-452d-bb0b-72fc216566f0 | None | False | 675af7de-68bc-4a45-829d-7d28f81d08ab | e793ad4b-3a5c-44ea-b43b-aa32303f182a |
| /dev/vdb | e0e5926a-a71f-4aaa-a124-578b39fcd115 | 1874f203-0235-41b6-a987-b841f9b00d7c | None | False | 53d26a6a-d71b-43c5-a12c-906d2f8f3413 | f3ed006b-b5b5-4d2d-afdf-5b8e683aea5f |
+----------+-----------------------------------+-----------------------------------+------+------------------------+-----------------------------------+------------------------------------+
Assurez-vous que la colonne Delete On Termination? est à False pour éviter la suppression du volume lors de la suppression de la VM.
Vous pouvez vérifier ce paramètre avec la commande suivante :
openstack server delete <SERVER_ID>
Le volume root reste présent dans Cinder.
Vérifier :
openstack volume list
openstack volume set --size <NOUVELLE_TAILLE_EN_GB> <VOLUME_ID>
Exemple :
openstack volume set --size 100 <VOLUME_ID>
Créer une instance à partir du volume redimensionné :
openstack server create \
--flavor <FLAVOR> \
--security-group <SECGROUP> \
--volume <VOLUME_ID> \
--network <NETWORK> \
<SERVER_NAME>
openstack server add floating ip <SERVER_NAME> <FIP>