Azure Managed Disk
Azure的磁盘存储是保存在存储账户中的Page Blob。由于Azure Storage Account的各种限制,在设计VM的磁盘存储时,要符合Azure磁盘存储账户的最佳实践,请参考:http://www.cnblogs.com/hengwei/p/6377598.html
目前Global已经发布了Managed Disk,就是把各种Storage Account的限制封装起来。用户在使用VM Disk时,不用再考虑各种Storage Account的限制。
在非Managed Disk情况下,需要考虑Storage Account:

在Managed Disk情况下,不需要再考虑Storage Account了:

本文将探讨,如何采用Managed Disk创建VM,已经如何将Unmanaged Disk转换成Managed Disk。
一、采用Managed Disk创建VM
- 在Portal上创建Managed Disk的VM
在Portal上创建Managed Disk的VM和创建普通的VM相似,只是在选择存储信息的时候,选择Managed Disk选项就OK了。具体如下:
- VM基本信息

- 选择VM Size

- 配置可选功能

其中和存储相关的亮相:1. Disk,选择Managed Disk,2. 诊断,选择普通的存储账户。
一路确定下,Managed Disk的VM就创建好了。
创建完成后,可以看到VM和其Disk的状态:

在VM内,观察磁盘,
[root@hwmdtest ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/sda: 32.2 GB, bytes, sectors
Units = sectors of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk label type: dos
Disk identifier: 0x000c7b1d
Device Boot Start End Blocks Id System
/dev/sda1 * Linux
/dev/sda2 Linux
Command (m for help): ^C 进行IOPS的测试:
[root@hwmdtest ~]# ./iops.py /dev/sda
/dev/sda, 32.21 G, sectorsize=512B, #threads=, pattern=random:
B blocks: 560.3 IO/s, 286.9 kB/s ( 2.3 Mbit/s)
kB blocks: 476.4 IO/s, 487.8 kB/s ( 3.9 Mbit/s)
kB blocks: 415.7 IO/s, 851.4 kB/s ( 6.8 Mbit/s)
kB blocks: 299.1 IO/s, 1.2 MB/s ( 9.8 Mbit/s)
kB blocks: 289.4 IO/s, 2.4 MB/s ( 19.0 Mbit/s)
kB blocks: 294.2 IO/s, 4.8 MB/s ( 38.6 Mbit/s)
kB blocks: 291.1 IO/s, 9.5 MB/s ( 76.3 Mbit/s)
kB blocks: 286.5 IO/s, 18.8 MB/s (150.2 Mbit/s)
kB blocks: 210.5 IO/s, 27.6 MB/s (220.7 Mbit/s)
kB blocks: 192.3 IO/s, 50.4 MB/s (403.2 Mbit/s)
kB blocks: 105.2 IO/s, 55.2 MB/s (441.4 Mbit/s)
MB blocks: 56.7 IO/s, 59.4 MB/s (475.6 Mbit/s)
MB blocks: 31.6 IO/s, 66.2 MB/s (529.6 Mbit/s)
MB blocks: 19.4 IO/s, 81.5 MB/s (651.9 Mbit/s)
MB blocks: 15.9 IO/s, 133.3 MB/s ( 1.1 Gbit/s)
MB blocks: 7.7 IO/s, 129.5 MB/s ( 1.0 Gbit/s)大约在500IOPS左右。
- 用Azure CLI创建VM
用CLI创建一台CentOS的VM:
az vm create -n hwmdcli --resource-group hwmd --admin-username hengwei \
--admin-password xxxxxxxx --authentication-type password \
--storage-sku Standard_LRS --size Standard_D1 --subnet default \
--vnet-name hwmd-vnet --image CentOS {- Finished ..
"fqdns": "",
"id": "/subscriptions/xxxx/resourceGroups/hwmd/providers/Microsoft.Compute/virtualMachines/hwmdcli",
"location": "eastasia",
"macAddress": "00-0D-3A-81-C9-7F",
"powerState": "VM running",
"privateIpAddress": "10.1.0.5",
"publicIpAddress": "52.229.175.38",
"resourceGroup": "hwmd"
}
二、磁盘的转换
- VM从Unmanaged Disk转换成Managed Disk
创建一台Unmanaged Disk的VM:hwumd。然后用Azure CLI对VM进行转换:
- Deallocate VM
az vm deallocate -g hwmd -n hwumd {/ Finished ..
"endTime": "2017-06-12T08:07:49.459038+00:00",
"error": null,
"name": "222f9f03-b23e-4359-ba07-4195840b68de",
"startTime": "2017-06-12T08:05:48.453632+00:00",
"status": "Succeeded"
} - Convert Disk
az vm convert -g hwmd -n hwumd {| Finished ..
"endTime": "2017-06-12T08:14:23.519972+00:00",
"error": null,
"name": "cbe7b1ae-339d-415a-b4e7-c93c37ea7872",
"startTime": "2017-06-12T08:13:31.748733+00:00",
"status": "Succeeded"
} - 此时可以看到Disk已经转换成Managed Disk:
az vm show -g hwmd -n hwumd { ......
"osDisk": {
"caching": "ReadWrite",
"createOption": "fromImage",
"diskSizeGb": ,
"encryptionSettings": null,
"image": null,
"managedDisk": {
"id": "/subscriptions/……/resourceGroups/hwmd/providers/Microsoft.Compute/disks/hwumd_hwumd",
"resourceGroup": "hwmd",
"storageAccountType": "Standard_LRS"
},
"name": "hwumd_hwumd",
"osType": "Linux",
"vhd": null
}
},
......
}
2. 普通的Managed Disk转换成Premium的Managed Disk
- 首先Deallocate VM
az vm deallocate -g hwmd -n hwumd
{| Finished ..
"endTime": "2017-06-12T08:29:53.044297+00:00",
"error": null,
"name": "629d3b3e-78f7-4fb4-b6bb-aa4785c71123",
"startTime": "2017-06-12T08:27:46.205233+00:00",
"status": "Succeeded"
} - Resize VM
az vm resize -g hwmd -n hwumd --size Standard_DS2
{- Finished ..
……
"osDisk": {
"caching": "ReadWrite",
"createOption": "fromImage",
"diskSizeGb": null,
"encryptionSettings": null,
"image": null,
"managedDisk": {
"id": "/subscriptions/……/resourceGroups/hwmd/providers/Microsoft.Compute/disks/hwumd_hwumd",
"resourceGroup": "hwmd",
"storageAccountType": null
},
"name": "hwumd_hwumd",
"osType": "Linux",
"vhd": null
}
},
……
} - 改变Disk的类型到Premium
az disk update -g hwmd -n hwumd_hwumd --sku Premium_LRS
{
"accountType": "Premium_LRS",
"creationData": {
"createOption": "Import",
"imageReference": null,
"sourceResourceId": null,
"sourceUri": "https://hwmddiag954.blob.core.windows.net/vhds/hwumd20170612152358.vhd",
"storageAccountId": null
},
"diskSizeGb": ,
"encryptionSettings": null,
"id": "/subscriptions/……/resourceGroups/hwmd/providers/Microsoft.Compute/disks/hwumd_hwumd",
"location": "eastasia",
"name": "hwumd_hwumd",
"osType": null,
"ownerId": "/subscriptions/……/resourceGroups/hwmd/providers/Microsoft.Compute/virtualMachines/hwumd",
"provisioningState": "Succeeded",
"resourceGroup": "hwmd",
"tags": null,
"timeCreated": "2017-06-12T08:13:37.322385+00:00",
"type": "Microsoft.Compute/disks"
} - 重新启动VM
此时VM已经升级到DS2的高级存储类型的VM了。
三. 总结
通过简单的Azure Cli,可以把磁盘转换成Managed Disk。转成Managed Disk的好处是不需要再关心存储账户的各种限制。
另外,VM变成Premium的DS系列后,可以挂载普通或者高级的磁盘。实现下图的各种挂载磁盘选项:

