IDC机房运维探讨和心得

一、        什么是IDC机房运维?

IDC机房运维涉及到方方面面的问题,它不同于其他运维,处理的问题都是比较低沉的问题。在很多公司可能都是将服务器托管的到专门的IDC机房让专业的人士进行维护,还有些大公司建有自己的IDC机房,但管理层面上可能只是网络信息部门的一个子部门,但我们仍要面对很多机房管理的问题。IDC机房运维可以简单的从五个方面来概括:主机监控、信息统计、硬件维护、系统维护、网络维护。处理这些问题就是IDC机房的运维。

二、        分层运维

我认为我们所熟知的计算机能有今天的成就很大一个成功是在于它的模块化设计,以及分层体系,现在我们用的PC的硬件是由CPU、内存、硬盘、主板、输入输出设备等组成。正是这些模块化的构造让人们对计算机的维护更加的方便,快捷。

现在我们正在步入云计算时代,云计算的实施却是阻碍重重。但是云计算是必然的趋势,因为这是人们对信息自由的渴望、是对资源合理利用的迫切需要。所以说云计算的发展也少不了用模块化,分层次的进行设计和优化。

我们来看看云计算的分类 云计算可以认为包括以下几个层次的服务:基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)。

我觉得我们现在的系统分层多且繁杂,无法体现我们在IDC机房的运维,我认为IDC机房的运维应该根据服务提供的角度去对IDC机房进行维护,从终端角度来看,所有提供网络服务的资源都是一朵朵的网云。我们在IDC机房中的运维都是为了面向终端进行服务。所以说我们应该根据服务来对我们的IDC机房进行运维。

我根据云计算服务的分类认为我们在运维分层的问题上应该和云服务的分类相呼应来进行维护,所以我认为,IDC机房的运维应该分成:基础设施维护,耦合层维护,应用服务维护三个层面。

基础设施维护

基础设施维护顾名思义,指的是对设施设备的维护,包括设备的环境维护,设备的统计等等。在这个层面我们需要保证每一台机器是可以正常连接的,是可以正常使用对外提供服务的,并且我们得保障机器的正常运行并且是可管理的。总的来说基础设施层的维护是为了对耦合层的交付使用而服务的。

耦合层维护

在这个层面我们对设备有了统一的管理,在这个层面有系统性的架构统一的管理系统,指令系统,和监控系统,在这个层面我们可以发现底层的问题,并交由底层处理,并在这个层面保证应用服务的正常运行。在这个层面将会涉及负载均衡和备份等技术。

应用服务维护

在这个层面主要是客户对自己应用的维护,在这个层面里客户对自己运行的运营软件进行维护。

当然这个分层的维护只是个萌生概念,如果有一天这个理论可以被建立,相信会被更加的完善。并且为我们更好的理解运维体系服务。

三、        运维工程师

在我之前有很多人都对运维工程师进行过很多定义,大家都说运维工程师是神仙,不是人干的活。因为运维工程师所承担的东西太多了,这让很多做运维工作的朋友们都表示伤不起啊。我们可以来看看以前别人是怎么来定义运维工程师的。

运维工作师需要什么样的技能及素质

做为一名运维工程师需要什么样的技能及素质呢,首先说说技能吧,如大家上面所看到,运维是一个集多IT工种技能与一身的岗位,对系统->网络->存储->协议->需求->开发->测试->安全等各环节都需要了解一些,但对于某些环节需熟悉甚至精通,如系统(基本操作系统的熟悉使用,*nix,windows..)、协议、系统开发(日常很重要的工作是自动运维化相关开发、大规模集群工具开发、管理)、通用应用(如lvs、ha、web server、db、中间件、存储等)、网络,IDC拓朴架构等等,但是我们知道每个人不肯能样样都很精通,每个人的知识层面不可能像水桶一样,我不否认这种人的处在,但是人的精力是有限的,一个人挖10口1米的井估计很难挖出水来,但是一个人挖一口10米的井我想挖出水的可能性还是很高的。所以说如果运维工程师通过分层运维将运维的知识面分开来进行突破,我想运维水平的提高指日可待,运维工程师的工作负担也会相应的减轻。

那么运维工程师在技能和个人素质方面需要什么要求呢?

我觉得在技能方面不需要过分去强求,只要懂得计算机的基本原理等计算机知识就可以,其他的个方面知识都可以通过后天的培养获得。

在个人素质方面应该具备以下几点:

个人素质方面:

1、 沟通能力、团队协作:运维工作跨部门、跨工种工作很多,需善于沟通、并且团队协作能力要强;这应该是现代企业的基本素质要求了,不多说。

2、工作中需胆大心细:胆大才能创新、不走寻常路,特别对于运维这种新的工种,更需创新才能促进发展;心细,运维工程师是网站admin,最高线上权限者,一不小心就会遗憾终生或打入十八层地狱。

3、主动性、执行力、精力旺盛、抗压能力强:由于IT行业的特性,变化快;往往计划赶不上变化,运维工作就更突出了,比如国内各大公司服务器往往是全国各地,哪里便宜性价比高,就那往搬,进行大规模服务迁移(牵扯的服务器成百上千台),这是一个非常头痛的问题;往往时间非常紧迫,如限1周内完成,这种情况下,运维工程师的主动性及执行力就有很高的要求了:计划、方案、服务无缝迁移、机器搬迁上架、环境准备、安全评估、性能评估、基建、各关联部门扯皮,7X24小紧急事故响应等。

