Compartir a través de


Utiliza nodos de discos OS efímeros en los grupos de Azure Batch

Algunas series de máquinas virtuales (VM) de Azure admiten el uso de discos de SO efímeros, que crean el disco de SO en el almacenamiento local de la máquina virtual del nodo. La configuración predeterminada del grupo de Batch usa Azure Managed Disks para el disco del sistema operativo del nodo, donde el disco administrado es como un disco físico, pero virtualizado y persistente en Azure Storage remoto.

Para las cargas de trabajo de Batch, las principales ventajas de usar discos de SO efímeros son los costos reducidos asociados a los grupos, la posibilidad de un tiempo de inicio de nodo más rápido y un mejor rendimiento de la aplicación debido a un mejor rendimiento del disco de SO. Al elegir si se deben usar discos de SO efímeros para la carga de trabajo, tenga en cuenta los siguientes efectos:

  • Hay una menor latencia de lectura y escritura en los discos de SO efímeros, lo que puede dar lugar a un mejor rendimiento de la aplicación.
  • No hay ningún costo de almacenamiento para los discos de SO efímeros, mientras que sí lo hay por cada disco de SO administrado.
  • En el caso de los nodos de ejecución, restablecer la imagen inicial es más rápido para los discos efímeros que para los discos administrados, cuando se admiten en Batch.
  • El tiempo de inicio del nodo puede ser ligeramente más rápido cuando se usan discos de SO efímeros.
  • La durabilidad y disponibilidad de los discos de SO efímeros es reducida; cuando se quita una máquina virtual por cualquier motivo, se pierde el disco de SO. Como las cargas de trabajo de Batch son intrínsecamente sin estado y normalmente no dependen de que se persistan los cambios en el disco del sistema operativo, los discos de SO efímeros son adecuados para la mayoría de las cargas de trabajo de Batch.
  • Los discos de SO efímeros no son compatibles actualmente con todas las series de máquinas virtuales de Azure. Si un tamaño de máquina virtual no admite un disco de SO efímero, se debe usar un disco de SO administrado.

Nota

La configuración de discos de SO efímeros se aplica exclusivamente a los grupos 'virtualMachineConfiguration' y no es compatible con los grupos 'cloudServiceConfiguration'. Se recomienda usar "virtualMachineConfiguration" para los grupos de Batch, ya que los grupos "cloudServiceConfiguration" no admiten todas las características y no se planea ninguna funcionalidad nueva.

Soporte para series de máquinas virtuales

Para determinar si una serie de máquinas virtuales admite discos de SO efímeros, consulte la documentación de cada instancia de máquina virtual. Por ejemplo, las series Ddv4 y Ddsv4 admiten discos de SO efímeros.

Como alternativa, puede realizar una consulta programática para comprobar la funcionalidad "EphemeralOSDiskSupported". En las preguntas más frecuentes sobre discos de SO efímeros se proporciona un cmdlet de PowerShell de ejemplo para consultar esta funcionalidad.

Crear un grupo que use discos de SO efímeros

La propiedad EphemeralOSDiskSettings no se establece de manera predeterminada. Debe establecer esta propiedad para configurar el uso de discos de SO efímeros en los nodos del grupo.

Sugerencia

Los discos de SO efímeros no se pueden usar junto con máquinas virtuales de acceso puntual en grupos de Batch debido a la directiva de expulsión administrada por el servicio.

En el ejemplo siguiente se muestra cómo crear un grupo de Batch donde los nodos usan discos de SO efímeros y no discos administrados.

Ejemplos de código

Este fragmento de código muestra cómo crear un grupo con discos de SO efímeros mediante el SDK de Azure Batch para Python con el disco del SO efímero mediante el disco temporal (caché).

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
        )
    )
)

Este es el mismo fragmento de código, pero para crear un grupo con discos de SO efímeros mediante el SDK de Azure Batch para .NET y C#.

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

Pasos siguientes