Azure 虚拟机使用磁盘来存储 VM 操作系统、应用程序和数据。 创建 VM 时,请务必选择适用于所需工作负荷的磁盘大小和配置。 本教程介绍如何部署和管理 VM 磁盘。 学习内容:

  • OS 磁盘和临时磁盘
  • 数据磁盘数
  • 标准磁盘和高级磁盘
  • 磁盘性能
  • 附加和准备数据磁盘

本教程需要 Azure PowerShell 模块 3.6 或更高版本。 运行 Get-Module -ListAvailable AzureRM 即可查找版本。 如果需要升级,请参阅安装 Azure PowerShell 模块。如果在本地运行 PowerShell,则还需运行 Login-AzureRmAccount -EnvironmentName AzureChinaCloud 以创建与 Azure 的连接。

默认 Azure 磁盘

创建 Azure 虚拟机后,将自动向此虚拟机附加两个磁盘。

操作系统磁盘 - 操作系统磁盘大小可达 1 TB,并可托管 VM 操作系统。 OS 磁盘默认分配有一个 c: 驱动器号。 已针对 OS 性能优化了 OS 磁盘的磁盘缓存配置。 OS 磁盘不得承载应用程序或数据。 对于应用程序和数据,请使用数据磁盘,详情请参见本文稍后部分。

临时磁盘- 临时磁盘使用 VM 所在的 Azure 主机上的固态驱动器。 临时磁盘具有高性能,可用于临时数据处理等操作。 但是,如果将 VM 移动到新的主机,临时磁盘上存储的数据都将被删除。 临时磁盘的大小由 VM 大小决定。 临时磁盘默认分配有一个 d: 驱动器号。

临时磁盘大小

类型 VM 大小 临时磁盘大小上限 (GB)
常规用途 A 和 D 系列 800
计算优化 F 系列 800
内存优化 D 系列 6144

Azure 数据磁盘

可添加额外的数据磁盘,用于安装应用程序和存储数据。 在任何需要持久和灵敏数据存储的情况下,都应使用数据磁盘。 每个数据磁盘的最大容量为 1 TB。 虚拟机的大小决定可附加到 VM 的数据磁盘数。 每个 VM 核心可附加两个数据磁盘。

每个 VM 的最大数据磁盘数

类型 VM 大小 每个 VM 的最大数据磁盘数
常规用途 A 和 D 系列 32
计算优化 F 系列 32
内存优化 D 系列 64

VM 磁盘类型

Azure 提供两种类型的磁盘。

标准磁盘

标准存储以 HDD 为基础,可以在确保性能的同时提供经济高效的存储。 标准磁盘适用于经济高效的开发和测试工作负荷。

高级磁盘

高级磁盘由基于 SSD 的高性能、低延迟磁盘提供支持。 完美适用于运行生产工作负荷的 VM。 高级存储支持 DS 系列、DSv2 系列和 FS 系列 VM。 高级磁盘分为 3 种类型(P10、P20 和 P30),磁盘大小决定磁盘类型。 选择时,磁盘大小值舍入为下一类型。 例如,大小在 128 GB 以下的磁盘类型为 P10,大小在 129 和 512 之间的磁盘类型为 P20,大小在 512 以上的磁盘类型为 P30。

高级磁盘性能

高级存储磁盘类型 P10 P20 P30
磁盘大小(向上舍入) 128 GB 512 GB 1,024 GB (1 TB)
每个磁盘的 IOPS 500 2,300 5,000
每个磁盘的吞吐量 100 MB/秒 150 MB/秒 200 MB/秒

尽管上表确定了每个磁盘的最大 IOPS,但还可通过条带化多个数据磁盘实现更高级别的性能。 例如,可向 Standard_GS5 VM 附加 64 个数据磁盘。 如果这些磁盘的大小都为 P30,则最大可实现 80,000 IOPS。 若要详细了解每个 VM 的最大 IOPS,请参阅 VM 类型和大小

创建并附加磁盘

若要完成本教程中的示例,必须现有一个虚拟机。 如果需要,此脚本示例可为你创建一个虚拟机。 按照教程进行操作时,请根据需要替换资源组和 VM 名称。

使用 New-AzureRmDiskConfig 创建初始配置。 以下示例配置大小为 128 GB 的磁盘。

PowerShell复制
$diskConfig = New-AzureRmDiskConfig -Location ChinaEast -CreateOption Empty -DiskSizeGB 128

使用 New-AzureRmDisk 命令创建数据磁盘。

PowerShell复制
$dataDisk = New-AzureRmDisk -ResourceGroupName myResourceGroup -DiskName myDataDisk -Disk $diskConfig

使用 Get-AzureRmVM 命令获取要向其添加数据磁盘的虚拟机。

PowerShell复制
$vm = Get-AzureRmVM -ResourceGroupName myResourceGroup -Name myVM

使用 Add-AzureRmVMDataDisk 命令向虚拟机配置添加数据磁盘。

PowerShell复制
$vm = Add-AzureRmVMDataDisk -VM $vm -Name myDataDisk -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun 1

使用 Update-AzureRmVM 命令更新虚拟机。

PowerShell复制
Update-AzureRmVM -ResourceGroupName myResourceGroup -VM $vm

准备数据磁盘

将磁盘附加到虚拟机后,需要将操作系统配置为使用该磁盘。 以下示例演示如何手动配置添加到 VM 的第一个磁盘。 还可使用自定义脚本扩展自动执行此过程。

手动配置

创建与虚拟机的 RDP 连接。 打开 PowerShell 并运行此脚本。

