运维的85条规则_服务器其它

1.容量第一,优化第二——这条规则在故障发生时生效。在宕机的时候别研究什么优化,先恢复设备。

2.保留所有可以捕获的记录——以 PostgresQL 为例,包括有 WAL 文件,Slony 复制,快照技术,基于硬盘的 DB 版本(快照附带的)

3.不要因为优化引入更多问题。通常我们解决问题时做出来的东西都会转变成之后运维工作的负担。请确认为运维工作开发的那些工具已经完全交付使用。这些东西经常无法正常运行结果要返回开发组重来。更重要的,这种变更请求通常会打破团队原本安排好的工作计划。

4.保持简单,不要让事情变得太复杂,聪明的你一定可以做到的。

5.谨慎使用缓存以保护那些难以水平扩展的资源。当然,如果你可以水平扩展它,那么给他加缓存层就不用考虑太多。一旦用上了缓存层,它的目的应该是提高最终用户的访问性能,而不是增加网站的容量。否则,你不过是给自己加上了一个新的非常不可靠的瓶颈。他们潜在的负面影响可能危及整个系统。事实上缓存层失效带来的,经常是雪崩式的级联故障。

6.不要什么都自己写代码实现,也不要什么都从厂家买——要在适当的时候采用适当的工具。

7.谈判——和真正有实力的厂家谈判的唯一办法就是提前做好功课,准备好一切可行项。这样一旦有必要,你可以从你的首选厂家里选择离开。不用搞虚张声势那套了。

8.永远要准备好 N+1 的服务器。如果 N 等于 1,那么不管什么情况都不要动用这个 +1 的设备,专职等待 N 失效后的接管。当你使用冗余的服务器来均衡负载的时候,就只有49%或者更少的容量可管理了。通常我们会获得 N+2 的机会——一定要好好利用起来。

9.数据丢失是任何一家公司都不敢冒的风险——这是一条普遍真理。丢失数据造成的损耗远远超过用于保证数据不丢失的花费。

10.随时随地的并行化——这是一种很重要的思维方式。比如,如果 MogileFS 设置为位置感知的方式并且需要实时复制,那么每个 MogileFS 服务器都必须可以复制自己的数据到负载均衡器指定的另一端。只要有可能,尽量实现这种多对多的方式。

11.RTFM——就在今天我还要阅读一对 RAID 卡的说明书来比较他们微妙的差异。魔鬼在于细节。像做家庭作业一样读文档吧!

12.了解每一层上的瓶颈以及如何发现瓶颈。必须要知道你是在磁盘,内存,还是 CPU 上受限制了,搞清楚这个其实挺简单的。

13.要有一个固定的容量管理流程——而且是主动式的,不是被动式的。要知道系统的弱点在哪里,让实际负荷曲线跑到容量曲线之上是极度危险的。

14.不促成失败,也不惧怕改变。

15.不要吸进你自己的废气。别以为你现在的工作结果会变成未来你如何工作的动力。

16.运维人员要写的代码是运维工具,而不是应用软件。

17.不要低估运维团队中项目经理、技术作者、金融分析师的价值。这些人通常比你给的工资值钱多了。

18.监控所有的东西——报警只用在异动的时候,其他的都记录下来供趋势分析。

19.要有一个固定的流程来查看每个地方的趋势数据。

20.不要让监控太吵闹,那样很快就变得没作用了。

21.确保你的监控系统简单易用到公司里每个人都能上手。监控数据指标转换成为业务指标、市场指标和销售指标等等的频率可能高的让你吃惊。

22.只在可以做出相应改变的地方做总结,否则就是白白浪费时间。

23.总结要公开,同时附上事件相关的数据。这样大家可以很容易的找到总结的关键点并且跳转到对应数据。

24.要让技术的每一个点都有人员在负责。

25.同时为这些负责人准备好备份人员。

26.不断发招聘——哪怕没有名额了。

27.做自己最严厉的批评者。不管自己或者自认多聪明,总有可以提高的地方。

28.多往外看,拿自身的水平和尽量多的公司的职位需求做对比。

