任何行业都需要从高到低、由浅及深,运维工程师从入门到高级都需要做些什么呢?我们一起来探讨一下。
初级运维工程师需要掌握Linux基础,需要熟悉Linux/Windows操作系统安装,目录结构、启动流程等。主要学习Linux系统,生产环境中基本都在字符界面完成工作,所以要掌握常用的几十个基本管理命令,包括用户管理、磁盘分区、软件包管理、文件权限、文本处理、进程管理、性能分析工具等。还需要熟悉OSI和TCP/IP模型。基本的交换机、路由器概念及实现原理也要了解。
达到中级运维工程师时,最常用的网络服务一定得会部署,比如vsftp、nfs、samba、bind、dhcp等。代码版本管理系统少不了,可以学习下主流的SVN和GIT,能部署和简单使用就可以了。工作中经常在服务器之间传输数据,所以要会使用:rsync和scp。数据同步:inotify/sersync。重复性完成一些工作,可写成脚本定时去运行,所以得会配置Linux下的定时任务服务crond。
还需要学会搭建Web服务平台,数据库要选择MySQL,它是世界上使用最为广泛的开源数据库。还要会一些简单的SQL语句、用户管理、常用存储引擎、数据库备份与恢复。一些常见的攻击类型一定得知道啊,比如CC、DDOS、ARP等。监控也是必不可少,它是及时发现问题和追溯问题的救命稻草。可以选择学习主流的Zabbix开源监控系统,功能丰富,能满足基本的监控需求。
技术达到高级工程师之后,要学会Web静态缓存。并且负载均衡器主流开源技术有LVS、HAProxy和Nginx。一定要熟悉一两个!高可用软件也得会,避免单点的利器,主流的有Keepalived、Heartbeat等。
一切运维工作标准化,例如环境版本、目录结构、操作系统等统一。在标准化基础上才能更方面的自动化,因此,所有的操作尽可能自动化,减少人为失误,提高工作效率。主流服务器集中管理工具:Ansible、Saltstack,这两个选择任意一个就行。持续集成工具:Jenkins。