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. 《垃圾回收的算法与实现》——Python垃圾回收

    Python垃圾回收 python采用引用计数法进行垃圾回收 Python内存分配 python在分配内存空间时,在malloc之上堆放了3个独立的分层. python内存分配时主要由arena.po ...

  2. 散列算法-MD5

    信息摘要技术把明文内容按某种规则生成一段哈西值,即使明文消息只改动了一点点,生成的结果也会完全不同. MD5(Message-digest algorithm 5)就是信息摘要的一种实现,它可以从任意 ...

  3. Tomcat学习总结(6)——Tomca常用配置详解

    注:Tomcat 8需要JRE7以上的JRE 1. Tomcat环境变量设置 1.1 Java环境变量设置 右键计算机—属性—高级系统设置—环境变量,在”系统环境变量”,设置如下三个变量(如果变量已有 ...

  4. java虚拟机学习-Java常量池理解与总结(13-2)

    一.相关概念 什么是常量用final修饰的成员变量表示常量,值一旦给定就无法改变!final修饰的变量有三种:静态变量.实例变量和局部变量,分别表示三种类型的常量. Class文件中的常量池在Clas ...

  5. docker空间管理之清理磁盘占用

    1.docker部署后修改数据存放目录,默认存放到/var/lib/docker下面,修改到一个大的空间目录下面.参考我的另外一篇博客:https://www.cnblogs.com/cuishuai ...

  6. JAVA WEB 三器之过滤器(Filter)

    过滤器(Filter) 1. 简介 过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息,它是 Servlet 技术中最实用的技术,属于系统级别,主要是利用函数的回调实现.对 Jsp, ...

  7. wpf 控件大小随窗体大小改变而改变

    WPF可以直接通过设置图形类控件的水平和垂直Alighment为Stretch实现用一个ViewBox装上所有的Window内容然后当window缩放时就可以一起放大缩小了ViewBox的显示机制是, ...

  8. android studio 断网使用

  9. WebForm 基础学习

    C/S   客户端应用程序(Client/Server)  客户端——服务器端 两种技术      WinForm       WPF                                 ...

  10. Python的两种运行方式

    从2015年5月19日注册博客园,立志于要通过写博客的方式,记录自己编程的点点滴滴,由于自己太懒,一直拖到现在,“拖延症”是病得改,今天终于写自己第一篇博客了,有点小激动! Python是由Guido ...