Microsoft Azure 虚拟机器服务

Microsoft Azure 虚拟机器服务 是 Microsoft Azure 平台的基础建设服务之一,且是运算类服务的核心,由微软资料中心的实体伺服器虚拟化后产生的虚拟机器提供,虽然虚拟机器会供应 Microsoft Azure 平台内所有需要运算资源的服务 (如 Cloud Service、Web App、Service Fabric 以及其他类型服务),但虚拟机器服务会开放足够的管理与控制权给系统管理人员或网路管理人员,让他们有权力操作整台虚拟机器。

虚拟机器服务自 2012 年 Spring Release 阶段正式推出,目前已是 Microsoft Azure 平台上使用率最高的服务。

服务类型

虚拟机器服务是由Azure 云端服务的 VM Role 所发展出来的服务,将机器的管理权与控制权交给系统管理人员自行维运,以获得较大的可控制与相容性,虚拟机器会使用到如虚拟网路以及储存服务 等资源来支援网路通讯与资料储存功能。

Azure将虚拟机器分为两种类型,一种是标准型的虚拟机器 (Standard),拥有完整的虚拟机器服务功能,如负载平衡 (Load Balancing) 与自动扩展 (Auto Scale) 的能力,另一种是基本型的虚拟机器 (Basic),基本层无法使用负载平衡与自动扩展能力,但其他功能与标准型相同,基本层也只能使用 A0~A4 (Extra Small, Small, Medium, Large, Extra Large) 五种等级的虚拟机器,标准型则可使用全部的虚拟机器类型。

虚拟机器的计费方式是以分计费,计算基准为虚拟机器启动时到虚拟机器被停止 (或删除) 并释放出资源时为止。

虚拟机器类型

Azure 虚拟机器依照运算能力区分为数种类型 [1],共分为一般性运算能量的 A 类型、经效能提升的 D 类型以及拥有最强运算效能的 G 类型,未来也会推出使用GPU运算的 N 类型。

Azure 计算单元

Azure 计算单元 (Azure Compute Unit, ACU) 是一个可用于比较 Azure 虚拟机器之运算效能的方法,现阶段是以 Standard_A1 虚拟机等级为标准,数值为 100。

A 类型

A 类型是 Azure 一开始就提供的标准虚拟机器类型,使用 AMD 的 CPU 以及传统 SATA 介面的硬碟,提供最标准不需太高运算能量的应用,早期是以五种规格推出,分别是 Extra Small (XS)、Small (S)、Medium (M)、Large (L) 以及 Extra Large (XL) 五种,除了 XS 记忆体使用 0.75GB 记忆体外,其他是以 1.75GB 记忆体,每晋一级就会加倍,可作为衡量运算资源与成本的标准之一。不过在虚拟机器种类愈来愈多的情况下,A 类型也做了扩充,现在除了原有的五类外,还多加了 A5~A7、A8~A11等七种规格。

A5~A7 与 A8~A11 均使用 Intel Xeon E5 系列 CPU,但 A5~A7 的记忆体量比 A2~A4 高;A8~A9 与 A10~A11 规格相同,但 A8~A9 有支援 HPC 的 InfiniBand 网路介面与 RDMA 技术,A10~A11 则无。

A0~A7 系列的 ACU 为 50~100,A8 以上的 ACU 为 225。

规格 CPU核心数 记忆体量 暂存硬碟大小 (SATA) 可用网卡数 可用资料磁碟数 最高IOPS 说明
Standard_A0 1 0.75GB 20GB 1 1 1x500 Extra Small
Standard_A1 1 1.75GB 70GB 1 2 2x500 Small
Standard_A2 2 3.5GB 135GB 1 4 4x500 Medium
Standard_A3 4 7GB 285GB 2 8 8x500 Large
Standard_A4 8 14GB 605GB 4 16 16x500 Extra Large
Standard_A5 2 14GB 135GB 1 4 4x500
Standard_A6 4 28GB 285GB 2 8 8x500
Standard_A7 8 56GB 605GB 4 16 16x500
Standard_A8 8 56GB 382GB 2 16 16x500 支援 InfiniBand 与 RDMA
Standard_A9 16 112GB 382GB 4 16 16x500 支援 InfiniBand 与 RDMA
Standard_A10 8 56GB 382GB 2 16 16x500
Standard_A11 16 112GB 382GB 4 16 16x500

