首页 > 热点

运维工程师应该掌握的技能

一、 基础工具(操作流):vi ,这个是必须的,因为服务器的运维多用远程登录,没有GUI。一些对服务器资源占用要求严格的公司会在安装时

作者:ecaSd | 2016-12-21 01:01:17

一、 基础工具(操作流):


vi ,这个是必须的,因为服务器的运维多用远程登录,没有GUI。一些对服务器资源占用要求严格的公司会在安装时就要求最小化安装,然后再按需安装业务程序的依赖软件。这种情况默认桌面环境甚至Xserver是不安装的。不会用vi,会很痛苦。vi较常用的:查找,精确复制粘贴,精准定位至要编辑的行,表达式作字符串替换。

熟悉windows与linux之间相连接的工具。(Secure CRT, vnc, rdesktop,winscp),提到上面几个工具是因为你有可能在你的同事或者客户的windows机器上连linux server

此条多是照搬rhct的内容: 懂fdisk/parted分区工具,管理swap,管理用户,查看主机配置(主机型号,cpu型号,物理内存数量(比如看到有16条单根8G的内存),如果是代客户运维,这些东西与客户采购与系统扩容联系紧密,扯远了),lvm管理,文件系统管理,网络配置管理/多网卡绑定,各发行版上 二进制/源代码包的安装,软件包依赖关系解决,查看系统当前负载(内存占用top 10进程列表,cpu占用top10进程列表,IO负载),熟悉常用系统日志的查看方法

服务器配置安装部分:熟悉最常用 的ftp,http,nfs,samba,dns,dhcp,mail的一般配置方法。

熟悉系统常用中间件/数据库的安装(tomcat,jboss,was,oracle),可以不熟悉它们的配置

理解“环境变量”及其作用,能写shell  ,知道一点expect/sed/awk, 会使工作有效率


二、 进阶篇(分析流)


熟悉HA集群以及负载均衡(lvs)集群的配置

熟悉多路径(multipath)的配置和管理,熟悉san/nas的概念与区别

熟悉各发行版二进制包的制作过程与二进制包的安装原理或过程

分析系统性能瓶颈点(IO/memory/cpu,常用工具,top命令中shift组合键的特殊用法,Sar/vmstat/iostat/ipcs)

理解Xwindow大致原理,用ssh或 定义DISPLAY 作x server的任意跳转

熟悉PXE+kickstat作无人值守的批量部署

熟悉以源代码方式安装硬件驱动


三、 深入进阶篇


分析部分程序不能运行或没有按预想结果运行的原因,strace对程序运行跟踪,查看系统调用的过程,

较深入的系统瓶颈点分析(swap使用频率,硬件驱动的中断请求在各core的分布,高手见笑,我只用过这两个)

熟悉kdump的大致原理,nmi的大致原理,分析系统crash时dump出的文件。(如果能看到dump文件的话,里面记录的还是比较清晰的,日志会记录到crash时每个core上运行的进程正在执行的系统调用,有遇到过:几次系统总是在某个系统调用发生时crash,后来百度了资料,才知道这个系统调用存在bug,最后单升级kernel就好了。 现在让我很蛋疼的是很多时候机器hang掉,不会产生kdump文件,尽管设置了内核的oops/nmi相关参数,如果有高手碰巧看到,希望能请教一下)


四、意识篇


1) 安全意识:关于这个,有创宇的兄弟在,不敢班门弄斧


2) 磨刀意识:关于任何操作配置,最好先搞明白操作或配置的原理,然后再去操作。应一句话叫做“磨刀不误砍柴功”,而且对于类似的操作可以举一反三。


3) 计划意识:复杂的变更操作比如多台主机以及牵涉到san存储,最好先作 操作计划,写计划文档,详细致每条命令,然后请高手帮忙审核。 这样能最大程度使整个操作过程安全。如果是重要的客户业务系统,操作最好有回退方案,而一旦变更失败,客户可以在短时间内将业务回退。


4) 记录分享意识:遇到自己认为较特殊的案例时,记得要写 案例过程及分析的文档。也方便自己以后翻看,或者和其他兄弟分享,作知识的传播以便于大家以后都能少走弯路。


5) 监控意识:运维来说,监控是非常重要的,监控是发现系统各种异常的眼睛,所以运维应该和监控紧密配合。


6) 业务意识:尽量了解维护的各主机上业务类型,以及各主机业务之间的关联性。因为任何维护工作都是为主机能提供业务服务的,当某业务中断,能最快的知道与此业务相关的主机群,从而缩小故障排查范围,最快定位故障。