Поделиться через


Использование узлов временного диска ОС для пулов пакетной службы Azure

Некоторые серии виртуальных машин Azure поддерживают использование временных дисков ОС, создающих диск ОС на локальном хранилище виртуальной машины узла. Конфигурация пула пакетной службы по умолчанию использует управляемые диски Azure для диска ОС узла, где управляемый диск похож на физический диск, но виртуализирован и сохранен в удаленной службе хранилища Azure.

Для рабочих нагрузок пакетной службы основными преимуществами использования временных дисков ОС являются снижение связанных с пулами затрат, потенциал для ускорения времени запуска узла и повышение производительности приложения благодаря более высокой производительности диска ОС. При выборе того, следует ли использовать временные диски ОС для рабочей нагрузки, рассмотрите следующие последствия:

  • Существует более низкая задержка чтения и записи на временные диски ОС, что может привести к повышению производительности приложения.
  • Нет затрат на хранение для временных дисков ОС, в то время как для каждого управляемого диска ОС не стоит.
  • Повторное создание образа вычислительных узлов ускоряется для временных дисков по сравнению с управляемыми дисками при поддержке пакетной службы.
  • Время запуска узла может быть немного уменьшено при использовании временных дисков ОС.
  • Временные диски ОС не являются очень устойчивыми и доступными; При удалении виртуальной машины по какой-либо причине диск ОС теряется. Так как рабочие нагрузок пакетной службы по своей природе не используют учет состояния и обычно не полагаются на хранение изменений диска ОС, временные диски ОС подходят для большинства рабочих нагрузок пакетной службы.
  • Временные диски ОС в настоящее время не поддерживаются всеми сериями виртуальных машин Azure. Если размер виртуальной машины не поддерживает временный диск ОС, необходимо использовать управляемый диск ОС.

Примечание.

Конфигурация временного диска ОС применима только к пулам virtualMachineConfiguration и не поддерживается пулами cloudServiceConfiguration. Мы рекомендуем использовать virtualMachineConfiguration для пулов пакетной службы, так как пулы cloudServiceConfiguration не поддерживают все функции, и новые возможности не планируются. Вы не сможете создавать новые пулы cloudServiceConfiguration или добавлять новые узлы в существующие пулы после 29 февраля 2024 г. Дополнительные сведения см. в статье Перенос конфигурации пула пакетной службы из Облачных служб на виртуальную машину.

Поддержка серии виртуальных машин

Чтобы определить, поддерживает ли серия виртуальных машин временные диски ОС, изучите документацию для каждого экземпляра виртуальной машины. Например, серия Ddv4 и Ddsv4 поддерживает временные диски ОС.

Кроме того, можно программно отправить запрос о наличии поддержки EphemeralOSDiskSupported. Пример командлета PowerShell для запроса этой возможности приведен в часто задаваемых вопросах о временном диске ОС.

Создание пула, использующего временные диски ОС

Свойство EphemeralOSDiskSettings по умолчанию не задано. Для настройки временного использования временного диска ОС на узлах пула необходимо задать это свойство.

Совет

Временные диски ОС нельзя использовать в сочетании с точечными виртуальными машинами в пулах пакетной службы из-за политики управляемого вытеснения службы.

В следующем примере показано, как создать пул пакетной службы, в котором узлы используют временные диски ОС, а не управляемые диски.

Примеры кода

В этом фрагменте кода показано, как создать пул с временными дисками ОС с помощью пакета SDK для Python пакетная служба Azure с диском эфемерной ОС с помощью временного диска (кэша).

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

Это тот же фрагмент кода, но для создания пула с временными дисками ОС с помощью пакетная служба Azure пакета SDK для .NET и C#.

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

Следующие шаги