什么叫数据中心?维基百科给出的定义是“数据中心是一整套复杂的设施。它不仅仅包括计算机系统和其它与之配套的设备(例如通信和存储系统),还包含冗余的数据通信连接、环境控制设备、监控设备以及各种安全装置”。在云大行其道的今天,随着数据中心建设规模的不断扩大,新技术的层出不穷,数据中心变得越来越复杂。大型数据中心往往是由很多规模庞大的集群系统组成,其运维工作需要具备方方面面的知识,包括硬件、网络、服务器、存储、安全以及业务上的东西,需要上下打通地去做运维工作。
当一个数据中心的规模非常大,面临的挑战和问题也比较超前,很多在小环境小体系下不是问题的问题在这样的规模下也就凸显出来了,所以要做好大型数据中心的运维工作,对整个数据中心技术体系的系统学习就要花费比较长的时间,只有对这个数据中心整体非常了解,才能有针对性地制定一些运维方案,甚至可以二次开发一些监控运维软件,对整个数据中心进行有效管理与监控,提升整个数据中心的运行效率、减少故障的发生,从而将运维工作推向新的高度。一个大型的数据中心内部往往都包含了很多小系统,运维工作都是围绕着这些具体的应用系统展开的,具体的可以分为基础运维管理、日常业务运维、网络、服务器、存储、安全六大部分,本文就来说一说一般大型的数据中心应该具备的哪些运维方法和能力。
首先从数据中心的基础运维管理方面来说,则主要有硬件配置管理、可维护性优化、监控、报警处理、自动化运维、断网,断电、机房容灾等运维工作。硬件配置管理包含机柜里每台服务器的型号和硬件配置,并清楚是哪些业务系统在使用这些服务器。即便是虚拟化运行环境,也需要知道这些虚机都在哪些物理机组成的资源池中流动。数据中心物理机和虚机数量都很庞大,使用自动化运维是非常有必要的。自动化运维不仅能提升运维的工作效率,还可以减少人为的参与,同时让数据中心自己管理自己,释放人力。并对数据中心可能发生的故障还做好监控与报警处理,以便能够在故障发生的第一时间知晓问题,往往一次大的故障都是从开始的一点小故障逐渐扩展最终引发整个大系统的崩溃的,所以在出现一些小的异常时一定要及时消除,而这些异常就要靠完善的监控和报警系统来检测。
从数据中心的日常业务运维方面考虑,则主要有资源、机器分配、资源使用、网络吞吐、故障恢复、备份应用,集群搭建、流量,压力,迁移扩容,升级、上下级业务关联情况、资源利用率、异常处理、应急预案等等。这些日常运维工作实际上要花费大量的人力和时间,是运维工作的主体,也最烦琐,但却最不能体现业绩的部分。一个数据中心能够长久安全稳定运行,就是靠这些日常的工作积累,只有平时注意这些细微的变化,才能不断优化。压力测试、软件升级、业务部署、异常处理等几乎成为了运维工作的日常必修课,只有将这些工作做好,才能避免出现大的故障,并能够快速部署新的业务,根据资源使用情况及时扩容设备。
从数据中心网络方面考虑,则主要有网络硬件设备、ACL、OSPF、LACP、VIP、流量、负载均衡、二三四七层情况、网络监控、万兆板卡、核心交换等。网络是数据中心的重要组成部分,是一切工作运行的基本保证,没有网络数据中心就无法运转起来,所以保证网络稳定是数据中心运维工作中的重中之重。这里主要关注的就是网络的硬件问题,ACL部署还有流量监控情况。网络可以说是包罗万象,涉及太多的设备和协议技术,所以也需要不断地学习,加深对网络技术的理解,这样才能做好网络运维工作。
从数据中心服务器方面考虑,则主要有文件系统、内核参数调优、各种硬盘驱动、内核版本、Kernel panic等。Linux系统不仅在服务器,在网络操作系统也占据着主流地位,掌握Linux系统的使用才能更好地处理服务器和网络设备的运维工作,Linux是运维工作的一项基本技能。除了熟悉Linux系统的操作,还要对服务器的运行状态和内核运行状态进行监控与管理,减少服务器故障的发生。一般大型的数据中心都包含有成千上万台的服务器,几乎每天都会有服务器出现各种各样的问题,只有对服务器有深入理解才能很好地消除问题。为了防止服务器故障引发业务中断,所以一般在服务器上都要部署虚拟化技术或者集群技术,当一台服务器物理硬件故障时,业务可以平滑切换到其它服务器上,业务不会受到任何影响。这些虚拟化技术增加了运维的难度,也需要对虚拟化技术进行不断深入学习。
从数据中心存储方面考虑,架构更加多样和复杂化。在云计算、虚拟化、大数据等相关技术进入数据中心后,存储已经发生了巨大的改变,块存储、文件存储、对象存储支撑起多种数据类型的读取;集中式存储已经不再是数据中心的主流存储架构,海量数据的存储访问,需要扩展性、伸缩性极强的分布式存储架构来实现。在大规模系统支撑上,分布式文件系统、分布式对象存储等技术,为存储的各种应用提供了高度可伸缩、可扩展和极大的弹性支撑和强大的数据访问性能,并且因为这些分布式技术对标准化硬件的支持,使得大规模数据中心存储得以低成本的建设和运维。当然分布式存储不是要取代现有的盘阵,而是为了应付高速成长的数据量与带宽而产生的新形态存储系统。另外就是软件定义存储,它代表了一种趋势,即存储架构中软件和硬件的分离,也就是数据层和控制层的分离。对于数据中心用户而言,通过软件来实现对存储资源的管理和调度,实现存储资源的虚拟化 、抽象化、自动化,能够完整的实现数据中心存储系统的部署、管理、监控、调整等多个要求,使得存储系统具备灵活、自由和高可用等特点。企业及互联网数据以每年50%的速率在增长,新增数据中结构化数据总量有限,多数为非结构化、半结构化数据,数据中心存储架构随着业务发展也需要极强的弹性适应能力,低成本、海量扩展、高并发性能是面向大型云数据中心运营存储架构的基本技术属性。如何进行数量庞大且杂乱无章的数据存储与深度应用处理,并迅速提取有价值的信息,形成商业决策将成为各类型企业生存基础,也是今后存储以及围绕存储架构不断衍生的业务发展方向。
最后从数据中心安全方面来考虑,安全就是十几个小项:攻击保护、升级备份、抓BUG/找BUG、脚本工具、数据安全、服务巡检等项目,其中每一项拿出来其实都包含很多的内容。比如说到攻击与保护,这个主要指的是防止外来的异常入侵者对数据中心发起的恶意和无意攻击,恶意攻击就是有人故意的使用各种攻击方法,进入到数据中心内部,将重要的数据窃取或者破坏,达到其不可告人的目的。也有的是无意的攻击,因为整个数据中心是要与外界保持互联互通的,运行是动态的,变化的,不可避免会有一些异常流量攻击数据中心,有时甚至来自于数据中心内部,比如某些服务器中毒,或者硬件故障,构造出了环路,异常流量等网络故障,这些都会影响到数据中心的运行,所以如何做好数据中心的攻击与保护是一个很大的题目,这并不是在数据中心里部署几台安全设备就能解决的,需要对整个数据中心进行全面的统一规划,并有针对性地部署一些安全防护措施,而且随着各种黑客技术的提升,安全防护措施也要不断提升,这是一个不断学习与完善的过程,只要数据中心还在运行,这个完善就不会停止。为了方便运维,也要做好一些执行脚本,以便在出现突发事件时,能够快速处理问题。比如一个数据中心的业务出现异常,为了快速恢复业务,需要将路由进行调整,将流量全部引到其它的数据中心,这就需要在核心路由器上进行调整,这时有个现成的脚本就可以自动执行,达到快速切换的目的。数据中心还应该准备很多其它工作的脚本,以便紧急的时候快速使用。
通过上面的分析您一定很惊讶,原来数据中心运维包含这么多内容,大大小小数十项,而且每一项包含的内容说起来都不那么简单,也涉及很多的技术知识。一个数据中心能否稳定运行,能够高效运行,运维是关键。只有将这些运维工作很好地部署和执行下去,数据中心才能长期稳定。