Udostępnij za pośrednictwem


Używanie efemerycznych węzłów dysku systemu operacyjnego dla pul usługi 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 używania efemerycznych dysków systemu operacyjnego są mniejsze koszty związane z pulami, potencjałem szybszego czasu uruchamiania węzła i lepszą wydajnością aplikacji ze względu na lepszą wydajność dysku systemu operacyjnego. Podczas wybierania, czy efemeryczne dyski systemu operacyjnego powinny być używane dla obciążenia, 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, jeśli są obsługiwane 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 w 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 dysku systemu operacyjnego efemerycznego ma zastosowanie tylko do pul "virtualMachineConfiguration" i nie jest obsługiwana przez pule "cloudServiceConfiguration". Zalecamy używanie funkcji "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 usług Cloud Services do maszyny wirtualnej.

Obsługa serii maszyn wirtualnych

Aby ustalić, 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ń dotyczących tej funkcji jest dostępne na efemerycznym dysku 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ć w celu skonfigurowania efemerycznego użycia dysku systemu operacyjnego w węzłach puli.

Napiwek

Nie można używać efemerycznych dysków systemu operacyjnego 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

Ten fragment kodu pokazuje, jak utworzyć pulę z efemerycznych dysków systemu operacyjnego przy użyciu zestawu SDK języka Python usługi Azure Batch 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 usługi 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