本文内容摘自:《软件定义数据中心:技术与实践》 6.3章节
数据中心的自动化势在必行
数据中心包含复杂的计算、网络、存储等资源,数据中心的维护和管理一直是数据中心运营过程中最大的工作负荷,企业为保证数据中心的正常工作,投入了大量的人力物力,通过制定严格的管理条例和复杂的工作流程来规范操作,以求获得最大的稳定性和可用性。但是传统被动的、孤立的、半自动式的运维管理模式经常一方面让IT部门疲惫不堪,另一方面则让数据中心的管理维护成本居高不下。国际知名调查机构Gartner调查发现,在IT运维成本中,源自技术或产品(包括硬件、软件、网络等)的成本其实只占20%,而流程维护成本占40%,运维人员成本占40%。流程维护成本包括日常维护、变更管理、测试成本等;人员成本包括训练、教育、人员流失、招聘成本等。
云计算本质上是提供服务的多个模块API互相连接的程序和平台组合,在软件定义的云计算中心中,计算、网络、存储的实现都演化为面向服务的模型,各个模块的集中控制器向外暴露API,使模块具备了可编程能力,而且控制器使得各个模块具备了中央控制的功能,从而自动化的工作流能够集中部署,集中控制。而且,随着各个模块控制器的控制接口向开发性、灵活性和标准化方向发展,自动化工作流也会朝标准化方向发展,使工作流能够实现跨平台、跨厂商使用。
通过对数据中心的硬件、软件和流程的协调、组合,建立了自定义的工作流程,跨越多个模块帮助自动完成IT系统管理流程,以提高IT运营水平。数据中心的自动化消除了绝大多数手工操作流程,帮助IT操作和IT服务管理队伍提供从设计到运行与维护的服务。
自动化的好处
数据中心的自动化部署和管理是提供云服务的保证,自动化管理能够带来如下好处。
1)增强数据中心管理维护人员解决更多事件的能力。毫无疑问,数据中心的自动化能让IT人员从繁琐而复杂的管理维护工作中解放出来,更多手工操作的流程变为了自动执行的工作流,工作流跨多个模块,组合了多个功能,这些都是人工操作难以实现的,而且,工作流细化了数据中心的操作,大量内部的、人为观察不到的事件可以通过工作流来解决。
2)减少警报和错误,提高数据中心的稳定性和可用性。数据中心自动化可以让数据中心的警报和错误“防患于未然”,让警告和错误少发生或者不发生,保证数据中心正常工作。可以对一些存在风险的操作或者状态设置预处理机制,将事件与IT流程相关联,一旦被监控系统发生性能超标或死机,会触发相关事件以及事先定义好的流程,自动启动故障响应和恢复机制。比如对存储硬件错误的定时检查可以在硬件错误前及时实施数据备份,对服务器负载的监控可以在负载过重时自动实施虚拟机的迁移等
3)为实施变化建立一个一致的、可重复的流程,保证变更控制与法规遵从,为了确保遵守法规和安全运行,数据中心自动化管理方案必须实施强有力的IT变更控制,自动预防、探测和校正非法和/或匆忙的变更,以确保所执行的变更和配置政策符合法规和内部审计要求,消除漏洞,减少风险。此外,IT必须控制安全威胁漏洞并持续地发现和检查变更,以确保配置保持已知和可信任状态,帮助觉察和消除安全性风险。为了改善变更的实施,IT基础设施库(Information Technology Infrastructure Library,ITIL)推荐创立了一个由IT经理和企业或机构领导组成的变更管理委员会(CAB),执行监控、评估和实施IT变更,从而最大限度地缩小风险、扩大变更的收益并且以有条不紊的方式处理所有变更请求。自动化的任务每次都是以相同方式完成,因此,做重复变更的风险就会降低,从而缩短业务服务的总体停机时间。此外,由软件完成的任务可以被清楚地记录到日志文件,简化了审计工作,降低了遵循行规和法规所产生的成本。
4)将ITIL事件管理和问题管理进程连接起来,使数据中心的管理更科学。IT服务管理每个流程都强调周而复始的“计划-实施-检查-更正”,可以利用自动化策略和技术实现支持整个IT流程的生命周期,把数据中心自动化从静态的过程转变成动态的螺旋形发展过程。ITIL最大的亮点之一就是强调IT服务的生命周期管理。ITIL是供组织内部进行IT服务管理的参考经验,汇集了IT服务业内的最佳实践,是指导如何在运维管理中定义人员、流程、服务活动及其之间关系的指导框架。自动化工作流能够借鉴ITIL的思想构建全面的基于ITIL的数据中心运维自动化平台,提高数据中心的自动化管理水平。
5)提高效率,减少开支,降低企业IT成本。数据中心的自动化管理简化了管理和部署流程,大大加快了IT交付的速度,这使IT设备的使用率得到了提高,企业的业务能够在第一时间内得到配置,预处理机制保证了数据中心工作的稳定性,同时,维护人员的数量和培训成本也可以相应减少,这些方面都降低了企业的IT成本。
6)跨部门强制推行标准和合规策略,自动化工作流连接多个模块,多个模块需要协调工作才能实现自动化策略,这需要统一的标准和策略来组织和支持,使得整体的解决方案能够以统一的接口集成,以统一的风格、统一的操作流程交付。
7)提高业务运行的透明度。随着业务需求的变化,数据中心软件可能会有多个版本出现,手工流程的不透明将会给流程定制和优化带来相当大的困难,而自动化流程可以使用户一目了然地看到整个流程各个节点的运转情况,自动化工具潜移默化地提升了业务保障能力。
自动化实施的对象
数据中心的自动化工作流可以实现跨多个模块、多个服务来部署和实施,在当前的数据中心中,可以对计算、网络、存储、安全以及配置等方面实施自动化,例如:
1)软件安装集中管理服务器操作系统介质和安装脚本,批量安装多种操作系统,包括Windows、Linux、Solaris、AIX、ESX等,可实现跨越操作系统的统一服务器管理,为物理、虚拟和公共云基础设施提供统一的支持,其中包括裸机安装、应用程序部署和系统配置的即开即用能力。借助软件打包和OS安装管理功能,IT团队能够实现服务部署任务标准化,提高一致性,缩短供给周期。
2)补丁管理集中管理服务器补丁介质,对当前的补丁列表进行分析,提供需安装的补丁建议,并批量下发补丁。
3)系统配置在各种操作系统批量地、自动化地进行参数调整。
4)自动巡检可自动收集各种软硬件信息并生成报表,包括服务器的制造商、型号、BIOS、板卡、存储、操作系统版本、软件列表、补丁列表、安全设置、网络的型号、模块、版本、启动配置、运行配置等。
5)虚拟机操作可以自动执行虚拟机的创建、配置、删除、迁移等。
6)配置和网络拓扑发现。数据中心自动化可实现自动发现和采集网络设备的配置,比如设备类型、设备型号、硬件信息、操作系统版本、startup config、running config、VLAN等,并能跟踪它们的变化。
7)网络策略配置可自动批量下发路由表和防火墙策略。
8)操作审计可自动记录所有对网络设备的变更,并提供回退机制。
9)巡检和合规检查可通过内置的合规性检查策略,针对CIS、DISA、NSA,对系统、设备等进行自动化的合规检查,并给出检查报告。同时用户也可以定义自己的合规策略。
10)配置自动化一般具有变更检测和配置合规检查的功能。用户可以创建配置基线,利用它对服务器进行比较。配置基线是管理员规定的适用于特定环境的正确配置与设置信息。一台服务器可以有多个配置基线。用户指定配置基线后,就可以利用它来比较服务器之间的区别,并查看比较结果。比较结果将给出每个服务器所安装的组件以及两个服务器之间的区别。
关于变更检测,用户(管理人员)可以创建基准快照,以确定服务器在一段时间内的变更情况。一台服务器只能有一个指定的基准快照。用户指定基准快照之后,可以运行变更检测来查看变更事件的发生情况。变更检测和系统比较都可以生成事件。
通过传统数据中心自动化的技术,我们无需花费宝贵的时间管理物理基础架构或应用程序,从而能够专注于创新和为企业提供价值。
如何实现自动化
数据中心的工作流能够做到自动化部署和执行依赖于Orchestrator架构的各个组件的功能。一个完整的工作流过程如图6-5所示。
1)开发人员通过客户端开发工作流。通常客户端提供了多种编程方式,有基于脚本的命令行,也有可视化的编程平台,而且还提供了模拟器供调试和测试使用。这些都是为了降低开发难度,使开发人员将更多精力专注于业务逻辑的理解和创新。
通常,工作流的设计和开发可以遵循或者参考传统工作流的设计开发方式,包括建模。有关这部分的细节,本书不多赘述。
2)存储工作流逻辑。Orchestrator平台需要有数据库的支持,用于存储设计开发好的工作流及工作流的运行配置,这些工作流可以按照用户自定义的规则分类存储,比如功能、执行方式、工作流优先级等,方便用户查找;开发人员也可以编辑已经存储的工作流,比如修改工作逻辑、修改属性或者删除等。
3)运行工作流。一旦工作流创建完成,就可以通过控制台或者客户端来启动工作流。工作流启动后会产生相应的任务,执行服务器能够通过轮询或者通知机制来感知是否有可以执行的任务需要加载,一旦有任务产生,执行服务器就会加载任务,执行任务。这里要指出一种特殊的情况就是多个工作流并发。执行服务器需要具备并发执行多个工作流的能力,而且为了能够增强系统的稳定性和可用性,可以设置多个执行服务器,多个服务器之间互为备份且支持负载均衡。
工作流的执行可以通过触发机制来启动,触发机制可以理解为一种使被使能的活动进入执行状态的外部条件,可以分为自动触发、人工触发、消息触发、事件触发四种类型。对于自动触发而言,活动使能的同时就被触发,这种机制一般用于那些通过应用程序来自动执行、不需要与人进行交互的自动型活动;人工触发则是通过执行者从工作流任务管理器提供的工作流任务表中选择工作项来进行触发,表中列出了该执行者可以触发(已被使能)的活动实例,当执行者选中某一项去执行时,该活动就被触发;消息触发通过消息(事件)来触发,比如收到E-mail,收到外部的状态信息,收到外部的事件等;时间触发则是控制时间的定时器来触发使能的活动,这对于那些需要在预订的时间或给定时间间隔执行的活动是必不可少的,比如对数据的备份必须在每天晚上12点执行等。在工作流的图形化显示面板中,各种触发方式都有相应的记号显示。