• 快捷搜索
  • 全站搜索

服务器虚拟化平台自动化运维管理实践

2016-04-05 15:32:15作者:中国农业银行股份有限公司数据中心 邵大年 王晓华编辑:金融咨询网
大型数据中心虚拟资源池环境对于IT运维人员的日常维护工作带来了巨大挑战。通过对VM ware相关技术的研究并进行二次开发相应管理工具,可以有效解决问题,提升运维管理的自动化集中程度。本文以农业银行数据中心为例,探讨服务器虚拟化自动化集中运维管理方法的思路和实践。

大型数据中心虚拟资源池环境对于IT运维人员的日常维护工作带来了巨大挑战,以传统思路进行的手工化管理模式已经无法满足目前对于自动化集中运维管理的要求,需要寻找一套更加高效、快速、安全的技术方案。

        传统服务器虚拟化运维管理思路基本上是使用虚拟化软件产品的客户端,通过客户端上进行的GUI操作来实现基本运维。尽管基本操作直观简便,但是对于目前规模日益增长的虚拟池来说,传统运维管理模式需要运维人员大量重复手工操作,存在着人员时间成本较高、存在误操作风险、操作记录难以追溯等问题;而通过对VM ware相关技术的研究并进行二次开发相应管理工具,可以有效解决上述问题,提升运维管理的自动化集中程度。下面以农业银行数据中心为例,探讨服务器虚拟化自动化集中运维管理方法的思路和实践。

一、服务器虚拟化自动化集中管理原理介绍

        通过对VMware vSphere APIs、vSphere PowerCLI、Onyx等相关工具及技术的研究,优化了对于大型虚拟资源池的管理机制:通过vSphere PowerCLI脚本化管理方案,缩短了虚拟资源池及虚拟机项目投产部署的时间周期,确保了虚拟资源池集群环境下配置的一致性;相比传统模式减少了运维人员的手工操作,避免了因大量重复手工维护可能带来的误操作;除此之外,可以根据实际运维需求进行脚本定制化开发,对虚拟资源池的实际资源使用情况生成对应报表,提高了数据中心对于服务器虚拟化平台的自动化集中运维管理能力。

        1.vSphere PowerCLI介绍及应用

        vSphere PowerCLI是一款基于C#和Microsoft Powershell接口的VMware vSphere API命令行工具,可以使用PowerCLI自动执行vSphere各方面管理,包括宿主机、网络、存储、虚拟机、客户操作系统等。

        PowerCLI集成了200多个Cmdlet,通过这些Cmdlet可以将运维人员的日常操作脚本化,例如连接到vCenter Server(Connect—VIserver)、创建虚拟机(New—VM)、创建虚拟端口组(New—VirtualPortGroup)等;也可以通过这些Cmdlet来查看配置信息,例如检查宿主机NTP配置情况(Get—VMHostNtpServer)、查询宿主机HBA卡WWN信息(Get—VMHostHba)等;通过vSphere C1ient GUI界面所进行的日常操作中80%均可以通过PowerCLI所提供的Cmdlet来实现。

        2.vSphere API及Onyx脚本生成工具

        尽管PowerCLI Cmdlet可以覆盖大部分的vSphere GUI操作,但是部分操作没有对应的Cmdlet。在这种情况下,可以通过调用VMware vSphere API来实现所有vsphere管理组件的自动化操作。无论是传统的VMware vSphere C1ient GUI操作还是vSphere PowerCLI,或者其他管理工具例如vSphere web Services SDK、vSphere SDK for Perl、vSphere vCLI等,均为调用底层vSphere API实现的对外接口。

        相对于vSphere PowerCLI,vSphere API的开发复杂程度大大增加。基于这个问题,可以使用Project Onyx来进行半自动化vsphere API脚本的开发工作,从而提高开发效率,降低Bug概率。

        Project Onyx为一个代理独立工具,可以监测vSphere Client上进行的GUI操作,并转化为对应的vSphere API代码。运维人员可以部分调整或者直接调用生成的代码在PowerCLI控制台下运行来达到对应的系统维护工作,相应流程如图1所示。

服务器虚拟化平台自动化集中运维管理工具实现-图一.jpg

