随着数据中心的建设规模不断扩大,新技术层出不穷,数据中心变得越来越复杂。数据中心往往是由很多规模庞大的集群系统组成的,运维工作需要具备方方面面的知识,包括硬件上,业务上的东西,需要上下打通地去做运维工作。因为很多数据中心的规模非常大,面临的挑战和问题非常超前,很多不是问题的问题在这样的规模下也就凸显出来了,所以要做好大型数据中心的运维工作,对整个数据中心技术的系统的学习就要花费比较长的时间,只有对这个数据中心整体非常了解,才能有针对性地制定一些运维方案,甚至可以二次开发一些监控软件,对整个数据中心进行管理与监控,提升整个数据中心的运行效率,减少故障的发生,从而将运维工作推向新的高度。一个大型的数据中心内部包含了很多小系统,运维工作都是围绕着这些具体的应用系统展开的,具体的可以分为五大部分,三十多个小项,覆盖了数据中心的所有组成部分,本文就来说一说一般大型的数据中心应该具备的哪些运维方法。
从数据中心安全方面来考虑,运维工作就是十几个小项:攻击保护、固件管理、备份、抓BUG/找BUG、脚本工具、自动化维修、数据安全、性能优化、服务巡检等项目,其中每一项拿出来其实都包含很多的内容。比如说到攻击与保护,这个主要指的是防止外来的异常入侵者对数据中心发起的恶意和无意攻击,恶意攻击就是有人故意的使用各种攻击方法,进入到数据中心内部,将重要的数据窃取或者破坏,达到其不可告人的目的。也有的是无意的攻击,因为整个数据中心是要与外界保持互联互通的,运行是动态的,变化的,不可避免会有一些异常流量攻击数据中心,有时甚至来自于数据中心内部,比如某些服务器中毒,或者硬件故障,构造出了环路,异常流量等网络故障,这些都会影响到数据中心的运行,所以如何做好数据中心的攻击与保护是一个很大的题目,这并不是在数据中心里部署几台安全设备就能解决的,需要对整个数据中心进行全面的统一规划,并有针对性地部署一些安全防护措施,而且随着各种黑客技术的提升,安全防护措施也要不断提升,这是一个不断学习与完善的过程,只要数据中心还在运行,这个完善就不会停止。为了方便运维,也要做好一些执行脚本,以便在出现突发事件时,能够快速部署。比如如果一个数据中心的业务出现异常,为了快速恢复业务,需要将路由进行调整,将流量全部引到其它的数据中心,这就需要在核心路由器上进行调整,这时有个现成的脚本就可以自动执行,达到快速切换的目的。数据中心还应该准备很多其它工作的脚本,以便紧急的时候快速使用。
从数据中心的基础运维管理方面考虑,则主要有网络抓包/过滤、可维护性优化、配置管理、监控、报警处理、自动化运维、断网,断电、机房容灾等运维工作。其中自动化运维能提升运维的工作效率,尽量减少人为的参与,让数据中心自己管理自己,释放人力。同时针对数据中心可能发生的故障还做好监控与报警处理,以便能够在故障发生的第一时间知晓问题,往往一次大的故障都是从开始的一点小故障逐渐扩展最终引发整个大系统的崩溃的,所以在出现一些小的异常时一定要及时消除,而这些异常就要靠完善的监控和报警系统来检测。
从数据中心的日常业务运维方面考虑,则主要有资源、机器分配、Coredump、服务、内存使用、网络吞吐、故障恢复、应用,集群搭建、流量,压力,扩容,升级、上下级业务关联情况、资源利用率、异常处理、降级预案等等。这些日常运维工作实际上要花费大量的人力和时间,是运维工作的主体,也最烦琐,但却最不能体现业绩的部分。一个数据中心能够长久安全稳定运行,就是靠这些日常的工作积累的,只有平时注意这些细微的变化,才能不断优化。压力测试、软件升级、业务部署、异常处理等几乎成为了运维工作的日常必修课,只有将这些工作做好,才能避免出现大的故障,并能够快速部署新的业务,新的扩容设备。
从数据中心网络方面考虑,则主要有网络硬件设备、ACL、VIP、流量、负载均衡、二三四七层情况、网络监控、万兆板卡、SAS/SATA/SSD等。网络是数据中心的重要组成部分,是一切工作运行的基本,没有网络数据中心就无法运转起来,所以保证网络稳定是数据中心运维工作中的重中之重。这里主要关注的就是网络的硬件问题,ACL部署还有流量情况。网络可以说是包罗万象,涉及太多的设备和协议技术,所以也需要不断地学习,加深对网络技术的理解,这样才能做好网络运维工作。
从数据中心服务器方面考虑,则主要有文件系统、内核参数调优、各种硬盘驱动、内核版本、Kernel panic等。Linux系统不仅在服务器,在网络操作系统也占据着主流地位,掌握Linux系统的使用才能更好地处理服务器和网络设备的运维工作,Linux是运维工作的一项基本技能。除了熟悉Linux系统的操作,还要对服务器的运行状态和内核运行状态进行监控与管理,减少服务器故障的发生。一般大型的数据中心都包含有成千上万台的服务器,几乎每天都会有服务器出现各种各样的问题,只有对服务器有深入理解才能很好地消除问题。为了防止服务器故障引发业务中断,所以一般在服务器上都要部署虚拟化技术或者集群技术,当一台服务器物理硬件故障时,业务可以平滑切换到其它服务器上,业务不会受到任何影响。这些虚拟化技术增加了运维的难度,也需要对虚拟化技术进行不断学习。
通过上面的罗列您一定很惊讶,原来数据中心运维包含这么多内容,大大小小数十项,而且每一项包含的内容说起来都不那么简单,也涉及很多的技术知识。一个数据中心能否稳定运行,能够高效运行,运维是关键。只有将这些运维工作很好地部署和执行下去,数据中心才能长期稳定。