使用scvmm 2012的动态优化管理群集资源

动态优化(Dynamic Optimization)是在scvmm2012之后引入的一个新特性,简单来说,这个特性的功能就如字面意义一样,在群集范围内使用动态迁移VM的方式优化主机的资源,使主机与VM都工作在一个相对良好的资源环境中
在VMM2008版本中有一个类似的功能称为:PRO-tips,那么动态优化(后文简称DO)与之相比有哪些改进呢?

对于VMM 2008的用户来说,解决群集中的VM负载平衡问题比较麻烦,需要使用SCOM中的agent监控主机上的性能指标已经超过阈值之后开始进行VM迁移;到了VMM 2012版本后,DO使用全新的智能放置引擎(Intelligent Placement engine )更主动并且有效掌控群集内的主机资源。

DO 相对于PRO-tips有以下几项改进:

  • DO 的监控和迁移作业由VMM服务本身提供,不再需要SCOM整合
  • DO 在VMM服务器上运行,并不用在群集节点主机上运行,因为对于整个群集来说做到了集中管理,消除了主机上作业冲突的可能性.
  • 用SCOM过同学应该知道,如果对VM进行监控,需要许多不同的管理包(management packs)对相关指标监控,比如VM的资源、网络使用等等,但DO 本身通过VMM服务就可以了解到VM的放置规则、资源需求等,不必再通过SCOM进行复杂的管理包配置

当然,并不是说使用了DO就不再需要SCOM了,因为他们完成的任务是完全不同的,如果需要更精确的监控还是需要使用SCOM的,我们这里只针对于“动态优化”这荐任务来说,DO已经完全可以满足需要了.

接着说一下DO规则

DO的规则不是特别麻烦,下面简单说一下,需要注意的是,DO在运行下面这些规则检查的时候是按顺序进行的

1: 不要因为DO给群集系统带来新问题

在DO的迁移动作发生之前,进行的第一项检查,就是迁移是否会使系统出现警告或者错误,如果有,那么DO就不会进行迁移。不管进行迁移后整个群集系统的资源使用有多平衡,多么合理,VM也不会进行迁移。这里特别说明一句,这其中最典型的问题就是系统在迁移后可能会over-commited,导致配置好的DO不能进行动态优化,这也是我为什么要写over-commited算法这篇文章的原因。

另外还有一种不迁移VM的情况,就是将VM配置为从动态优化中排除,如下图:

2: 解决VM的错误/警告

在进行DO时,最重要的一点就是要优先解决VM的错误和警告问题,比如VM配置了Network Optimization (VMQ)但是当前主机上VMQ不可用;无法在当前主机上访问配置的逻辑网络接口等等

3: 解决主机过载

当我们在给一个主机组配置DO的时候,会被要求指定主机的最大负载,如图:

当DO检测到某个主机上的阈值超出了指定范围,那么DO会优先将这台主机上的VM迁移出去减轻这台主机上的负载,话说这也是DO的一个最主要功能了。

4: 平衡主机资源使用

当前面提到的三个优化规则都满足的条件下,DO才会在群集内部查找所有可迁移的VM并且评估迁移后的星级,如果星级增长到满足主机组的aggressiveness 设置级别(见上图),则开始进行资源动态平衡。(Mdidum以下的星级阈值我又没有找到,如果谁有相关资料可以告诉我再进行修改)。

关于如何对主机进行评星,请参考MSDN:https://technet.microsoft.com/en-us/library/JJ860428.aspx?f=255&MSPPError=-2147217396

下表是进行星级评估时的阈值:

High 0.1 stars

Medium-High 0.2 stars

Medium 0.3 stars

可以看出,在aggressiveness设置为High后,星级增长只要0.1星就可能会引起VM迁移,一般来说我是把这个设置为low的,没有必要因为一点点的资源平衡就让正常运行的VM中断一次(虽然是动态迁移,但是在迁移的最后阶段网络还是会闪断的,这在重要的生产环境下会引起大问题)

最后,以上提到的所有迁移,都必须不能引发目标主机的错误或者警告。

DO的方式- 手动还是自动?

DO默认是工作在手动方式下的,也就是说,不会自动对VM进行动态迁移,你可以通过右键群集,选择 “Optimize Hosts” 的方式进行。在手动模式下进行DO首先会先进行群集的估计,之后会出现一个窗口显示建议进行迁移的VM/源主机/目标主机。

