运维与监控  - 讨论区

标题:系统运维秘诀之二:知识与经验积累,协同合作(交流篇

2011年01月20日 星期四 08:33

本文是SixApart的MySQL DBA,Dormando在2008年总结的一套运维秘诀。编者前日看到Google系统管理员 Tom Limoncelli Everything Sysadmin 上推荐这篇文章,并表示这篇文章的内容在今天仍然适用。阅读之下,发现的确是篇难得的好文章,有大量的经验分享总结。

Dormando的运维秘诀分成以下三大篇:

  1. 技术篇
  2. 交流篇
  3. 实践篇

第二篇是交流篇,讲述的是有关运维的知识积累、经验积累、协同合作、个人成长方面的内容。其中有些内容不仅是站在运维本身的角度来考虑,同时也对运维的管理者提出了建议。

交流篇

通过多种方式来学习

◆订阅一些RSS feed,每星期至少阅读几篇好文章。 LWN ,kerneltrap, undeadly.org 。凡是相关的,或是仅仅是有点擦边的内容都应该关注。

◆阅读“达人”的博文。有时他们会投递一些有趣的主题,并且我们还可以通过评论直接和博主进行交流。

◆阅读几篇非“达人”的博文。通过他们遇到的问题,或者他们做了但没有做好的工作,我们可以找到一些感觉。(译注:这一点我个人深有体会。阅读一些新手的博文,我们常常可以得到启发,因为我们的一些做法虽然不会出问题,但是太程式化了,每天都重复同样的事情,我们无法进步,而新手由于缺乏经验,他们会不断地尝试各种做法,他们遇到的问题很可能是我们没有遇到过的,这对我们来说是一笔财富。)

◆想尽办法认识一些可以“痛扁”你的人。注意,一定要谦虚。

◆通过多种来源学习。通过多种方式吸收知识有助于找到最适合你的方式。

◆仔细研读其他公司成功或失败方面的故事。可以尝试打电话给他们的CTO,通过免费的午餐从他们那里获取一些有价值的建议。

尝试各种事情

◆如果你不断地进行尝试,你会发现你能做的事情远远超出了你的想象。以前从来没有见到过?那就试试看。

◆尽量不做一只危险的“菜鸟”。在你有把握不会把整个房间都烧掉以前,应该在“沙箱”中进行尝试。

真正地搞清楚冗余是怎么一回事

◆真正地搞清楚冗余会对哪些事情造成怎样的影响。在什么情况下它可以发挥作用,在什么情况下它无法发挥作用。

◆尝试破坏你的系统。你可以在测试实验室中尝试,有时也可以在生产系统中这样做。了解一下当你处于受限状态中的时候可以做什么。比如,拔掉电源,抽出网卡,杀死进程,拔掉几根内存,抽掉硬盘,拔掉网线。

◆在冗余存在的情况下尝试替换和升级系统。

真正地理解可扩展性

◆关于如何开发出可扩展的系统,有很多的资料可以参考。虽然你不用自己编写一个这样的系统,但是你要尽量搞清楚这方面的理论知识。

◆学习虚拟化。创建几个虚拟机,然后尝试着摆弄一下针对多台机器的应用程序。在本地的不同的端口上运行多个实例。

◆通常,运维人员要做一些系统承载量方面的计划。如果你不清楚应该把什么资源应该添加到哪里,你就不会知道应该添加些什么。

成为一个能够解决问题的超级明星

◆问题忽然发生,而时间是宝贵的。你必须要有自己的知识储备,并高效的使用它们。

◆经常练习着解决问题。挑选出一个可以正常工作的完美页面,然后试着跟踪一下它是如何工作的。

◆strace, ltrace, lsof, logs

◆搞清楚load != load(编者注:此处理解为load参数不等同于真正的系统负载情况)。主机运行情况的所有信息都需要查看。

◆熟悉IO系统相关的工具。“不可思议”的性能问题通常都是由于你的RAID或SAN配置出了什么问题。

◆记录文档。Checklist,解决问题的技巧,构建工具等。

◆构建更多的工具。不只是为了你自己,也是为了其他人。你也可以给现有的工具添加一些功能。

和IT人员一起工作

◆信不信由你,运维人员和IT人员之间存在交集。

◆运维人员必须要为服务器维护高带宽的网络访问。IT人员必须要做同样的事情,只是他们的服务对象是人。IT人员也往往是运维人员进入数据中心的“桥梁”。在这一点上,大家在一起工作是很有实际意义的。

◆彼此的分工要明确。IT人员应该负责管理邮件,而运维人员应该负责管理开发环境的服务器。不要插手职责之外的事情,尽最大的努力把你自己的事情做好。

◆不要疏远他人。Mac是流行的,Linux也(慢慢地)获得了一些市场份额。信不信由你,强迫大家都使用微软的生产软件可能会对你造成不好的影响。实际上有许多替代品,你可以试试看。在你的公司中,很可能熟悉Google应用的人比熟悉Outlook的人要多。

◆尽可能的让大家觉得Unix并不难用,毕竟这是他们要支持的系统,你肯定希望他们对Unix更加熟悉一些。当然,除非你家里是卖Windows的。

和开发人员一起工作

◆你们都为同一个产品工作,你们的目的也是一致的。试着多配合一下。

◆一起开策略会议并不等于在一起工作。

◆开发人员更了解代码资源,运维人员更了解硬件和部署。把这一切都记在心里,你可以让一些事情变得更高效。

◆交叉培训。传播双方使用和设计工具的心得,这可以提高工具的可管理性和灵活性。

◆注意不要过多地要求对方。这不是“我们”VS“他们”。每一个人都是有人权的。每一个人都应该尽可能地为公司多做贡献,而不是为了他们自己。

◆如果大家相处的很融洽,就可以从容地应对各种紧急事件了。

和其他领域的运维一起工作

◆每个领域的运维都有他们自己的专长。网络,数据库,OS。不要忘记彼此多交流!

◆一味地墨守陈规是消极的,令人厌烦的。让你的运维们重复的做相同的工作可以很快的增加他们的流失率。要尊重系统运维们在网络运维们的背后观察学习的机会。

◆时刻记得给人们尝试,学习和成长的机会。

◆注意别给你最优秀的运维安排了太多的活儿。你想要用的运维是那种有能力给自己找出空闲时间的人。

◆浑水摸鱼者(编者注:原文为bad eggs,直译为坏蛋)。对待他们要足够强硬。大多数人在帮助之下是可以完成任务的,但是他们必须要学会独立。

 

 

原文: Dormando's [crappy] Operations Mantras

译文出处

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号