ScaleIO里的IOPS限制与快照功能是如何生效的?

ScaleIO里的IOPS限制与快照功能是如何生效的?,第1张

ScaleIO是一款纯软件的解决方案,它使用现有主机的本地磁盘和LAN来实现一个具备外部存储所有优势的虚拟SAN,本成本和复杂性却只有原来的一小部分。https://community.emc.com/docs/DOC-44323

IOPS限制器:

ScaleIO卷布局使单个应用程序可以使用整个保护域的存储设备和完整IOPS。能够动态分配和共享存储和高性能资源是聚合横向扩展存储的主要优势。但是,有时更好的做法是占用的I/O贷款或IOPS往往大于所需的应用程序控制其行为。管理员使用ScaleIO IOPS限制器可以设置每个客户端/卷的最大IOPS或带宽值。如果应用程序尝试占用的量大于允许值,侧ScaleIO可流畅地限制应用程序的IOPS或带宽工作负载。

静态加密:

借助ScaleIO,静态卷数据可以采用加密形式存储,从而使组织可以保护其数据,同时维护运营的当前服务级别。

快照

对于每个ScaleIO卷,管理员可以创建几十个完全可写入的重定向快照。每个快照在本质上都是其自己的卷。快照分层结构非常灵活。例如,可以创建快照的快照,或是在需要时可以删除卷,同时保留其快照。完全支持所有预期恢复功能,可以毫不费劲地将快照恢复为其上级。

而且,ScaleIO允许跨多个服务器拍摄一组给定卷的一组一致的快照。事实上,可以采用一致的方式拍摄整个集群的卷的快照。只要崩溃一致性可接受,便无需再快照创建过程中使任何应用程序活动静止。

IIS并发数其实是包含好几方面的定义.在这里就不全部解释了.如果你的网站是单页面的话.可以把他简单的理解成同一时间访问你网站的人数.IIS越多.同一时间能访问你网站的人就越多.一般情况下VPS都是不限制的.配置越高.带宽越大.IIS并发数就越多

带宽2M就是指的VPS带宽.如果把网速比喻成公路上行车速度的话.那么带宽就是公路的宽度.公路越宽.代表了同一时间通过的车数量越多.带宽越大.就意味着同一时间能访问你网站的人也越多

流量则是指别人访问你网站所产生的数据量.单位可以是字节,兆等.VPS都不限流量.这一点可以忽略

尽管任何硬件资源都有可能成为影响虚拟机性能的瓶颈,但存储IOPS往往是限制因素之一。因为存储IOPS往往供不应求,所以虚拟化厂商提供了允许管理员限制虚拟机存储I/O消耗的功能。然而高效率地使用上述功能的关键是了解存储IOPS当前是如何在虚拟机之间分配的。

每个hypervisor厂商都有各自的测量并分配存储IOPS的方式。以微软Hyper-V为例,调节存储IOPS消耗的主要机制借助于QoS管理功能,该功能往往被称为存储QoS。

使用QoS管理

QoS管理设置基于单块虚拟硬盘。如图A所示,该功能可以被用于限制虚拟机消耗更少的存储IOPS。作为一个替代方案,QoS管理可以被用于为虚拟机预留存储IOPS,这样就可以保证虚拟机能够获得的最小IOPS值——如果有更多可用的IOPS,那么虚拟机能够使用的IOPS将相应增加。

图A. 虚拟硬盘QoS管理配置界面

QoS管理功能允许管理员基于单块虚拟硬盘预留存储IOPS或者对其进行限制。

尽管QoS管理功能很便利,但只有管理员知道可用的存储IOPS有多少以及当前使用情况时,该功能才能够派上用场。不幸的是,Hyper-V Manager并没有提供该信息,但可以使用PowerShell检索与Hyper-V相关的存储性能信息。

虚拟机指标追踪

PowerShell提供了一个名为Measure-VM的cmdlet,使你能够追踪各类虚拟机指标。在能够使用该cmdlet前,需要启用虚拟机的资源消耗计量。输入如下命令可以启用运行在当前Hyper-V服务器上所有虚拟机的资源消耗计量:Get-VM | Enable-VMResourceMetering

输入如下命令可以确认是否已经启用了虚拟机的资源消耗计量:

Get-VM | Select-Object Name, ResourceMeteringEnabled

启用虚拟机的资源消耗计量并且生成了一些计量数据后,你可以使用Measure-VM cmdlet显示虚拟机的资源使用情况。例如,如果你想针对所有虚拟机使用默认的资源计量数据,可以输入如下命令:

Get-VM | Measure-VM

图B显示了启用虚拟机计量、确认虚拟机计量以及用以及显示默认计量数据的过程。

图B:你可以使用Measure-VM cmdlet显示虚拟机计量数据

如上图所示,资源计量机制运转良好,显示值为零表明虚拟机未启动。然而问题是并没有显示与存储IOPS相关的信息。

显示IOPS数据

尽管Measure-VM cmdlet默认没有显示存储IOPS数据,但可以做到。实际上,cmdlet可以显示每台虚拟机的IOPS平均值、平均延迟情况、磁盘数据写入以及磁盘数据读取情况。

只需要在Measure-VM cmdlet后追加 Select-Object参数就可以显示上述数据,然后指定你想显示的指标即可。然而,务必牢记在生产环境中虚拟机往往位于使用共享存储的故障切换集群中。因此全面获取IOPS数据的唯一方式是查看所有服务器上的所有虚拟机。可以尝试利用如下命令创建一个简单的脚本:

$Servers = "Hyper-V-4", "Prod1"

ForEach ($Server in $Servers){

$VMs = Get-VM

ForEach ($VM in $VMs){

$VM | Measure-VM | Select-Object VMName, ComputerName, AggregatedAverageNormalizedIOPS, AggregatedAverageLatency, AggregatedDiskDataRead, AggregatedDiskDataWritten | Format-List

}

}

脚本的第一行列出了将要被监控的每台Hyper-V主机的名字。简单起见,这里只列出了两台服务器,但你通常要输入所有Hyper-V服务器的名字。该脚本使用循环检查所有的服务器,每次检查一台。然后嵌套循环检索并显示当前服务器上所有虚拟机的性能数据。你可以看到图C中脚本的部分输出结果。脚本列出了每台虚拟机的性能数据、虚拟机名以及虚拟机当前所在的主机服务器。

图C. 脚本显示虚拟机的存储性能数据

Hypervisor功能,比如QoS管理有助于分配存储IOPS。然而为了高效率地使用该功能,你需要知道IOPS目前的使用情况。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/9959.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-08
下一篇2023-02-08

发表评论

登录后才能评论

评论列表(0条)

    保存