如果您对运维行业了解一些,应该会知道,现在的运维早已不是早年的“睡机房”,往办公室打眼一看,分不清是运维攻城狮还是开发程序猿,但是,运维这行也是春天到了,今天Linux,明天云计算的,各种新鲜概念层出不穷,那么,Linux运维是什么?云计算运维又是什么?
现在我们谈运维,经常谈的就是海量这个词,当一个企业拥有几百台服务器的时候,可能更关注的是如何满足应用/业务需求,更多时候不必过多的关注架构、容量、扩展性这些,运维部门有时甚至沦为打杂部门。但是当一个企业拥有几万甚至几十万台的服务器这个体量时,则会更多的关注架构的规划和演进,质量、容量、成本的管理,自动化部署等等,这时候我们听到比运维更多的词是运营。没错,对于运维人员来说,不同体量的运维,做的其实是完全不同的两件事情,难度也是完全不同的,对于运维的能力要求、价值体现也是完全不同的。总结一下,就是海量的运维环境才能体现出运维工程师的价值,当然也就越有前景。
linux运维需要掌握的基础知识
1、shell脚本和另一个脚本语言,shell是运维人员必须具备的,不懂这个连入职都不行,至少也要写出一些系统管理脚本,最简单也得写个监控CPU,内存比率的脚本,这是最基本的了,也是最有意义,而另一个脚本语言是可选的,一般是3P,即python, perl和php,php就不需要考虑了,除非你要做开发,我个人建议学python会比较好,难实现自动化运维,perl是文本处理很强大,反正这两个学一个就行了。
2、sed和awk工具,必须要掌握,在掌握这两个工具同时,还要掌握正则表达式,这个就痛苦了,正则是最难学的表达式,但结合到sed和awk中会很强大,在处理文本内容和过滤WEB内容时十分有用,不过在学shell的同时一般会经常结合用到的。
3、文本处理命令,sort , tr , cut, paste, uniq, tee等,必学,也是结合shell脚本语言时一并学习的。
4、数据库,首选mysql,因为linux用得最多绝对是mysql,增删改查必学,特别要学熟查,其它方面可能不太需要,因为运维人员使用最多还是查。
5、防火墙,也是必学的,防火墙也算是个难点,最重要弄懂规则,如果学过CCNA的朋友可能会比较好学,因为iptables也有NAT表,原理是一样的,而FILTER表用得最多。
6、监控工具,十分的重要,个人建议,最好学这3个,cacti,nagios,zibbix,企业用得最多应该是nagios和 zibbix,但nagios会有点难,因为会涉及到用脚本写自动监控,那个地方很难。
7、集群和热备,这个很重要,肯定要懂的,但到了公司就不会让你去弄,因为新手基本不让你碰,集群工具有很多,最好学是LVS,这是必学,最好也学学nginx集群,反向代理,还有热备,这个就更多工具能实现了,mysql热备也要学,就是主从复制,这个其实不容易的,要学懂整个流程一点也不容易。
8、数据备份,也是必须要学的,工具有很多,但至少要把RAID的原理弄懂,特别是企业最常用的1+0或0+1,自己做实验也要弄出来,备份工具有很多,如tar, dump, rsync等,最好多了解一下。
再说问题里面的另一个关键词,云计算。公有云由于它的自身特点就是为其他企业提供云计算服务,所以必然决定了它的体量一定是巨大的,并且公有云运维和传统运维有个非常大的不同,传统运维都是自有业务,可以和业务部门协调变更、停机窗口,而公有云全部都是客户的业务,很难去判断用户行为,所以要求是绝对的稳定,变更中断都要求是无感知的,这些都增加了公有云的运维难度。所以公有云运维和一般运维比起来,技术难度更大,需要更强的运营能力以及技术前瞻性。当然前景也比传统运维要更好一点,毕竟如此大体量的Infrastructure不是一般公司可以有的。