一名合格的运维工程师的历练之路
Posted llawliet0001
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一名合格的运维工程师的历练之路相关的知识,希望对你有一定的参考价值。
怎么样才能成为一名合格的运维工程师?或者说一名合格的运维工程师到底是怎么样的?还有我现在到底算不算是一名合格的运维工程师呢?
我想这些问题是每个运维工程师心里都存在的共性问题。那么今天我就为各位运维工程师答疑解惑。
一、 运维工程师主要的工作到底是什么?
运维,从字面意思来理解就是运行维护。很多人感觉做运维怎么自己反而像个
网管一样?天天就是重启服务,更新一下源码包。其中大部分人认为,运维的
工作就是安装一下操作系统。维护一下公司的网络,装装网线,修理修理打印
机等硬件设备。为公司的网站和研发人员保驾护航,避免出现各种问题。确保
环境稳定通畅。
以上这些工作确实是运维工程师需要接触到的。但是这就是运维工程师的全部工作了吗?并不是的,这是运维工程师的一小部分简单工作而已。其实运维工程师负责的远比以上这些更加复杂和繁重。
保证服务的正常运行,环境的通畅,平台架构的设计和优化,监控,异常和错误的及时处理,对平台保驾护航等才是运维真正做的事情。
二、一名合格的运维工程师的职责
1. 应该对公司的局域网网络有一定了解,并且可以配置好交换机,防火墙和路由器等。
2. 负责服务器的安装、配置、维护。并且可以实时监控到系统的性能情况,遇到故障,可以及时处理并且应该尽可能的减少不必要的故障发生,从而避免对公司的业务造成无法恢复的损害。
3. 可以编写shell脚本和python脚本等来实现运维自动化。
4. 排错和调优,备份,、监控和警报,自动化、DevOps、云服务、Docker、kubernetes、安全……
三、 怎么样才能成为一名合格的运维工程师?
1. Linux基础
这个是最重要的,没有基础知识,你以后学习任何进阶内容都会很困难。正所谓万丈高楼平地起。所以我们不能因为基础知识简单,就直接越过这部分知识就直接去学习进阶内容。在这里我推荐几本我个人认为很好的书籍。刘遄老师的《Linux就该这么学》和《鸟哥的Linux私房菜》。这两本书都是畅销书籍,特别适合我们学习基础知识和进阶内容。即使我们已经掌握了Linux基础知识,还是可以用这两本书来查漏补缺。我个人书桌前就经常放着《Linux就该这么学》来查漏补缺。
2. 网络和web服务
网络这里面包含了大量的服务。最常用的网络服务一定得会部署,比如vsftp、nfs、samba、bind、dhcp等。
Web服务包含Apache、nginx、mysql和Tomcat,Nginx处理静态页面,Tomcat处理动态页面,实现动静分离。必须会主从复制、性能优化、主流集群方案:MHA、MGR等。当前NoSQL数据库也是十分流行的,所以我们也需要会,可以学下Redis、MongoDB这两个。
3. Shell脚本编程进阶
Shell脚本是Linux自动化运维必须掌握的。
其中最重要的是文本处理三剑客——grep、sed和awk,Linux下文本处理就指望它们了。
学会了shell脚本编程,以后做事就可以事半功倍了,可以使用shell脚本来自动帮助我们来完成各种重复性工作。
4. 集群和虚拟化
目前主流的有Keepalived、Heartbeat等。当NFS共享存储支撑不过了,那我们这个时候就需要用FastDFS、MFS等主流分布式文件系统了。KVM+OpenStack云平台。主流的容器技术非Docker莫属了。我们有时候还会因为单个docker无法满足需求,所以需要部署集群,这个时候我们还需要学会使用Kubernetes、Swarm集群化管理容器,来进行集中管理。
5. 性能优化
我们在日常运维中,并不能仅仅部署和维护好就感觉万事大吉了,我们一定要尽可能的优化好我们的系统,使得系统占用更少的资源来做更多的事情,也就是尽可能地榨取系统的资源利用情况。
6. 时刻知道自己在做什么
这一点我个人认为是最重要的,由于一个公司的运维人员会掌握公司所有的账户密码和所有系统的最高权限。所以一个合格的运维人员要对数据和账户密码有一定的安全意识。时刻知道自己的操作会影响到哪些地方。不能因为处理一个问题而清理掉一些必要数据。要时刻明白自己的每一条命令会影响哪些东西,会造成什么样的结果。不要只在乎操作本身,而忽略了公司的业务数据和安全性问题。也就是要为自己的操作负责到底。
以上就是我的经验之谈了,希望大家都能找到合适的路线,称为真正的运维大牛!
以上是关于一名合格的运维工程师的历练之路的主要内容,如果未能解决你的问题,请参考以下文章