二、自动化集中运维管理工具实现

        通过对VMware提供的相关技术的研究,通过二次开发实现了以下三种自动化集中运维工具,目前已经在实际生产环境下使用。

        1.一键式虚拟机自动部署服务工具

        某项目投产需要超过100台虚拟机。按照传统模式,需要运维人员在vSphere Client上重复进行100遍虚拟机克隆操作,完成后还需要对每台虚拟机配置虚拟端口组,配置GuestOS IP地址等,部署时间周期较长。

        通过PowerCLI Cmdlet,将部署虚拟机所需要的配置信息(新虚拟机名称、模版名称、宿主机位置、所在文件夹、虚拟端口组等)录入到配置文件中,PowerCLI脚本顺序读取配置文件中每一条记录,将相应参数读取后异步创建New—VM任务,并自动顺序完成后续的配置任务,具体流程如图2所示。

服务器虚拟化平台自动化集中运维管理工具实现-图二.jpg

        通过上述脚本工具,运维人员仅需要事先完成虚拟机配置文件的编辑工作,通过创建定时任务自动运行脚本即可实现一键式虚拟机自动部署服务;通过自动化脚本部署的虚拟机可以立即投产使用。

        2.虚拟资源池容量统计报表生成工具

        对于大型数据中心来说,全面了解虚拟资源池CPU、内存、存储资源总数、已使用资源数及剩余资源数等信息并非轻而易举的工作,尤其是在实际生产环境中包含多套vCenter Server环境且ESXi版本不一致的情况,往往需要管理员花费较多时间和精力进行手工统计;而对于资源总量、使用现状及剩余资源的信息统计,对于资源组进行资源评估、扩容等规划工作是必不可少的。综合以上需求,使用PowerCLI实现虚拟资源池定制化周报采集脚本开发,通过自动调度任务在每周固定时间采集虚拟资源池相应信息并生成定制化报表,其中包括资源池综合视图、虚拟机项目视图、虚拟机性能视图、数据存储视图、宿主机资源使用视图及虚拟机备份结果视图,具体报表内容如图3所示。

服务器虚拟化平台自动化集中运维管理工具实现-图三.jpg

        运维人员可以通过每周自动生成的定制化报表,更好地了解当前虚拟资源池的整体及细节资源使用情况并针对性地做出资源调整。

        3.宿主机配置标准化管理工具

        在完成ESXi系统安装以后,对每一台宿主机都有大量的标准化配置需要进行设置,且对于同一个集群环境要求所有集群成员的标准化配置保持一致,否则可能给生产安全带来潜在风险隐患。

        可以使用自动化集中管理方式来完成宿主机配置信息的统一设置;由于部分参数设置(例如虚拟交换网卡的安全性设置)未包含在PowerCLI所带的Cmdlet中,可以调用vSphere API来实现对应功能;为了增加开发效率,可以直接通过Project Onyx来自动生成的vSphere API脚本来完成对应的功能,相应流程如图4所示。

服务器虚拟化平台自动化集中运维管理工具实现-图四.jpg

        目前该管理工具已经应用到了实际生产环境中,在通过PXE完成ESXi系统的安装完以后,可以自动实现宿主机的安全性设置、时钟同步设置、命名规范性设置、服务器自动启动设置等一系列琐碎配置,提升了运维管理的效率和自动化程度。

三、自动化集中运维管理工具展望

        目前,通过自动化集中运维工具来提升虚拟资源池运维效率的管理方式已经逐步在农业银行数据中心开放平台启用并逐步取代原有传统管理模式。除了在本文中简述的三个具体运维案例之外,也根据实际的运维需求进行了其他自动化运维工具的开发和应用。

        除此之外,综合各个独立的自动化运维工具以及IT服务管理平台,遵从ISO2700l以及ITIL对于银行IT流程管理及风险管理的要求,可以逐步打造一个结合流程管理、安全审计、资源管理和自动化部署的统一私有云管理平台。通过该云管理平台,数据中心可以更加高效地对服务器资源进行资源管理回收、性能监控评估,问题分析排查,全面提升对于虚拟资源池的管控能力,从而向数据中心私有云化的发展趋势更进一步。

(文章来源:《中国金融电脑》杂志)

扫码即可手机
阅读转发此文

本文评论

相关文章