运维工程师必须掌握的基础技能有哪些?

2024-12-31 14:49:45
推荐回答(2个)
回答1:

1,网络工程师的工作:你至少要能配置CISCO 6509以下的设备,熟悉各种网络协议,否则网络出问题的时候你会傻掉。

2,系统工程师的工作:
你至少要理解各种系统服务,在出问题的情况下要迅速解决问题,而不是等系统工程师来解决。

3,安全工程师的工作:
我不要求你一定要会各种网络编程,但是在服务器收攻击的情况下,没有防火墙的情况下,做一些简单的处理工作。

4,存储工程师的工作:至少要熟悉各个厂商的设备,各种备份和还原的办法。

5,测试工程师的工作:在新版本上线之前,你至少要协同测试工程师做测试工作,因为你是运维人员,不了解程序架构导致无法解决故障,你也有一份责任。

6,研发人员的工作 :
运维工具都需要自已开发,熟悉开发语言,需要有过实际开发经验,否则工作会非常痛苦,我深有体会。

7,英语

8,好的沟通者:不出问题时候你可以打游戏睡觉,出问题的时候要能和项目人员沟通,快速解决问题,而不是推;我知道有很多人能推责任,你可以做替死鬼,但是离开这个工作你还能找到更好的;把责任推到别人身上的人,下次出问题的时候,绝对没人帮你。你要能和各个兄弟部门关系非常的密切,出了问题有兄弟帮你担责任;也要能非常扯皮,没事在会议上把别人都搞定。

9,库房管理员:数万台服务器让你来管理,任何丢失或者损坏都是不负责任和失职的表现。

1. Linux基础

包括对Linux整体的理解/使用和基本命令:

  • 了解Linux FHS : Filesystem Hierarchy Standard,国人写的这本书不错 Linux系统架构与目录解析 (豆瓣)

  • 入门Linux:鸟哥的Linux私房菜.基础学习篇(第三版) (豆瓣) 个人认为鸟哥的这本书是一本非常好的入门书

  • 基本操作命令:Google,如Linux command cheat sheet

  • 熟悉至少一个内置编辑器: vi, nano

  • 至少熟悉一个发行版(或系列),建议作为服务器常用的如Centos, Debian, Ubuntu,可以了解多个常用发行版

  • 2. 运维的命令:

    运维相关的工具(命令),了解它能解决很多问题。

    前几天刚回答了一个问题:如何才能更深入的学习linux?

    里面的图在这里也可以用到:

    可以对着图对学习了解这些命令。

    另外我个人也会对平时用到的这些工具做一个整理和记录,总结到我的个人维基上:Wiki · Tanky Woo

    3. 基础服务:

  • LAMP或LNMP :Apache/Nginx,MySQL,PHP/Python/Perl LAMP (software bundle)

  • FTP

  • DNS

  • SAMBA

  • EMAIL

  • NTP

  • DHCP

  • ...

  • 可以本地搭建练练手

    这里推荐鸟哥另外一本书 服务器架设篇: 鸟哥的Linux私房菜 (豆瓣)

    4. 运维平台工具:

    也在这个问题 如何才能更深入的学习linux? 里提到了:

  • Nagios

  • Puppet

  • Zabbix

  • Cacti

  • SaltStack

  • ....

  • 可以选择性的折腾下,因为这个涉及到业务,没有实际环境,很难去理解他们的功能和特点。

    5. 脚本:

  • 必备:Shell

  • 额外:Python,Perl...

  • 6. 底层:

  • Linux C,内核

  • 7. 网络:

    网络是非常重要的一块

  • 把《TCP/IP协议详解》多看几遍,理解。

  • 熟练使用tcpdump等抓包工具

  • 8. 安全:

  • 防火墙配置,如 iptables

  • 9. 硬件:

  • 接口类型

  • 查看硬件信息

  • 知道各类型服务器,如塔式、机架式、刀片式

回答2:

1、Linux基础命令及脚本:shell是基本要求,最好再懂点perl或python等。如果不懂脚本,怎么把重复的劳动变得简单呢?
2、系统监控命令:目的是获取系统当前的运行状态,遇到故障等要懂得分析排查。系统调优并懂得原理,知道为什么参数要调整成某个值。
3、网络监控命令:理由和第二点一致,不过侧重于网络。同样需要理解原理及调优,不能照搬前人的经验而不知甚解。