复旦大学:重构高校主机托管虚拟化管理流程
2014-03-17陈霞查德平陈灿华赵泽宇
文/陈霞 查德平 陈灿华 赵泽宇
复旦大学:重构高校主机托管虚拟化管理流程
文/陈霞 查德平 陈灿华 赵泽宇
ITIL理念与应用
ITIL,是英文“信息技术基础架构库”的简称,于上世纪80年代被提出。它为IT服务管理实践提供了一个客观、严谨、可量化的标准和规范。多年来,高校信息化部门一直在探索以ITIL为框架,解决关于管理流程、服务流程的问题。本专题中,复旦大学基于ITIL理念,结合自身的实施经验,提出一套主机托管虚拟化的管理流程;哈尔滨工程大学则尝试以ITIL理念为支撑,探索构建全域背景下的一站式运维服务平台。
高校信息化部门作为学校信息化的建设和服务单位,负责建设和维护专业的校园网数据中心,承担各院系部处的计算机设备托管服务工作。院系部处将计算机设备托管到数据中心,以保障持续稳定、高速、安全地运行。随着虚拟化应用的迅速发展,计算机实体机器的托管正逐渐被虚拟机服务所取代。
虚拟化服务与实体机托管相比有着明显优势。根据笔者所在部门的信息化运行维护经验,多数托管的机器上仅运行少量低运算量的网站,多数时间计算资源处于空闲状态。经过虚拟化后,多台实体机可以合并到一台虚拟化宿主机上,将大大提供计算资源的利用率,节省机器购置成本和电力开销,同时也减少机架占用,提高机房使用效率,延迟机房扩容时间。虚拟化技术极大地推动了托管服务的发展和变革。主机托管实现虚拟化后,为信息化部门的管理服务水平的提高奠定了基础。利用虚拟化软件的编程接口,服务管理平台可以大大提高整个托管流程的自动化水平,提高服务质量和用户体验,推动ITIL在校园信息化服务中的管理和实施。
本文将基于ITIL理念,结合复旦大学的实施经验,提出一套主机托管虚拟化的管理流程,旨在充分利用虚拟化的优点,实现管理流程的规范化,同时提高托管服务的自动化,为业务部门提供方便、快捷、友好、安全的主机托管服务。
服务管理的理论指导
经过多年的实体主机托管的服务实践,以及近年的虚拟化尝试,我们逐渐积累了一些经验。为了使服务水平再上一个台阶,有必要引入一些成熟的理论作为指导和参考,ITIL就是这么一个比较成熟的体系。
图1 ITTL管理流程
ITIL主要包括六大模块,即业务管理、服务管理、ICT基础架构管理、IT服务管理规划与实施、应用管理和安全管理,其中与本文所涉及内容密切相关的是服务管理模块,这也是ITIL的核心模块。服务管理模块包括十个流程和一项职能,分别是属于“服务支持流程组”的事故管理、问题管理、配置管理、变更管理和发布管理;以及属于“服务提供流程组”的服务级别管理、IT服务财务管理、能力管理、IT服务持续性管理和可用性管理。ITIL理论论述不是本文的重点,读者可参考相关文献。本文将主机托管虚拟化的服务管理主要切分为几大方面:服务台、配置管理、发布管理、事故管理、问题管理、变更管理、服务级别管理等,并一一论述其具体设计和经验积累。
虚拟机服务管理的设计
ITIL模型几大模块相辅相成,如图1所示。
业务部门的业务请求(包括问题反映、业务咨询、业务申请、变更、发布等等)通过服务台模块与信息化部门联系提出,服务台对用户请求进行受理。服务台对业务判断分类后,切入不同的流程模块:与资源配置相关的进入配置管理模块;与资源发布相关的进入发布管理模块;与业务故障事故相关的进入事故管理模块;与日常问题分析与报告相关的进入问题管理模块;与业务变更相关的进入变更管理模块。而上述五个管理模块都以所谓配置管理数据库(CMDB)作为后台和基础库。
业务部门与信息化部门的唯一接口是服务台,服务台以下是信息化部门的内部模块。服务台可以是人工服务窗口,也可以是电子化的服务系统平台。服务部门内部分几个方面:配置管理、发布管理、事故管理、问题管理、变更管理。整个服务管理的理论与实践即以这个框架图景为思考的基础,这是一个整体的视角,有利于促进服务管理的规范化,使之趋于完备、严谨、条理化和可量化,同时也是自动化服务管理平台的架构基础。
服务台
服务台是业务部门和用户的虚拟化服务入口。可依托现有的IT服务台或者服务管理平台。这个服务入口是用户申请服务、反映问题、请求帮助的通道。在复旦大学,我们以运行中心服务台作为用户的线下服务中心,同时以Eservice服务管理平台系统作为发挥服务自动化功能的在线服务台。
人工服务台的主要职能包括受理用户的申请、变更和故障保修等业务,定期调研和收集用户意见,总结业务数据和知识库。
图2 服务台审核用户申请
理想的电子化服务平台应该成为用户与服务部门的主要接口。用户可以通过在线平台提交申请、反映故障问题。以前在实体机托管时代,这一接口的自动化水平较低。而采用虚拟化技术后,借助虚拟化软件的API,平台系统完全可以实现自动审核用户申请、自动分配资源、自动创建虚拟机、自动通知用户。这对于用户的体验无疑是一个很大的飞跃。
如图2所示,这是一个服务台最基本的审核用户申请。这个流程既可以是人工服务台的人工处理流程,同时也可以是自动化平台的自动处理流程。这是本文设计的一个特点,尽量使得流程同时适应人工和自动化情景,因为一方面自动化平台的开发不能立即完成(对于部分自主开发人力资源有限的部门来讲甚至是不可能完成的事情),另一方面也算是一种服务管理的冗余保障。
配置管理
虚拟机的特点就是机器的各种硬件资源由软件定义,核心是其配置信息,这正好切合ITIL的“配置管理”模块,如果能结合虚拟化软件的编程接口,那这个模块的运行将更加顺畅,而且与下文的“事故管理”、“问题管理”、“变更管理”等模块的结合将实现自动化和规范化。因此配置管理模块的流程设计如图3所示。管理员在网络环境下登录“服务器托管管理系统”填写申请,其中特别包括系统需求(CPU、内存、硬盘、预装系统、网络、防火墙)、用途、事由等相关内容。数据中心管理员在接收到系统发过来的审批邮件后,对申请进行审核,审核通过后系统将针对用户的需求分配虚拟机。首先系统会到虚拟机模板库中搜索是否有可以套用的模板,如果有相关模板,则直接将模板克隆成虚拟机实例;如果未找到合适的模板可以套用,则根据用户的申请可创建虚拟机,最后将模板自动保存到模板库中。虚拟机配置完毕,系统发通知邮件给数据中心管理员,管理员审核通过并为虚拟机配置IP地址。
图3“配置管理”模块的服务流程
图4 发布管理模块
以上是人工流程,同时如果借助虚拟化软件的API,整个申请流程在“托管服务器管理系统”中自动完成,大大提高自动化水平,减少管理员往返于各部门签字、盖章的繁琐,这样的流程既便捷又高效。这也体现了虚拟化相对主机托管的优势。
当然这里有必要提出,如果配置管理实现自动化,那么用户申请的自动化审核就非常重要,务必保障用户申请的资源在允许的配额以内。在实践中,我们发现保险稳妥的做法是多创建几个模版,而用户只能选择其中之一。
发布管理
发布管理指的是用户得到虚拟机并部署其软件之后,准备发布上线的一个管理流程。发布管理主要为了保障系统的安全性,需要进行上线前的一系列检查方允许对外发布。因此引入发布管理模块。虚拟机的发布流程设计如图4所示。
在虚拟机管理中发布管理体现在对虚拟机安全漏洞的检测,具体流程是:新虚拟机上线前,系统管理员需要在“服务器托管管理系统”填写上线申请,数据中心管理员在收到审核邮件后会对该虚拟机进行第一次漏洞扫描,针对托管服务的类型,我们目前常用的漏洞扫描软件是铱迅漏洞扫描系统,该扫描报告通过图表的方式直观地列出风险等级分布(高风险、中风险、低风险)、风险类型分布;并在后面详述每个风险的名称、风险描述及解决办法。这样的扫描报告简洁、清晰、易懂,方便管理员的查看和维护。针对扫描报告的评估结果,系统会做出判断该服务器是否符合上线要求。虚拟机管理员通过登录“服务器托管管理系统”查看相关扫描报告,查询扫描结果,对诊断为高风险的服务器需要对漏洞进行修补后重新申请上线。
图5 事故管理模块流程
对已经上线的虚拟服务器启动日常漏洞扫描服务,每天定时对服务器进行漏洞扫描,观察服务器的运行状况,发现高风险的服务器发出警告,触发邮件通知。虚拟机管理员在收到邮件通知后需要在一周内对出现的问题及时进行处理,对逾期未处理的服务器,数据中心管理员对该服务器进行隔离处理,仅对个别有权限的管理者或网段开放管理权限。对已经按要求处理过的高风险服务器,管理员提交上线申请,扫描、审核通过后方可重新上线。
事故管理
在虚拟机的管理中,当用户发现虚拟机故障而无法正常使用时,他会通过服务台(人工或电子平台)提交事故报告申请,服务台根据问题的性质判断是由数据中心管理员处理还是由用户自行处理。具体流程如图5所示。
事故管理模块流程的核心在于判断并选择事故处理者,这是快速处理问题的关键。当然对事故的跟踪、总结也是这一个模块的一个重要功能,将有助于了解用户满意度,积累业务知识库。
问题管理
理论上,问题管理模块是对服务系统中可能存在的问题进行主动发现、分析和总结,以便形成经验积累。在我们设计中,将重点放在该项服务的重心:即安全性。数据中心管理员对虚拟机的定期扫描就是问题管理的一个应用,通过漏洞扫描发现网站的漏洞和问题,然后联系系统管理员或数据中心超级管理员完成这个漏洞的修补,做好安全防护工作。借助自动任务脚本,可以将这一个流程自动化,而数据中心管理员则把主要工作放在分析一段时间内的安全报告,及时发现问题,采取处置措施。
变更管理
当系统管理员需要变更虚拟机的配置时,首先需要在服务平台上填写变更申请,数据中心管理员在收到用户的申请后对其需求进行审批,根据现有的资源及需求的合理性决定是否变更,审批通过,通知管理员将会停机操作,待重新开启后通知管理员已变更成功。管理流程如图6所示。
服务级别管理
图6 变更管理模块流程
服务级别管理包括服务协议的草拟、发布、更改到版本管理,在制定协议条款的过程中,要考虑到有限责任、风险规避及数据保护等问题。我们根据服务台的反馈,在虚拟机的管理流程中会不断的完善与用户协议及条款,做到安全有效、责任明晰。
持续性管理和可用性管理
IT服务持续性管理是指确保发生灾难后有足够的技术、财务和管理资源来确保IT服务持续性的管理流程。我们在管理中采用灾备的方法和多机热备的方法对虚拟机进行备份管理。
结论与思考
由于采用虚拟化,并借鉴ITIL理论,我们可以较大提高主机托管这一传统业务的规范化和自动化水平,有力响应多年来业务部门不断提高的服务要求。借助虚拟化,我们完全可以实现所有业务的在线处理,逐渐实现高校的基础架构云服务(IaaS)。
接下来我们可以预期在完善本文设计的基础上,充分调研高校各业务部门的需求,逐渐推出类似于商业领域的平台云服务(PaaS)以及软件云服务(SaaS)等。这将使得高校信息化部门与各业务部门关系更加紧密,高校信息化投资更加集中和有效,也大幅提高业务部门的信息化技术和管理水平。
(作者单位为复旦大学信息化办公室)