À propos du cycle de vie des VM

Les machines virtuelles (VM) Flexible Compute Unit (FCU) ont un cycle de vie spécifique, de leur création à leur suppression définitive. Vous pouvez gérer leur cycle de vie, ce qui a des conséquences sur les ressources qui leur sont allouées ou attachées.

Vue d’ensemble

Cycle de vie d’une VM

FR sch FCU InstanceLifecycle

Création

La création d’une VM comprend à la fois sa création en tant que telle et son démarrage. Une fois la VM créée, elle reste à l’état pending jusqu’à ce qu’elle soit démarrée et prête à l’usage. L’état de la VM passe alors à running.

Lors de la création d’une VM, des ressources matérielles lui sont allouées. Choisir un type de VM vous permet de définir la configuration matérielle du serveur qui héberge la VM. Choisir ou créer une image machine OUTSCALE (OMI) vous permet de définir le système d’exploitation de la VM, sa configuration, et éventuellement les applications logicielles à y installer. 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 passe à l’état pending, puis à 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 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 vous souhaitez arrêter une VM 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 équivaut à débrancher un ordinateur, 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 entraîner une perte de données. Assurez-vous de ne plus en avoir besoin ou d’avoir une sauvegarde.

Vous pouvez consulter la sortie de la console de la VM pour 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 :

# /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, puis créer une nouvelle VM.

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

Redémarrage

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

La VM reste dans l’état running et conserve les ressources qui lui sont allouées. Les données stockées dans sa mémoire restent également disponibles après le redémarrage.

Suppression

Vous pouvez terminer (supprimer) une VM dont vous n’avez plus besoin. Les VM terminées ne peuvent pas ê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 OUTSCALE.

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 à la fermeture de l’application.

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