29.每年参加一个技术交流大会。如果一年有好几个,那选最好的那一个去就够了。

30.买你需要的而不是你想要的。绝不摘下你公司的帽子换上那个写着“对我来说什么最简单最安全”的。

31.只做对业务最好的事情,哪怕这件事是让你滚蛋……

32.问责制度正规化——记录承诺,事后追究没有完成者。

33.不允许重复失败。听起来有些过于苛责了。不过要区分不可挽回的失误和失误的差别。

34.无情——因为对手都是无情的。

35.工作是你要在完成的时候亲自署名的东西。署名同时也意味着完成任务。

36.保持对外的可用联络。

37.创业的伙伴——告诉他们你的专长和能力范围。你会得到免费的产品回报,有时候是生活中的。

38.容量是一个业务/产品问题。也就是说每个页面、上传或者登录等请求的网络消耗,都必须是可见的,以协助完成正确的业务/产品决策。

39.一定要打败预算!运维团队总是预算金额最大的挥霍者。公司的收入目标经常达不到,运维团队应该有很多办法来推迟自己的花费。

40.过去的经验不一定适用于现在乃至将来——多尝试没错,而且要有恰当的测试工具来做这件事。

41.文档——所有事情都应该好好记录成文档。避免团队的新成员绕着圈的找遍全团队逐一了解工作内容。

42.画一张超大尺寸的网络拓扑图,描绘你的数据中心。

43.为你的每个产品都画一个逻辑流程图。

44.维基——让大家可以很容易的发布“如何修复这个问题”的文档并且容易查找。这是技术作者发挥作用的地方,不过维基可以让哪怕非正式的文档或者增增改改的小段落也更好查看。

45.确保团队的每个成员,对,是每一个,都是可以替换的。

46.有些人在家里干活比在公司的时候还好,但有些人却不行。

47.订单打包签订——把硬件需求打包成大订单后再去咨询最大的折扣合同,记得订单里要包括所有一切,比如备件包,租赁条件等等。

48.和供应商保持长期联系,哪怕你换到下一份工作的时候也能联系上他们。

49.给运维团队每个人都配上一切他们可以远程操控的东西——掌上电脑, 3G 网卡,24 寸 LCD 屏幕……你为有才华的人付出得到的回报,远超过在远程雇佣的现场工程师。记住,运维工程师都是电力狂人,他们知道并且能充分利用屏幕上每个像素。

50.除非 Mac 可以运行 office 2007 和 outlook,否则团队里总需要几个 windows。这事很破坏团队的会议安排,联系人管理和邮件列表等等。

51.要有一个简化的采购流程——前提是你要了解自己的预算,并且能够管理好。我们可以从财务报告中得到实际。技术驱动的报告和财务驱动的报告之间通常存在差距。一个好的运维经理可以创建一些模型,将这些差别计入销售总成本中。而理解这些的 CFO 才可以帮助推动业务决策。

52.周会一定要持续举行,对上周的事件逐一总结和问责。

53.创建一个独立的升级系统,来管理那些对运维产生负面影响的代码开发工程。这个想法的来源是:一个同时涉及运维和开发的问题,在运维或者开发的跟踪系统里大多被湮没无视,最后没人理睬,所以给这些问题单独创建一个跟踪系统反而更加简单清楚。

54.产品开发从设计开始的每个阶段都要和运维技术相结合。这样,扩展性,监控和可靠性都融入到产品里。这样同时也可以确保运维负责的硬件采购、监控系统按时到位,运行手册即时更新,最后产品按照预计时间上线运行并且都符合运维标准。

55.像一个真正的公司一样运作——萨班斯法案,WebTrust 安全审计认证,SAS 70 审计标准,Visa 组织和银行等等。如果你真的成功了,这些都是你不得不打交道的。早点开始这些准备其实很简单,不需要太多的知识。不过就是开发一个工单/任务跟踪工具,然后好好使用。把变更控制和管理放进同样的系统里,好好使用。其他信息也放进来。系统就可以帮助我们找出像“上周变更了什么”这类信息。

56.给冗余留空间。一开始或许很难,但是一个没有真正的扩展性和可靠性的系统,才会真正耽误你获得成功的时间。

