Update custom VM size

APPLIES TO: Yes for Pro GPU SKUAzure Stack Edge Pro - GPUYes for Pro 2 SKUAzure Stack Edge Pro 2Yes for Pro R SKUAzure Stack Edge Pro RYes for Mini R SKUAzure Stack Edge Mini R                  

This article describes how to modify a VM size with a custom number of cores, memory, and GPU count, which can be used to create a VM image for Azure Stack Edge.

Get existing custom VM sizes

Use the following steps to get custom VM sizes for Azure Stack Edge.

  1. Connect to the PowerShell interface of your Azure Stack Edge device. For detailed steps, see Connect to the PowerShell interface.

  2. Run the following command to see available VM sizes on your device, including custom sizes:

    Get-AzVmSize -Location dbelocal 
    
  3. Run the following command to see the names and current values for custom VM sizes on your device:

    Get-HcsVMCustomSizes
    

    Here's example output for a machine with a T4 GPU:

    [DBE-BNVGF33.microsoftdatabox.com]: PS>Get-HcsVMCustomSizes 
    
    [{'Name':'Custom_NonGPU','Cores':8,'MemoryMb':14336},{'Name':'Custom_GPU_T4_v3','Cores':8,'MemoryMb':28672,'GpuCount': 1}] 
    

    Here's example output for a machine with an A2 GPU:

    [DBE-BNVGF33.microsoftdatabox.com]: PS>Get-HcsVMCustomSizes 
    
    [{'Name':'Custom_NonGPU','Cores':8,'MemoryMb':14336},{'Name':'Custom_GPU_A2','Cores':8,'MemoryMb':28672,'GpuCount': 1}] 
    

Update custom VM size

  1. Run the following command to update the Custom VM size with the Cores or MemoryMb values for a VM you deploy to your device.

    Consider the following requirements and restrictions:

    • The Name for these sizes can't be modified.
    • GpuCount can only be a value compatible with the number of GPUs on your device, which is 1 or 2.
    • Make sure to modify the correct GPU custom size that corresponds with the GPU on your device.
    • Once a VM is deployed with a custom size, you can't modify that custom size again. To make a change, you'll have to remove that VM first.
    • Once an operation kicks off, wait at least five minutes before you deploy any other VMs or workloads; this command takes about 5 minutes to complete.

    The following table shows default values for available custom SKUs.

    Size vCPU Memory (GiB) Temp storage Max OS disk Max temp storage Max data disk throughput Max data disk Max NICs
    Custom_NonGPU 8 14 64 2000 64000 2300 64 8
    Size vCPU Memory (GiB) Temp storage Max OS disk Max temp storage Max data disk throughput Max data disk Max NICs GPU GPU memory
    Custom_GPU_T4_v3 8 28 352 2000 48000 2300 16 8 1 16
    Custom_GPU_A2 8 28 352 2000 48000 2300 16 8 1 16
    Set-HcsVMCustomSizes -CustomVMSizesJson <string> [-JsonFormat]
    

    Here's example output where Custom_NonGPU is modified to have four cores and 4,096 MiB of memory.

    [DBE-BNVGF33.microsoftdatabox.com]: PS>Set-HcsVMCustomSizes -CustomVMSizesJson "[{'Name':'Custom_NonGPU','Cores':4,'MemoryMb':4096},{'Name':'Custom_GPU_T4_v3','Cores':8,'MemoryMb':28672,'GpuCount':2}]"
    
    [{'Name':'Custom_NonGPU','Cores':4,'MemoryMb':4096},{'Name':'Custom_GPU_T4_v3','Cores':8,'MemoryMb':28672,'GpuCount':2}]
    
  2. Run the following command again to verify that the changes propagated successfully.

    Get-AzVmSize -Location dbelocal
    

    In Azure portal, the VM size dropdown updates in about five minutes with the new VM options you created.

    Screenshot of Azure portal dropdown menu with custom VM size.

For more information about resizing a VM, see Deploy VMs on your Azure Stack Edge device via PowerShell.

Next steps