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


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

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

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

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

Примечание

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

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

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

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

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

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

Совет

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

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

Примеры кода

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

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;

Дальнейшие действия