57.买个 Oracle 标准版(或者微软 SQL Server 标准版)是值得的。如果你可以限制住自己不超过标准版的需求,那就绝对值得买,哪怕你刚刚开始创业。

58.Postgres 和 MySQL 的免费不错。如果你不是特别在意事务完整性,MySQL 其实挺好的。

59.容量设计应该按照每日峰值再上抛 20% 到 30% 的冗余。除非你是个 vmotion(译注:VMWare 的热迁移技术)达人。

60.尽量多读一些贸易杂志。它们通常是免费的,只要你填写一些调查问卷就好了。新闻的价值是巨大的。对了,记得让他们投递到你家里,工作的时候读杂志的机会趋近于零。

61.注意安全。开发人员不应该有生产线的权限,而应该去做代码复核。这是和运维之间的职责分离。然后运维中应该有人控制设置其他运维人员权限的权限。创建一个员工手册,警告大家违反安全条例会有很严重的后果。从一开始就要记住从物理的、逻辑的、功能的各个方面来保护客户的数据安全和隐私。万一有客户要和你对簿公堂,你回忆起来发现自己只是靠勇气和勤奋来保护客户数据,这感觉可不怎么好。

62.控制好访问入口。首先要保证大家可以正常完成工作;其次要确保你知道他们是从哪里进来的。快去实现双因素身份验证方法吧。

63.对于人们访问生产环境必经之路的堡垒机和网关,键盘记录是至关重要的。对于 Windows 可能稍微有点难度,不过有些网关可以提供自动截屏功能。

64.确保有多种办法登录生产环境。不要期望公司的 VPN 在网络中断的时候还能起作用。直接把 VPN 架设在生产环境里。

65.使用 LDAP 做认证,哪怕你只有 10 台机器,通过复制 passwd 和 shadow 文件的方式来管理,你也要 LDAP 认证。

66.不要低估在 UNIX 环境中一台 Windows Server 2008 设备是多么有用。如果只是因为不懂 Windows,那么去学,而不是贬低它。

67.不要用那些无效的无线方案浪费大家的时间。公司里所有人都在移动,沙发上,会议室里,门口,到处都要上网。千万维护好你的无线路由。

68.总有些人把额外的精力和时间都投入到工作上——直接通过他们的请假单好了。而另一些人恰恰相反只把注意力放在怎么通过自己的请假单。在个人时间安排上,运维人员总是做出巨大的牺牲,他们随时准备凌晨3点爬起床快速响应排障需求。

69.通过集中式的 RDBMS 管理你所有的设备资产。然后复制资产,人员,网络,合同等所有数据到异地。没错,要的是一个在线的实时可用的复制,而不是每天晚上备份到磁带。

70.自动使用多进程以确认安全,包括操作系统或者产品的上线,文件的推送,日志的分析等。

71.自动化操作必须和运维的 RDBMS 数据相关联。

72.设备通常有三种状态——离线,服务中,预备。预备状态就是说正在通过 cfengine、rsync 或者其他你在使用的工具完成配置。服务中就是已经运行着流量了。同时还需要一个状态,这个状态下的设备可以在不提供生产服务的情况下收集或者测试数据。

73.尊重日志数据。在设备下线或者重建之前,一定要先导出日志。

74.如果业务飞速发展让你没有太多时间来做优化,那就尽力锁定一切——进程还能工作,就不要改变它,直到后来有了绝对必要的理由。总之,锁定默认值,等待成长到必要时再审视。

75.你永远无法避免运维工程师在你基础设施最关键的地方犯点啥错——比如在哪台机器上不小心执行 rm -rf / 命令。

76.为团队保持好玩和有趣的气氛——如果他们不再享受他们的工作,他们就会找别的事情来消遣。要让团队有主人翁意识,运维不是哪个经理的个人任务。

77.提供 99.999% 可用性的真正价值在于让我们有能力保持灵活。这意味着当你需要的时候可以充分利用系统冗余。物理变更、设备迁移、代码修改和回退等等都游刃有余。这个对于公司本身价值巨大,甚至比对客户还大。