如果想要开启自动DO也很简单,只要在主机组属性中开启就可以,之后选择DO的运行周期(默认为10分钟一次),这样,主机组内的群集就会在指定的周期对群集自动进行DO,如果自动DO导致了一次迁移,在任务窗口中也可以观察到迁移的进度。

DO的性能数据

1.在进行大部分的部署工作时(如新VM,迁移VM,新建服务等等),DO会基于一定周期内VM在正常工作条件下的性能数据计算出平均值,用以星级评估。

2.SCVMM从VM和主机每9分钟获取一次性能数据(这也是为什么DO的默认周期是10分钟的原因),DO会基于滚动周期内性能数据的平均值进行检查

3.DO不会进行存储迁移,所以在进行DO时磁盘性能是不计算在主机负载内的,在VMM 2012中, DO只考虑CPU以及内存的使用

诊断DO出现的问题

当DO出现某种问题的时候(其实也就是动态优化没有产生你要的效果的时候),我们需要通过哪些手段来确认为什么不能正常执行的?

其实最主要的工具就是SCVMM的客户端,你可以手动对你想要迁移的VM进行一次手动迁移,我们会发现出现如下界面:

可以看到,界面上出现了主机的星级,这个星级的计算方法、放置规则是与DO的计算方式完全一致的,从图中可以看到主机1,3是有星级的,但是主机2由于添加了放置规则,且并不满足,所以是没有星级的,这点可以从下面的异常信息看出来。所以DO不会将我选中的VM迁移到主机2上。

同样,还有一种最常出现的情况就是群体over-commited:

在上图这种情况下,不管主机的星级多么高,但是群集整体已经过载,也就是说无论怎么迁移VM都会有over-committed的警告,违反了DO的第一条规则,所以DO是不会进行动态迁移的。

最后,我们要考虑的就是主机资源的平衡问题,只要没有达到aggressiveness的级别设置,DO是不会进行平衡迁移的,举例来说,有一个主机上运行了10个空闲的VM,而另一台群集里的主机上没有放置VM,DO运行检查后发现没有达到aggressiveness的配置值,所以并不会导致VM进行迁移。 但是当主机的使用率上升,换句话说,星级评定与空闲主机相比有下降的超出了aggressiveness阈值,DO才会有迁移的动作进行资源平衡,我们可以通过把aggressiveness的等级设置的高一点,让群集内主机的资源使用尽量平均。当然我并不建议这么做……

时间: 2024-08-27 07:11:25

使用scvmm 2012的动态优化管理群集资源的相关文章

SCVMM 2012 R2运维管理十一之:添加Hyper-v群集

SCVMM 2012 R2运维管理十一之:添加Hyper-v群集 前面的博文中和大家介绍了如何添加受信任的Hyper-v主机和非信任的Hyper-v主机.但是大家要知道在很多情况下再我们上SCVMM之前我们就已经有了Hyper-v的高可用环境,所以呢今天我们就来为大家介绍一下如和将我们环境中现有的Hyper-v群集添加到SCVMM. 因为一些相关的理论我们在之前的博文中已经有所介绍,所以在本博文中我们直接就开始实践: 首先来看一下实验环境: 服务器名称 IP地址 群集地址 所扮角色 操作系统 V

SCVMM 2012 R2运维管理八之:添加信任Hyper-v主机和群集

SCVMM 2012 R2运维管理八之:添加信任Hyper-v主机和群集 当创建好SCVMM以后我们需要将Hyper-v主机添加到SCVMM中,以方便我们的管理. 在本次实验中,我们将为大家介绍如何将现有的 Hyper-V 主机和 Hyper-V 主机群集添加到 VMM: 添加到群集的主机主要有以下几种类型: 1. 受SCVMM管理服务器信任的Active Directory 域中的 Windows Server 计算机或 Windows Server 故障转移群集. 2. 不受SCVMM管理服

浅谈C++容器动态内存管理的优化