4、其它就是一些基本素质了:头脑要灵光、逻辑思维能力强、为人谦虚稳重、亲和力、乐于助人、有大局观。

5、最后一点,做网站运维需要有探索创新精神,通过创新型思维解决现实中的问题,因为这是一个处于幼年的职业(国外也一样,但比国内起步早点),没有成熟体系或方法论可以借鉴,只能靠大家自已摸索努力。

四、        机房运维技术体系

在机房中我们要面对各种各样的事情,如服务器上架,服务器下架,处理问题服务器等等。在机房运维中我觉得也应该建立起我们的技术体系,从这几方面入手使得我们的机房运营的更加平稳健康。

1、  监控体系,一个健壮的身体里不开每天的观察,我们需要时时刻刻观察我们的机房,看看机房发生的细小问题,所以说强大而有健全的监控体系有利于我们更好的维护我们的机房。

2、  统计体系,在IDC机房我们管理着数以百计的服务器,统计工作可马虎不得,每一台机器的配置,存放位置等等,都关系着数千元的设备的物理安全,其他的还有带宽安全等等。数量少还好,数量一多就有可能出错,如何快速高效的统计,并不出错也是门技术。所以单独为一个体系也是有必要的。

3、  故障管理体系,在机房中我们要处理每一台服务器发生的故障,有些问题很棘手,有些问题很简单,但大多数问题都有相似性,可以参考其他问题的处理过程处理,良好的故障管理体系肯定是有助于我们快速的响应和处理问题的。

4、  自动化体系,太多的手动执行大大影响了我们处理问题的工作效率,机房运维引入自动化的理念开发自动化管理工具可以大幅度的提高我们机房的管理效率。

5、  评估优化体系,正所谓人无完人,在好的东西也有不好的地方,如IPONG待机时间短,建立评估优化体系使得我们可以在定期的时间内发现我们不足的地方,更好的优化我们的不足之处

五、        如何成为一个合格的运维工程师

我认为做好IDC机房的运维就是要保障最底层的运维维护安全。如何高效的维护好底层的设备是每一个IDC运维工程师应当具备的职责。我们可以做好以下几个方面。

第一、   统计记录好机房机器运行的信息。如上下架记录,故障处理记录,监控记录等等,做到高效快速的统计好所有机房信息。

第二、   监控。熟悉和掌握监控软件的使用,做到可以更具监控工具的组合应用定位故障点,初步反应故障原因等。

第三、   通过创新思维以及熟练操作提高并解决运维效率问题;目前各公司大部份运维主要工作还是依赖人工操作干预,需要尽可能的解放双手。以及熟悉每一个运维环节的操作。

第四、   运维知识的积累与沉淀、文档的完备性。运维是一个经验性非常强的岗位,好的经验与陷阱都需积累下来,避免重复性范错。并且可以在相似问题发生的情况下快速反应。

第五、   有计划的做事;工作有计划,计划后想方设法达到目标,不找借口。机房运维工作大多都比较少,通常都是处理问题,但有很多事情是需要定期去做的,比如统计、评估、优化等等。

六、        运维职业的迷惘、现状与发展前景

运维岗位不像其它岗位,如研发工程师、测试工程师等,有非常明确的职责定位及职业规划,比较有职业认同感与成就感;而运维工作可能给人的感觉是哪方面都了解一些,但又都比上专职工程师更精通、感觉平时被关注度比较低(除非线上出现故障),慢慢的大家就会迷惘,对职业发展产生困惑,为什么会有这种现象呢? 除了职业本身特点外,主要还是因为对运维了解不深入、做得不深入导致;其实这个问题其它岗位也会出现,但我发现运维更典型,更容易出现这个问题;针对这个问题我谈一下机房运维的现状及发展前景(也在思考中,可能不太深入全面,也请大家斧正补充)

运维现状:

1、处于刚起步的初级阶段,各大公司有此专职,但重视或重要承度不高,可替代性强;小公司更多是由其它岗位来兼顾做这一块工作,没有专职,也不可能做得深入

2、技术层次比较低;主要处于技术探索、积累阶段,没有型成体系化的理念、技术。

3、体力劳动偏大;这个问题主要与第二点有关系,很多事情还是依靠人力进行,没有完成好的提练。

发展前景:

2、从个人角度,运维工程师技术含量及要求会越来越高,同时也是对公司应用、架构最了解最熟悉的人、越来越得到重视。

3、运维将成为一个融合多学科(网络、系统、开发、安全、应用架构、存储等)的综合性技术岗位,给大家提供一个很好的个人能力与技术广度的发展空间。

4、运维工作的相关经验将会变得非常重要,而且也将成为个人的核心竞争力,具备很好的各层面问题的解决能力及方案提供、全局思考能力等。

5、特长发控和兴趣的培养;由于运维岗位所接触的知识面非常广阔,更容易培养或发挥出个人某些方面的特长或爱好,如内核、网络、开发、数据库等方面,可以做得非常深入精通、成为这方面的专家。

6、如果真要以后不想做运维了,转到其它岗位也比较容易,不会有太大的局限性。当然了,你得真正用心去做。

7、技术发展方向、网站/系统架构师。