78.如果你能做到 99.999%,那就给客户一个 100% 的SLA承诺。

79.不要湮没软件热更新的能力。应该被湮没的是你自己回滚或者转移到旧版本代码的能力。压根就不应该“处理”这种徒劳的失败转移。当事情变得不如人意的时候,你更应该做的是找个大玩意儿来挡住你的肥屁股。CYA(译注:Cover Your Ass,就是前面说的盖屁股) = 保持敏捷 = 成功的公司。

80.记住你为客户构建产品的思路里每一步的原因和目的——不管你部署给最终用户的是什么,把这些放在最先考虑,即你所有(基础设施、流程和人员)的设计都是为了提供最好的服务和产品。

81.第一次就要成功。很少有机会让你回去重新开始的。重做是对公司资源的巨大浪费。

82.多联系业内的合作伙伴、盟友和类似的企业,看看他们的运维是怎么做的。很可能他们碰到了跟你一样的挑战,而解决的更为巧妙。不要害怕分享自己的经验和处理过程,因为别人也会回馈的。

83.招人就要招那些足以让自己担心会被挤掉目前工作的,招那些你欣赏和可以学习的榜样,招那些你愿意和他一起工作的。这感觉甚至超过你招聘一个工作考评为A的员工。

84.IT 和运维是完全不同的两个概念。一个不错的运维经理应该可以管理好企业 IT,但是一个传统的 IT 工程师很难有能力处理互联网运维任务。

85.当你开始一份新工作或者在每年的起始,都应该去争取预算。这不是说滚着那个滋滋响的轮子往前走(应该是指循规蹈矩照本宣科),而是要一个基于历史数据做出的优秀的文案。如果你正在评估一份新工作,请确认你完完全全的知道预算以及预算的来源。同时,还应该有的是改善这份预算的权利。

时间: 2024-08-30 11:02:32

运维的85条规则_服务器其它的相关文章

运维的85条军规

1) 承载能力优先--随后再进行优化--不遵守这条规则必定带来故障停机时间.不要在故障停机时间的压力下进行优化--要先集中精力提高承载能力. 2) 以Postgres为例,一定要确保你的每一个网络都能匹配得上你的WAL文件.Slony复制.快照技术以及基于磁盘的DB版本化(快照的衍生品). 3) 不要把问题'优化'到你的架构之中.为了解决问题而新加进来的一些东西往往后来都会变成运维沉重的负担.要确保在运维工程化中开发出来的工具交接完整.过后再回头进行进一步的开发往往不灵.更重要的是,变更请求可能

往期直播:《游族网络:如何运维千台以上游戏云服务器》

第3期在线培训直播报名开始啦:<基于混合云的OTA比价系统.精准运营和大数据用户推荐>,分享者是驴妈妈副CTO邵汉成.分享内容主要包括采用混合云,进行产品比价跟价:进一步提升精准运营并提升产品竞争力:并结合大数据分析,根据用户喜好和个性数据,推荐性价比高的产品. 第2期在线培训结束,整理的文章出炉(含幻灯片):https://yq.aliyun.com/articles/7548,视频回放 https://yq.aliyun.com/edu/lesson/play/97 . 3月4日第2期在线

大咖直播第二期问答整理:游族李志勇讲解如何运维千台以上游戏云服务器

问答列表: 想了解下爆款游戏最高峰值是多少? 海外服务器是用到了云服务器, 还是自建机房的 请问日志服务如何工作的呢 游族私有云是用的OpenStack?本身组件很多.后续和公有云之间如何衔接的?刚才没听清楚. 一台服务器一个数据库还是很多区共用一台服务器,如果数据很多备份慢怎么办 想问下数据库的部分,是单DB多实例,有没有启用分布式DB的架构呢? 运维小白到总监的路径是多少? 请问使用了哪些阿里云的服务 后端是什么语言写的这种负载均衡 域名一块就已经开始结合负载均衡吧? RDS 横向扩展是怎么

数据中心运维管理经验39条

