首先,Linux运维在工作中需要掌握哪些核心技术?
第一,最主要的排错。分析部分程序不能运行或没有按预想结果运行的原因,对程序运行跟踪,查看系统调用的过程;较深入的系统瓶颈点分析。包括:查看剩余内存、系统信息、日志管理常用内容、硬件信息。
第二,优化。优化是根据实际的现场环境硬件各个参数进行部分优化,提高软件性能和网站性能。这个我只能讲半知半解,当时优化MySQL和Tomcat参数也是根据网上文章和官网文档查找参数在虚拟机上测试然后查看性能。优化可以说是运维最吃香的技能,基本会优化的运维普遍工资很高,而且优化是要承担风险的,并不是网上搜个文章改一下配置文件或者参数就叫优化了,这样很容易造成宕机。
第三,开发技能。随着云计算时代的来临,中小型公司不需要运维了,大型公司没有工程开发能力的运维,是没有竞争力的。
优选 Shell 和 Python,现在 Shell 无法满足你的需求或者效率很低,那么选择自动化 Python 是最好的选择。现在普遍招聘需求要求,会写 Shell 或者 Python、Perl 脚本,个人选择还是选 Python。
Python 这门语言上手比较快,容易理解。在服务器管理工具上非常丰富,配置管理(Saltstack) 批量执行(Fabric、Saltstack) 监控(Zenoss、Nagios 插件) 虚拟化管理( python-libvirt) 进程管理 (Supervisor) 云计算(OpenStack) ...... 还有大部分系统 C 库都有 Python 绑定。
除了核心技术,还要有运维意识。运维意识包含一些什么呢?
一、安全意识
运维人员的权限很大,所以一定要保证帐号/私钥的安全。所以给出衷心建议:最好使用加密工具存储,比如Truecrypt、lpassword;SSH私钥添加密码;基于本地存储,切勿用网盘,也不建议用lastpass等。
二、计划意识
复杂的变更操作比如多台主机以及牵涉到san存储,最好先作 操作计划,写计划文档,详细致每条命令,然后请高手帮忙审核。 这样能最大程度使整个操作过程安全。如果是重要的客户业务系统,操作最好有回退方案,而一旦变更失败,客户可以在短时间内将业务回退。
三、记录分享意识
遇到自己认为较特殊的案例时,记得要写案例过程及分析的文档。也方便自己以后翻看,或者和其他人分享,当作知识的传播以便于大家以后都能少走弯路。
四、磨刀意识
关于任何操作配置,最好先搞明白操作或配置的原理,然后再去操作。应一句话叫做“磨刀不误砍柴功”,而且对于类似的操作可以举一反三。
五、业务意识
尽量了解维护的各主机上业务类型,以及各主机业务之间的关联性。因为任何维护工作都是为主机能提供业务服务的,当某业务中断,能最快的知道与此业务相关的主机群,从而缩小故障排查范围,最快定位故障。
六、监控意识
运维来说,监控是非常重要的,监控是发现系统各种异常的眼睛,所以运维应该和监控紧密配合。
小白和大神的区别就是技术和意识的进阶,所以想要不被你所在的职业淘汰,总是需要不断学习。而且很多时候是多一点技术就可以有更多的薪资,这一点何乐而不为呢?
上一个教程:Linux运维工程师的基本技能,全会的才合格!
下一个教程:女生不适合进IT行业做Linux运维?