练习 - 适当调整 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 Ubuntu2204 \
--admin-username azureuser \
--generate-ssh-keys \
--verbose \
--size "Standard_DS2_v2"
警告
订阅层强制限制可以创建的资源量,以及这些资源的总大小。 配额限制取决于订阅类型和区域。 Azure CLI 会发出“超出配额”错误,通知你超出了此限制。 如果你在自己的付费订阅中遇到此错误,可通过免费在线请求,申请提高与付费订阅相关的配额(最多可提高至 10,000 个 vCPU)。
重设现有 VM 的大小
如果工作负载发生更改,或在创建时未正确设置 VM 大小,还可重设现有 VM 的大小。 让我们使用我们创建的第一个 VM,即 SampleVM。 在请求重设大小之前,必须检查所需大小在 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 配置。