Vous pouvez migrer les volumes Cinder qui sont attachés à une instance d'OpenStack en migrant la machine virtuelle correspondante vers une autre banque de données.

Note :
  • Les volumes à attachement multiple ne peuvent pas être migrés lorsqu'ils sont attachés. Détachez les volumes à attachement multiple avant de les migrer vers une autre banque de données.
  • Après la migration d'un volume attaché, la machine virtuelle fantôme correspondante reste sur la banque de données d'origine, mais elle n'a pas de disque. Lorsque vous détachez le volume, le disque est attaché à nouveau à la machine virtuelle fantôme.

Conditions préalables

Détachez tous les snapshots des volumes que vous souhaitez migrer.

Procédure

  1. Connectez-vous à Integrated OpenStack Manager en tant qu'utilisateur root.
    ssh root@mgmt-server-ip
  2. Préparez la banque de données contenant le volume pour la migration.
    Cette étape prépare tous les volumes sur la banque de données spécifiée pour la migration.
    viocli prepare datastore dc-name ds-name
    Option Description

    dc-name

    Entrez le centre de données qui contient le volume souhaité.

    ds-name

    Entrez la banque de données qui contient le volume souhaité.

  3. Ouvrez la boîte à outils.
    toolbox
  4. Migrez l'instance à laquelle le volume est attaché.
    openstack server migrate compute-name instance-uuid --live
    • Pour rechercher le nom d'un nœud de calcul, exécutez la commande openstack host list et affichez la colonne Nom d'hôte.
    • Pour trouver l'UUID de l'instance, exécutez la commande openstack server list et affichez la colonne ID.

    Pour plus d'informations, reportez-vous à Migrer une instance.

  5. Dans vSphere Client, migrez la machine virtuelle qui correspond à l'instance d'OpenStack à laquelle le volume est attaché.
  6. Si vous souhaitez migrer la machine virtuelle fantôme vers un cluster dans une zone de disponibilité différente, mettez à jour l'hôte cinder pour le volume.
    1. Obtenez une liste d'espaces cinder-api sur le nœud LCM.
      osctl get pods | grep cinder-api
    2. À l'aide du nom de l'un des espaces cinder-api répertoriés, démarrez une session bash sur l'espace.
      osctl exec -it <cinder-api-pod-name> bash
    3. Dans la nouvelle session, obtenez une liste des hôtes Cinder.
      cinder-manage host list
      La liste inclut les hôtes et les zones des volumes Cinder.
    4. Modifiez les attributs du volume que vous souhaitez transférer. Définissez les valeurs d'hôte et de zone sur l'hôte de volume Cinder dans la zone de disponibilité où vous souhaitez transférer la machine virtuelle fantôme.
      cinder-manage volume update volume_host --volume_id <volume-uuid> --newhost <new-volume-host> --zone <availability-zone>
      Où :
      • volume-uuid est l'UUID du volume Cinder de la machine virtuelle fantôme que vous souhaitez transférer
      • new-volumne-host est le nom d'hôte Cinder dans la zone de disponibilité de destination.
      • availability-zone est la zone de disponibilité de destination.

Résultats

Le volume Cinder et le disque de la machine virtuelle fantôme correspondante sont migrés vers la nouvelle banque de données.