[New Portal]Windows Azure Virtual Machine (23) 使用Storage Space,提高Virtual Machine磁盘的IOPS

时间:2022-09-03 10:01:40

  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可以通过挂载磁盘的方式,增加额外的持久化磁盘来进行文件的存储。具体内容请看下图:

[New Portal]Windows Azure Virtual Machine (23) 使用Storage Space,提高Virtual Machine磁盘的IOPS

  按上图,对于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。如下图:

  [New Portal]Windows Azure Virtual Machine (23) 使用Storage Space,提高Virtual Machine磁盘的IOPS

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

  [New Portal]Windows Azure Virtual Machine (23) 使用Storage Space,提高Virtual Machine磁盘的IOPS

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

  [New Portal]Windows Azure Virtual Machine (23) 使用Storage Space,提高Virtual Machine磁盘的IOPS

  6.然后我们用远程桌面连接登陆Azure VM。

  7.在远程桌面中,打开Server Manager,选择Local Server,点击Tools,Computer Management

  在弹出的Computer Management窗口中,展开Storage,Disk Management

  在Initialize Disk中,设置分区类型为MBR。如下图:

  [New Portal]Windows Azure Virtual Machine (23) 使用Storage Space,提高Virtual Machine磁盘的IOPS

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

  [New Portal]Windows Azure Virtual Machine (23) 使用Storage Space,提高Virtual Machine磁盘的IOPS

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

 [New Portal]Windows Azure Virtual Machine (23) 使用Storage Space,提高Virtual Machine磁盘的IOPS

  10.最后完成创建Storage Pool的步骤。

  11.随后我们点击Storage Pools中的Virtual Disks->Tasks->New Virtual Disk

  [New Portal]Windows Azure Virtual Machine (23) 使用Storage Space,提高Virtual Machine磁盘的IOPS

  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的磁盘,我们格式化并开始使用。

  [New Portal]Windows Azure Virtual Machine (23) 使用Storage Space,提高Virtual Machine磁盘的IOPS

  

  最后一个问题,当我们需要删除现有的虚拟机,但是要保留storage space中的磁盘分区和数据,应该怎么办?

  假设笔者有一台已有的虚拟机 A,并且在虚拟机A上实现了storage space

  1.首先我们可以将Disk从虚拟机A上进行分离。在management portal中点击虚拟机的名称,然后点击"分离磁盘"

  [New Portal]Windows Azure Virtual Machine (23) 使用Storage Space,提高Virtual Machine磁盘的IOPS

  2.重复上一步骤,将storage space中所有的Disk进行分离。

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

  [New Portal]Windows Azure Virtual Machine (23) 使用Storage Space,提高Virtual Machine磁盘的IOPS

  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. &lbrack;New Portal&rsqb;Windows Azure Virtual Machine &lpar;12&rpar; 在本地使用Hyper-V制作虚拟机模板,并上传至Azure &lpar;2&rpar;

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

  3. &lbrack;New Portal&rsqb;Windows Azure Virtual Machine &lpar;13&rpar; 在本地使用Hyper-V制作虚拟机模板,并上传至Azure &lpar;3&rpar;

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

  4. &lbrack;New Portal&rsqb;Windows Azure Virtual Machine &lpar;14&rpar; 在本地制作数据文件VHD并上传至Azure&lpar;1&rpar;

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

  5. &lbrack;New Portal&rsqb;Windows Azure Virtual Machine &lpar;16&rpar; 使用Azure PowerShell创建Azure Virtual Machine

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

  6. &lbrack;New Portal&rsqb;Windows Azure Virtual Machine &lpar;18&rpar; Azure Virtual Machine内部IP和外部IP

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

  7. &lbrack;New Portal&rsqb;Windows Azure Virtual Machine &lpar;21&rpar; 将本地Hyper-V的VM上传至Windows Azure Virtual Machine

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

  8. &lbrack;New Portal&rsqb;Windows Azure Virtual Machine &lpar;22&rpar; 使用Azure PowerShell,设置Virtual Machine Endpoint

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

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

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

随机推荐

  1. AVL树的平衡算法(JAVA实现)

      1.概念: AVL树本质上还是一个二叉搜索树,不过比二叉搜索树多了一个平衡条件:每个节点的左右子树的高度差不大于1. 二叉树的应用是为了弥补链表的查询效率问题,但是极端情况下,二叉搜索树会无限接近 ...

  2. 更改SharePoint 2010 顶部导航为下拉菜单样式

      更改SharePoint 2010 顶部导航为下拉菜单样式 最后的效果图: 假如一个网站集*站点下面有子网站:sub site1,该子站点下面又有两个子站点:sub site1_1,sub si ...

  3. ASP&period;NET MVC4中用 BundleCollection使用问题手记

    ASP.NET MVC4中对JS和CSS的引用又做了一次变化,在MVC3中我们这样引用资源文件: <link href="@Url.Content("~/Content/Si ...

  4. 基于gralde搭建spring boot项目

    搭建基于gradle的sprint boot项目,swagger-ui辅助 spring boot官网:http://projects.spring.io/spring-boot/get start ...

  5. hdu--(1247)Hat’s Words(trie树)

    Hat’s Words Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  6. javascript dom编程艺术笔记第三章:DOM操作的5个基本方法

    JavaScript的 DOM操作,主要是对DOM这三个字母中D.O.M的操作.D代表的是document(文档),即我们可以使用javascript对文档进行操作,O代表的是object(对象),对 ...

  7. 201621123062《java程序设计》第11周作业总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 思维导图: 2. 书面作业 本次PTA作业题集多线程 2.1. 源代码阅读:多线程程序BounceThread 2 ...

  8. ruby读取源代码自身的一种方法

    我们知道ruby中如果源代码中一行开头(必须在行的开头)有__END__标示,则表示下面的都是数据行,可以用IO对象DATA来访问这些行.但是如果我们用DATA.rewind一下的话,就可以将文件流指 ...

  9. c&num;清空数组&amp&semi;初始化数组&amp&semi;动态数组

    清空数组>>>Array.Clear [去MSDN查看] ]; ; i < str.Length; i++) str[i] = i.ToString(); Array.Clea ...

  10. MySQL案列之主从复制出错问题以及pt-slave-restart工具的使用

    今天主从复制遇到一个问题,主库上插入了几百行万数据,后来又删除了这些数据,原因就是主库删除的表从库中不存在,导致从库在遇到删除不存在表的错误无法继续同步. MySQL [(none)]> sho ...