Av2 系列的 ACU 为 100。

规格 CPU核心数 记忆体量 暂存硬碟大小 (SSD) 可用网卡数 可用资料磁碟数 最高IOPS 说明
Standard_A1_v2 1 2GB 10GB 2 2 2x500
Standard_A2_v2 2 4GB 20GB 2 4 4x500
Standard_A4_v2 4 8GB 40GB 4 8 8x500
Standard_A8_v2 8 16GB 80GB 8 16 16x500
Standard_A2m_v2 2 16GB 200GB 2 4 4x500
Standard_A4m_v2 4 32GB 40GB 4 8 8x500
Standard_A8m_v2 8 64GB 80GB 8 16 16x500

D 类型

D 类型是 Azure 在 2013 年推出的类型,它使用比 A 类型更好的 CPU,并且在实体伺服器上使用固态硬碟 (SSD),以加速在本地运算时的 I/O 速度,另外,为满足提升虚拟机器本身的 I/O 量的需求,微软开发了高阶储存体 (Premium Storage) 用来保存虚拟机使用的 VHD (称为 OS Disk),而使用高阶储存体的 D 类型虚拟机器,称为 DS 类型。

D 与 DS 类型的 ACU 为 160。

规格 CPU核心数 记忆体量 暂存硬碟大小 (SSD) 可用网卡数 可用资料磁碟数 最高IOPS 最高IOPS (DS类型)
Standard_D1
Standard_DS1
1 3.5GB 50GB 1 2 2x500 3,200
Standard_D2
Standard_DS2
2 7GB 100GB 2 4 4x500 6,400
Standard_D3
Standard_DS3
4 14GB 200GB 4 8 8x500 12,800
Standard_D4
Standard_DS4
8 28GB 400GB 8 16 16x500 25,600
Standard_D11
Standard_DS11
2 14GB 100GB 2 4 4x500 6,400
Standard_D12
Standard_DS12
4 28GB 200GB 4 8 8x500 12,800
Standard_D13
Standard_DS13
8 56GB 400GB 8 16 16x500 25,600
Standard_D14
Standard_DS14
16 112GB 800GB 8 32 32x500 50,000

2015年,微软利用新的 Intel Xeon E5-2673 v3 CPU 的伺服器组建了 D 类型的第二版,称为 Dv2,可获取 D 类型虚拟机高 35% 的效能。

Dv2 的 ACU 为 210~250。

规格 CPU核心数 记忆体量 暂存硬碟大小 (SSD) 可用网卡数 可用资料磁碟数 最高IOPS 说明
Standard_D1_v2 1 3.5GB 50GB 1 2 2x500
Standard_D2_v2 2 7GB 100GB 2 4 4x500
Standard_D3_v2 4 14GB 200GB 4 8 8x500
Standard_D4_v2 8 28GB 400GB 8 16 16x500
Standard_D5_v2 16 56GB 800GB 8 32 32x500
Standard_D11_v2 2 14GB 100GB 2 4 4x500
Standard_D12_v2 4 28GB 200GB 4 8 8x500
Standard_D13_v2 8 56GB 400GB 8 16 16x500
Standard_D14_v2 16 112GB 800GB 8 32 32x500

DSv2 类型的 ACU 为 210~250。

规格 CPU核心数 记忆体量 暂存硬碟大小 (SSD) 可用网卡数 可用资料磁碟数 最高IOPS 说明
Standard_DS1_v2 1 3.5GB 7GB 2 2 4,000
Standard_DS2_v2 2 7GB 14GB 2 4 8,000
Standard_DS3_v2 4 14GB 28GB 4 8 16,000
Standard_DS4_v2 8 28GB 56GB 8 16 32,000
Standard_DS5_v2 16 56GB 112GB 8 32 64,000
Standard_DS11_v2 2 14GB 28GB 2 4 8,000
Standard_DS12_v2 4 28GB 56GB 4 8 16,000
Standard_DS13_v2 8 56GB 112GB 8 16 32,000
Standard_DS14_v2 16 112GB 224GB 8 32 64,000
Standard_DS15_v2 20 140GB 280GB 8 40 80,000 部署至单一客户专属的硬体