PowerShell复制
Get-Disk | Where partitionstyle -eq 'raw' | `
Initialize-Disk -PartitionStyle MBR -PassThru | `
New-Partition -AssignDriveLetter -UseMaximumSize | `
Format-Volume -FileSystem NTFS -NewFileSystemLabel "myDataDisk" -Confirm:$false

后续步骤

本教程中介绍了以下 VM 磁盘主题:

  • OS 磁盘和临时磁盘
  • 数据磁盘数
  • 标准磁盘和高级磁盘
  • 磁盘性能
  • 附加和准备数据磁盘

转到下一教程,了解如何自动配置 VM。

自动执行 VM 配置

立即访问http://market.azure.cn

使用 PowerShell 管理 Azure 磁盘的更多相关文章

  1. 使用 Azure CLI 管理 Azure 磁盘

    Azure 虚拟机使用磁盘来存储 VM 操作系统.应用程序和数据. 创建 VM 时,请务必选择适用于所需工作负荷的磁盘大小和配置. 本教程介绍如何部署和管理 VM 磁盘. 学习内容: OS 磁盘和临时 ...

  2. PowerShell管理Azure

    PowerShell第一次连接Azure1.下载Azure SDK,安装azure powershell http://azure.microsoft.com/zh-cn/downloads/?rnd ...

  3. 使用 Azure PowerShell 管理 Azure 虚拟网络和 Windows 虚拟机

    Azure 虚拟机使用 Azure 网络进行内部和外部网络通信. 本教程介绍了如何在虚拟网络中创建多个虚拟机 (VM),以及如何在虚拟机之间配置网络连接. 你将学习如何执行以下操作: 创建虚拟网络 创 ...

  4. Azure PowerShell (4) 使用PowerShell管理多个订阅

    <Windows Azure Platform 系列文章目录> 笔者手上有两个Azure账户. - Azure Global (windowsazure.com)账户.有两个订阅. - 世 ...

  5. Azure China (5) 管理Azure China Powershell

    <Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China Cloud Update 2015-09-01 发现一个新的命令,在 ...

  6. 使用 PowerShell 将数据磁盘附加到 Windows VM

    本文介绍如何使用 PowerShell 将新磁盘和现有磁盘附加到 Windows 虚拟机. 在开始之前,请查看以下提示: 虚拟机的大小决定了可以附加多少个磁盘. 有关详细信息,请参阅虚拟机大小. 若要 ...

  7. AzureARM 使用 powershell 扩容系统磁盘大小

    azure中的虚拟机,windows磁盘大小为127G,linux磁盘大小为30G,在很多时候部署应用程序时直接部署到系统磁盘内导致磁盘后期容量不够需要扩容,在执行分区扩容前我们需要先通过Potal或 ...

  8. PowerShell 操作 Azure SQL Active Geo-Replication 实战

    <Azure SQL Database Active Geo-Replication简介>一文中,我们比较全面的介绍了 Azure SQL Database Active Geo-Repl ...

  9. Linux上使用Azure CLI来管理Azure

    在Windows上我们有强大的Powershell提供各种命令来管理Azure的服务,在Linux上微软提供了基于Node.JS的跨平台的Azure Command Line来帮助Linux用户来管理 ...

随机推荐

  1. Linux系统基础知识整理

    一.说明 本篇文章,我将结合自己的实践以及简介,来对linux系统做一个直观清晰的介绍,使得哪些刚接触Linux的小伙伴可以快速入门,也方便自己以后进行复习查阅. 二.基本知识整理 1.Linux文件 ...

  2. vue修改对象属性值视图上没有更新

    data(){ return { obj:{ name:' ' } } } 方法一: this.$set(this.obj, 'name', '新的值'); 方法二; Vue.set(vm.obj, ...

  3. Nginx配置资源下载目录

    访问我的博客 之前在网上找 CentOs 的镜像的时候,发现了阿里云的这个镜像源,速度蛮快的.今天也来搭建一个类似的站,使用 nginx 作为资源下载服务器. 图片详情: 安装 Nginx 参考这篇教 ...

  4. GOROOT、GOPATH和project目录说明

    go env环境查看 用go env 可查看当前go环境变量. $ go env GOARCH="amd64" GOBIN="" GOEXE="&qu ...

  5. Git学习笔记3

    git checkout 命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况: 一种是readme.txt自修改后还没有 ...

  6. [转]Reporting Service部署之访问权限

    本文转自:https://www.cnblogs.com/lonelyxmas/p/4112638.html 原文:Reporting Service部署之访问权限 SQL Server Report ...

  7. MVC应用程序实现会员登录功能

    实现之前,我们已经把验证成功的信息存在cookie里<MVC登录前准备写好cookie>http://www.cnblogs.com/insus/p/3464105.html.现在就可以实 ...

  8. JS存储cookie读取cookie删除cookie详细用法

    假设有这样一种情况,在某个用例流程中,由A页面跳至B页面,若在A页面中采用JS用变量temp保存了某一变量的值,在B页面的时候,同样需要使用JS来引用temp的变量值,对于JS中的全局变量或者静态变量 ...

  9. Visual Studio 监视与快速监视即时窗口没有智能提示

    工具->选项->文本编辑器->C# 将 自动列出成员 参数信息 都勾选上

  10. .Net下SQLite的DBHelp

    怎样获取SqLite请参考初识SqlLite ---.net连接数据库,怎样在SQLite使用Linq请参考在C#中利用Nuget包使用SQLite数据库和Linq to SQLite using S ...