在信息学竞赛中,C++的容器的用途非常广泛,但经常因常数过大而超时.怎样才能提高它们的效率呢? 我们知道,容器是存储同一类对象的对象,既然"对象"我们无法改变,那么我们只能从"存储"入手,不难想到,不同容器在实现上的根本区别是它们对应着不同的内存组织方式,内存管理无疑是这种实现的核心,所以优化内存管理是加快容器效率的最好途径之一. 一.内存分配器简介 怎样才能优化内存管理呢?很简单,C++为我们提供了这样的接口,我们可以通过自定义容器模板中的最后一个allocato

利用SCVMM 2012 R2来管理Azure虚拟机

4月27日微软发布了System Center 2012 R2 UR6(更新汇总6),其中Virtual Machine Manager一个重要的功能就是支持添加Azure订阅(经过测试目前只支持国际版Azure)并进行VM的管理,目前可以执行启动.停止.关闭.重启.RDP连接几个操作.这也是在混合云部署上的一个大的更新,除了使用SCAC外终于有个强大的虚拟化管理工具管理公有云和私有云了.UR6还改进了ASR保护方案(Azure Site recovery)等更新,具体可参考https://su

SCVMM 2012 R2部署测试之六创建hyper-v故障转移群集

1. 确认磁盘挂载状态 确保两块数据磁盘是联机状态,在创建群集时SCVMM会自动将小磁盘设置为仲裁磁盘,大磁盘作为数据磁盘.仲裁磁盘大小建议不超过5G. 2. 创建hyper-v故障转移群集 打开SCVMM管理控制台,点击构造-创建,选择Hyper-V群集,启动创建群集向导. 在创建群集向导中输入群集名称'vcluster',选择使用现有运行方式账户,点击浏览选择刚刚创建的运行方式账户. 主机组选择HY Server,将hy01.hy02两台主机添加至要群集的主机中,下一步. 勾选网络,输入群集

浅谈Virtual Machine Manager(SCVMM 2012) cluster 过载状态检测算法

在我们使用scvmm2012的时候,经常会看到群集状态变成了这样 点开看属性后,我们发现是这样 . 发现了吗?Over-committed,如果翻译过来就是资源过载,或者说资源过量使用了,那么这个状态是怎么出现的呢? 出现这个状态以后会出现什么问题?怎么解决? 今天我们就谈一谈在SCVMM中over-committed的算法,知道SCVMM是如何确认一个群集是否过载后,就知道如何避免它,带来种种问题也就能解决了 part 1. 算法概述 SCVMM 2012 群集的过载检查主要是用来确认整个群集

SCVMM 2012 R2部署测试之一部署Hyper-v角色

环境准备 IP地址 主机名 类型 10.1.10.34 hy02.tidepharm.tk 物理主机 10.1.10.44 hy01.tidepharm.tk 物理主机 10.1.10.68 dc-1.tidepharm.tk 虚拟机 10.1.10.69 scvmm2012.tidepharm.tk 虚拟机 所有服务器操作系统为Windows Server 2012 R2,vmm数据库版本为SQL Server 2012 SP1,域名为tidepharm.tk,scvmm2012.hy01.h

SCVMM 2012 R2运维管理十之:添加外围网络计算机

SCVMM 2012 R2运维管理十之:添加外围网络计算机 前面的博文中和大家聊了如何添加受信任的Hyper-v主机或群集以及如何添加非受信任的主机或群集,相信大家都有了一个比较深刻的理解,那么在今天的博文中我们将为大家介绍如何添加外围网络(DMZ)或工作组中的 Windows Server 计算机(仅限独立计算机) 我们可以使用以下过程添加外围网络(也称为 DMZ.外围安全区域和外围子网)中的 Hyper-V 主机作为 System Center Virtual Machine Manager

SCVMM 2012 R2运维管理七之:用户角色的介绍

SCVMM 2012 R2运维管理七之:用户角色的介绍 你可以在 Virtual Machine Manager (VMM) 中创建用户角色来定义用户可管理的对象以及用户可执行的管理操作.这就像我们NTFS权限中的一些相应的权限限制一样,在SCVMM 2012 R2中一共有五种用户角色,分别是:管理员.委派管理员.只读管理员.租户管理员以及应用程序管理员,下面我们分别介绍着五种管理员的特点: 1. 管理员: 管理员用户角色的成员可对 VMM 管理的所有对象执行所有管理操作. 管理员单独负责 VM