1.空调与机房错层设计,可以有效防止漏水. 2.机房蓄电池的使用环境温度非常重要,25度是最佳值. 3.要注意电池的生产批次,讲究其一致性,不同批次的产品性能会有略微差异.所以在采购蓄电池时,可以每组同批次的多买2节电池,放入系统中作为电池组的热备份,当今后某节电池出现问题时,可以及时顶上. 4.要建CMDB,如果没有建立CMDB库,那么一定要建立一本简单的台帐,EXECL表就可以. 5.数据中心没有突发事件,所有事件的发生都应做到预案化.所以要不断的去完善应急预案,要通过头脑风暴去设计不同的应

编写Js代码要注意的几条规则_基础知识

1.不要大量使用document.write() 2.检查客户端支持对象的能力(渐进式)而不是检查其客户端,测试要使用的对象. 3.访问既有HTML中的内容而不是通过Js添加HTML(行为层与结构层分离) 4.不要使用专有DOM对象(例如IE的document.all) 5.将脚本放进一个.js文件而不是在HTML中到处可见. 6.对运行良好而且不用客户端编程的网站进行改进,而不是首先添加脚本然后添加非脚本的备用方案. 7.代码要保持独立,不要使用可能与其他脚本冲突的全局变量.(可用对象字面量)

六个人如何运维一万台服务器?

我 2013 年加入去哪儿网,一直在从事运维开发工作.去哪儿网运维开发有一个特点,所有开发既当 PM,又当 QA,也没有区分前端工作还是后端工作,用现在比较流行的话说,我们都是全栈工程师. 加入去哪儿这几年,我做的工作也是比较零碎的,哪里有需求就去哪里. 概括起来主要涉及主机管理.应用管理.监控.报警平台等设计,开发和运维这几方面的工作. 下面简单介绍一下我们的运维团队: 我们的运维团队负责公司所有的服务器.网络等硬件平台的运维工作. 部分人员从事日常运维,包括 QVS 的部署,Nginx 的配

IT运维分析与海量日志搜索

    陈军 日志易创始人兼CEO 拥有17年IT及互联网研发管理经验,曾就职于Cisco.Google.腾讯和高德软件,历任高级软件工程师.专家工程师.技术总监.技术副总裁等岗位. 负责过Cisco路由器研发.Google数据中心系统及搜索系统研发.腾讯数据中心系统和集群任务调度系统研发.高德软件云平台系统研发及管理,对数据中心自动化运维和监控.云计算.搜索.大数据和日志分析具有丰富的经验. 他发明了4项计算机网络及分布式系统的美国专利,拥有美国南加州大学计算机硕士学位.   演讲实录   

80%的时间在救火,传统运维如何快速成长不被淘汰?

导读:自从<应对双11挑战,阿里巴巴自动化运维体系的演进和建设>文章发布以来,就引来了众多运维从业者的关注,大家不禁思考,无人化运维离我们有多远?我们如何成为运维领域的专家,不被淘汰?阿里巴巴运维中台技术专家宋意,整合了云效2.0运维产品StarOps,教大家如何利用工具把人从日常重复工作中解脱出来,向专业垂直领域纵深发展,逐步成长为领域专家. 从传统运维OD分离转型到新型运维DevOps,不是简单把运维丢给开发就可以了,需要先把运维的工作工具化,实现开发可以利用工具自助完成,DevOps强依

妈妈帮上云之路:云上平台架构与运维实践

摘要:本次阿里云行业圆桌论坛上,妈妈帮平台开发总监胡兴邦.妈妈帮运维主管张楠.阿里云业务架构师刘欣(花名:昕晖)与阿里云MongoDB高级技术专家杨成虎(花名:叶翔)共同探讨了妈妈帮的上云实践之路,云上架构设计.数据库选型.安全运维实践以及在这个过程中阿里云如何帮助妈妈帮解决遇到的问题.对话行业大咖,引领云端科技,畅谈云上话题,尽在阿里云行业圆桌论坛. 以下内容根据阿里云行业圆桌论坛视频整理而成.视频传送门,点这里哟 本期嘉宾介绍:胡兴邦,妈妈帮平台开发总监:张楠,妈妈帮运维主管:刘欣(花名:昕