运维工程师必须掌握的基础技能都有哪些?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运维工程师必须掌握的基础技能都有哪些?相关的知识,希望对你有一定的参考价值。

百度百科给出的说法是运维工程师,集合网络、系统、开发工作于一身的“复合性人才”。实际上也差不多随着IT信息系统的发展,运维岗位进一步细分A.根据面向对象的不同有:基础运维应用运维系统运维虚拟化运维存储运维linux运维网络运维/IDC运维B.根据职业发展层次的不同阶段又有:桌面运维-->系统运维--->开发型运维--->系统架构师所以必须掌握的基础技能也有大概的几个方向:路由交换/系统平台/脚本开发/系统架构/信息安全。分别由浅入深,类比一些认证所代表的知识层次(在这里证书不代表能力,只是作为一个参照物):路由交换:参照cisco的基准CCNA-->CCNP-->CCIE系统平台:WIN参照微软MCTS-->MCSE/MCITPLinux参照redhatRHCE--->RHCA虚拟化有商业上的思杰/VMware开源有openstack/cloudstack脚本开发:bashshell/powershell/VB/python/Ruby/C/c++/Go#开发语言我就列出看到过有运维人在用的,偶尔看到有BT用lisp。

参考技术A

基础工具(操作流):

1.vi,这个是必须的,因为服务器的运维多用远程登录,没有GUI。一些对服务器资源占用要求严格的公司会在安装时就要求最小化安装,然后再按需安装业务程序的依赖软件。这种情况默认桌面环境甚至Xserver是不安装的。不会用vi,会很痛苦。vi较常用的:查找,精确复制粘贴,精准定位至要编辑的行,表达式作字符串替换。

2.熟悉windows与linux之间相连接的工具。(SecureCRT,vnc,rdesktop,winscp),提到上面几个工具是因为你有可能在你的同事或者客户的windows机器上连linuxserver。

3.此条多是照搬rhct的内容:懂fdisk/parted分区工具,管理swap,管理用户,查看主机配置(主机型号,cpu型号,物理内存数量(比如看到有16条单根8G的内存),如果是代客户运维,这些东西与客户采购与系统扩容联系紧密,扯远了),lvm管理,文件系统管理,网络配置管理/多网卡绑定,各发行版上二进制/源代码包的安装,软件包依赖关系解决,查看系统当前负载(内存占用top10进程列表,cpu占用top10进程列表,IO负载),熟悉常用系统日志的查看方法

4.服务器配置安装部分:熟悉最常用的ftp,http,nfs,samba,dns,dhcp,mail的一般配置方法。

5.熟悉系统常用中间件/数据库的安装(tomcat,jboss,was,oracle),可以不熟悉它们的配置。

6.理解“环境变量”及其作用,能写shellscript,知道一点expect/sed/awk,会使工作有效率。

参考技术B

运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程(请宽恕我的用词),前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化。不要过于在意商业产品的部署和企业方面的技术认证,这玩意变化太快。关键是通过前期的广泛吸收打好基础,进而找到今后要走的路,从而抓住一个方向深入。最终要成为一个方面的专家而不是什么都会什么都不精通的普工!虽然操不着系统架构师的心,但也要有尽量靠齐的大局观和视角。以项目来促进成长,以压力为动力继续前行~!做一个有价值,有成就,有原则,有妹子的四有运维工程师!

做运维需要掌握哪些技能

运维以技术为基础,通过技术保障产品提供更高质量的服务。运维工作的职责及在业务中的位置决定了运维工程师需要具备更加广博的知识和深入的技术能力:

扎实的计算机基础知识,包括计算机系统架构,操作系统,网络技术等;

通用应用方面需要了解操作系统、网络、安全,存储,CDN,DB等,知道其相关原理;编程能力,小到运维工具的开发大到大型运维系统/平台的开发都需要有良好的编程能力;数据分析能力:能够整理、分析系统运行的各项数据,从中发现问题及找到解决方向;丰富的系统知识,包括系统工具、典型系统架构、常见的平台选型等;综合利用工具和平台的能力;

运维工作的复杂性对这个岗位的运维工程师们的软素质也提出了要求:

时间管理能力,特别是碎片化时间的处理能力;沉稳的心态,面对紧急情况时需要处变不惊;沟通能力、团队协作,运维工作跨部门、跨工种工作很多,需善于沟通、并且团队协作能力要强;工作中需胆大心细:胆大才能创新、不走寻常路,特别对于运维这种新的工种,更需创新才能促进发展;心细,运维工程师是最高线上权限者,需要谨慎心细;主动性、执行力,能够主动学习国际国内的运维技术,并引入到工作中,提高运维的质量和效率;

运维工作中需要掌握哪些技术呢?:

    一共四大方面:1、排错;2、优化;3、数据库;4、开发语言,但是第5必须的,就是运维意识,相当重要。

 

第1点和第2点都需要经验去支持,这个没经验你根本不知道排错和优化是怎么搞,在学校和培训机构各种吹虚里,根本就不可能掌握到,这不是说你安装什么软件时遇到错误能解决那些,那种虽然也叫排错,但只是基础级别,真正的排错是指平台出故障,让你去分析与处理,而出现的错误会各式各样,而且涉及的范围也很广,所以这个是需要经验去支持的。

 

第2点优化更是个大问题,基本没经验是弄不了,别以为培训机构会教1-2天优化课程就掌握了这技术,这是不可能的,优化可以说是运维最吃香的技能,但也是最高难度的,因为涉及的知识面很广而且还需要很深入了解,优化是有风险,不是随便在网上搜个文章对着改一下配置文件参数或系统参数就优化了,这是乱来有风险的,甚至怎么样才算有效优化,我也不想说,因为对于没入行的人来说是很难去理解。

 

第3点数据库,也是运维加工资的重要核心技能,有些公司的运维可能接触不到数据库,其实运维的加工资技能要么就是开发,要么就是数据库,如果这2点都不会,那么就是个比网管高级点的打杂罢了,相对于数据库来说,运维的操作还是会有的,而且还昔昔相关,一但操作失误又无法回滚,那就尴尬了。

 

第4点开发语言,就是上面所说的,要懂PYTHON或PHP,至于学这个干麻,这个我也不好说,要解释又一大段话,只能说现在都存在这个需求,特别是python,你会发现公司招聘时有这个需求,但真正工作时又不需要用,其实不是这个意思,python是自己想用就用,而不是公司要求你用,例如你去完成一个很麻烦的操作,而shell可能无法满足你或者效率很低,那么你就需要用python去满足,这是自己需求使用的,跟公司无关,但就能体现出你的价值了。

 

而第5点是每个运维都必须的,意识是很重要,并不是你技术很牛,学的技术很多很熟,就不代表你不需要运维意识,其实领导很看重运维意识的,例如有没有做好备份,权限分配问题,平台测试情况,故障响应时间等,这些都是意识,而不是你学了很多技术自认大牛了,平台发现故障你又没什么大不子,以为很简单的问题喜欢处理就处理,不需要向其它部门反馈等,领导不是看你的技术如何,而是看你的运维意识如何,你没运维意识,技术再牛也没用,只会让其它部门的人跟你不协调。

以上是关于运维工程师必须掌握的基础技能都有哪些?的主要内容,如果未能解决你的问题,请参考以下文章

运维工程师必须掌握的基础技能都有哪些

Linux运维工程师须掌握的基础技能都有哪些?

linux运维工程师必须掌握哪些技能

运维工程师必须掌握的基础技能有哪些?

运维工程师必须掌握的基础技能和职业前景

运维工程师需要掌握啥技能