记得在上高中时,物理老师总是会对我们一句话;“学习是件苦差事。”工作后发现,其实做运维也是件苦差事。最为一名运维工程师,深知这一行的艰辛,但和IT行业其他职务一样,那就是付出的越多,回报的也就越多。回想起成为运维的学习路程,我总想着能给运维新手和以后想从事运维行业的朋友总结一些经验和我看过的书籍,后面会介绍到,他们不要再踩我踩过的坑。
第一点,学好Linux。运维行业的门槛很低,我说的低其实是学历的要求低,因为据我所知还没有大学开设了运维专业。开始找工作时我了解到,一般公司的运维岗位不会限制你是否是211、985毕业,或者是否大学毕业,只要你的Linux运维技术扎实,为人踏实,就会给你面试的机会。所以想从事运维行业,首要工作就是学好Linux技术,而且主要学企业最常用的红帽RHEL7的系统。学习前一定要找好方向,比如现在仍然耗费大量精力去学习Windows Sever而不学习Linux,那就会吃大亏。所以确定目标非常重要,不然可能收获不到应得的结果。为什么这么说呢?拿企业里最常用的网站架构举例,LNMP(Linux+Nginx+MySQL+php)架构是企业最常用的网站架构。现在基本上没有企业使用IIS搭建网站了。其中的原因可能有两点,第一是Linux操作系统是免费的,如果搭建高访问量高并发的网站,势必要增加服务器的数量,使用开源的操作系统,无疑会省下一大笔投入资金。第二点是IIS在早年出现过一次严重的漏洞,并且修复不及时,基于Unix类系统的Apache迎头赶上,虽然IIS在后续的版本中修复了漏洞,但失去的江山再难收回。可能有人会问,为什么现在Nginx的热度比Apache更高?因为Nginx是一款轻量级的网站服务软件,其优点是稳定性和功能丰富,并且具有低系统资源、占用内存少且并发能力强的特点,目前国内如新浪、网易、腾讯等门户站均使用Nginx程序作为Web服务软件。但由于大部分Linux系统发布商仍然将Apache作为默认Web服务器封装在自己的发布版系统中,所以学习时两者都要认真学习。
除了需要确定学习的方向,还应该了解运维的工作性质。众所周知,运维人员是IT行业的背锅侠,每天负责服务器的上架、充当网管角色、版本变更管理、应用的日常维护/机房的巡检等等工作,有不少还要熬夜实施。按照ITIL的管理流程,出了一定程度的问题,还少不了和开发同学一起背锅。在电商行业,公司搞营销活动时是运维人员压力最大的时候。不但要提前准备带宽,在公有云上搞一批云主机,还要提前和开发人员一起优化访问体验。活动页面一旦上线,运维人员不但要时刻盯着CPU、内存、带宽等指标,同时还要关注应用连接数、应用访问失败率、网页打开时间等应用层面的指标。可能还会有一些薅羊毛的用户刷单,抢占资源等问题,弄不好就要背锅了。
如何避免成为背锅侠呢,我总结了几点。第一,做好系统和重要文件的备份工作。大家都会有在自己电脑上使用shift+delete操作误删除文件的经历吧。在Linux系统中也有类似的操作命令,那就是rm -rf 。在公司的生产环境中是一定要慎重使用此操作。在使用删除命令前,请事先做好备份,或者用alias命令把rm命令设计为一个回收站。作为运维人员,常用的备份命令和方式一定要熟练。做了备份不算完,还需要确定备份手段是否可用。要定期做容灾演练、恢复测试等应急演练,等真正灾难来临时才能保障公司财产安全。但听说全国90%的系统没做到这一点,所以才会听到异常恢复的案例,这其实是管理的问题而不是技术的问题。在这方面一定要谨慎。
前段时间的GitLab的事故,就是咱们的警钟。还有,在学习的过程中要注意文件的权限问题。权限问题是安全问题的一部分。我选择学习的书籍是《Linux就该这么学》文章精炼,没有废话,不会看着看着就没有耐心,我在这本书里学习权限一章时,着实费了很多精力。内容包括文件权限与特殊权限、文件隐藏属性、文件访问控制列表等。在学等时候没有感受到它的重要性,在工作中却慢慢的意识到它的重要。安全问题都是大问题,要想避免背锅,就要注意细节。从权限上把好关,以后能省很多事。
第三点,了解行业前沿技术。如果搞技术,必须要有终身学习的觉悟,就像我之前举的例子一样,技术的发展是很快的,如果只会用IIS建站,那今天就会丢掉工作。现在运维行业的技术热潮是自动化运维与云计算。自动化运维在运维行业的推行已经很久了,已经成为行业的必备的技能。学好自动化运维不但能避免自己被时代淘汰,也能降低自己的重复性工作,好处多多。
虽然做运维很辛苦,但付出的多才能收获更多的回报。链接分享给你们http://www.linuxprobe.com/如果你是一个踏实肯干并且比较细心的人,做运维一定会让你获得物质和精神上的满足,实现自己的价值。