linux运维需要掌握什么知识?linux运维学习路线

linux运维需要掌握什么知识?这个问题算是老生常谈了,但是本人认为知道需要掌握什么知识不是重点,重点是我们需要知道运维是做什么的?再来根据工作需求去讨论需要学习什么知识才是正途,须知知识是学不完的,技能亦然。

想要学习linux,那么就得知道linux运维是做什么的?

linux运维从低到高分为基础运维、高级运维、运维架构师,不同级别的运维的职责不一样,需要干的事情也不一样,当然需要掌握的技能也不一样。

运维人员做事需遵循“简单、易用、高效”的原则。对于运维服务有3大宗旨:

1、企业数据安全保障。

2、7*24小时业务持续提供服务。

3、不断提升用户感受、体验。

初中级运维的日常涉及工作:

1、评估产品需求及发展需求,设计网站架构。

2、选择IDC公司、云产品,CDN等产品。

3、采购服务器、安装系统、配置服务、服务器IDC上架。

4、调试网络、优化系统及服务。

5、上线代码、配合研发搭建环境、调试、测试代码。

6、监控硬件、软件及各种业务应用。

7、配置收集日志和,根据日志信息报警及优化系统及服务

8、解决日常问题,如硬件(服务器、交换机、硬件、网络等)、软件(网络服务)、各类业务服务故障。

9、编写自动化脚本(Shell、Python),自动化部署服务。

高级运维或者架构师涉及的工作:

1、监控带宽、流量、并发、业务接口等关键资源及访问信息的变化趋势。

2、根据相应趋势变化不断优化网站架构。

3、设计各类解决方案,解决公司业务发展中的遇到的网站瓶颈。

4、编写各种自动化脚本(Shell、Python),自动化部署优化服务。

5、开发自动化部署和管理平台(CMDB),实现平台化运维。

6、开发运维管理平台、及运维工具产品,提升服务效率。

7、制定运维流程、规范、制度,并有序推进。

8、研究先进运维理念、模式,确保业务持续稳定、有序。

Ok,知道了运维的工作是什么再来讨论需要掌握的知识

  1. 首先 linux 操作系统是必不可少的

Linux系统如果是学习可以选用redhat或者centos,特别是centos在企业中用得最多,当然还会有其它版本的,比如ubuntu,suse, debian等在企业当中也用的相当多系统的基本使用、磁盘管理、软件包管理、进程管理、用户管理等等这些都是学习的重点

  1. 最常见的一些简单服务

服务的种类繁多,每家公司都会用到的服务个不相同,但基础的服务肯定要掌握,比如ssh,apache,at,crontab,ftp,dns,nfs,nginx等等,不光是部署,还要很熟悉里面的配置才行,因为公司最关键的绝对是Web服务器,所以nginx和apache要特别熟悉,有些公司还会用tomcat,这个也需要会。

  1. bash脚本编程

shell是运维人员必须具备的,不懂这个连入职都不行,至少也要写出一些系统管理脚本,最简单也得写个监控CPU,内存比率的脚本!这是最最最基本了,别以为会写那些猜数字和计算什么数的,这些没什么作用,只作学习意义,写系统脚本才是最有意义

sed和awk是脚本编程过程当中的重中之重, 必须要掌握,在掌握这两个工具同时,还要掌握正则表达式,正则是最难学的表达式,但结合到sed和awk中会很强大,在处理文本内容和过滤Web内容时十分有用,不过在学shell的同时一般会经常结合用到的。

  1. 文本处理命令

各种小命令,比如sort , tr , cut, paste, uniq, tee等是必学的

  1. 数据库

MySQL,linux用得最多绝对是MySQL,增删改查必学,特别要学熟查,其它方面可能不太需要,因为运维人员使用最多还是查,哪些优化和开发语句不会让你弄的。

  1. 防火墙

不学不行,防火墙也算是个难点,说难不难,说易不易,最重要弄懂规则,如果学过CCNA的朋友可能会比较好学,因为iptables也有NAT表,原理是一样的,而FILTER表用得最多,反正不学就肯定不合格。

  1. 监控工具

十分重要,zibbix、prometheus暂时可以2选1,但是企业用得最多是zibbix,因为prometheus是新一代监控,具体什么时候成熟应用还是不那么确定的,现在确定的是它在容器监控中绝对是重中之重。

  1. 集群和热备

很重要,必须要懂,集群工具很多,LVS、nginx等等,还有热备,这个就更多工具能实现了,比如keepalived、rhcs等等

  1. 数据备份

工具有很多,但至少要把RAID的原理弄懂,特别是企业最常用的1+0或0+1,自己做实验也要弄出来,备份工具有很多,如tar, dump, rsync等

  1. 自动化运维工具

ansible,puppet,saltstack等等都是非常流行的自动化运维工具,但是比较难掌握

  1. 云平台

Openstack,cloudstack等等,尤其是openstack是现在绝大部分公司采用的公有云或者私有云底层平台,在一个满世界都是云的it时代,不懂点云的东西还真是不行

  1. 容器平台

继云之后的又一新兴技术,现在火的一塌糊涂,docker,kubernetes等等,几乎可以说是现在想拿高薪,必学的东西

你可能感兴趣的:(linux运维需要掌握什么知识?linux运维学习路线)