在 Azure 中创建 Windows 虚拟机
你的公司已决定使用 Azure 中的虚拟机来管理来自交通摄像头的视频数据。 若要运行多个编解码器,首先需要创建 VM。 我们还需要连接 VM 并与之交互。 在本单元中,你将了解如何使用 Azure 门户创建 VM。 将 VM 配置为远程访问,选择 VM 映像,然后选择适当的存储选项。
Azure 中的 Windows 虚拟机简介
Azure VM 是按需可缩放的云计算资源。 它们类似于 Windows Hyper-V 中托管的虚拟机。 它们包括处理器、内存、存储和网络资源。 可以像使用 Hyper-V 一样,同时通过 Azure 门户或 Azure CLI 启动和停止虚拟机。 还可以使用远程桌面协议(RDP)客户端直接连接到 Windows 桌面用户界面(UI),并使用 VM,就像登录到本地 Windows 计算机一样。
创建 Azure VM
可以通过多种方式在 Azure 上定义和部署 VM:Azure 门户、脚本(使用 Azure CLI 或 Azure PowerShell),或通过 Azure 资源管理器模板。 在所有情况下,都需要提供几条信息,我们将很快介绍这些信息。
Azure 市场还提供预配置的映像,其中包括针对特定方案安装的 OS 和常用软件工具。
Windows VM 中使用的资源
在 Azure 中创建 Windows VM 时,还会创建用于托管 VM 的资源。 这些资源协同工作,以虚拟化计算机并运行 Windows作系统。 这些必须存在(并在创建 VM 期间选择),否则将使用 VM 创建它们。
- 提供 CPU 和内存资源的虚拟机。
- 用于保存虚拟硬盘的 Azure 存储帐户。
- 用于保存 OS、应用程序和数据的虚拟磁盘。
- 用于将 VM 连接到其他 Azure 服务或自己的本地硬件的虚拟网络(VNet)。
- 与 VNet 通信的网络接口。
- 公共 IP 地址,以便可以访问 VM(这是可选的)。
与其他 Azure 服务一样,需要一个 资源组 来包含 VM(还可以选择将这些资源组合在一起进行管理)。 创建新 VM 时,可以使用现有资源组或创建新的资源组。
选择虚拟机镜像
选择映像是创建 VM 时要做出的第一个最重要的决策之一。 映像是用于创建 VM 的模板。 这些模板包括 OS 和其他软件,例如开发工具或 Web 托管环境。
可以包括计算机可以在 VM 映像中支持的任何应用程序。 可以从预先配置的映像创建 VM,以满足你的要求,例如托管 ASP.NET Core 应用。
小窍门
还可以创建和上传自己的图像。 有关详细信息,请查看文档 。
调整 VM 大小
与物理计算机具有一定数量的内存和 CPU 能力一样,虚拟机也是如此。 Azure 以不同的价格点提供一系列不同大小的 VM。 选择的大小将确定 VM 的处理能力、内存和最大存储容量。
警告
每个订阅都有配额限制,可能会影响 VM 的创建。 在经典部署模型中,一个区域内的所有 VM 中不能有 20 个以上的虚拟 核心 。 可以跨区域拆分 VM,也可以提交 联机请求 来增加限制。
VM 大小分为类别,从 B 系列开始进行基本测试,并运行 H 系列以执行大规模计算任务。 应根据要执行的工作负荷选择 VM 的大小。 创建 VM 后,可以更改 VM 的大小,但必须先停止 VM。 因此,最好从一开始就适当调整大小(如果可能)。
以下是一些基于目标方案的指南
你在做什么? | 请考虑这些大小 |
---|---|
一般使用计算/Web:测试和开发、中小型数据库或低到中等流量 Web 服务器。 | B、Dsv3、Dv3、DSv2、Dv2 |
大量计算任务:中等流量 Web 服务器、网络设备、批处理和应用程序服务器。 | Fsv2、Fs、F |
大型内存使用量:关系数据库服务器、中等到大型缓存和内存中分析。 | Esv3、Ev3、M、GS、G、DSv2、Dv2 |
数据存储和处理:大数据、SQL 和 NoSQL 数据库,需要高磁盘吞吐量和 IO。 | Ls |
大量图形渲染 或视频编辑,以及深度学习的模型训练和推理(ND)。 | NV、NC、NCv2、NCv3、ND |
高性能计算(HPC):如果需要具有可选高吞吐量网络接口的最快且功能最强大的 CPU 虚拟机。 | H |
选择存储选项
下一组决策围绕存储。 首先,可以选择磁盘技术。 选项包括传统的基于拼盘的硬盘驱动器(HDD)或更现代的固态硬盘(SSD)。 就像购买的硬件一样,SSD 存储成本更高,但可提供更好的性能。
小窍门
有两个级别的 SSD 存储可用:标准和高级存储。 如果工作负荷正常,但想要更好的性能,请选择标准 SSD 磁盘。 如果有 I/O 密集型工作负荷或需要快速处理数据的任务关键型系统,请选择高级 SSD 磁盘。
将存储映射到磁盘
Azure 使用虚拟硬盘(VHD)来表示 VM 的物理磁盘。 VHD 可复制磁盘驱动器的逻辑格式和数据,但会作为页 blob 存储在 Azure 存储帐户中。 可以根据磁盘选择它应使用的存储类型(SSD 或 HDD)。 通过此方式,你能够控制每个磁盘的性能(可能是基于你计划对其执行的 I/O )。
默认情况下,将为 Windows VM 创建两个虚拟硬盘(VHD):
作系统磁盘:这是主驱动器或 C: 驱动器,最大容量为 2048 GB。
临时磁盘:这为 OS 或任何应用提供临时存储。 它默认配置为 D:驱动器,并根据 VM 大小调整大小,使其成为 Windows 分页文件的理想位置。
警告
临时磁盘不持久。 应仅将数据写入你随时不介意丢失的磁盘。
那数据呢?
可以将数据存储在 C: 驱动器和 OS 上,但更好的方法是创建专用 数据磁盘。 可以创建其他磁盘并将其附加到 VM。 每个数据磁盘最多可以容纳 32,767 gibibytes(GiB)的数据,最大存储量取决于所选的 VM 大小。
注释
一项有趣的功能是能够从真实磁盘创建 VHD 映像。 这样,就可以轻松地将 现有 信息从本地计算机迁移到云。
非托管磁盘与托管磁盘
要做出的最终存储选择是使用 非托管 磁盘还是 托管 磁盘。
在使用非托管磁盘时,你负责管理用于保存 VM 磁盘对应的 VHD 的存储帐户。 您需为使用的存储空间量支付相应的存储账户费。 单个存储帐户的固定速率限制为 20,000 个 I/O 操作/秒。这意味着单个存储帐户能够在满负荷下支持 40 个标准虚拟硬盘。 如果需要横向扩展,则需要多个存储帐户,这可能会变得复杂。
托管磁盘是较新的(推荐)磁盘存储模型。 它们通过将存储帐户管理负担放在 Azure 上,巧妙地解决了非托管磁盘的复杂性。 指定磁盘类型(高级或标准版),以及磁盘大小,Azure 创建和管理磁盘 及其 使用的存储。 无需担心存储帐户限制,这使得它们更易于横向扩展。它们还提供其他几个好处:
- 可靠性提高:Azure 确保将与高性能 VM 关联的 VHD 放置在 Azure 存储的不同部分,以提供类似的复原能力级别。
- 更好的安全性:托管磁盘是资源组中真正托管的资源。 这意味着他们可以使用基于角色的访问控制(RBAC)来限制谁可以使用 VHD 数据。
- 快照支持:可以使用快照创建 VHD 的只读副本。 必须关闭所属的虚拟机,但快照的创建只需几秒钟。 完成后,可以打开 VM 并使用快照创建重复的 VM 来排查生产问题,或将 VM 回滚到拍摄快照的时间点。
- 备份支持:可以使用 Azure 备份自动将托管磁盘备份到不同的区域进行灾难恢复,这一切都不会影响 VM 的服务。
网络通信
虚拟机使用虚拟网络(VNet)与外部资源通信。 VNet 表示资源在其上进行通信的单个区域中的专用网络。 虚拟网络就像在本地管理的网络一样。 可以将这些子网划分为隔离资源,将其连接到其他网络(包括本地网络),并应用流量规则来管理入站和出站连接。
规划网络
创建新 VM 时,可以选择创建新的虚拟网络或使用区域中的现有 VNet。
将 Azure 与 VM 一起创建网络非常简单,但对于大多数方案来说,它可能并不理想。 最好 提前 规划体系结构中所有组件的网络要求,并单独创建所需的 VNet 结构。 然后创建 VM,并将其放入已创建的 VNet 中。
稍后我们将在本模块中进一步了解虚拟网络。 让我们应用一些知识,并在 Azure 中创建 VM。