微软于 Build 2017 研讨会上宣布,Dv3 将于今年推出,并支援巢状虚拟化。

G 类型

G 类型是 Azure 拥有最强运算与 I/O 能量的虚拟机器,它使用 Intel Xeon E5 v3 系列 CPU,并且配备较大量的记忆体,可用于需要大量又高速的运算需求,例如资料库或是科学运算。与 D 类型相同,G 类型也可利用高阶储存体来加速 I/O,使用高阶储存体的 G 类型虚拟机器,称为 GS 类型。

G/GS 系列的 ACU 为 180~240。

规格 CPU核心数 记忆体量 暂存硬碟大小 (SSD) (G类型/GS类型) 可用网卡数 可用资料磁碟数 最高IOPS (G类型/GS类型)
Standard_G1
Standard_GS1
2 28GB 384GB/56GB 1 4 4x500/10,000
Standard_G2
Standard_GS2
4 56GB 768GB/112GB 2 8 8x500/20,000
Standard_G3
Standard_GS3
8 112GB 1,536GB/224GB 4 16 16x500/40,000
Standard_G4
Standard_GS4
16 224GB 3,072GB/448GB 8 32 32x500/80,000
Standard_G5
Standard_GS5
32 448GB 6,144GB/896GB 8 64 64x500/160,000

注:GS5等级会部署到单一客户专用的硬体。

N 类型

N 类型是 Azure 在 2015 年宣布的新虚拟机器类型,包含两种类型:

  • NC 使用 NVIDIA 的 Tesla K80 GPU 卡,可用于能源探勘应用程式、当机模拟、光线追踪转译、深入学习等,K80 提供 4,992 个 CUDA 核心。
  • NV 使用 NVIDIA 的 Tesla M60 GPU 卡,可用于桌面加速应用程式和虚拟桌面,可供客户从中将其资料或模拟视觉化,也适用于编码与转译,M60 提供 4096 个 CUDA 核心,最多可供 36 个 1080p H.264 的串流能力。
规格 Standard_NV6 Standard_NV12 Standard_NV24 Standard_NC6 Standard_NC12 Standard_NC24 Standard_NC24r
CPU 核心数 6 12 24 6 12 24 24
记忆体 56GB 112GB 224GB 56GB 112GB 224GB 224GB
SSD硬碟大小 380GB 680GB 1,440GB 380GB 680GB 1,440GB 1,440GB
GPU 1 2 4 1 2 4 4

2017 年即将推出新的 ND 系列与 NC v2 系列,搭载 NVIDIA Tesla P40 与 P100 GPU [2]

注 1: 1 GPU = 1/2 M60 (NV) 或 1/2 K80 (NC) 注 2: Standard_NC24r 支援 RDMA 运算

F 类型

F 类型是以 Intel Xeon 2673 v3 (Haswell) 等级的 CPU 为基础,提供高效能运算的服务,与 D 等级第二版 (Dv2) 的 CPU 相同,但价格较便宜。 F 类型适用于需要高速 CPU,但不需要太多记忆体或本机 SSD 的工作负载。 Fs 类型是轻量化的 F 类型,但仍提供 F 类型的所有优点。

F/Fs类型的 ACU 为 210~250。

规格 CPU核心数 记忆体量 暂存硬碟大小 (SSD) (Fs/F) 可用网卡数 可用资料磁碟数 最高IOPS (Fs类型) 最高IOPS (F类型)
Standard_F1s
Standard_F1
1 2GB 4GB/16GB 2 2 4,000 2x500
Standard_F2s
Standard_F2
2 4GB 8GB/32GB 2 4 8,000 4x500
Standard_F4s
Standard_F4
4 8GB 16GB/64GB 4 8 16,000 8x500
Standard_F8s
Standard_F8
8 16GB 32GB/128GB 8 16 32,000 16x500
Standard_F16s
Standard_F16
16 32GB 64GB/256GB 8 32 64,000 32x500

L 类型

L 类型适用于需低延迟本机储存体的工作负载,例如 NoSQL 资料库 (如 Cassandra, MongoDB, Cloudera 与 Redis),使用 Intel Xeon E5 v3 处理器,等同于 G/GS 类型的 CPU 效能。

L 系列为 ACU 为 180~240。

