现今对数据中心的要求是稳固、有效,这首先要做到“合理使用”。虽然闲置资源对于一个环境来讲是种资金浪费。但若是没能对频繁使用的数据中心进行合理的资源配置,必将引发危险场景。单一硬件失灵可能导致其他物理主机发生故障。IT管理人员面临的困难在于:使用并管理好遍布整个环境的计算资源(通常包括物理的,虚拟的和云资源)。本文将和大家讨论作为达到资源优化这一目的所使用的手段--资源规划和问题缓解。我们还将说明如何在问题恶化之前解决它。
资源规划的最佳实践
当今,几乎所有的数据中心都已经拥有或是将会进行某种形式的虚拟化配置。这就要求我们在对物理平台进行虚拟化时需要作更多考虑。我们已经在单一硬件平台上建设了多种虚拟机应用,计算资源共享硬件平台的CPU、内存,网络资源共享I/O--有时流量共享磁盘。当谈及资源管理和问题定位时,主动规划可以帮助解决资源利用的问题。
资源的负载平衡
不管是在虚拟还是物理环境中,了解清楚哪种资源被使用以及资源分配给了哪些虚拟机是很重要的。例如,如果手边有一台物理主机,配置是8核和24GB随机内存,工程师不会把所有可用资源都用上,因为那样的话,就完全失去了应对调整和故障的余地。
图1 Citrix XenServer 6.0企业版管理程序,其配置为仅有本地内存支持的单一主机。对于小企业这样的部署能够满足良好运行;但随着业务的变化,多台主机则成为必要
如图1所示,单独一台XenServer主机为终端用户提供几项高使用频率的工作负荷。这个办法虽然可行,但是在面对业务应用高峰或者出现要添加虚拟服务器的潜在需求时,进行相应调整的空间几乎没有。在上述例子中,工程师将不得不从其他虚拟机上移走虚拟资源--本例中是随机存储内存--以便实现单台物理机上的内容增长。按照要求物理资源必须为所以虚拟机可用。在任何环境中,必须保证有空间来应对紧急情况和未来的扩展。这将是负载平衡和虚拟机管理起巨大作用的地方。
不论是虚拟机还是物理机都必须有合适类型的资源分配给它们。当部署了经常使用的工作负荷后,要在不影响其它虚拟或物理工作负荷前提下,对资源进行规划和传输。同样是这个案例场景,如图2所示,我们引入了第二台物理主机,有着类似硬件规格,开始对虚拟和物理的资源单位进行负载平衡处理。
图2 Citrix XenServer 6.0企业版管理程序,显示了在资源池里配置了多台主机。该资源池能够进行资源共享,原因是虚拟机能够在存储局域网(SAN)范围内实现在主机之间实时移动
在新场景中,我们有两台物理主机投入到资源池里,在这里,资源可以在虚拟机之间得到共享。由于每个环境都是独一无二的,需要对物理资源的负载平衡处理过程作个别规划。本例中,按照现在虚拟机的要求,两台物理主机具备额外可用资源。而且还为这个具体环境配备了备用CPU,RAM和存储,从而保证虚拟机运行的灵活性。
同样,许多环境将会出于高可用性(HA)考虑想要执行负载平衡。把XenServer 6.0作为示范管理程序,内置工具将会协助完成这一过程。通过使用“合并服务器”高可用性功能,管理员能够看到哪些机器可以安全地故障转移到另一台主机上。在这里,工程师可以确定每台物理机需要多少资源来处理它的负载。最重要是要记住一点,这两台服务器在满足了新创建虚拟机有可用资源,故障转移和工作流程自动化这些特性同时,实现了负载平衡。从HA角度来看,如果上述提到的物理主机之一发生了故障,另一台能够承载起故障主机上的关键虚拟机。
当资源在机器间达到平衡,虚拟机就有能力根据需求在物理主机间移动,而不影响现行的资源状态。把灾备(DR)当作一个有可能的例子。如果一台物理主机在这种类型的负载平衡场景中发生故障,虚拟机会转移到下一台能找到可用资源的主机上。如果任何一台主机都被全面利用,就不可能允许灾备和故障转移,这仅仅是因为另一台主机上已经没有可用资源来支持追加流入的虚拟机。
工作流程自动化
许多同时使用虚拟和物理主机的环境可能需要工作流程自动化这一要素。例如,。以Citrix Workflow Studio为例,它是Citrix Delivery Center产品系列的一员。它是一种IT过程自动化应用,使管理员能够生成,调度,运行和管理工作流程。这些工作流程把技术元件捆绑在一起,实现重复性配置流程的机械化,并帮助管理任务协调环境型触发事件。基于Microsoft.NET的框架,Windows Workflow Foundation和Windows PowerShell,Workflow Studio允许工程师动态生成新的虚拟资源回应容量需求,不管是计划内还是计划外的。在该场景中,关键点在于,要有适当的资源与备用物理机对应,这样的话,新增加的虚拟机将会有RAM,CPUs可供使用。
任何时候都会存在要在某一环境中增加虚拟机的需求。由管理员决定给每台新增虚拟机分配多少资源。过多或过少的资源分配都会导致时间和资金的浪费。这也是为什么给现行环境中的虚拟机管理制定一个策略规划是如此重要。通过了解目前数据中心可用资源是什么,工程师能够更有效地传输工作负荷。
这意味着,管理员需要敏锐关注他们管理的物理和虚拟环境,并准确把握多少用户和机器能够安全、高效地在该主机上处理任务。例如,虚拟桌面架构。当用户登录时,就开始消耗一台受监控机器上的资源,如图3所示。
图3 Citrix XenServer 6.0企业版管理程序,显示了一个独立的XenServer主机只被虚拟桌面架构所使用。虚拟机可以是本地存储,也可以在骨干存储局域网上存储。
目前,图3所示的机器没有被充分使用。不过,一旦用户流入,资源被占用的比例会迅速增长,从而给这个不平衡的环境带来问题。相应地,用这个数据制定虚拟工作负荷。例如,给资源使用设定一个上限,使得在一个妥善管理的数据中心里,能够在一台物理机上运行安全值数量内的工作负荷。
设定资源“提醒”和“告警”
在数据中心创建告警和通知功能能帮助维护一个健康的环境并提高虚拟机管理。在用户察觉之前,或者在危害服务级协议(SLA)之前就发现问题,能让数据中心的虚拟和物理机用得更长久,更有效。从资源角度看,先进管理程序可以设置提醒和通知功能,如图4所示。
图4 CtrixServer 6.0企业版管理程序提供“提醒”功能,能够在每台虚拟机和物理机上进行配置。本例中,为一台Windows Server 2008R2 Enterprise Licensing Server设置了提醒功能。
有了提醒监控,工程师能够设置CPU,网络和磁盘告警。使得技术人员及早发现侵害性问题,并在影响最终用户之前采取措施减轻资源分配问题。规划和部署过程中,设置资源告警是一个重要环节。许多环境把这个动作放到最后一个步骤,只会导致数据中心快速陷入资源型问题。
使用现有的第三方资源监控工具
管理员要经常检查那些会直接影响个别物理或虚拟主机的资源。这种情况下,有一些很好用的第三方细粒度监控工具可以帮助汇报特别数据库服务器,云机器和其他大量使用的工作负荷。其中一个由uptime软件公司推出的名为up.Time的工具让管理员能够监控服务器,虚拟机,云,并置,及其它内容。使用up.Time图形化服务器监控软件后,管理员能够在独立于任何在用操作系统的条件下,对数据中心内部运行的所有关键性服务器资源进行图解和分析。深层次上,对CPU,内存,磁盘,进程,工作负荷,网络,用户,服务状态和配置数据进行细粒度监控能够帮助工程师对数据中心资源进行合理地分配和规划。
另一个可靠的网络监控工具来自SolarWinds公司。该工具名为Orion Network Performance Monitor(NPM) ,提供细粒度网络流量和性能监控。为了协助工程师的日常工作,NPM监控器可以为路由器,交换机,无线访问点,服务器及其它SNMP型设备进行上下搜寻,并对实时的,深层的网络性能统计数据作分析。对于大型数据中心,NPM允许工程师快速浏览核心IT服务和数据中心状况,方法是通过查阅筛选过的告警,它动态集合了相关的系统和设备。
此外,资源问题通常能够利用机载工具进行诊断和解决。例如,由微软操作平台推出的Resource Monitor,能够对一台机器上的资源利用情况进行图解,让管理员了解资源是如何得到使用的。
图5资源监控器显示了Windows Server 2008 R2 Enterprise Exchange Server上当前的内存使用情况
在图5例子中,该服务器的store.exe有RAM方面的问题。工程师应该了解,Exchange软件可能引起了RAM密集现象,所以看到这种使用情况很正常。不过,了解到这一点,工程师就能够选择要么增加主机资源,要么把该主机上的部分负荷转移其他机器上。
自然地,Resource Monitor有几个设定可以帮助工程师探测机器并查出哪些资源正在被使用。另一个例子就是网络处理量。图6中,我们看到的是一台普通操作中的服务器。但是,如果出现网络尖峰,我们就能够看到其来源并确定如何能够进行最有效的缓解。要得到一个细粒度全景图,工程师可以深入现有环境,生成自己的监控器,来了解数据中心哪些地方有缺失,或者数据中心运行的总体情况。
图6 Resource Monitor显示了Windows Server 2008 R2 Enterprise Exchange Server上的网络流量和使用情况
数据中心存储资源考虑内容
存储资源可能是既有限又昂贵。不合理的存储利用可能导致运行问题,最终付出高昂代价换取解决。不管什么时候,监控虚拟和物理环境中的存储利用情况总是非常重要。智能存储工具通过合并数据和有效传输能减轻巨大工作负荷带来的痛苦。数据中心存储局域网环境的一个主要漏洞在于资源使用尖峰。例如,在某一特定时间,大量用户访问系统。
面对这些情形,磁盘成为主要使用的设备,而运行几乎陷于停止状态。为了应对这种情况,存储局域网厂商开始寻求固体技术和智能“去重识别”缓存机制,来缓解性能瓶颈问题。
图7图表显示了Flash Cache是如何影响了NetApp 3000系列控制器及它的磁盘聚合。这张截图显示了一个总长为80分钟的活动--其中前20分钟未得到缓存。
图7,一大批用户在访问一个被大量使用的工作负荷。该例子中的设备是NetApp控制器。我们可以看到,没有缓存的磁盘性能和有机载缓存两者之间的差别。这几类有助于数据中心高效运行的解决方案能够让一个环境运行得更持久,更顺畅。本例中,工程量不必为了资源发放而购买大量的磁盘。相反地,他们可以利用现有存储实现把大量工作负荷更有效地传输给最终用户的目标。
规划和关注有回报
任何时候都要记住,运算资源是有限的。应对预料之外的事件或短缺情形要增加资源时,成本可能会很高。这意味着管理员必须对数据中心整体环境有先见之明,在资源利用问题影响到工作负荷和最终用户之前就及早发现它。