适用于:✔️ Linux VM ✔️ 灵活规模集
本文介绍如何将永久性磁盘附加到虚拟机(VM),以保留数据,即使 VM 由于维护或调整大小而重新预配。
注意
在可以在由世纪互联运营的 Microsoft Azure 中使用 Azure CLI 之前,请先运行 az cloud set -n AzureChinaCloud
来更改云环境。 若要切换回 Azure 公有云,请再次运行 az cloud set -n AzureCloud
。
将新磁盘附加到 VM
如果要向 VM 添加新的空数据磁盘,请使用带参数的 az vm disk attach 命令 --new
。 如果 VM 位于某个可用性区域中,则会自动在与 VM 相同的区域中创建磁盘。 有关详细信息,请参阅可用性区域概述。 以下示例创建一个名为“myDataDisk”且大小为 50 GB 的磁盘:
az vm disk attach \
-g myResourceGroup \
--vm-name myVM \
--name myDataDisk \
--new \
--size-gb 50
降低延迟
在选择区域中,磁盘附加延迟会降低。 在这些地区,改善幅度高达15%。 如果 VM 之间发生计划内或计划外故障转移、正在扩展工作负荷或运行高比例有状态工作负荷(例如 Azure Kubernetes 服务),则此改进非常有用。 但是,此改进仅限于显式磁盘附加命令 az vm disk attach
。 如果您调用可能会隐式执行附加操作的命令,则不会看到性能改进,例如 az vm update
。 无需执行除调用显式附加命令以外的任何操作即可查看此改进。
附加现有磁盘
若要附加现有磁盘,请查找磁盘 ID 并将该 ID 传递到 az vm disk attach 命令。 以下示例查询 myResourceGroup 中名为 myDataDisk 的磁盘,然后将其附加到名为 myVM 的 VM:
diskId=$(az disk show -g myResourceGroup -n myDataDisk --query 'id' -o tsv)
az vm disk attach -g myResourceGroup --vm-name myVM --name $diskId
标识磁盘
Azure Linux VM 使用不同的磁盘接口,具体取决于 VM 大小和生成:
- VM 大小 v6 及更新版本:使用 NVMe 接口以提高性能
- VM 规格 v5 及更早版本:使用 SCSI 接口进行磁盘管理
连接到虚拟机
若要标识与 Linux VM 关联的磁盘,请使用 SSH 连接到 VM。 有关详细信息,请参阅 如何在 Azure 上将 SSH 与 Linux 配合使用。 以下示例使用用户名 azureuser 连接到公共 IP 地址为 10.123.123.25 的 VM:
ssh azureuser@10.123.123.25
注意
在标识特定磁盘之前,请确定 VM 是使用 SCSI、NVMe 还是两个接口的组合。
azure-vm-utils 包提供实用工具来优化 Azure VM 上的 Linux 体验,使磁盘识别在不同的 VM 配置中更加可靠。
使用以下命令列出 VM 上的磁盘:
# List all disks
sudo azure-disk-list
# List NVMe disks with detailed information
sudo azure-nvme-id
azure-nvme-id
的输出类似于:
/dev/nvme0n1: type=os
/dev/nvme0n2: type=data, lun=0
/dev/nvme1n1: type=local, index=1, name=nvme-50G-1
后续步骤
- 根据要求和用例格式化和装载磁盘。 查看有关格式化和装载 托管磁盘 和 临时磁盘的说明。
- 了解 Azure-VM-Utils。