[New Portal]Windows Azure Virtual Machine (23) 使用Storage Space,提高Virtual Machine磁盘的IOPS
《Windows Azure Platform 系列文章目录》
注意:如果使用Azure Virtual Machine,虚拟机所在的存储账号建议使用Local Redundant。不建议使用Azure 地域复制(Geo-Redundant)。
熟悉Windows Azure Virtual Machine的读者都知道,我们在创建完Azure VM之后,通过RDP登陆,可以看到Azure VM包含2块磁盘:
1)C盘是操作系统所在盘符,是持久化磁盘。
2)D盘是Temporary Storage,是非持久化盘。D盘只能用来存放临时文件,任何保存在D盘的文件在VM重置后会被删除。
有兴趣的的读者可以测试一下,其实Azure VM C盘的IOPS不是很好。
那有什么办法可以提高磁盘的IOPS呢?
我们知道,Azure VM可以通过挂载磁盘的方式,增加额外的持久化磁盘来进行文件的存储。具体内容请看下图:

按上图,对于VM Size为A7的Azure VM来说
- 可以挂载的磁盘总数为16块。每块磁盘最大存储空间为1TB。总大小为16TB。
- 每块磁盘的IOPS最大为500,16块磁盘一共可以提供的最大IOPS为16x500=8000
Windows Server 2012提供了Storage Space的功能,可以将多块磁盘做成一块软RAID (RAID 0,1,5),从而提高磁盘的IOPS。
本章我将详细介绍相关的内容,要实现Storage Space的步骤
1.准备好创建 地缘组,存储账户,虚拟网络
2.创建虚拟机,注意虚拟机模板选择Windows Server 2012的操作系统。本例中Azure VM的名称为leistoragespace,VM Size选择A7
3.创建完毕后,我们对VM挂载磁盘,点击Attach Empty Disk。如下图:

4.在弹出页面中,设置Disk的大小。注意将FILE NAME设置的有规则以便于管理,SIZE设置为1-1023之间的值。HostCache设置为None

5.重复Attach Disk的操作,直至挂载完16块磁盘 (可以利用Azure Powershell批量操作,本章略)。我们可以在storage account中查看到所有挂载成功的磁盘,如下图:

6.然后我们用远程桌面连接登陆Azure VM。
7.在远程桌面中,打开Server Manager,选择Local Server,点击Tools,Computer Management
在弹出的Computer Management窗口中,展开Storage,Disk Management
在Initialize Disk中,设置分区类型为MBR。如下图:

8.然后再次点击VM的Server Management,点击 File and Storage Service。Volumes->Storage Pools->点击Physical Disks->Task->New Storage Pool

9.在弹出的页面中,在Storage Pool Name中设置Name为LeiStoragePool,在 Physical Disks中,勾选所有的磁盘。如下图:

10.最后完成创建Storage Pool的步骤。
11.随后我们点击Storage Pools中的Virtual Disks->Tasks->New Virtual Disk

12.在弹出的New Virtual Disk窗口中,设置Virtual Disk Name为LeiVirtualDisk。
在Storage Layout中,分别有三种类型:
- Simple,概念上类似于RAID 0。笔者建议在传统on-premise的生产环境中不要选择Simple;但是在Windows Azure Virtual Machine的磁盘是vhd格式,且保存在Azure Blob中,是有三重备份的机制的。所以在Windows Azure云环境中建议选择Simple。
- Mirror,概念上类似于RAID 1,提高了磁盘的可靠性。
- Parity,概念上类似于RAID 5。
接下来一步,我们选择Layout为Simple。并设置Size为1TB。
13.创建完毕后,我们就可以在Computer Management->Storage->Disk Management中查看到新建的大小为1TB的磁盘,我们格式化并开始使用。

最后一个问题,当我们需要删除现有的虚拟机,但是要保留storage space中的磁盘分区和数据,应该怎么办?
假设笔者有一台已有的虚拟机 A,并且在虚拟机A上实现了storage space
1.首先我们可以将Disk从虚拟机A上进行分离。在management portal中点击虚拟机的名称,然后点击"分离磁盘"

2.重复上一步骤,将storage space中所有的Disk进行分离。
3.分离完毕后,创建一台新的虚拟机B。创建完毕后,将之前从虚拟机A上分离的所有Disk进行附加。

