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

Posted

tags:

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

linux运维工程师必须掌握哪些技能?020-07-29 15:42:20原创478
linux运维工程师必须掌握的技能:1、Linux基础知识内容,和命令使用,以及用户和权限等核心知识点;2、Linux从进程、资源、任务、文件、软件包、磁盘等管理方法;3、安全架构、安全威胁模型、以及加密、解密等原理,常见攻击和防范手段等。

优秀的运维人员必须具备的技能:

1、Linux系统基础入门-Linux的基础知识内容,和命令使用,以及用户和权限等核心知识点

2、Linux 系统管理和进阶-Linux从进程、资源、任务、文件、软件包、磁盘等管理方法

3、Linux 企业级常用服务如DNS、FTP、Http、 mail

4、Linux企业级安全原理和防范技巧以及网络和安全-Linux安全架构、安全威胁模型、以及加密、解密等原理,常见攻击和防范手段

5、Shell 编程入门及进阶-Shel脚本基本用法以及进阶,从基础到精通,需要学习一些企业级常见脚本用法

6、mysql应用原理及管理入门-Mysql安装、管理、授权、增删改查

7、http服务代理缓存加速-http高级协议应用、缓存、web服务nginx

8、企业级负载集群企业级4层负载均衡LVS、和7层负载均衡nginx以及haproxy的应用

9、企业级高可用集群高可用集群原理,实现以keepalived为核心的高可用集群,以及主从高可用、双主

10、运维监控zabbix 企业级监控体系以及zabbix流行开源监控系统的功用及架构

11、云计算运维自动化ansible、puppet等 运维自动化解决方案

12、WEB服务体系架构-WEB服务体系架构,JSP体系、tomcat、CDN、缓存原理、压测、评估

13、大型互联网集群架构和实战方案LB集群: nginx、Haproxy、LVS HA集群、动静分离

14、MySQL DBA实战技能和优化数据库参数优化、分库分表、备份方案、数据恢复策略、主从复制、读写分离、连接池及sharding技术、MHA等

15、企业级云计算0penstack Keystone、Glance、 Nova核心组件、网络模块、块存储服务等

16、企业级大数据Hadoop运维实战列式数据库HBase基础原理、安装配置及其应用、Zookeeper集 群构建、hadoop实 现Namenode高可用

17、企业级虚拟化KVM实战-KVM环境: KVM的安装、配置及应用

18、NoSQL 企业级应用-Nosql应用,如redis、 MongoDB复制、集群等高级应用

19、企业级日志收集系统ELK实战海量数据曰志收集系统Elasticsearch+L ogstash+kibana应用

20、可持续化集成- Jenkins+github企业级应用

21、虚拟化容器Docker-Linux 轻量虚拟化Docker,Docker 的原理和安装,配置以及应用

22、企业级K8S实战组件功能、安装、配置、企业级应用场景和常见故障分析

23、Linux 系统调优实战从内存、CPU、 进程调度、磁盘IO、 网络参数等全面讲解Linux系统调优

24、Python 编程基础入J-python安装、逻辑判断、模块使用等

25、个人综合能力提升表达能力、团队协作能力、执行能力、胜任力等

大佬说,以上25条技能,每一条大概价值2K,你的工资多少,在这个行业,就取决于会多少。要想挣钱,你要先值钱。

另外说一下,运维行业也与其他行业又很多不同之处,它需要的不是天赋异禀,最重要的是经验丰富。运维这行要的是一个“稳”字,一个好的运维人员应该是一个好的管家,保证家里的一切正常的前提下“无所事事”,没有情况就是最好的情况。

推荐教程:《Linux运维》

以上就是linux运维工程师必须掌握哪些技能的详细内容,更多请关注php中文网其它相关文章!
参考技术A 1、具备扎实的基础:如果没有扎实的基础,是难以掌握这门课程的,如果没有基础你想想如何查看文件类型、查看系统运行状态、创建用户等,所以一定要掌握扎实,才能够走得更远。
2、搭建服务:Linux服务有很多种,每个公司使用是截然不同的,所以常见的基础一定要掌握好,比如说ftp、Bind、DHCP、SAMBA服务要了解会简单配置,不光会搭建,一定要熟悉服务里面的配置。
3、掌握脚本语言:shell语言是这个行业中必须要掌握的,一些比较简单的系统管理shell脚本是最为常见的、使用到的。另外就是使用到语言就是Python,是当下比较火的,程序效率高、语言简洁清晰等,可以实现自动化运维。
4、网络服务:网站运维,当然WEB是核心了,这块需要掌握的有nginx,apache
web服务,必须要熟练,对应的组合就是LNMP和LAMP是必须要熟练,我所指的不是光光会简单搭建,而是要很熟悉里面的配置才行,深入了解内部运行机制和原理,因为网站公司最关键的绝对是WEB服务,所以nginx和apache要熟悉,特别是nginx一定要很熟悉才行,有些公司(游戏公司多)还会用tomcat,这个也最好学一下,JVM优化要会最好了。
5、网站集群服务:现在的公司多数都会有集群环境,特别是网站公司,大并发高性能是主旋律,要想发展好这些都是必须会的,例如LVS,NGINX,KEEPALIVED集群软件,MEMCACHED,REDIS。
6、数据库:数据库是所有网络服务里最核心的,必须要学会学好,这里建议首选mysql,别问我为什么不学oracle,因为互联网公司用得最多绝对是MySQL,安装、基础维护命令、主从复制,引擎,备份,恢复,增量恢复,必须要学会。
7、防火墙:防火墙,不学不行,防火墙也算是个难点,说难不难,说易不易,最重要弄懂规则,如果学过CCNA的朋友可能会比较好学,因为iptables也有NAT表,原理是一样的,而FILTER表用得最多,反正不学就肯定不合格。
参考技术B 1、Linux基础命令及脚本:shell是基本要求,最好再懂点perl或python等。如果不懂脚本,怎么把重复的劳动变得简单呢?
2、系统监控命令:目的是获取系统当前的运行状态,遇到故障等要懂得分析排查。系统调优并懂得原理,知道为什么参数要调整成某个值。
3、网络监控命令:理由和第二点一致,不过侧重于网络。同样需要理解原理及调优,不能照搬前人的经验而不知甚解。

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

