什么叫数据中心?维基百科给出的定义是“数据中心是一整套复杂的设施。它不仅仅包括计算机系统和其它与之配套的设备(例如通信和存储系统),还包含冗余的数据通信连接、环境控制设备、监控设备以及各种安全装置”。在云大行其道的今天,随着数据中心建设规模的不断扩大,新技术的层出不穷,数据中心变得越来越复杂。大型数据中心往往是由很多功能不一的单元系统组成,其运维工作需要具备方方面面的知识,包括硬件、网络、服务器、存储、安全以及业务上的东西,需要一体化联动地去做好运维工作。
当一个数据中心的规模非常大,其面临的技术挑战和问题也会比较多,很多在小环境小体系下不是问题的问题在这样的规模下也就凸显出来了,所以要做好大型数据中心的运维工作,对整个数据中心方方面面涉及到的技术体系都要花费较长时间来进行系统学习,只有对这个数据中心整体非常了解,才能有针对性地制定一些运维方案,自己结合特定需求进行开发一些监控运维软件,对整个数据中心进行高效管理与监控,提升整个数据中心的运行效率、减少故障的发生,从而将运维工作不断推向新的高度。
一个大型的数据中心内部往往都包含了很多小系统,运维工作都是围绕着这些具体的应用系统展开的,具体的可以分为基础运维管理、日常业务运维、网络、服务器、存储、安全六大部分,本文就来说一说一般大型的数据中心应该具备的哪些运维方法和能力。
首先从数据中心的基础运维管理方面来说,则主要有硬件配置管理、可维护性优化、监控、报警处理、自动化运维、断网,断电、机房容灾等运维工作。硬件配置管理包含机柜里每台服务器的型号和硬件配置,并清楚是哪些业务系统在使用这些服务器。即便是虚拟化运行环境,也需要知道这些虚机都在哪些物理机组成的资源池中流动。数据中心物理机和虚机数量都很庞大,使用自动化运维是非常有必要的。自动化运维不仅能提升运维的工作效率,还可以减少人为的参与,同时让数据中心自己管理自己,释放人力。并对数据中心可能发生的故障还做好监控与报警处理,以便能够在故障发生的第一时间知晓问题,往往一次大的故障都是从开始的一点小故障逐渐扩展最终引发整个大系统的崩溃的,所以在出现一些小的异常时一定要及时消除,而这些异常就要靠完善的监控和报警系统来检测。
从数据中心的日常业务运维方面考虑,则主要有日常检查、应用变更、软硬件升级、突发故障等。具体来说:1、日常检查:“千里之堤,溃于蚁穴”。任何的故障在出现之前都可能会有所表现,小的隐患不消除,可能导致重大的故障出现,所以数据中心日常的例行检查工作枯燥,但也很重要,可以及时发现一些运行中的隐患。根据数据中心承载业务重要性的不同,要对数据中心里的所有运行的设备进行例行检查。检查服务器应用服务是否正常,CPU内存等利用率是否正常。对应用业务进行检查,看业务运行是否正常。还有对数据中心的机房环境也要进行检查,环境的温度、湿度、灰尘是否合乎要求。空调、供电系统进行运行良好,设备运行是否过热,地板、天窗、消防、监控都是检查的部分。空调漏水、设备漏电都会对数据中心正常稳定运行产生危害,千万不可大意。2、应用变更:数据中心承载的业务不会是一成不变的,随着业务的多样化和不断发展,经常要对业务进行调整,包括服务器和网络的设置。因此要对服务器和网络设备操作很熟悉,主要需要掌握linux服务器命令和网络协议。要根据应用的需要,及时准确做出变更。3、软硬件升级:数据中心的设备一般运行周期是五年,不断地有设备需要逐渐淘汰进行更换,也有一些设备因为存在软件缺陷需要升级,因此软硬件升级也是维护工作的一部分。软硬件升级时需要做好回退机制,以防升级出现问题时无法回退,业务长时间无法恢复。当接手数据中心维护工作就会发现,怎么会有那么多的升级,几乎每个月都要有升级操作,熬夜升级工作成了维护人员的家常便饭。4、突发故障:没有任何一个数据中心是不出故障的,在数据中心运行的过程中都会出现这样那样的问题。对于突发故障,高水平的维护人员可以静下心来冷静分析故障的触发原因,迅速找到解决的方法,如果在短时间内找不到解决方法,也可以通过切换到备用设备上先恢复业务,再进行分析。这时拥有高水平的维护人员对于一个数据中心至关重要,在关键时刻就能派上用场。虽然这些工作看起来有些平常,但千万别小看它们。数据中心日常维护工作实际上非常重要,关乎着整个数据中心业务的正常运行。只有重视数据中心的维护工作,才能给数据中心一个平安。
从数据中心网络方面考虑,则主要有网络硬件设备、ACL、OSPF、LACP、VIP、协议分析、流量、负载均衡、二三四七层情况、网络监控、万兆板卡、核心交换等。网络是数据中心的重要组成部分,是一切工作运行的基本保证,没有网络数据中心就无法运转起来,所以保证网络稳定是数据中心运维工作中的重中之重。这里不仅要关注网络的硬件问题,还要关注SDN软件定义的网络。一般传统IT架构中的网络,根据业务需求部署上线以后,如果业务需求发生变动,重新修改相应网络设备(路由器、交换机、防火墙)上的配置是一件非常繁琐的事情。而在当今互联网/移动互联网瞬息万变的业务环境下,网络的高稳定与高性能还不足以满足业务需求,灵活性和敏捷性反而更为关键。SDN所做的事是将网络设备上的控制权分离出来,由集中的控制器管理,无须依赖底层网络设备(路由器、交换机、防火墙),屏蔽了来自底层网络设备的差异,而控制权是完全开放的,用户可以自定义任何想实现的网络路由和传输规则策略,从而更加灵活和智能。进行SDN改造后,无需对网络中每个节点的路由器反复进行配置,网络中的设备本身就是自动化连通的。只需要在使用时定义好简单的网络规则即可。如果你不喜欢路由器自身内置的协议,还可以通过编程的方式对其进行修改,以实现更好的数据交换性能。比如百度自研交换机,可以直接支持SDN的远程配置与管理特性,从而实现上线全自动配置。未来,自研交换机还会更进一步和服务器自动化上线结合,提升服务器交付和管理效率。网络可以说是包罗万象,涉及太多的设备和协议、软件层技术,所以也需要不断地学习,加深对网络技术的理解,这样才能做好网络运维工作。
从数据中心服务器方面考虑,则主要有文件系统、内核参数调优、各种硬盘驱动、内核版本、Kernel panic等。linux系统不仅在服务器,在网络操作系统也占据着主流地位,掌握linux系统的使用才能更好地处理服务器和网络设备的运维工作,linux是运维工作的一项基本技能。除了熟悉linux系统的操作,还要对服务器的运行状态和内核运行状态进行监控与管理,减少服务器故障的发生。一般大型的数据中心都包含有成千上万台的服务器,几乎每天都会有服务器出现各种各样的问题,只有对服务器有深入理解才能很好地消除问题。为了防止服务器故障引发业务中断,所以一般在服务器上都要部署虚拟化技术或者集群技术,当一台服务器物理硬件故障时,业务可以平滑切换到其它服务器上,业务不会受到任何影响。这些虚拟化技术增加了运维的难度,也需要对虚拟化技术进行不断深入学习。另外数据中心服务器的定制化也是很有意义的一件事。云计算需要大规模部署,因此需要服务器具有更高的部署密度、节能而且易于管理,但对于每个节点的计算能力要求并不十分苛刻。而厂商生产的普通意义上的服务器由于要适应多种应用,则更多兼顾性能、扩展性,忽略了成本和能耗。而如果是专门为云定制的服务器,会针对云的特点进行优化设计,从而更加符合用户的需要。对于企业来说,它带来的好处显而易见,试想一下,即使每台定制化服务器节省的电力有限(4电源改2电源),但对于大规模部署的数据中心来说,长此以往,成本的节约也是显而易见的。比如Google所拥有的服务器都是自己设计,采用定制化托盘,内建电池做备用电源,相比传统服务器成本和耗电都要低得多,这也为Google节省了大笔的电力开支。
从数据中心存储方面考虑,架构更加多样和复杂化。在云计算、虚拟化、大数据等相关技术进入数据中心后,存储已经发生了巨大的改变,块存储、文件存储、对象存储支撑起多种数据类型的读取;集中式存储已经不再是数据中心的主流存储架构,海量数据的存储访问,需要扩展性、伸缩性极强的分布式存储架构来实现。在大规模系统支撑上,分布式文件系统、分布式对象存储等技术,为存储的各种应用提供了高度可伸缩、可扩展和极大的弹性支撑和强大的数据访问性能,并且因为这些分布式技术对标准化硬件的支持,使得大规模数据中心存储得以低成本的建设和运维。当然分布式存储不是要取代现有的盘阵,而是为了应付高速成长的数据量与带宽而产生的新形态存储系统。另外就是软件定义存储,它代表了一种趋势,即存储架构中软件和硬件的分离,也就是数据层和控制层的分离。对于数据中心用户而言,通过软件来实现对存储资源的管理和调度,实现存储资源的虚拟化 、抽象化、自动化,能够完整的实现数据中心存储系统的部署、管理、监控、调整等多个要求,使得存储系统具备灵活、自由和高可用等特点。企业及互联网数据以每年50%的速率在增长,新增数据中结构化数据总量有限,多数为非结构化、半结构化数据,数据中心存储架构随着业务发展也需要极强的弹性适应能力,低成本、海量扩展、高并发性能是面向大型云数据中心运营存储架构的基本技术属性。如何进行数量庞大且杂乱无章的数据存储与深度应用处理,并迅速提取有价值的信息,形成商业决策将成为各类型企业生存基础,也是今后存储以及围绕存储架构不断衍生的业务发展方向。
最后从数据中心安全方面来考虑,安全就是若干个小项:攻击保护、升级备份、抓BUG/找BUG、脚本工具、数据安全、服务巡检等项目,其中每一项拿出来其实都包含很多的内容。比如说到攻击与保护,这个主要指的是防止外来的异常入侵者对数据中心发起的恶意和无意攻击,恶意攻击就是有人故意的使用各种攻击方法,进入到数据中心内部,将重要的数据窃取或者破坏,达到其不可告人的目的。也有的是无意的攻击,因为整个数据中心是要与外界保持互联互通的,运行是动态的,变化的,不可避免会有一些异常流量攻击数据中心,有时甚至来自于数据中心内部,比如某些服务器中毒,或者硬件故障,构造出了环路,异常流量等网络故障,这些都会影响到数据中心的运行,所以如何做好数据中心的攻击与保护是一个很大的题目,这并不是在数据中心里部署几台安全设备就能解决的,需要对整个数据中心进行全面的统一规划,并有针对性地部署一些安全防护措施,而且随着各种黑客技术的提升,安全防护措施也要不断提升,这是一个不断学习与完善的过程,只要数据中心还在运行,这个完善就不会停止。为了方便运维,也要做好一些执行脚本,以便在出现突发事件时,能够快速处理问题。比如一个数据中心的业务出现异常,为了快速恢复业务,需要将路由进行调整,将流量全部引到其它的数据中心,这就需要在核心路由器上进行调整,这时有个现成的脚本就可以自动执行,达到快速切换的目的。数据中心还应该准备很多其它工作的脚本,以便紧急的时候快速使用。
通过以上的分析您一定很惊讶,原来数据中心运维包含这么多内容,大大小小数十项,而且每一项包含的内容说起来都不那么简单,也涉及很多的技术知识。通常数据中心是一个公司、企业或政府部门的信息处理中心,几乎所有的业务都要经由数据中心才能完成,所以数据中心对于一个企业或政府部门至关重要。而一个数据中心能否稳定和高效运行,运维是真正的关键。只有将这些方方面面的运维工作做好做细做到位,数据中心才能长期稳定。