商业服务器的服务器虚拟化是商业组织采用的最快速的技术之一。如今,“具有应用程序的物理服务器”的传统且低效的模型正在迅速让位于虚拟服务器之间共享资源组。这不仅可以帮助组织节省数据中心的电源,冷却和空间等资源,还可以帮助组织避免过度配置某些物理服务器,从而节省资金。
在没有合适的工具的情况下,实施IT服务优化可能会很复杂。
商业服务器的服务器虚拟化是商业组织采用的最快速的技术之一。如今,“具有应用程序的物理服务器”的传统且低效的模型正在迅速让位于虚拟服务器之间共享资源组。这不仅可以帮助组织节省数据中心的电源,冷却和空间等资源,还可以帮助组织避免过度配置某些物理服务器,从而节省资金。虚拟化技术提供了更灵活的解决方案,允许组织根据现实世界不断变化的需求重新分配资源。
服务器虚拟化的概念具有许多显着优势。但就像生活中的许多事情一样,这不仅仅是一方面。资源虚拟化为基础架构堆栈添加了一个新的抽象层。该层应该使虚拟化解决方案更加灵活和高效,但它也使IT服务优化更加复杂。对于要求严格且对性能至关重要的应用程序,可能会导致中断和违反服务级别协议。在实施或更新虚拟化策略时,请务必牢记这一点。
在本文中,我们将与读者讨论如何在复杂的虚拟环境中优化IT服务。
在分析服务器虚拟化为容量管理和IT服务优化提出的挑战时,我们需要对构成灵活虚拟化环境的机制有共同的理解。从概念上讲,它使用三种机制:
1.资源虚拟化:组的资源集中在组中,并通过虚拟管理程序分配给不同的虚拟机。
2.动态资源编程:虚拟机管理程序能够根据当前需求自动分配资源,并将资源直接分配给相应的虚拟机。
3.无问题迁移:在不同物理服务器上编程资源的能力使服务器群集或服务器社区成为一大组资源。
通过使用这些机制,您可以帮助组织解决计算环境中容量管理的一些传统挑战。在“使用物理服务器的应用程序”的商业平台时代,公司通常必须在高峰时段配置应用程序的要求。如果正常的正常需求水平远低于高峰期,则大多数时间都不会使用大多数资源。更糟糕的是,根据事件的周期,峰值可能只有几周或几个月。在虚拟化环境中,最大限度使用所需的额外动态空间可以在多个不同的虚拟机之间以及多个物理主机之间共享,所有这些都对虚拟机中运行的应用程序完全透明。 。结合旨在优化峰值时间要求的管理活动,动态资源调度在防止过度配置方面尤其有效。但是服务器虚拟化和动态资源能否完全消除管理容量的需要?显然不是,我们稍后会详细介绍。
挑战问题
典型的服务器虚拟化项目从易于启动的地方开始。从低流量商业应用程序到虚拟环境的变化开始。由于这些工作负载大宗商品普遍在旧的基础设施上运行,性能差,因为大多数资源并没有特别的资源密集型的,有一个初步的性能改进和质量的服务。这确认了将工作负载迁移到虚拟服务器的决定,重点是减少物理主机的数量。
最终,当完成所有更简单的工作后,继续该过程并涉及更复杂的工作负载是很自然的。虽然服务器虚拟化的设计必须能省钱长远来看,实施虚拟化战略通常需要新的基础设施的初始前期投资。在许多情况下,商业部门面临的事实,实现投资和及时合理的回报,这些初期投资应该在大量的应用程序和服务的共享。这将导致更多工作负载,如电子邮件,数据库和ERP系统。它们在资源消耗方面要求更高,并且具有更高的关键要求。这些应用程序的可用性和性能非常重要。他们可以支持公司的核心流程或直接面对客户。这意味着您的公司必须特别注意如何操作和管理这些服务。确保您的公司在当前和可预见的未来都有足够的容量。
容量管理的一个重要方面是对每个工作负载或应用程序的正确描述。在分析工作负载时,某些方面很重要:
资源利用率——工作负载将使用哪些资源以及将使用多少资源?
在线或间歇——如果工作负荷在管线(在这种情况下,一个单独的事务的响应时间是关键的)使用,或以批处理中使用(在这种情况下,总产率是更重要的)
线性和指数分布——当暴露于更高强度时,工作负载的性能如何?
工作负载的稳定性——工作负载是否始终保持相同的活动级别,或者偶尔会有更多的爆发?
周期性和随机性——这些活动峰值是可预测的还是随机的?
结合所有这些信息的配置文件将使您的公司了解如何管理特定工作负载和资源要求,以帮助您了解工作负载的特征。当你开始在同一个物理资源(这可能是为什么你的公司实施了虚拟化的第一次的原因之一)混合多个工作负载变得有些复杂多一点。如上所述,动态资源调度通常用作单个机制来解决容量需求的变化,无论是在物理主机内还是在多个主机之间。但是,资源规划的效率和可行性在很大程度上取决于工作量的特征。对于具有中等资源要求的一组工作负载,通常很容易在不同主机之间进行平衡和迁移。但是,如果您开始将它们与更苛刻的工作负载混合,您的交易选项将受到严格限制。我在伦敦Gartner数据中心峰会上提出的类比似乎越来越受欢迎,这个类比说明了在尝试混合和组合各种工作负载时可能出现的问题。在峰会的介绍中,我建议使用俄罗斯方块类型块来表示不同工作负载之间的不规则性。具有中等资源要求的简单工作负载将由基本的两件式块表示。更高的资源要求和更高的复杂性将导致块在所有方向上扩展。
块越大,对称性越低,集成它们越困难。您无法将块组合转换为资源较少的工作负载,而不能转换为其他主机。突然间,实现虚拟化环境灵活性的两个关键机制变得无法使用。即使您的公司可以将它们组合在一起,很可能大的不对称块会导致空白区域的碎片化,并且资源的使用会低于贵公司的原始计算和计划。
基于资源的动态编程和工作负载的平滑迁移来优化虚拟化环境的服务的策略仅假设完全移动性和工作负载的自由组合。但在许多情况下,事实证明这太简单了。除了具有不同的“充电器工作”,对于分割数据管理程序技术或商业环境强加的也可以有一个影响其他限制(配置特殊的硬件或专有,合同义务,安全策略变化)等等。
总而言之,这表明实施企业级虚拟化战略的更完整方法。要虚拟化更多需求和重要工作负载,仅依靠被动资源调度和工作负载迁移机制是不够的。为确保最佳的服务交付,您需要调查和分析实施的分发和迁移策略。
有哪些选择?
预测工作负载的容量需求的不同方法及其与其他工作负载共存的方法可以分为三类。
评测
这种方法主要基于“常识”和过去的经验。通常选择服务器虚拟化和集成方法来堆叠工作负载直到达到预定阈值。但要在这方面取得成功,贵公司需要充分了解以下内容:
哪些指标与评估相关?
这些指标的正确阈值是多少?
公司如何标准化不同年龄或不同指标的平台?
当工作负载堆叠时,您如何解释非线性性能变化?
如果您的公司误解了上述任何信息,这将导致错误的预测。
质量的评估和预测是基于事实和直觉,而不是基于具体事实。这种类型的工具专注于使程序更简单。在一天工作结束时,质量预测仍然取决于之前问题的答案。在大多数情况下,某些方面,如非线性增长甚至都没有解决。分析建模
预测工作负载混合的执行的另一种方法是使用排队网络分析器求解器。网络模型队列系统有利于分析求解,计算数学模型将发生延迟队列,队列中的延迟的数目。在将模型用于预测目的之前,它是基于对服务器实际使用方式的实证研究进行校准的。
所有对服务器性能都很重要的对象都在描述系统的模型中表示。
构建模型后,您可以通过更改事务密度或在不同模型之间迁移工作负载来评估不同的方案。响应时间或预测的交易性能将向业务计划指示其是否成功。把重点放在队列中,并在系统中花费的时间所花费的时间之间的差的必要性可以被消除,以消除阈值的显式的每个事务类型的需要。对这种关系的一种简单的经验方法可以让公司很好地了解配置场景的状态。
这种类型的分析建模提供了预测,快速和可重复的过程,以优化混合工作负载环境。通过分析建模,结果的质量很少取决于制作它的人。它还避免了常见错误,这些错误假设性能随工作负载堆栈线性降低。
集成负载测试
这里的目标是产生一个尽可能接近现实世界的完整协议。要做出正确的事情,你的企业需要检查的运行环境找到交易和并发性的完美结合,开发出基于这些交易可重复的测试案例,并且是相同的生产环境扩展性能测试设备(这可能会迫使贵公司投资并行测试环境)。此外,贵公司需要根据每种交易类型的响应时间来定义成功标准。
如果正确完成,负载测试可提供高度准确性。但在大多数情况下,它们的成本和较长的测试周期都是不合理的。一个重要的服务业务之前,它可能是更适合的活动保证“只”质量,而不是IT服务重复练习优化。
那么,贵公司应该选择哪种方法?最重要的是至少要有一个实用的策略,而不仅仅是依靠容量管理框架的响应机制。建立后,最好的选择通常是不同方法的组合。您的公司可能不希望花太多时间分析不太重要的公共服务应用程序,就像您的企业无法快速轻松地分析关键业务服务一样。拥有一个完整的工具箱非常重要,它允许您选择适合不同情况的正确方法。
结论
商业服务器虚拟化提供商希望您相信,您的平台内置的反应性性能管理技术是您获得业务最佳性能所需的全部内容。事实上,动态资源规划和迁移等被动技术很有用,但它们并不是一个完整的解决方案,也不一定能促进IT服务的优化。虚拟化环境增加的复杂性实际上使得确保从系统获得所有内容变得更加困难。一组“足够大”的虚拟资源并不容易实现。如果您的公司没有注意您托管的工作负载的特性,则可能会过度配置您的应用程序或使您的应用程序资源不足。
为了确保工作负载可以相互有效地执行(或者类似俄罗斯方块的形式),需要进行认真的分析。您的组织需要了解大量资源需求,以便底层应用程序知道工作负载是否会干扰另一个工作负载,从而导致不必要的资源包含和队列延迟。因此,特别是对关键工作负载,这是合理的要仔细分析之前,而不是简单地抛出更多的工作负载对贵公司的系统,然后期望迁移和编程动态资源能够快捷高效。把一切都放在一起
如前所述,在计划之前通过“评估”优化工作负载放置通常需要堆叠工作负载直到达到预定阈值。这是大多数工具使用的技术,可用于调查数据中心和识别虚拟化可能性。结果便宜且易于获得,但只是粗略估计。仅此估算值无助于贵公司实现最佳性能。
“分析模型”不像预测那样快速,简单和经济,但它非常接近我们的目的。 (通过“分析建模”,我们特别指的是使用分析队列网络求解器进行建模,较不复杂的分析数学模型可以更好地被视为“估计”工具)。建立针对负载测试(或模型模拟)的分析模型比估计更简单,更准确。
如果底层系统的集成负载和配置是代表生产环境中,“负载测试”可以是非常准确的。但是,需要更多的时间和费用才能更接近实现生产负荷和基础设施。在大多数情况下,使用此技术优化虚拟化环境中的IT服务是不现实的。但是,它可以通过运行测试越小一个有用的妥协,然后使用分析模型来预测可能会具有较大的配置最令人印象深刻的系统负载发生什么。
总之,依赖于IT服务优化的资源规划和工作负载迁移的被动机制是不够的。当您在商用服务器虚拟化环境中运行要求苛刻的应用程序时,您的公司需要做更多。最明智的解决办法是未雨绸缪,确保安置和迁移战略的目的是确保工作负载高效地工作在一起。估算工具适用于简单工作负载的临时分析。负载测试是非常有价值的,特别是当您的企业部署的应用新的工作负载,但效果最好的综合技术,以优化关键应用程序在虚拟环境中运行的方法是使用一个系统解决排队网络。