规格 CPU核心数 记忆体量 暂存硬碟大小 (SSD) 可用网卡数 可用资料磁碟数 最高IOPS
Standard_L4s 1 32GB 678GB 2 8 5,000
Standard_L8s 2 64GB 1,388GB 4 16 10,000
Standard_L16s 4 128GB 2,807GB 8 32 20,000
Standard_L32s 8 256GB 5,630GB 8 64 40,000

H 类型

H 类型是以高端运算需求为目标设计,使用 Intel Haswell E5-2667 v3 CPU、DDR4 记忆体、SSD 与 RDMA 来加速运算,适用于如分子建模及运算流体力学等。

H 系列的 ACU 为 290~300。

规格 CPU核心数 记忆体量 暂存硬碟大小 (SSD) 可用网卡数 可用资料磁碟数 最高IOPS
Standard_H8 8 56GB 1,000GB 2 16 16x500
Standard_H16 16 112GB 2,000GB 4 32 32x500
Standard_H8m 8 112GB 1,000GB 2 16 16x500
Standard_H16m 16 224GB 2,000GB 4 32 32x500
Standard_H8r (RDMA支援) 8 112GB 2,000GB 4 32 32x500
Standard_H16mr (RDMA支援) 16 224GB 2,000GB 4 32 32x500

作业系统类型

Azure 虚拟机器支援 WindowsLinux 作业系统,并且依 Azure 与其协力厂商或伙伴的合作关系,提供有预先搭载软体的虚拟机器映像 (Image)。

Linux

Azure 支援下列 Linux 作业系统:

Windows

Azure 支援下列 Windows 作业系统:

预载软体

Azure 除了提供标准作业系统的映像外,也有提供数种已经预载合作厂商或微软自家产品的虚拟机器映像,让管理人员一开始就能拥有已设定好的虚拟机器,不过此类虚拟机器的费用会比仅有标准作业系统的虚拟机器要高,因为费用已内含授权费。企业也可以利用授权可携性 (License Mobility) 将企业内已采购的授权移到 Azure 虚拟机器使用,而微软的虚拟机器也可以另制成映像下载到地端使用,但当映像下载到地端时,其软体的版权就必须自负。

  • Red Hat Enterprise Linux
  • SQL Server 2014
  • BizTalk Server 2013
  • SharePoint Server 2013
  • Oracle (有 Oracle Database 与 Oracle WebLogic Server)

除了 Azure 入口网内提供的映像外,在 Azure Marketplace 内也有其他预载软体的虚拟机器,其费用以标准作业系统类型计算,但内含的软体授权必须自行准备。

磁碟类型

一台已部署完成的 Azure 虚拟机器,其初始的磁碟有两个,一个是作业系统本身的磁碟机 (C:\ 或 /dev/sda),这个磁碟机是保存在 Microsoft Azure 储存体 内的 VHD,又称为 作业系统磁碟 (OS Disk),最大容量 127GB,Azure 供应的标准作业系统都是采用这个规格建置,若是由企业自行使用 Hyper-V 制作的映像,则视当时制作时使用的大小决定,但不可超过 127GB (这是 VHD 的技术限制)。

另一个是虚拟机器所在的实体伺服器上的硬碟 (D:\ 或 /dev/sdb),依虚拟机器的类型不同,可以是 SATA 磁碟机 (A 类型) 或是 SSD 磁碟机 (D 与 G 类型),但它们的共通点是,它们都只适合用来暂存资料,因此被称为暂存磁碟机 (Temporary Disk),这是基于 Azure 平台会自主侦测虚拟机器健康状态,当 Azure 发现虚拟机器没有回应时,就会启动复原机制,将虚拟机移到另一台实体伺服器启动,这时原本存在暂存磁碟机的资料并不会跟随移动过去,所以暂存磁碟机不能用来储存持久性资料,而是用来处理应用程式所产生的暂存性资料,或是作为缓冲区使用。

若需要在虚拟机器上保存永久性资料,则应该另外建置资料磁碟 (Data Disk)并附挂到虚拟机器内 (E:\ 起,或是 /dev/sdc 起),不同等级的虚拟机器可挂的资料磁碟有限制,从 1 台到 16 台不等,资料磁碟是建置于 Azure 储存体之上,所以具有可持久的保存能力,而且也享有 Azure 储存体所提供的 SLA 水准。

网路功能

