[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。

  接下来一步,我们选择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

 


本文转自Lei Zhang博客园博客,原文链接:http://www.cnblogs.com/threestone/p/3618113.html,如需转载请自行联系原作者

目录
相关文章
|
数据库 虚拟化 Windows
虚拟机数据恢复—XenServer虚拟机磁盘文件丢失的数据恢复案例
虚拟机数据恢复环境: 某品牌服务器通过同品牌某型号的RAID卡,将4块STAT硬盘为一组RAID10阵列。上层部署XenServer虚拟化平台,虚拟机安装Windows Server系统,每台虚拟机有两个虚拟机磁盘(系统盘 + 数据盘),虚拟机作为Web服务器使用。 虚拟机故障&分析: 机房异常断电导致服务器中一台VPS(XenServer虚拟机)不可用,虚拟磁盘文件丢失。
|
9月前
|
安全 Linux 开发工具
【Azure 环境】Azure 虚拟机上部署 DeepSeek R1 模型教程(1.5B参数)【失败】
遇见错误一:operator torchvision::nms does not exist 遇见错误二:RuntimeError: Failed to infer device type
779 22
|
9月前
|
存储 数据挖掘 虚拟化
vsan数据恢复—vsan缓存盘故障导致虚拟机磁盘文件丢失的数据恢复案例
VMware vsan架构采用2+1模式。每台设备只有一个磁盘组(7+1),缓存盘的大小为240GB,容量盘的大小为1.2TB。 由于其中一台主机(0号组设备)的缓存盘出现故障,导致VMware虚拟化环境中搭建的2台虚拟机的磁盘文件(vmdk)丢失。
|
Web App开发 Windows
Windows 记录一次磁盘相关的PC卡顿问题
【10月更文挑战第26天】本文记录了一次Windows系统中因磁盘问题导致的PC卡顿现象及其解决过程。通过查看任务管理器发现磁盘使用率高,经磁盘碎片整理、优化启动项与后台程序、更新磁盘驱动等步骤,最终解决了卡顿问题。建议定期进行磁盘维护,合理管理启动项,及时更新驱动以预防类似问题。
259 5
|
存储 Windows
Windows 记录一次磁盘相关的PC卡顿问题
【10月更文挑战第25天】本文记录了一次 Windows 10 电脑卡顿问题的排查与解决过程。通过资源监视器、事件查看器、SMART 信息检查、磁盘扫描、后台程序排查、驱动更新等步骤,最终通过磁盘碎片整理和调整虚拟内存设置解决了卡顿问题。文章还提供了定期磁盘维护、合理设置虚拟内存及关注硬件健康的预防措施。
586 1
|
KVM 虚拟化
kvm虚拟机磁盘管理
文章详细介绍了KVM虚拟机磁盘管理,包括磁盘格式概述、创建虚拟机时如何指定磁盘格式、以及磁盘工具的常用命令,旨在帮助用户更好地理解和操作KVM虚拟机的磁盘管理。
418 1
kvm虚拟机磁盘管理
|
Kubernetes Linux 容器
解决删除快照后启动虚拟机显示指定的文件不是虚拟磁盘 打不开磁盘“路径”或它所依赖的某个快照磁盘。 模块“disk”启动失败。 未能启动虚拟
解决删除快照后启动虚拟机显示指定的文件不是虚拟磁盘 打不开磁盘“路径”或它所依赖的某个快照磁盘。 模块“disk”启动失败。 未能启动虚拟
1464 2
|
C# 开发工具 Windows
C# 获取Windows系统信息以及CPU、内存和磁盘使用情况
C# 获取Windows系统信息以及CPU、内存和磁盘使用情况
454 0
|
存储 Linux Windows
【应用服务 App Service】App Service For Windows 如何挂载Storage Account File Share 示例
【应用服务 App Service】App Service For Windows 如何挂载Storage Account File Share 示例
133 0
|
API 网络架构 开发者
【Azure 环境】调用Azure RunCommand 的REST API 设置虚拟机的环境变量(SetEnvironmentVariable)
【Azure 环境】调用Azure RunCommand 的REST API 设置虚拟机的环境变量(SetEnvironmentVariable)
128 0