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、应急能力:

除了技术性的技能,还要有遇事不乱,处变不惊的能力。对突发事件,能进行快速的分析,定位,并责任到人进行处理,有系统的进度与调度能力。

以上只是做了简单的阐述,在某些方面可能并不完善,欢迎大家讨论交流。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-01-08
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表用得最多,反正不学就肯定不合格。