Utiliser des nœuds de disque de système d’exploitation éphémère pour les pools Azure Batch

Certaines séries de machines virtuelles Azure prennent en charge l’utilisation de disques de système d’exploitation éphémères, qui créent le disque du système d’exploitation sur le stockage local de l’ordinateur virtuel du noeud. La configuration par défaut du pool Batch utilise des disques managés Azure pour le disque du système d’exploitation du nœud, où le disque managé est comme un disque physique, mais virtualisé et conservé dans le Stockage Azure distant.

Concernant les charges de travail Batch, les principaux avantages de l’utilisation éphémère des disques du système d’exploitation sont des frais réduits associés aux pools, un temps de démarrage de nœud potentiellement plus rapide et une performance d’application améliorée en raison d’une meilleure performance du disque du système d’exploitation. Lorsque vous choisissez d’utiliser ou non les disques de système d’exploitation éphémères pour votre charge de travail, prenez en compte les impacts suivants :

  • Il y a une latence de lecture/écriture inférieure sur les disques de système d’exploitation éphémères, ce qui peut entraîner une amélioration du niveau de performance de l’application.
  • Aucun coût de stockage n’est associé aux disques de système d’exploitation éphémères, qu’un coût est associé à chaque disque de système d’exploitation managé.
  • La réinitialisation des nœuds de calcul est plus rapide pour les disques éphémères que pour les disques managés, en cas de prise en charge par Batch.
  • Le temps de démarrage du nœud peut être légèrement plus rapide lorsque des disques de système d’exploitation éphémères sont utilisés.
  • Les disques de système d’exploitation éphémères ne sont pas hautement durables et disponibles. La suppression d’une machine virtuelle pour une raison quelconque entraîne la perte du disque de système d’exploitation. Étant donné que les charges de travail par lots sont fondamentalement sans état et ne s’appuient pas sur des modifications apportées au disque du système d’exploitation, les disques de système d’exploitation éphémères conviennent à l’utilisation pour la plupart des charges de travail par lots.
  • Les disques de système d’exploitation éphémères ne sont actuellement pas pris en charge par toutes les séries de machines virtuelles Azure. Si une taille de machine virtuelle ne prend pas en charge un disque de système d’exploitation éphémère, un disque de système d’exploitation managé doit être utilisé.

Notes

La configuration du disque de système d’exploitation éphémère s’applique uniquement aux pools « virtualMachineConfiguration » et n’est pas prise en charge par les pools « cloudServiceConfiguration ». Nous vous recommandons d’utiliser « virtualMachineConfiguration » pour vos pools batch, car les pools « cloudServiceConfiguration » ne prennent pas en charge toutes les fonctionnalités et aucune nouvelle fonctionnalité n’est planifiée. Après le 29 février 2024, vous ne pourrez plus créer de pools « cloudServiceConfiguration » ou ajouter de nouveaux nœuds à des pools existants. Pour plus d’informations, consultez Migrer la configuration des pools Batch des Services cloud vers une machine virtuelle.

Prise en charge des séries de machines virtuelles

Pour déterminer si une série de machines virtuelles prend en charge les disques de système d’exploitation éphémères, consultez la documentation de chaque instance de machine virtuelle. Par exemple, les séries Ddv4 et Ddsv4 prennent en charge les disques de système d’exploitation éphémères.

Vous pouvez également effectuer une requête par programme pour vérifier la fonctionnalité « EphemeralOSDiskSupported ». Vous trouverez un exemple d’applet de commande PowerShell pour interroger cette fonctionnalité dans le Forum aux questions sur le disque de système d’exploitation éphémère.

Créer un pool qui utilise des disques de système d’exploitation éphémères

La propriété EphemeralOSDiskSettings n’est pas définie par défaut. Vous devez définir cette propriété afin de configurer l’utilisation du disque de système d’exploitation éphémère sur les nœuds du pool.

Conseil

Les disques de système d’exploitation éphémères ne peuvent pas être utilisés conjointement avec des machines virtuelles Spot dans des pools Batch en raison de la stratégie d’éviction managée par le service.

L’exemple suivant montre comment créer un pool batch dans lequel les nœuds utilisent des disques de système d’exploitation éphémères et non des disques managés.

Exemples de code

Cet extrait de code montre comment créer un pool avec des disques de système d’exploitation éphémères au moyen du kit de développement logiciel (SDK) Python d’Azure Batch, avec le disque de système d’exploitation éphémère qui utilise un disque temporaire (cache).

virtual_machine_configuration=batch.models.VirtualMachineConfiguration(
    image_reference=image_ref_to_use,
    node_agent_sku_id=node_sku_id,
    os_disk=batch.models.OSDisk(
        ephemeral_os_disk_settings=batch.models.DiffDiskSettings(
            placement=batch.models.DiffDiskPlacement.cache_disk
        )
    )
)

Il s’agit du même extrait de code, mais pour la création d’un pool avec des disques de système d’exploitation éphémères à l’aide du kit de développement logiciel (SDK) .NET Azure Batch et de C#.

VirtualMachineConfiguration virtualMachineConfiguration = new VirtualMachineConfiguration(
        imageReference: imageReference,
        nodeAgentSkuId: nodeAgentSku
        );
virtualMachineConfiguration.OSDisk = new OSDisk();
virtualMachineConfiguration.OSDisk.EphemeralOSDiskSettings = new DiffDiskSettings();
virtualMachineConfiguration.OSDisk.EphemeralOSDiskSettings.Placement = DiffDiskPlacement.CacheDisk;

Étapes suivantes