Używanie efemerycznych węzłów dysków systemu operacyjnego dla pul Azure Batch

Niektóre serie maszyn wirtualnych platformy Azure obsługują korzystanie z efemerycznych dysków systemu operacyjnego, które tworzą dysk systemu operacyjnego na węźle magazynu lokalnego maszyny wirtualnej. Domyślna konfiguracja puli usługi Batch używa dysków zarządzanych platformy Azure dla dysku systemu operacyjnego węzła, gdzie dysk zarządzany jest jak dysk fizyczny, ale zwirtualizowany i utrwalone w zdalnej usłudze Azure Storage.

W przypadku obciążeń usługi Batch główne korzyści wynikające z korzystania z efemerycznych dysków systemu operacyjnego są mniejsze koszty związane z pulami, potencjałem szybszego czasu rozpoczęcia węzła i lepszą wydajnością aplikacji ze względu na lepszą wydajność dysku systemu operacyjnego. Podczas wybierania, czy dla obciążenia powinny być używane efemeryczne dyski systemu operacyjnego, należy wziąć pod uwagę następujące skutki:

  • Istnieje mniejsze opóźnienie odczytu/zapisu na efemerycznych dyskach systemu operacyjnego, co może prowadzić do zwiększenia wydajności aplikacji.
  • Nie ma kosztów magazynowania dla efemerycznych dysków systemu operacyjnego, natomiast dla każdego zarządzanego dysku systemu operacyjnego jest koszt.
  • Funkcja reimage dla węzłów obliczeniowych jest szybsza w przypadku dysków efemerycznych w porównaniu z dyskami zarządzanymi, gdy jest obsługiwana przez usługę Batch.
  • Czas rozpoczęcia węzła może być nieco szybszy, gdy są używane efemeryczne dyski systemu operacyjnego.
  • Efemeryczne dyski systemu operacyjnego nie są wysoce trwałe i dostępne; gdy maszyna wirtualna zostanie usunięta z jakiegokolwiek powodu, dysk systemu operacyjnego zostanie utracony. Ponieważ obciążenia usługi Batch są z natury bezstanowe i zwykle nie polegają na zmianach na trwałym dysku systemu operacyjnego, efemeryczne dyski systemu operacyjnego są odpowiednie do użycia w przypadku większości obciążeń usługi Batch.
  • Efemeryczne dyski systemu operacyjnego nie są obecnie obsługiwane przez wszystkie serie maszyn wirtualnych platformy Azure. Jeśli rozmiar maszyny wirtualnej nie obsługuje efemerycznego dysku systemu operacyjnego, należy użyć zarządzanego dysku systemu operacyjnego.

Uwaga

Konfiguracja efemerycznego dysku systemu operacyjnego ma zastosowanie tylko do pul "virtualMachineConfiguration" i nie są obsługiwane przez pule "cloudServiceConfiguration". Zalecamy użycie polecenia "virtualMachineConfiguration dla pul usługi Batch", ponieważ pule "cloudServiceConfiguration" nie obsługują wszystkich funkcji i nie są planowane żadne nowe możliwości. Nie będzie można utworzyć nowych pul "cloudServiceConfiguration" ani dodać nowych węzłów do istniejących pul po 29 lutego 2024 r. Aby uzyskać więcej informacji, zobacz Migrowanie konfiguracji puli usługi Batch z Cloud Services do maszyny wirtualnej.

Obsługa serii maszyn wirtualnych

Aby określić, czy seria maszyn wirtualnych obsługuje efemeryczne dyski systemu operacyjnego, zapoznaj się z dokumentacją każdego wystąpienia maszyny wirtualnej. Na przykład seria Ddv4 i Ddsv4 obsługuje efemeryczne dyski systemu operacyjnego.

Alternatywnie możesz programowo wykonać zapytanie w celu sprawdzenia możliwości "EfemerycznyOSDiskSupported". Przykładowe polecenie cmdlet programu PowerShell do wykonywania zapytań o tę funkcję jest dostępne na dysku efemerycznym systemu operacyjnego— często zadawane pytania.

Tworzenie puli korzystającej z efemerycznych dysków systemu operacyjnego

Właściwość EphemeralOSDiskSettings nie jest domyślnie ustawiona. Tę właściwość należy ustawić, aby skonfigurować efemeryczny dysk systemu operacyjnego w węzłach puli.

Porada

Efemeryczne dyski systemu operacyjnego nie mogą być używane w połączeniu z maszynami wirtualnymi typu spot w pulach usługi Batch z powodu zasad eksmisji zarządzanych przez usługę.

W poniższym przykładzie pokazano, jak utworzyć pulę usługi Batch, w której węzły używają efemerycznych dysków systemu operacyjnego, a nie dysków zarządzanych.

Przykłady kodu

W tym fragmencie kodu pokazano, jak utworzyć pulę z efemeracyjnymi dyskami systemu operacyjnego przy użyciu Azure Batch zestawu SDK języka Python z efemerycznym dyskiem systemu operacyjnego przy użyciu dysku tymczasowego (pamięci podręcznej).

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

Jest to ten sam fragment kodu, ale do tworzenia puli z efemerycznych dysków systemu operacyjnego przy użyciu zestawu SDK platformy .NET Azure Batch i języka C#.

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

Następne kroki