3.3 资源管理技术
3.3.1 资源的统一管理
资源管理主要针对所有物理可见的网元设备包括服务器、存储、网络(设备、IP、VLAN)、物理介质、软件资源以及经虚拟化技术形成的资源池(计算资源、存储资源、网络资源、软件资源)进行抽象和信息记录,并对其生命周期、容量和访问操作进行综合管理,同时对系统内重要配置信息的发现、备份、比对和检查等。
对于物理可见的网元设备和软件,按其类型可分为服务器类资源设备(包括计算服务器等)、存储类资源设备(包括SAN设备、NAS设备等)、网络类资源(包括交换机和路由器等)、软件类资源等。对于服务器类资源设备,实现对服务器设备的自动发现、远程管理、资源记录的创建、修改、查询和删除,以及物理机容量和能力的管理。对于存储类资源设备,为上层服务提供数据存储空间(包括文件、块和对象)的生命周期管理接口,对存储空间的提供者(存储设备)进行信息记录和综合管理。对于网络类资源,提供对路由器、交换机等网络设备的查询和配置管理。对于软件类资源,对软件名称、软件类型、支持操作系统类型、部署环境、安装所需介质、软件许可证等信息进行获取和管理。
资源池是指将多个具有相同能力(相同厂商同种功能的设备或者具体同种参数的设备)的资源组合,根据服务实例的需求可划分为:计算资源池、存储资源池、网络资源池和软件资源池。
①对于计算资源池的管理,包括对资源池的创建、修改、查询和删除,容量管理,资源定位,相关信息的收集和生命周期管理。
②对于存储资源池的管理,包括对资源池的创建、修改、查询和删除,容量管理,生命周期管理,资源定位和相关信息的收集。
③对网络资源池的管理,包括资源池的创建、修改、查询和删除,容量管理,生命周期管理,相关信息的收集,网络资源定位,将IP地址或域名等虚拟资源包装为资源池,对VLAN动态创建和释放。
④对软件资源池的管理,包括对软件类资源池的创建、修改、查询和删除,容量管理,生命周期管理,软件资源定位和相关信息的收集。
另外,管理模块还需将数据中心的各类资源与系统域关联起来。所涉及的资源包括物理资源、各类资源池、系统策略、IP地址池等。
3.3.2 资源的统一监控
资源监控是保证运营管理平台流程化、自动化、标准化运作的关键模块之一。它利用下层资源管理模块提供的各类参数,进行有针对性分析和判决后,为上层的资源部署调度模块提供了必要的输入,是实现负载管理、资源部署、优化整理的基础。一般认为,资源监控包括故障监控、性能监控和自动巡检3个方面的内容。
①故障监控屏蔽了不同设备的差别,对被管资源提供故障信息的采集、预处理、告警展现、告警处理等方面的监控。首先,可以对物理机、虚拟机、网络设备、存储设备、系统软件主动发出的各种告警信息进行分析处理,其次可以对系统主动轮询采集到的KPI指标,定义各种告警类型、告警级别、告警条件,支持静态门限值和动态门限值,同时以告警监视窗口、实时板等多种告警方式展现。另外,支持告警确认、升级等功能,并能把特定级别的告警信息转发给上一级管理支撑系统。
②性能监控实现对采集到的数据,通过分析、优化和分组,以图表等形式,让管理员在单一界面对虚拟化环境中的计算资源、存储资源和网络资源的总量、使用情况、性能和健康状态等信息有明确、量化的了解,同时还可以为其他模块提供相关监控信息。
③自动巡检则实现每天登陆资源做例行检查的工作,实现任务的自动执行和巡检结果的自动发送。
对不同类型的资源,监控的指标或方法是不同的。对于CPU而言,通常关注CPU的使用率;对于内存而言,除使用率外,还会监控读写操作;对于存储而言,除使用率、读写操作外,各节点的网络流量也需要进行监控;对于网络,则需要对输入/输出流量、路由状态进行监控;对于物理服务器而言,还需要对功耗等进行监控。
3.3.3 资源的统一部署调度
资源的部署调度是通过自动化部署流程将资源交付给上层应用的过程。主要分为两个阶段。首先,在上层应用出发需要创建相应基础资源环境需求流程时,资源部署调度模块进行初始化的资源部署;其次,在服务部署运行中,根据上层应用对底层基础资源的需求,会进行过程中的动态部署与优化。调度管理实现弹性、按需的自动化调度,能够根据服务和资源指定调度策略,自动执行操作流程,实现对计算资源、网络、存储、软件、补丁等进行集中地自动选择、部署、更改和回收功能。具体部署调度内容如下。
①对于计算资源的部署调度,主要指集中控制、批量自动化安装,结合设备厂商提供的部署工具,控制服务器的引导过程,允许用户预定义安装服务器所需要的配置模版,如IP地址、主机名、管理员口令、磁盘分区、安全设置、操作系统部件等。
②对于网络资源部署调度,主要指通过统一的网络配置部署平台对复杂的多供应商网络基础环境的自动配置和管理,实现端到端的自动化。实现控制和检查整个网络基础结构中的配置变更,集中定义、核查、强制执行网络安全政策以及配置规范相关的合规性。
③对于存储资源的部署调度,主要指多个供应存储环境中的自动配置和管理,实现端到端的自动化。根据设备的管理方式采用直接对设备的配置操作或者集成存储厂商的设备管理工具,实现对存储的统一配置管理。
④对于软件的部署调度,主要指对数据库、中间件、Web服务器、用户子开发应用等的自动生成安装。另外,对软件的部署调度还具备回滚功能,如在安装失败后,可利用回滚恢复环境。
⑤对于补丁的部署调度,主要指以联机或脱机方式获取各厂家最新的补丁信息,从而对系统当前的补丁进行分析,推荐应该安装的补丁。在导入补丁之后,根据补丁的平台自动生成补丁安装指令。
另外,部署调度模块还可以根据惯例策略利用流程调度引擎对服务到期、服务种植、欠费客户的计算资源和网络资源进行回收,包括关闭虚拟机或物理机,回收VPN使用的IP、公网IP、虚拟交换机,取消与之相关的存储资源、负载均衡设备、交换机等相关配置,并更新资源库的信息,具体回收的操作需要集成设备的管理能力。
3.3.4 负载均衡
负载均衡是资源管理的重要内容,数据中心管理和维护时应做到负载均衡,以避免资源浪费或形成系统瓶颈。负载不均衡主要体现在以下几个方面。
①同一服务器内不同类型的资源使用不均衡 如内存已经严重不足,但CPU利用率仅为10%。这种问题的出现多是由于在购买和升级服务器时没有很好地分析应用对资源的需求。对于计算密集型应用,应为服务器配置高主频CPU;对于I/O密集型应用,应配置高速大容量磁盘;对于网络密集型应用,应配置高速网络。
②统一应用不同服务器间的负载不均衡 Web应用往往采用表现层、应用层和数据层的三层架构,三层协同工作处理用户请求。同样的请求对这三层的压力往往是不同的,因此要根据业务请求的压力分配情况决定服务器的配置。如果应用层压力较大而其他两层压力较小,则要为应用层提供较高的配置;如果仍然不能满足需求,可以搭建应用层集群环境,使用多个服务器平衡负载。
③不同应用之间的资源分配不均衡 数据中心往往运行着多个应用,每个应用对资源的需求是不同的,应按照应用的具体要求来分配系统资源。
④时间不均衡 用户对业务的使用存在高峰期和低谷期,这种不均衡具有一定的规律,如对于在线游戏来说,晚上的负载大于白天,白天的负载大于深夜,周末和节假日的负载大于工作日。此外,从长期来看,随着企业的发展,业务系统的负载往往呈上升趋势。与前述其他情况相比,时间不均衡有其特殊性:时间不均衡不能通过静态配置的方式解决,只能通过动态调整资源来解决,这给系统的管理和维护工作提出了更高的要求。
总之,有效的资源管理方式能提高资源利用率,合理的资源分配能够有效地均衡负载,减少资源浪费,避免系统瓶颈的出现,保障业务系统的正常运行。
HDFS中对于数据也进行了负载均衡。例如,在复制数据块时,采用分散部署的策略,当复制因子=3时,在本地机柜一个数据节点放置一个副本,在本地机柜的不同数据节点放置另一个副本,在不同机柜的数据节点再放置一个副本,由此提高数据块的读写均衡,且保证了数据的可靠性。另外,当系统中因为数据节点宕机导致复制因子过低,以及出现访问文件热点时,系统会自动进行数据块复制,以保证系统的可靠性和数据均衡。此外,HDFS在读写数据时,采用客户端直接从数据节点存储数据的方式,避免了单独访问名字节点造成的性能瓶颈。