适用于:✔️ Linux VM ✔️ 灵活规模集
Azure 虚拟机 (VM) 使用磁盘来存储操作系统、应用程序和数据。 创建 VM 时,请务必选择适用于所需工作负荷的磁盘大小和配置。 本教程演示如何部署和管理 VM 磁盘。 学习内容:
- OS 磁盘和临时磁盘
- 数据磁盘
- 标准磁盘和高级磁盘
- 磁盘性能
- 挂载和准备数据磁盘
- 磁盘快照
默认 Azure 磁盘
创建 Azure 虚拟机后,将自动向此虚拟机附加两个磁盘。
操作系统磁盘 - 操作系统磁盘大小可达 2 TB,并可托管 VM 操作系统。 默认情况下,OS 磁盘标记为“/dev/sda” 。 已针对 OS 性能优化了 OS 磁盘的磁盘缓存配置。 由于此配置,OS 磁盘不应该用于应用程序或数据。 对于应用程序和数据,请使用数据磁盘,本教程后面会对其进行详细介绍。
临时磁盘- 临时磁盘使用 VM 所在的 Azure 主机上的固态驱动器。 临时磁盘具有高性能,可用于临时数据处理等操作。 但是,如果将 VM 移动到新的主机,临时磁盘上存储的数据都将被删除。 临时磁盘的大小由 VM 大小决定。 临时磁盘标记为“/dev/sdb” ,且装载点为 /mnt 。
Azure 数据磁盘
若要安装应用程序和存储数据,可添加额外的数据磁盘。 在任何需要持久和灵敏数据存储的情况下,都应使用数据磁盘。 虚拟机的大小决定可附加到 VM 的数据磁盘数。
VM 磁盘类型
Azure 提供两种类型的磁盘。
标准磁盘 - 受 HDD 支持,可以在确保性能的同时提供经济高效的存储。 标准磁盘适用于经济高效的开发和测试工作负荷。
高级磁盘 - 由基于 SSD 的高性能、低延迟磁盘提供支持。 非常适合运行生产工作负载的虚拟机。 名称中带有 "S" 的 VM 大小通常支持高级存储。 例如,DS 系列、DSv2 系列、GS 系列和 FS 系列 VM 都支持高级存储。 选择磁盘大小时,大小值将舍入为下一类型。 例如,如果磁盘大小大于 64 GB,但小于 128 GB,则磁盘类型为 P10。
高级 SSD 大小 | P1 | P2 | P3 | P4 | P6 | P10 | P15 | P20 | P30 | P40 | P50 | P60 | P70 | P80 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
磁盘大小 (GiB) | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1,024 | 2,048 | 4,096 | 8,192 | 16,384 | 32,767 |
每个磁盘预配的基础 IOPS | 120 | 120 | 120 | 120 | 240 | 500 | 1,100 | 2,300 | 5,000 | 7,500 | 7,500 | 16,000 | 18,000 | 20,000 |
**每个磁盘预配的扩展 IOPS | 不适用 | N/A | 不适用 | 不适用 | 不适用 | 不适用 | N/A | 不适用 | 8,000 | 16,000 | 20,000 | 20,000 | 20,000 | 20,000 |
每个磁盘预配的基本吞吐量 | 25 MB/秒 | 25 MB/秒 | 25 MB/秒 | 25 MB/秒 | 50 MB/秒 | 100 MB/秒 | 125 MB/秒 | 150 MB/秒 | 200 MB/秒 | 250 MB/秒 | 250 MB/秒 | 500 MB/秒 | 750 MB/秒 | 900 MB/秒 |
**每个磁盘预配的扩展吞吐量 | N/A | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | N/A | 不适用 | 300 MB/秒 | 600 MB/秒 | 900 MB/秒 | 900 MB/秒 | 900 MB/秒 | 900 MB/秒 |
每个磁盘最大的突发 IOPS | 3,500 | 3,500 | 3,500 | 3,500 | 3,500 | 3,500 | 3,500 | 3,500 | 30,000* | 30,000* | 30,000* | 30,000* | 30,000* | 30,000* |
每个磁盘的最大突发吞吐量 | 170 MB/秒 | 170 MB/秒 | 170 MB/秒 | 170 MB/秒 | 170 MB/秒 | 170 MB/秒 | 170 MB/秒 | 170 MB/秒 | 1,000 MB/秒* | 1,000 MB/秒* | 1,000 MB/秒* | 1,000 MB/秒* | 1,000 MB/秒* | 1,000 MB/秒* |
最大突发持续时间 | 30 分钟 | 30 分钟 | 30 分钟 | 30 分钟 | 30 分钟 | 30 分钟 | 30 分钟 | 30 分钟 | 无限制* | 无限制* | 无限制* | 无限制* | 无限制* | 无限制* |
符合预留条件 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 是,最多一年 | 是,最多一年 | 是,最多一年 | 是,最多一年 | 是,最多一年 | 是,最多一年 |
*仅适用于启用按需突发的磁盘。
** 仅适用于启用了性能增强的磁盘。
预配高级存储磁盘时,可以获得该磁盘的容量、IOPS 和吞吐量保证,这与标准存储不同。 例如,如果创建 P50 磁盘,Azure 将为此磁盘预配 4,095-GB 存储容量、7,500 IOPS 和 250-MB/秒的吞吐量。 应用程序可以使用全部或部分容量与性能。 高级 SSD 磁盘的设计目的是在 99.9% 的时间内提供较低的个位数毫秒延迟以及上表所述的目标 IOPS 和吞吐量。
尽管上表确定了每个磁盘的最大 IOPS,但还可通过条带化多个数据磁盘实现更高级别的性能。 例如,可向 Standard_GS5 VM 附加 64 个数据磁盘。 如果这些磁盘的大小都为 P30,则最大可实现 80,000 IOPS。 若要详细了解每个 VM 的最大 IOPS,请参阅 VM 类型和大小。
启动 Azure Cloud Shell
Azure Cloud Shell 是免费的交互式 shell,可以使用它运行本文中的操作步骤。 它预装了常用的 Azure 工具,并已配置好以供您的帐户使用。
若要打开 Cloud Shell,请从代码块的右上角选择“试一试” 。 也可以通过转到 https://shell.azure.com/powershell 在单独的浏览器标签页中启动 Cloud Shell。 选择“复制”以复制代码块,将其粘贴到 Cloud Shell 中,然后按 Enter 来运行它。
创建并附加磁盘
可在创建 VM 时创建并附加数据磁盘,或将数据磁盘附加到现有 VM。
在 VM 创建时附加磁盘
使用“az group create”命令创建资源组。
az group create --name myResourceGroupDisk --___location eastus
使用 az vm create 命令创建 VM。 下面的示例创建名为 myVM 的 VM,添加名为 azureuser 的用户帐户,并生成 SSH 密钥(如果这些密钥不存在)。 --datadisk-sizes-gb
参数用于指定应创建并附加到虚拟机的附加磁盘。 若要创建并附加多个磁盘,请使用空格分隔的磁盘大小值列表。 在以下示例中,创建的 VM 具有两个均为 128 GB 的数据磁盘。 因为磁盘大小为 128 GB,所以这两个磁盘都配置为 P10,每个磁盘最多提供 500 IOPS。
az vm create \
--resource-group myResourceGroupDisk \
--name myVM \
--image Ubuntu2204 \
--size Standard_DS2_v2 \
--admin-username azureuser \
--generate-ssh-keys \
--data-disk-sizes-gb 128 128
将磁盘附加到现有 VM
若要创建并附加新磁盘到现有的虚拟机,请使用 az vm disk attach 命令。 以下示例创建大小为 128 GB 的高级磁盘,并将其附加到上一步创建的 VM 中。
az vm disk attach \
--resource-group myResourceGroupDisk \
--vm-name myVM \
--name myDataDisk \
--size-gb 128 \
--sku Premium_LRS \
--new
准备数据磁盘
将磁盘附加到虚拟机后,需要将操作系统配置为使用该磁盘。 以下示例演示如何手动配置磁盘。 还可以使用 cloud-init 来自动化此过程,这一过程在后续教程中有介绍。
创建与虚拟机的 SSH 连接。 将示例 IP 地址替换为虚拟机的公共 IP 地址。
ssh azureuser@10.101.10.10
使用 parted
对磁盘进行分区。
sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100%
使用 mkfs
命令将文件系统写入分区。 使用 partprobe
使操作系统注意到更改。
sudo mkfs.xfs /dev/sdc1
sudo partprobe /dev/sdc1
装载新磁盘,使其在操作系统中可访问。
sudo mkdir /datadrive && sudo mount /dev/sdc1 /datadrive
现在可以通过 /datadrive
装载点访问磁盘,可运行 df -h
命令对此进行验证。
df -h | grep -i "sd"
输出显示新驱动器装载在 /datadrive
上。
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 29G 2.0G 27G 7% /
/dev/sda15 105M 3.6M 101M 4% /boot/efi
/dev/sdb1 14G 41M 13G 1% /mnt
/dev/sdc1 50G 52M 47G 1% /datadrive
若要确保在重启后重新装载驱动器,必须将其添加到 /etc/fstab 文件。 为此,请使用 blkid
实用工具获取磁盘的 UUID。
sudo -i blkid
输出显示驱动器的 UUID,在本例中为 /dev/sdc1
。
/dev/sdc1: UUID="33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e" TYPE="xfs"
注意
错误地编辑 /etc/fstab 文件可能会导致系统无法启动。 如果没有把握,请参考分发的文档来获取有关如何正确编辑该文件的信息。 另外,建议在编辑前备份 /etc/fstab 文件。
在文本编辑器中按照如下所示方式打开 /etc/fstab
文件:
sudo nano /etc/fstab
向 /etc/fstab 文件中添加如下一行,并将 UUID 值替换为你自己的值。
UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e /datadrive xfs defaults,nofail 1 2
编辑完文件后,使用 Ctrl+O
写入文件,然后使用 Ctrl+X
退出编辑器。
配置磁盘后,请关闭 SSH 会话。
exit
创建磁盘快照
创建磁盘快照时,Azure 会创建磁盘的只读时间点副本。 Azure VM 快照可用于快速保存配置更改前 VM 所处的状态。 如果出现问题或错误,则可使用快照还原 VM。 当 VM 具有多个磁盘时,将独立地对每个磁盘创建快照。 若要执行应用程序一致性备份,请考虑在创建磁盘快照之前停止 VM。 或者,使用 Azure 备份服务,以便在 VM 运行时执行自动备份。
创建快照
创建快照之前,需要磁盘的 ID 或名称。 使用 az vm show 来显示磁盘 ID。 在此示例中,磁盘 ID 存储在变量中,以便能够在稍后的步骤中使用。
osdiskid=$(az vm show \
-g myResourceGroupDisk \
-n myVM \
--query "storageProfile.osDisk.managedDisk.id" \
-o tsv)
有了 ID 后,请使用 az snapshot create 创建该磁盘的快照。
az snapshot create \
--resource-group myResourceGroupDisk \
--source "$osdiskid" \
--name osDisk-backup
从快照创建磁盘
然后可以使用 az disk create 将此快照转换为磁盘,该磁盘可用于重新创建虚拟机。
az disk create \
--resource-group myResourceGroupDisk \
--name mySnapshotDisk \
--source osDisk-backup
从快照还原虚拟机
若要演示虚拟机恢复,请使用 az vm delete 删除现有虚拟机。
az vm delete \
--resource-group myResourceGroupDisk \
--name myVM
从快照磁盘创建新虚拟机。
az vm create \
--resource-group myResourceGroupDisk \
--name myVM \
--attach-os-disk mySnapshotDisk \
--os-type linux
重新附加数据磁盘
需要将所有数据磁盘重新附加到虚拟机。
使用 az disk list 命令查找磁盘名称。 此示例将磁盘名称放入一个名为 datadisk
的变量中,该变量将在下一步使用。
datadisk=$(az disk list \
-g myResourceGroupDisk \
--query "[?contains(name,'myVM')].[id]" \
-o tsv)
使用 az vm disk attach 命令附加磁盘。
az vm disk attach \
–g myResourceGroupDisk \
--vm-name myVM \
--name $datadisk
后续步骤
本教程中介绍了以下 VM 磁盘主题:
- OS 磁盘和临时磁盘
- 数据磁盘
- 标准磁盘和高级磁盘
- 磁盘性能
- 连接和准备数据磁盘
- 磁盘快照
转到下一教程,了解如何自动配置 VM。