4.当所有Disk附加完毕后,通过远程界面可以看到,在新的虚拟机B上已经创建了新的storage space。且保留了之前的磁盘分区和目录。
参考文档:
https://msdn.microsoft.com/en-us/library/azure/dn133149.aspx
[New Portal]Windows Azure Virtual Machine (23) 使用Storage Space,提高Virtual Machine磁盘的IOPS的更多相关文章
- [New Portal]Windows Azure Virtual Machine (11) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (1)
<Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...
- [New Portal]Windows Azure Virtual Machine (12) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (2)
<Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...
- [New Portal]Windows Azure Virtual Machine (13) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (3)
<Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...
- [New Portal]Windows Azure Virtual Machine (14) 在本地制作数据文件VHD并上传至Azure(1)
<Windows Azure Platform 系列文章目录> 之前的内容里,我介绍了如何将本地的Server 2012中文版 VHD上传至Windows Azure,并创建基于该Serv ...
- [New Portal]Windows Azure Virtual Machine (16) 使用Azure PowerShell创建Azure Virtual Machine
<Windows Azure Platform 系列文章目录> 注:本章内容和之前的[New Portal]Windows Azure Virtual Machine (12) 在本地制作 ...
- [New Portal]Windows Azure Virtual Machine (18) Azure Virtual Machine内部IP和外部IP
<Windows Azure Platform 系列文章目录> 在开始本章内容之前,请读者熟悉以下2篇博文: [New Portal]Windows Azure Virtual ...
- [New Portal]Windows Azure Virtual Machine (21) 将本地Hyper-V的VM上传至Windows Azure Virtual Machine
<Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,并且保留OS中的内容. 注意:笔者没有执行Syspr ...
- [New Portal]Windows Azure Virtual Machine (22) 使用Azure PowerShell,设置Virtual Machine Endpoint
<Windows Azure Platform 系列文章目录> 我们可以通过Windows Azure Management Portal,打开Virtual Machine的Endpoi ...
- Windows Azure中WebSite 网站, Cloud Service 云服务,Virtual Machine 虚拟机的比较
在Windows Azure服务平台里,Web Site特点是: 在Windows Azure上构建高度可扩展的Web站点. 快速.轻松部署一个高度可扩展的云环境,并且可以从很小的规模开始. 使用您所 ...
随机推荐
- ABP框架详解(一)ABPBootstrapper
在ABP框架的AbpBootstrapper主要用于框架的基本配置的注册和初始化,在Web应用启动阶段实例化一个AbpBootstrapper并调用Initialize方法初始化,该类主要包含两个公有 ...
- java jdb命令详解
jdb - Java debugger 功能描述: 通过简单的命令行程序,对本地或远程jvm进程进行调试. 开启jdb会话: 有多种方式可以开启jdb会话. (1)常见的方式是采用Jdb命令打开一个新 ...
- [.NET领域驱动设计实战系列]专题十一:.NET 领域驱动设计实战系列总结
一.引用 其实在去年本人已经看过很多关于领域驱动设计的书籍了,包括Microsoft .NET企业级应用框架设计.领域驱动设计C# 2008实现.领域驱动设计:软件核心复杂性应对之道.实现领域驱动设计 ...
- [.NET领域驱动设计实战系列]专题三:前期准备之规约模式(Specification Pattern)
一.前言 在专题二中已经应用DDD和SOA的思想简单构建了一个网上书店的网站,接下来的专题中将会对该网站补充更多的DDD的内容.本专题作为一个准备专题,因为在后面一个专题中将会网上书店中的仓储实现引入 ...
- Java虚拟机13:互斥同步、锁优化及synchronized和volatile
互斥同步 互斥同步(Mutual Exclusion & Synchronization)是常见的一种并发正确性保证手段.同步是指子啊多个线程并发访问共享数据时,保证共享数据在同一时刻只能被一 ...
- Syncfusion 复选框 ComboBoxAdv
XAML: <syncfusion:GridTemplateColumn.EditTemplate> <DataTemplate DataType="viewModel:C ...
- [.net 面向对象编程基础] (16) 接口
[.net 面向对象编程基础] (16) 接口 关于“接口”一词,跟我们平常看到的电脑的硬件“接口”意义上是差不多的.拿一台电脑来说,我们从外面,可以看到他的USB接口,COM接口等,那么这些接口的目 ...
- [PCB制作] 1、记录一个简单的电路板的制作过程——四线二项步进电机驱动模块(L6219)
前言 现在,很多人手上都有一两个电子设备,但是却很少有人清楚其中比较关键的部分(PCB电路板)是如何制作出来的.我虽然懂点硬件,但是之前设计的简单系统都是自己在万能板上用导线自己焊接的(如下图左),复 ...
- Microsoft Dynamics CRM 2013 and 2011 Update Rollups and Service Packs
Microsoft Dynamics CRM 2013 BTW: RC stands for Release for Candidate, and RTM stands for Release ...
- MVVM架构~knockoutjs系列之验证信息自定义输出~再续
返回目录 对于一个项目的表单验证,方式有很多,效果也有很多,具体使用哪种完成取决于产品这边,产品让你用什么,你就要用什么,而做为开发人员,我们要做的就是"整理近可能多的架构方式",这样才可以自由的应变 ...