linux运维工程师必须掌握哪些技能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux运维工程师必须掌握哪些技能相关的知识,希望对你有一定的参考价值。
linux运维工程师必须掌握哪些技能?020-07-29 15:42:20原创478linux运维工程师必须掌握的技能: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整体的理解/使用和基本命令:
了解Linux FHS : Filesystem Hierarchy Standard,国人写的这本书不错 Linux系统架构与目录解析 (豆瓣)
入门Linux:鸟哥的Linux私房菜.基础学习篇(第三版) (豆瓣) 个人认为鸟哥的这本书是一本非常好的入门书
基本操作命令:Google,如Linux command cheat sheet
熟悉至少一个内置编辑器: vi, nano
至少熟悉一个发行版(或系列),建议作为服务器常用的如Centos, Debian, Ubuntu,可以了解多个常用发行版
个人使用/开发尽量在Linux上,比如我前期选择了 Gentoo Welcome – Gentoo Linux ,非常Cool的一个Linux发行版,配合官方的 Handbook Handbook:Main Page,可以学到很多东西
2. 运维的命令:
运维相关的工具(命令),了解它能解决很多问题。
前几天刚回答了一个问题:如何才能更深入的学习linux?
里面的图在这里也可以用到:
&amp;amp;lt;img src=\‘#\‘" //pic3.zhimg.com/50/b3c020e713fb94ddadb18f19be52a8ca_hd.jpg&quot; data-rawwidth=&quot;754&quot; data-rawheight=&quot;472&quot; class=&quot;origin_image zh-lightbox-thumb&quot; width=&quot;754&quot; data-original=&quot;https://pic3.zhimg.com/b3c020e713fb94ddadb18f19be52a8ca_r.jpg&quot;&amp;amp;gt;可以对着图对学习了解这些命令 (&amp;amp;amp;lt;strike&amp;amp;amp;gt;抱歉图片的原始来源我没有搜到,如果有朋友知道,麻烦告诉我,谢谢&amp;amp;amp;lt;/strike&amp;amp;amp;gt; 感谢可以对着图对学习了解这些命令 (<strike>抱歉图片的原始来源我没有搜到,如果有朋友知道,麻烦告诉我,谢谢</strike> 感谢可以对着图对学习了解这些命令 (<strike>抱歉图片的原始来源我没有搜到,如果有朋友知道,麻烦告诉我,谢谢</strike> 感谢
的提示,已经搜到来源 http://www.brendangregg.com/linuxperf.htmlhttp://www.slideshare.net/brendangregg/linux-performance-analysis-and-tools)。另外我个人也会对平时用到的这些工具做一个整理和记录,总结到我的个人维基上:Wiki · Tanky Woo
3. 基础服务:
LAMP或LNMP :Apache/Nginx,MySQL,PHP/Python/Perl LAMP (software bundle)
FTP
DNS
SAMBA
EMAIL
NTP
DHCP
...
可以本地搭建练练手
这里推荐鸟哥另外一本书 服务器架设篇: 鸟哥的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运维工程师必须掌握哪些技能的主要内容,如果未能解决你的问题,请参考以下文章