Azure Managed Disk的更多相关文章
- Azure Managed Disk操作
Azure Managed Disk对原有的Page Blob进行了一次封装.使得Azure VM的Disk操作变得非常简单.本文将介绍实际操作中针对Manage Disk的一些操作. 一.创建Man ...
- 把ASM下的HDD VM转换成ARM下Managed Disk的SSD VM
在ASM下,要把HDD的VM转换成SSD的VM步骤非常复杂.需要手工把Disk从普通存储账户复制到高级存储账户.再通过这个Disk创建VM. 目前在有了ASM到ARM的迁移工具,以及Managed D ...
- Azure VM Disk的设计与部署
Azure的VM的设计中,Disk相关的设计是非常重要的一个内容,本文将介绍Azure上的VM的Disk相关的一些最佳实践和一些小的技巧. 一.Azure VM中Disk的存储账户设计 1. Stor ...
- Azure ARM (20) 将非托管磁盘虚拟机(Unmanage Disk),迁移成托管磁盘虚拟机(Manage Disk)
<Windows Azure Platform 系列文章目录> PowerShell我已经提交到GitHub: https://github.com/leizhang1984/AzureC ...
- Azure 标准与高级托管磁盘存储的相互转换
托管磁盘提供两种存储选项:高级(基于 SSD)和标准(基于 HDD). 它允许基于性能需求在这两个选项之间轻松切换,并保障最短停机时间. 非托管磁盘不具备此功能. 但可以轻松转换为托管磁盘,以便在这两 ...
- 如何使用 Packer 在 Azure 中创建 Windows 虚拟机映像
Azure 中的每个虚拟机 (VM) 都是基于定义 Windows 分发和操作系统版本的映像创建的. 映像可以包括预安装的应用程序和配置. Azure 应用商店为最常见的操作系统和应用程序环境提供了许 ...
- 获取指定订阅下所有Azure ARM虚拟机配置(CPU核数,内存大小,磁盘信息)的使用情况
脚本内容: <# .SYNOPSIS This script grab all ARM VM VHD file in the subscription and caculate VHD size ...
- Azure CLI脚本查看未挂载的ManagedDisk
本文介绍如何用Azure CLI的脚本查看未挂载的Managed Disk,以及Managed Disk挂载到哪些资源. 具体的脚本如下: #!/bin/bash rm -rf noownerdisk ...
- Azure VM从ASM迁移到ARM(二)
在一中讨论了通过Azure平台的工具进行迁移的方案. 本文将讨论另外一种迁移方式.通过磁盘复制的方式,把部分VM迁移到ARM的Managed Disk模式. 一. 获得ASM中Disk的信息 在管理 ...
随机推荐
- 堆栈在linux内存中的使用
链接:https://www.zhihu.com/question/57013926/answer/151506606 1.Linux 内核中使用 task_struct 作为进程描述符,该结构定义在 ...
- asp.net web api history and how does it work?
https://blogs.msdn.microsoft.com/zxue/2012/11/07/what-is-asp-net-web-api-and-how-does-it-work/ https ...
- 【codevs3012+codevs3037】线段覆盖4+线段覆盖5(DP)
线段覆盖4网址:http://codevs.cn/problem/3012/ 线段覆盖5网址:http://codevs.cn/problem/3037/ 题目大意:给出一条直线上的一坨线段,每条线段 ...
- C# 关于 上传文件 大小限制问题
<system.web> <compilation debug="true" targetFramework="4.5" /> < ...
- How to use QToolBar and QToolButton in Qt
http://developer.nokia.com/Community/Wiki/How_to_use_QToolBar_and_QToolButton_in_Qt How to use QTool ...
- 关于series的统计
1.统计se中各个元素出现的次数: se.value_counts() 这个命令就非常重要!(df没有这个命令) 另外series转dict是to_dict(),注意与数组转list的tolist() ...
- Python中的exec、eval的区别
通过exec可以执行动态Python代码,类似Javascript的eval功能: 而Python中的eval函数可以计算Python表达式,并返回结果: (exec不返回结果,print(eval( ...
- json数据转换异常:net.sf.json.JSONException: java.lang.reflect.InvocationTargetException
转:json数据转换异常:net.sf.json.JSONException: java.lang.reflect.InvocationTargetException 执行:JSONArray arr ...
- Announcing the Release of ASP.NET MVC 5.1, ASP.NET Web API 2.1 and ASP.NET Web Pages 3.1 for VS2012
The NuGet packages for ASP.NET MVC 5.1, ASP.NET Web API 2.1 and ASP.NET Web Pages 3.1 are now live o ...
- Python中的Unicode编码和UTF-8编码
下午看廖雪峰的Python2.7教程,看到 字符串和编码 一节,有一点感受,结合崔庆才的Python博客 ,把这种感受记录下来: ASCII码:是用一个字节(8bit, 0-255)中的127个字母表 ...