本人是linux资深运维工程师,对这方面有点心得,运维必须要掌握的工具。
linux系统如果是学习选centos ,特别是centos在企业中用得最多,当然还会有其它版本的,但学习者还是以这2个版本学习就行 ,因为这两个版本都是兄弟 。
工具如下:
1、linux系统基础,,是基础中的基础 ,参考书籍,可以看鸟哥linux基础篇,至少要掌握这书80%内容 ,没必须全部掌握,但基本命令总得会吧。
2、网络服务,服务有很多种 ,每间公司都会用到不同的,但基础的服务肯定要掌握,如DHCP,DNS, 邮件, 这几个大概学一下就行 ,LAMP和LNMP是必须要熟练,因为公司最关键的绝对是WEB服务器,所以nginx和apache要熟悉 ,特别是nginx一定要很熟悉才行,至少有些公司还会用tomcat,这个也最好学一下。其实网络服务方面不用太担心 ,一般公司的环境都已经搭建好,就算有新服务器或让你整改,公司会有相应的文档让你参照来弄 ,不会让你乱来的,但至少相关的配置一定要学熟,而且肯定是编译安装多 ,那些模块要熟悉一下他的作用,特别是PHP那些模块 。
3 、shell脚本和另一个脚本语言,shell是运维人员必须具备的,不懂这个连入职都不行 ,至少也要写出一些系统管理脚本,最简单也得写个监控CPU,内存比率的脚本吧 ,这是最最最基本了,别以为会写那些猜数字和计算什么数的,这些没什么作用 ,只作学习意义,写系统脚本才是最有意义,而另一个脚本语言是可选的 ,一般是3P,即python, perl和php,php就不需要考虑了 ,除非你要做开发,我个人建议学python会比较好,难实现自动化运维,perl是文本处理很强大 ,反正这两个学一个就行了。
4、sed和awk工具,必须要掌握,在掌握这两个工具同时 ,还要掌握正则表达式,这个就痛苦了,正则是最难学的表达式 ,但结合到sed和awk中会很强大,在处理文本内容和过滤WEB内容时十分有用,不过在学shell的同时一般会经常结合用到的 ,所以学第3点就会顺便学第4点。
5、文本处理命令,sort , tr , cut, paste, uniq, tee等,必学 ,也是结合第3点时一并学习的 。
6 、数据库,首选mysql,别问我为什么不学sqlserver和oracle,因为linux用得最多绝对是mysql ,增删改查必学,特别要学熟查,其它方面可能不太需要 ,因为运维人员使用最多还是查,哪些优化和开发语句不会让你弄的。
7、防火墙,不学不行 ,防火墙也算是个难点,说难不难,说易不易 ,最重要弄懂规则,如果学过CCNA的朋友可能会比较好学,因为iptables也有NAT表 ,原理是一样的,而FILTER表用得最多,反正不学就肯定不合格。
8、监控工具,十分十分重要 ,我个人建议,最好学这3个,cacti ,nagios,zibbix,企业用得最多应该是nagios和 zibbix ,反正都学吧,但nagios会有点难,因为会涉及到用脚本写自动监控 ,那个地方很难 。
9 、集群和热备,这个很重要,肯定要懂的 ,但到了公司就不会让你去弄,因为新手基本不让你碰,集群工具有很多,最好学是LVS ,这是必学,最好也学学nginx集群,反向代理 ,还有热备,这个就更多工具能实现了,像我公司是自己开发热备工具的 ,mysql热备也要学,就是主从复制,这个别告诉我容易 ,其实不容易的,要学懂整个流程一点也不容易,只照着做根本没意思。
10、数据备份 ,不学不行,工具有很多,但至少要把RAID的原理弄懂,特别是企业最常用的1+0或0+1 ,自己做实验也要弄出来,备份工具有很多,如tar, dump, rsync等 ,最好多了解一下。
算了,说到这10点已经够你受了,应该可以入门了 ,因为有些技术会比较难学,例如apache和nginx中还有些很重要的技术,如系统调优和服务优化 ,还有程序优化,这些在没接触工作前很难学习到的,所以先把这10点学了吧 ,估计要学熟至少3个月不止,就脚本那部分已经让你很吃力了,我建议是先学熟shell,等工作后再学另一门脚本语言 ,这样会比较好 。
以上就是踏入linux运维工程师需要掌握的工具,其实还有很多工具要掌握的,但你在学习环境中是很难学到 ,最后我再提醒一下,这里所指的工具相当于技能,而不是像windows或ubuntu那些图形化工具 ,那些工具没用的,还有,学linux就别装图形界面 ,这样虚拟机就不用吃太多内存,而且绝对不建议在真机上装linux,根本达不到学习效果。
首先这个要分运维级别来说了 ,比如初级运维工程师和高级运维工程师要掌握的基础技能就不一样。
初级运维工程师,需要掌握以下基本技能:
1、基础命令:
这个基础就包括:用户管理命令,文件管理命令,权限管理命令 ,软件包管理命令,vim命令,网络管理命令等。
2 、基础服务:
企业常用的基础服务就包括DHCP,NTP,DNS,Nginx,Apache,Mysql,Redis,Vsftpd,Nfs 。基础服务的掌握 ,相比命令稍微的难一点,但是同样有很多技巧。比如可以去各大视频站获取优质的免费视频学习。
3、自动化技能:
这个自动化就包括脚本自动化,需要熟悉掌握shell脚本或者Python脚本;包括监控自动化 ,不能靠传统的点击页面,查看进程来判断服务是否在线,需要熟悉掌握zabbix,Prometheus等主流监控软件;还包括工具自动化 ,需要掌握向ansible,puppet,Jenkins等自动化软件 ,实现服务的批量部署与业务的自动化 。
4、安全:
作为运维工程师,首先就要时刻保障公司业务系统,服务器安全稳定运行。所以安全至关重要,主流的iptables ,firewalld防火墙技术要熟练掌握,有必要的话常见的挖矿病毒,ddos等攻击有段也要有所了解。
中高运维工程师 ,需要掌握以下基本技能:
1 、高可用技术:
业务比较复杂,用户群体比较大的企业,一般都会用到高可用技术 ,提升用户体验 。那么主流的keepalived,heartbeat等是必须要熟练应用的。
2、虚拟化技术:
如果想达到高级运维工程师的水品,那么主流的虚拟化技术必须要掌握 ,并且不止于安装部署,还要有较强的故障排错和调优能力。目前主流的虚拟化技术有docker,k8s ,kvm,OpenStack,Vmware ESXi,Xen等 。
3、云架构:
除了熟悉虚拟化技术 ,还要有整合能力,比如如何将这个单个技术应用到实际生产,需要掌握切实可行的私有云 ,公有云网络架构技能。
4、应急能力:
除了技术性的技能,还要有遇事不乱,处变不惊的能力。对突发事件 ,能进行快速的分析,定位,并责任到人进行处理 ,有系统的进度与调度能力 。
以上只是做了简单的阐述,在某些方面可能并不完善,欢迎大家讨论交流。
本文来自作者[纵广红]投稿,不代表格瑞号立场,如若转载,请注明出处:https://gree0731.com/ig/12167.html
评论列表(4条)
我是格瑞号的签约作者“纵广红”!
希望本篇文章《linux运维工程师需要掌握什么》能对你有所帮助!
本站[格瑞号]内容主要涵盖:生活百科,小常识,生活小窍门,知识分享
本文概览:本人是linux资深运维工程师,对这方面有点心得,运维必须要掌握的工具。 linux系统如果是学习选centos,特别是centos在企业中用得最多,当然还会有其...