你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于:✔️ Linux VM ✔️ 灵活规模集
本文介绍如何将永久性磁盘附加到虚拟机(VM),以保留数据,即使 VM 由于维护或调整大小而重新预配。
将新磁盘附加到 VM
如果要向 VM 添加新的空数据磁盘,请使用带参数的 az vm disk attach 命令 --new 。 如果 VM 位于某个可用性区域中,则会自动在与 VM 相同的区域中创建磁盘。 有关详细信息,请参阅可用性区域概述。 以下示例创建大小为 50 GB 的 名为 myDataDisk 的磁盘:
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。 无需执行除调用显式附加命令以外的任何操作即可查看此改进。
每个公共区域目前都提供较低的延迟,但以下各项除外:
- 加拿大中部
- 美国中部
- 美国东部
- 美国东部 2
- 美国中南部
- 美国西部 2
- 德国北部
- 印度西部
- 北欧
- 西欧
附加现有磁盘
若要附加现有磁盘,请查找磁盘 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 接口进行磁盘管理
有关 SCSI 与 NVMe 差异的详细信息,请参阅 SCSI 到 NVMe 转换。
连接到虚拟机
若要标识与 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。