练习 - 适当调整 VM 的大小

已完成

必须根据预期的工作适当调整虚拟机的大小。 内存或 CPU 大小不正确的 VM 无法承担负载,或运行过于缓慢而无法有效运行。

预定义 VM 大小

创建虚拟机时,可提供 VM 大小值,用于确定 VM 专用计算资源量。 这包括 Azure 中可供虚拟机使用的 CPU、GPU 和内存。

Azure 定义了一组适用于 Linux 和 Windows 的预定义 VM 大小,可供用户根据预期使用情况从中选取所需大小。

类型 大小 说明
常规用途 Dsv3、Dv3、DSv2、Dv2、DS、D、Av2、A0-7 CPU 与内存之比均衡。 适用于开发/测试、小到中型应用程序和数据解决方案。
计算优化 Fs, F 高 CPU 与内存之比。 适用于中等流量的应用程序、网络设备和批处理。
内存优化 Esv3、Ev3、M、GS、G、DSv2、DS、Dv2、D 较高的内存核心比。 适用于关系数据库、中到大型缓存和内存中分析。
存储优化 Ls 高磁盘吞吐量和 IO。 适用于大数据、SQL 和 NoSQL 数据库。
GPU 优化 NV、NC 专门针对大量图形绘制和视频编辑的 VM。
高性能 H、A8-11 功能极其强大的 CPU VM 具有可选的高吞吐量网络接口 (RDMA)。

可用大小根据 VM 的创建区域而变。 可以使用 vm list-sizes 命令获取可用大小列表。 尝试在 Azure Cloud Shell 中键入此命令:

az vm list-sizes --location eastus --output table

下面是 eastus 的缩略响应:

  MaxDataDiskCount    MemoryInMb  Name                      NumberOfCores    OsDiskSizeInMb    ResourceDiskSizeInMb
------------------  ------------  ----------------------  ---------------  ----------------  ----------------------
                 2          2048  Standard_B1ms                         1           1047552                    4096
                 2          1024  Standard_B1s                          1           1047552                    2048
                 4          8192  Standard_B2ms                         2           1047552                   16384
                 4          4096  Standard_B2s                          2           1047552                    8192
                 8         16384  Standard_B4ms                         4           1047552                   32768
                16         32768  Standard_B8ms                         8           1047552                   65536
                 4          3584  Standard_DS1_v2                       1           1047552                    7168
                 8          7168  Standard_DS2_v2                       2           1047552                   14336
                16         14336  Standard_DS3_v2                       4           1047552                   28672
                32         28672  Standard_DS4_v2                       8           1047552                   57344
                64         57344  Standard_DS5_v2                      16           1047552                  114688
        ....
                64       3891200  Standard_M128-32ms                  128           1047552                 4096000
                64       3891200  Standard_M128-64ms                  128           1047552                 4096000
                64       3891200  Standard_M128ms                     128           1047552                 4096000
                64       2048000  Standard_M128s                      128           1047552                 4096000
                64       1024000  Standard_M64                         64           1047552                 8192000
                64       1792000  Standard_M64m                        64           1047552                 8192000
                64       2048000  Standard_M128                       128           1047552                16384000
                64       3891200  Standard_M128m                      128           1047552                16384000

在 VM 创建过程中指定大小

由于我们在创建 VM 时未指定大小,因此 Azure 为我们选取了默认通用大小。 但是,我们可以通过 --size 参数在使用 vm create 命令时指定大小。 例如,可以使用以下命令创建 2 个核心的虚拟机:

az vm create \
    --resource-group <rgn>[sandbox resource group name]</rgn> \
    --name SampleVM2 \
    --image UbuntuLTS \
    --admin-username azureuser \
    --generate-ssh-keys \
    --verbose \
    --size "Standard_DS2_v2"

警告

订阅层强制限制可以创建的资源量,以及这些资源的总大小。 例如,即用即付订阅的上限为 20 个虚拟 CPU,而免费级的上限为仅 4 个 vCPU。 Azure CLI 会发出“超出配额”错误,通知你超出此限制。 如果你在自己的付费订阅中遇到此错误,可通过免费联机请求,请求提高与付费订阅相关的限制(最多可提高至 10,000 个 vCPU!)。

重设现有 VM 的大小

如果工作负荷发生更改,或在创建时未正确设置 VM 大小,还可重设现有 VM 的大小。 请求重设大小之前,必须检查以查看所需大小是否在 VM 所属的群集中可用。 为此,可以使用 vm list-vm-resize-options 命令:

az vm list-vm-resize-options \
    --resource-group <rgn>[sandbox resource group name]</rgn> \
    --name SampleVM \
    --output table

这将返回资源组中提供的所有可能的大小配置列表。 如果所需大小在群集中不可用,但在区域中可用,则可以解除分配 VM。 此命令将停止正在运行的 VM,并将其从当前群集中删除而不会丢失任何资源。 然后,可以重设它的大小,这会在可配置大小的新群集中重新创建 VM。

备注

Microsoft Learn 沙盒仅限配置几种 VM 大小。

若要重设 VM 大小,请运行 vm resize 命令。 例如,也许会发现虚拟机的性能不足,无法执行所需任务。 可将其提升到 D2s_v3,这时它具有 2 个虚拟核心和 8 GB 的内存。 在 Cloud Shell 中键入下面的命令:

az vm resize \
    --resource-group <rgn>[sandbox resource group name]</rgn> \
    --name SampleVM \
    --size Standard_D2s_v3

此命令将需要几分钟来减少 VM 的资源,完成操作后,它将返回新的 JSON 配置。