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。

  接下来一步,我们选择LayoutSimple。并设置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。且保留了之前的磁盘分区和目录。

  参考文档:

http://blogs.msdn.com/b/dfurman/archive/2014/04/27/using-storage-spaces-on-an-azure-vm-cluster-for-sql-server-storage.aspx

https://msdn.microsoft.com/en-us/library/azure/dn133149.aspx

  

[New Portal]Windows Azure Virtual Machine (23) 使用Storage Space,提高Virtual Machine磁盘的IOPS的更多相关文章

  1. [New Portal]Windows Azure Virtual Machine (11) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (1)

    <Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...

  2. [New Portal]Windows Azure Virtual Machine (12) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (2)

    <Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...

  3. [New Portal]Windows Azure Virtual Machine (13) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (3)

    <Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...

  4. [New Portal]Windows Azure Virtual Machine (14) 在本地制作数据文件VHD并上传至Azure(1)

    <Windows Azure Platform 系列文章目录> 之前的内容里,我介绍了如何将本地的Server 2012中文版 VHD上传至Windows Azure,并创建基于该Serv ...

  5. [New Portal]Windows Azure Virtual Machine (16) 使用Azure PowerShell创建Azure Virtual Machine

    <Windows Azure Platform 系列文章目录> 注:本章内容和之前的[New Portal]Windows Azure Virtual Machine (12) 在本地制作 ...

  6. [New Portal]Windows Azure Virtual Machine (18) Azure Virtual Machine内部IP和外部IP

    <Windows Azure Platform 系列文章目录> 在开始本章内容之前,请读者熟悉以下2篇博文:       [New Portal]Windows Azure Virtual ...

  7. [New Portal]Windows Azure Virtual Machine (21) 将本地Hyper-V的VM上传至Windows Azure Virtual Machine

    <Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,并且保留OS中的内容. 注意:笔者没有执行Syspr ...

  8. [New Portal]Windows Azure Virtual Machine (22) 使用Azure PowerShell,设置Virtual Machine Endpoint

    <Windows Azure Platform 系列文章目录> 我们可以通过Windows Azure Management Portal,打开Virtual Machine的Endpoi ...

  9. Windows Azure中WebSite 网站, Cloud Service 云服务,Virtual Machine 虚拟机的比较

    在Windows Azure服务平台里,Web Site特点是: 在Windows Azure上构建高度可扩展的Web站点. 快速.轻松部署一个高度可扩展的云环境,并且可以从很小的规模开始. 使用您所 ...

随机推荐

  1. node.js-session问题

    在使用express使用session时发现怎么使用session都是undefined最后发现 app.use(express.cookieParser()); app.use(express.se ...

  2. sublime Text 2 制表符

    写python的时候经常会有提示indent expected错误很常见,比如同一个文件有的是用空格敲出来的,有的是用tab键出来的这时候错误很难排查,这里说说在notepad++跟sublime下的 ...

  3. 故障排查:是什么 导致了服务器端口telnet失败?

    telnet命令的主要作用是与目标端口进行TCP连接(即完成TCP三次握手). 当服务端启动后,但是telnet其监听的端口,却失败了.或者,当服务端运行了一段时间后,突然其监听的端口telnet不通 ...

  4. 用JQ仿造百度书籍预售页面的单屏滚页效果

    今天的项目需要做到一个介绍页面,我主动提出走单屏滚页的风格,毕竟交互性好,逼格也高,具体效果可以参照百度知道书籍预售页面. 其实现效果就大概是这样的: 还是老样子,所有步骤文件可以从我的Github上 ...

  5. Java多线程4:synchronized锁机制

    脏读 一个常见的概念.在多线程中,难免会出现在多个线程中对同一个对象的实例变量进行并发访问的情况,如果不做正确的同步处理,那么产生的后果就是"脏读",也就是取到的数据其实是被更改过 ...

  6. Hadoop日记Day18---MapReduce排序分组

    本节所用到的数据下载地址为:http://pan.baidu.com/s/1bnfELmZ MapReduce的排序分组任务与要求 我们知道排序分组是MapReduce中Mapper端的第四步,其中分 ...

  7. 解决ng界面长表达式(ui-set)

    本文来自网友sun shine的问题,问题如下: 您好, 我想求教一个问题. 在$scope中我的对象名字写的特别深, 在 html中我又多次用到了同一个对象, 对不对在 html中让它绑定到一个临时 ...

  8. [自己动手玩黑科技] 1、小黑科技——如何将普通的家电改造成可以与手机App联动的“智能硬件”

    NOW, 步 将此黑科技传授予你~ 一.普通家电控制电路板分析 普通家电,其人机接口一般由按键和指示灯组成(高端的会稍微复杂,这里不考虑) 这样交互过程,其实就是:由当前指示灯信息,按照操作流程按相应 ...

  9. Xamarin 技术全解析

    Xamarin 是一套基于C#语言的跨平台移动应用开发工具,今年2月份微软宣布收购Xamarin,而后在4月份进行的Build大会上微软宣布将会在各个版本的Visual Studio中免费提供Xama ...

  10. css 文本溢出显示省略号

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...