数据中心要正常运转,离不开大量的运维工作。运维的工作需要很多专业技术人才,要做好数据中心的运维需要掌握多学科、多门类的专业技能,运维的工作不强调人才对一门技术有多专、有深度,但要有广度。出于成本的考虑,数据中心不可能聘入所有专业知识领域的人才,需要的是通用人才。如何才能成为一名优秀的数据中心运维专家呢?本文就来说一说运维工作所需的知识体系架构,根据这个知识体系架构,对自己弱势的部分有针对性地学习,很快就能成为一名数据中心运维专家。
数据中心运维知识可以分为三大部分:运维技术、测试和开发和运维管理体系。先来说一说运维技术,这里边包含的技术非常广泛,按照网络层的设计可以将运维技术再分为几大部分内容。首先是客户端,包括DNS地址解析,浏览器的使用,安全策略。这部分需要掌握一些浏览器技术,知晓如何提高浏览器并发数、避免静态资源在Cookie上传;当域名解析不出来的时候,知道如何分析,确认是否是客户端的问题;其次是外部层,包括第三方CDN,云计算和外包等,CDN这种网络优化技术在数据中心应用层使用非常普及,还有云计算的基础知识要掌握,尤其是与各种外包服务交流沟通的技巧,就算自己不了解的技术也可以通过外包找到答案,善于利用这些求助对象;第三是集群技术,包括负载均衡、集群管理。掌握四层和七层的负载均衡技术,开源的LVS(IP负载均衡),商业的F5都是很好的集群技术,应该去了解学习一下,这也是优化网络流量的重要手段之一;第四是应用服务层,包括Web应用,数据层,文件存储,分布式层等。这部分与应用关系密切,业务是否正常在这方面会有很多表现,往往数据中心出现故障,第一时间就是在应用层面上表现出来,掌握这部分的一些技术,有助于快速查找问题根源。像一些业务监控接口的设计、流量分析技术、服务和安全监控手段都需要认真掌握;第五是网络层,包括从接入到汇聚、核心的所有网络技术,主要有网关设备、防火墙、路由器、IPsec VPN、三层交换、二层交换等,网络技术是数据中心里三大技术之一,是实现所有设备互联互通的基础技术,必须要认真掌握,每个数据中心别的工程师可以不用配置,但是网络工程师必须配备。除了要掌握各种网络技术,还要懂得如何监控网络,掌握各种监控软件的使用方法,利用软件实现对网络的自动监控。第六是基础服务类,包括各种管理平台:日志收集平台、自动化部署平台、Job管理平台、项目管理、电子邮件、DHCP等等,这些技术可以通过各种监控软件来完成,所以掌握这些Zabbix、Kerberos等管理软件是非常有必要的,可以利用这些软件对数据中心进行管理;第七是操作系统层,数据中心里由大量的服务器组成,这些服务器大部分是Linux的操作系统,要掌握这些系统常用的操作,这样才能完成各种应用业务部署,并可以在出现问题的时候查看服务器的运行状态;第八是基础设施层,主要是设备的上下架,IDC的托管,这里要做好对网络配置、设备标注、资产录入、操作系统安装、机房巡检等运维工作,这部分工作虽然技术含量不高,但是却是数据复杂的,容易出错,需要工作的时候认真仔细才行,这部分的数据准确性直接决定了未来运维工作的有效性,尤其是在发生故障时,如果这些基础数据是错误的,排查起来就非常慢,甚至是错误的。
运维的工作也包括测试和开发部分。数据中心经常要针对某种业务或者是网络进行性能测试、故障模拟测试、新业务开展测试等,要掌握一些常见的测试方法,并在测试时设计好测试方案,尤其要避免对数据中心正在运行的业务造成影响。运维的工作有时也需要自己做软件开发,主要是一些管理软件,可提升运维效率,减少复杂重复的人力。有很多大型数据中心都是自己开发运维软件,对整个数据中心进行自动化管理,这种可以按照自己的管理风格和喜好进行设计,方便做后期的运维。测试和开发也是运维工作的重要部分,掌握一些常用的开发软件和测试方法非常必要。
运维的工作也需要管理,掌握一些管理体系:ITSM、ITIL、IT Service CMM等等,有效提升数据中心运维的管理水平,有些数据中心聘请了一些职业经理人进行管理,其实这些人并不了解数据中心里的各种技术,但是他们会管理,可以将运维的管理做得很好,这样同样可以提升数据中心运维水平,而且这种提升是质的提升,远大于单纯地掌握专业技能的人所做的贡献。对数据中心进行管理也是一种艺术,做好了更能体现出数据中心的运维水平。
以上简单罗列了数据中心运维所需的各种技术,一个人全部掌握起来难度不小。在大型的数据中心里运维人员也被分成网络、服务器、应用、监控等几个部分,每部分的人主要掌握其负责的这部分技术。在小型数据中心就没有那么细分了,一个数据中心可能就一两人在维护,所有涉及的技能问题都要处理,这时就需要掌握知识的广度。要想在数据中心运维领域成为专家,必须要掌握以上介绍的这三方面技能,缺一不可,至少遇到问题得到知道是哪个方面的问题,自己搞不定还可以寻求专家,就怕遇到问题连这个问题是什么都说不清楚。所以,掌握运维知识体系架构就可以将问题搞清楚,就算自己搞不定,也可以说清楚,然而自己去找求资源,找到问题答案。