作者:Tanky Woo
链接:https://www.zhihu.com/question/23665108/answer/25299881
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

1. Linux基础

包括对Linux整体的理解/使用和基本命令:


2. 运维的命令:

运维相关的工具(命令),了解它能解决很多问题。

前几天刚回答了一个问题:如何才能更深入的学习linux?

里面的图在这里也可以用到:


&amp;amp;amp;lt;img src=\‘#\‘" //pic3.zhimg.com/50/b3c020e713fb94ddadb18f19be52a8ca_hd.jpg&amp;quot; data-rawwidth=&amp;quot;754&amp;quot; data-rawheight=&amp;quot;472&amp;quot; class=&amp;quot;origin_image zh-lightbox-thumb&amp;quot; width=&amp;quot;754&amp;quot; data-original=&amp;quot;https://pic3.zhimg.com/b3c020e713fb94ddadb18f19be52a8ca_r.jpg&amp;quot;&amp;amp;amp;gt;可以对着图对学习了解这些命令 (&amp;amp;amp;amp;lt;strike&amp;amp;amp;amp;gt;抱歉图片的原始来源我没有搜到,如果有朋友知道,麻烦告诉我,谢谢&amp;amp;amp;amp;lt;/strike&amp;amp;amp;amp;gt; 感谢技术分享图片可以对着图对学习了解这些命令 (<strike>抱歉图片的原始来源我没有搜到,如果有朋友知道,麻烦告诉我,谢谢</strike> 感谢可以对着图对学习了解这些命令 (<strike>抱歉图片的原始来源我没有搜到,如果有朋友知道,麻烦告诉我,谢谢</strike> 感谢

@jeremy yang

的提示,已经搜到来源  brendangregg.com/linuxpslideshare.net/brendang)。


另外我个人也会对平时用到的这些工具做一个整理和记录,总结到我的个人维基上:Wiki · Tanky Woo

3. 基础服务:


可以本地搭建练练手

这里推荐鸟哥另外一本书 服务器架设篇: 鸟哥的Linux私房菜 (豆瓣)

4. 运维平台工具:

也在这个问题 如何才能更深入的学习linux? 里提到了:

  • Nagios

  • Puppet

  • Zabbix

  • Cacti

  • SaltStack

  • ....

可以选择性的折腾下,因为这个涉及到业务,没有实际环境,很难去理解他们的功能和特点。

5. 脚本:

  • 必备:Shell

  • 额外:Python,Perl...


6. 底层:

  • Linux C,内核


7. 网络:

网络是非常重要的一块

  • 把《TCP/IP协议详解》多看几遍,理解。

  • 熟练使用tcpdump等抓包工具


8. 安全:

  • 防火墙配置,如 iptables, ipset


9. 硬件:

  • 接口类型

  • 查看硬件信息

  • 知道各类型服务器,如塔式、机架式、刀片式


10. 其它:

了解更多特定技能要求的方式:

Google搜"Linux运维工程师 招聘",看看他们的需求。

最后推荐一本书:Unix/Linux系统管理技术手册 UNIX/Linux 系统管理技术手册 (豆瓣)

后续想到再做补充

素养/处理方式

除了技能,我觉得素养(态度)也可以谈谈

这个正好看到右边相关问题:运维工程师需要具备哪些性格特质?

1. 安全

运维人员的权限很大,所以一定要保证帐号/私钥的安全。

  • 最好使用加密工具存储。比如truecrypt,1password

  • 基于本地存储。切勿用网盘,也不建议用lastpass等

  • ssh私钥添加密码


以上任何一点都很重要,否则弄丢了,风险会非常大。

2. 责任心

如上面那个帖子里  

@山大

提到的 Owner 意识
  • 遇到报警,第一时间处理,而不要等着他人去处理

  • 如果无法处理,应该第一时间让同事协助帮忙,而不要禁止报警,让问题掩盖


3. 细心

你的任何一个操作,都可能造成系统的损坏、业务出问题。所以敲命令时一定要细心、再三确认。你敲的再快,也就节省那么一点时间,出了问题才是大事。

4. 推进/改善

如果代码有问题,导致系统开销很大,比如负载,io等。应该第一时间和开发部门确认,要求优化代码。

5. 进取心/不断学习

运维的知识范围很广,要不断学习。遇到问题,做好分析记录,事后还可以在部门内分享交流。

这也是我为什么热衷于写技术博客和维基的原因,好记性不如烂笔头。记录整理的过程也是一个思考升华的过程。

本文出自 “13452598” 博客,请务必保留此出处http://13462598.blog.51cto.com/13452598/1982967

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

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

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

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

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

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

Linux运维工程师​‌‌一般要求掌握哪些知识?