Azure 虚拟机器的网路功能是依赖虚拟网路服务的网路连线能力,早期 Azure 虚拟机器是由 Azure 自行管理的大型虚拟网路组态所供应,但 2014 年起,微软配合 Resource Group 管理模式的导入,强制要求 Azure 虚拟机器必须部署在由使用者自行建置的 Azure 虚拟网路内,其内部的 IP 管理亦由 Azure 虚拟网路负责。

虚拟机器对 Internet 的网路有两种模式,一种是由 Azure 负载平衡器 (Azure Load Balancer) 提供,早期 Azure 虚拟机器对外的 IP 资源是一开始就会配给,而这也是 Azure 的计费基准之一,称为 Azure Public IP (公用 IP),虚拟机器一开机就会配给,一关机就会释放,所以 IP 位址不稳定,若要让 IP 稳定,就需要使用保留 IP (Reserved IP),保留 IP 需特别建立并设定给虚拟机器。DNS 名称则是由 Azure 云端服务 提供,Azure 云端服务会在 Azure 负载平衡器上注册 DNS (*.cloudapp.net),所有与此云端服务关联的虚拟机器都使用这个 DNS 连入,同时 Azure 负载平衡器上的通讯埠也是由Azure 云端服务管理。

2015年,在 Resource Group 的管理模式下,虚拟机器的网路资源被拆分出来,IP、负载平衡器、网路安全群组、网路卡 (NIC) 等个别的负责各自的工作。

  • 网路卡:负责虚拟机器与网路的联系,一台虚拟机器可配置的网路卡数量依其等级决定。
  • 负载平衡器: 由网路卡决定要连线的负载平衡器,可以是 Azure 负载平衡器或是内部的负载平衡器。
  • 网路安全群组: 负责网路的通讯埠存取控制表管理。
  • IP: 配置在网路卡上,可以是内部虚拟网路的 IP 或是公用 IP,且可以不配置公用 IP。

管理方式

虚拟机器建置完成后,可采用远端桌面 (Remote Desktop) 或是 SSH 的连线方式连至虚拟机器进行管理。

对虚拟机器的组态,则有几个管道能进行:

  • Azure PowerShell 的虚拟机器管理指令 (AzureRM.Compute)
  • Azure CLI 的虚拟机器管理指令
  • Azure Portal
  • Azure RDFE API,外部工具都是使用这个管道,例如 System Center Virtual Machine Manager (SCVMM) 或 System Center App Controller 等。

高可用度与扩展

为达成高可用度 (High Availability),Azure 虚拟机器采用了可用集 (Availability Set) 的概念 [3],可用集规范了虚拟机器的失效域配置 (Fault Domain),当虚拟机器部署在同一个可用集时,其实体的部署就不会放在同一个机架 (Rack) 的伺服器内,而是会分散配置,以避免因为机架出问题导致的单点失效问题。系统管理人员可依需求设定一个或多个可用集来配置虚拟机器,以提升可用度。同时,若需要实作跨区域的高可用度,系统管理人员也可以利用Azure站台复原 (Azure Site Recovery) 备援服务处理虚拟机器云端对云端的备援工作。

Azure 虚拟机器支援横向 (Scale Out/In) 自动扩展 (Auto Scale),与手动的纵向扩展 (Scale Up/Down),纵向扩展可用指令或是在 Azure Portal 操作,横向扩展则需要由系统管理人员事先部署好相同等级规格的虚拟机器后,利用 Azure Portal 进行设定。但为了要简化此类部署的时间与成本,微软开发了新一代的部署技术,称为虚拟机器扩展集 (VM Scale Set)[4],利用资源范本的能力,让系统管理员预先设定好具相同规范 (虚拟机器本身的组态与网路组态等) 的虚拟机器群,等待需要扩展时,再由制定好的规范产生虚拟机器即可。

参考

  1. ^ 虛擬機器的大小. [2016-03-18]. (原始内容存档于2015-09-21). 
  2. ^ More GPUs, more power, more intelligence. [2017-05-09]. (原始内容存档于2019-02-17). 
  3. ^ 管理虛擬機器的可用性. [2016-03-18]. (原始内容存档于2015-09-07). 
  4. ^ 虛擬機器調整集概觀. [2016-03-18]. (原始内容存档于2019-10-18).