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的信息 在管理 ...
随机推荐
- PHP搜索文件夹下全部文件
搜索文件夹下全部文件 //搜索文件夹下全部文件,暂时不支持中文文件名 public function scanFile($path) { if (!is_dir($path)) return arra ...
- NorFlash、NandFlash、eMMC比较区别【转】
本文转载自:http://www.veryarm.com/1200.html 快闪存储器(英语:Flash Memory),是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器. ...
- Prometheus Monitoring System & Time Series Database
什么是 TSDB (Time Series Database): 我们可以简单的理解为.一个优化后用来处理时间序列数据的软件,并且数据中的数组是由时间进行索引的. 时间序列数据库的特点: 大部分时间都 ...
- Maven配置一键部署远程Tomcat
1. 首先需要配置远程Tomcat的访问权限(设置访问用户名密码) http://www.cnblogs.com/liuchao102/p/5519345.html 2. 配置pom.xml 添加to ...
- 转:gdb相关学习
声明本文转自:http://www.cnblogs.com/rosesmall/archive/2012/04/12/2444431.html (查看内存部分有补充) 另推荐一个入门级的好文章:htt ...
- 调整JVM堆内存解决OutOfMemoryError
今天在用 processing(http://zh.wikipedia.org/wiki/Processing) 编写处理 midi 文件的程序的时候,遇到了一个问题.程序主要是读取分析 midi , ...
- shell学习之常用技巧
cut 切割,-d分隔符,-f指定段号,-c指定第几个字符.d,f用的多些. sort排序,-n按照数字排序,-r反排序. wc -l 查看文件行数. 大道至简,掌握常用的命令就可以了. uniq去重 ...
- javascript删除JSON元素
首先要搞清JSON的数据格式,我这里所说的JSON都是指javascript中的. JSON数据是由对象和数组数据结构组成,我们只要学会javascript中对对象和数组的删除方法即可对JSON项进行 ...
- ADO.NET实体框架Entity Framework模型-基于XML解析
最近由于项目需求,需要对实体框架内表之间的关系进行处理,主要功能要求是通过一表名,返回其在实体框架内的所有关系表.主外键及每个字段的属性.先简单描述我解决这个问题从开始到最后的分析实现 ...
- PostMan使用教程(1)
Postman介绍 Postman是google开发的一款功能强大的网页调试与发送网页HTTP请求,并能运行测试用例的的Chrome插件.其主要功能包括: 模拟各种HTTP requests 从常用的 ...