À propos du cycle de vie des VM

Les machines virtuelles (VM) Flexible Compute Unit (FCU) ont un cycle de vie spécifique depuis le moment où vous les créez jusqu’au moment où vous les terminez. Vous pouvez gérer leur cycle de vie, ce qui a des conséquences sur les ressources qui lui sont allouées ou attachées.

Vue d’ensemble

Cycle de vie d’une VM

FR sch FCU InstanceLifecycle

Création

Créer une VM correspond à la fois à la créer puis à la démarrer. Une fois la VM créée, elle est à l’état pending jusqu’à ce qu’elle soit créée, démarrée et prête à l’usage. L’état de la VM passe alors à running.

Le fait de créer une VM lui alloue les ressources matérielles correspondantes. Vous définissez la configuration matérielle du serveur qui l’héberge grâce à un type de VM, et le système d’exploitation, sa configuration et possiblement des applications logicielles grâce à une image machine OUTSCALE (OMI). Pour en savoir plus, voir À propos des OMI.

La VM reçoit un ID unique, ainsi qu’une IP privée et un nom DNS privé associé qui peuvent uniquement être contactés depuis le Cloud. Si vous créez une VM dans le Cloud public, elle reçoit également une IP publique et un nom DNS public associé. Cette IP publique est temporaire et change à chaque fois que vous arrêtez et démarrez la VM. Pour en savoir plus, voir À propos des VM > Informations générales sur les VM.

  • Pour fixer une IP publique à une VM du Cloud public ou pour ajouter une IP publique fixe à une VM d’un Net, vous pouvez lui attacher une External IP (EIP) puis utiliser le tag OUTSCALE osc.fcu.eip.auto-attach qui la fixe même lors du processus d’arrêt et de démarrage de la VM. Pour en savoir plus, voir À propos des IP publiques

  • Pour créer une VM dans le Cloud public sans IP publique et sans nom DNS public associé, utilisez le tag OUTSCALE private-only.

Vous pouvez également attacher des network interface cards (NIC) à une VM lors de sa création ou ultérieurement pour fragmenter son réseau. Pour en savoir plus, voir Network interface cards (NIC).

Arrêt et démarrage

Vous pouvez arrêter une VM en cours de fonctionnement (running) à tout moment, puis la démarrer à nouveau. Arrêter une VM avec l’API correspond à la couper avec la commande du système d’exploitation.

Vous pouvez également forcer l’arrêt d’une VM. Cette action arrête la VM sans quitter proprement les applications en cours d’utilisation.

Forcer l’arrêt d’une VM peut endommager son système.

Lorsque vous arrêtez une VM, celle-ci passe à l’état stopping, puis à l’état stopped. Lorsque vous démarrez une VM arrêtée, celle-ci est à l’état pending, puis passe ensuite à l’état running.

Lors de l’arrêt et du démarrage de la VM, celle-ci conserve :

  • Son ID

  • Son IP privée et son nom DNS privé associé

  • L’IP publique qui lui est attachée et fixée avec le tag OUTSCALE osc.fcu.eip.auto-attach (s’il y en a une)

Si la VM n’est pas taguée avec le tag OUTSCALE osc.fcu.eip.auto-attach, l’IP publique est détachée de la VM lorsque celle-ci est arrêtée.

  • Les volumes qui lui sont attachés (s’il y en a)

À l’inverse, l’IP publique et le nom DNS public associé qui sont attribués à une VM du Cloud public lors de sa création changent lorsque celle-ci est arrêtée. La mémoire est également effacée.

Lorsqu’une VM est à l’état stopped, vous pouvez modifier ses attributs comme le type de VM (quantité de vCores et de mémoire). Pour en savoir plus, voir Modifier un attribut d’une VM.

Il est également recommandé d’arrêter la VM si vous souhaitez traiter un volume attaché à celle-ci. Pour ce faire, détachez le volume de la VM lorsque celle-ci est arrêtée et attachez-le à une autre VM afin de le traiter. Lorsque vous réattachez le volume à la VM d’origine arrêtée, assurez-vous d’utiliser le même nom de périphérique que celui précisé dans le block device mapping avant de démarrer la VM. Pour en savoir plus, voir Attacher un volume à une VM, Détacher un volume d’une VM et Définir des block device mappings.
Si souhaitez arrêter une VM qui est enregistrée auprès d’un load balancer, il est recommandé de la désenregistrer avant de l’arrêter, puis de la démarrer avant de l’enregistrer à nouveau si besoin. Pour en savoir plus, voir Load Balancing Unit (LBU).

Arrêt forcé

Si vous n’arrivez pas à arrêter votre VM avec un arrêt classique, vous pouvez également forcer celle-ci à s’arrêter. Forcer l’arrêt d’une VM correspond à la débrancher, ce qui signifie que le système peut ne pas s’éteindre correctement.

Forcer l’arrêt d’une VM peut endommager le système et corrompre les données. Assurez-vous que vous n’en avez plus besoin ou que vous avez une sauvegarde.

Vous pouvez consulter la sortie de la console de la VM et ainsi vérifier s’il y a un problème. Pour ce faire, voir Consulter la sortie de la console d’une VM.

La liste ci-dessous recense les causes classiques pouvant expliquer pourquoi une VM ne s’arrête pas :

  • Un programme est en cours, ce qui empêche la VM de s’arrêter.
    La cause la plus fréquente est qu’un programme utilise un filesystem, ce qui signifie qu’un programme est toujours en cours d’exécution sur un volume. Ceci empêche le filesystem d’être démonté, ce qui est requis pour que la VM s’arrête. Vous devez donc vous assurer qu’aucun programme n’utilise un filesystem (par exemple, NFS ou CRFS). Si c’est le cas, suivez l’une des trois options suivantes avant d’essayer d’arrêter la VM à nouveau :

    • Attendez que le programme s’arrête.

    • Arrêtez le programme.

    • Démontez le volume sur lequel le programme est en cours d’exécution.

  • Une mise à jour est en cours (par exemple, une mise à jour Windows).

Ne forcez pas une VM à s’arrêter pendant une mise à jour. Ceci pourrait endommager votre VM ou l’empêcher de redémarrer. Certaines mises à jour peuvent prendre beaucoup de temps (plusieurs heures) sur les types de VM de faible capacité.

  • Il y a des problèmes avec vos requêtes ACPI, qui permettent aux VM de s’arrêter convenablement.
    Les deux raisons principales sont :

    • La VM est hors-service. Dans ce cas, les requêtes ACPI sont ignorées.

    • Les modules pci-hotplug et acpiphp ne sont pas installés sur votre VM, donc les requêtes ACPI ne sont pas supportées. Ceci peut se produire si vous avez utilisé votre propre OMI pour créer votre VM.
      Vous pouvez vérifier dans le répertoire /etc/modules si ces modules sont installés ou non :

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.
pci-hotplug
acpiphp

Si les modules ne sont pas installés, vous pouvez créer votre propre OMI en utilisant une OMI officielle et créer une nouvelle VM.

Si la VM ne s’arrête pas malgré l’arrêt forcé, contactez notre équipe Support. Attention, le support n’aura pas d’autre choix que de couper votre VM, ce qui pourrait corrompre vos données. Pensez donc à les sauvegarder.

Redémarrage

Vous pouvez redémarrer une VM en cours de fonctionnement à tout moment si besoin avec l’API, ce qui correspond à redémarrer le système d’exploitation. La VM redémarre sans suivre le processus d’arrêt et démarrage classique.

La VM reste en fonctionnement (running) et conserve les ressources qui lui sont allouées. Les données stockées dans la mémoire restent disponibles après le redémarrage de la VM.

Suppression

Vous pouvez terminer (supprimer) une VM dont vous n’avez plus besoin. Les VM terminées ne peuvent être récupérées. La VM passe à l’état shutting-down, puis l’état terminated une fois la suppression effectuée. La VM reste visible à l’état terminated pendant 1 heure, sans possibilité de la récupérer.

Lorsque vous terminez une VM, ses ressources matérielles correspondantes sont libérées et les données stockées dans la mémoire sont effacées. Si une IP publique est attachée à la VM, celle-ci est libérée mais reste allouée à votre compte.

Le comportement des volumes BSU lorsque vous terminez la VM à laquelle ils sont attachés dépend du block device mapping. Par défaut, le volume système de la VM est supprimé alors que les autres volumes attachés sont détachés. Pour en savoir plus, voir Définir des block device mappings.

Vous pouvez également configurer deux types de protection contre la suppression :

  • DisableApiTermination : Cet attribut vous permet d’empêcher la suppression de la VM (par défaut, la suppression est autorisée).

  • InstanceInitiatedShutDownBehavior : Cet attribut vous permet de définir le comportement de la VM lorsque vous l’arrêtez ou la terminez. Par défaut ou si paramétré sur stop, la VM est arrêtée. Si paramétré sur restart, la VM est arrêtée puis automatiquement redémarrée. Si paramétré sur terminate, la VM est arrêtée puis terminée. Vous pouvez par exemple automatiquement terminer la VM à la fin d’une application en paramétrant cet attribut sur terminate et en demandant à la VM de s’arrêter quand l’application est fermée.

Ces deux attributs de protection contre la suppression peuvent être définis à la création de la VM et modifiés par la suite. Pour en savoir plus, voir Modifier un attribut d’une VM.

Pages connexes