运维工作经验总结:逃离系统故障的十个心得

简介:

系统故障,对于 DBA或是运维人员来说,都是心中永远的痛。而避免故障的原则却是殊途同归,现列如下,与君共勉。

一、变更要能回滚、先在同样的环境测试过

佛说:每次创伤、都是一次成熟、这便是运维人员的真实写照。从某种意义上讲、运维是一门经验的学科、是一门试错的学科。没有做过的东西、总是会给你不期而遇的痛击,请保护现场,让变更有回头的机会。

二、对破坏性的操作谨慎小心

什么是破坏性的操作?

比如:对 Oracle 而言:truncate table_name、delete table_name、drop table_name,这些语句执行起来轻松简单也惬意极了、但记住!即便数据可被回滚、代价也是非常大!

对 Linux 而言:rm -r 所有当前及其子目录的所有数据都将被删除。经历过这种故障的人、大多会给 rm 上个别名

alias rm='rm -i'

同理、cp 和 mv 也可以有同样的选项:

alias cp='cp -i' alias mv='mv -i'

三、设置好命令提示

在操作之前、先理清你所在的是主库、备库?当前目录?哪个 schema?session?时间?

比如:

对 Oracle 来讲:

[plain] view plaincopy idle> set sqlprompt 'RAC-node1-primary@10g>>' RAC-node1-primary@10g>>

当然、你也可以在 glogin.sql 里面设置。

  • 对于 Linux 而言、bash 环境的提醒可设置 PS1 来知道当前目录、登陆用户名和主机信息等;

  • 对 PS1 更多理解、请见:man PS1

四、备份并验证备份的有效性

人非圣贤、岂能无过?是机器总有计划内或计划外崩溃的一天。怎么办?备份!!!备份的学问很大、按照不同的维度可以分:冷备和热备;实时和非实时;物理和逻辑。OLTP 7*24 在线业务、DB 就需要有实时热备。这样就可以了吗?

如果开发人员的一个不带任何条件的 delete 误删所有数据,此时你除了实时、还需要有非实时的备份、把 DB 从逻辑错误中恢复出来。

备份有了、可以高忱无忧了吗?不行!尚须验证备份的有效性。一个总有那么几次、备份无法保证 100% 恢复,简单的验证就是找个空库恢复出来。

五、对生产环境永保敬畏之心

会计人员在从业之前、都有个职业操守的训练。同理、这也应该是运维人员进入行业首先需要具备的素养。

比如:

  • 于 Oracle 而言、你可以跑一个 RDA 巡检 DB 的健康状况;

  • 于 Linux 而言、是否有 password aging、隔离外网等。

六、交接和休假最容易出故障、变更请谨慎

  • 接手别人的工作要一而再,再而三的确认变更方案。请教人并不见得就是能力不行的表现;

  • 休假前最好各种可以做好的事情,最好能够准备一份文档,指明在什么情况下怎么做和联系哪些人;

  • 在别人放假的时候接手工作,“能拖则拖”,实在需要执行:必须不厌其烦的跟原运维者确认各个操作细节。

七、搭建报警、及时获取出错信息;搭建性能监控、预测趋势

运维人员赖于生存的工具就是报警和监控。

  • 报警可以让你及时知道系统出现了什么异常、以便及时跟进、把故障扼杀于摇篮;

  • 监控可以让你了解系统的历史性能信息、以历为鉴、可以知兴替嘛、早做优化。

报警和优化是衣宽带水的好兄弟、相铺相成、互相促进。

八、自动却换需谨慎

比如:Oracle 存储级的HA方案:Data Guard,主库提交了一笔订单,结果发生了 switchover,这笔订单没有同步到备库,那么卖家损失了一个销售单、对客户、对公司都是损失。

九、仔细一点,偏执一点,检查,检查,再检查

有这么一个人:

① 他在做一个变更的时候,会先提前一两周发送邮件并电话手机通知相关人

② 在测试机上写好脚本,召集大家 review 操作步骤和脚本

③ 测试完成以后拷贝到生产环境

④ 登录对应机器,“打开,关闭,打开,关闭”该脚本

⑤ 跟相关人员再次确认执行的操作,顺序,时间点,可能的影响和回滚是否都准备好了

⑥ 执行前还要退出这个机器,然后再登录进去,“打开,关闭”脚本

⑦ 最后才在后台运行脚本,同时在另外一个窗口登录着,随时ps和查看结果输出

期间姿势端正,呼吸急促而均匀,眼神凝重。操作的人不觉得累,倒是一边学习的人很累。

十、简单即是美

这有点禅的意境、和 GNU/Linux 的思想不谋而合。

我们总是面临各种诱惑:新的系统架构,新的更智能的命令和工具,最新的硬件平台,功能更全的HA软件...你可以在线下安装,测试,怎么做都行。但是如果想要在生产环境下使用起来、请三思!!

  • 能够使用系统内置命令的话,就不用考虑其他要专门下载安装的软件了

  • 脚本本身就能完成的功能,就没有必要专门找一个功能丰富的软件来做

  • Linux本身自带的字符界面比那些复杂的图形界面要简洁方便

......

最后祝大家运维工作一帆风顺,多福多寿,不出故障。


本文转自 linuxzkq 51CTO博客,原文链接:http://blog.51cto.com/linuxzkq/1583369


相关文章
|
9天前
|
消息中间件 数据采集 运维
一份运维监控的终极秘籍!监控不到位,宕机两行泪
【10月更文挑战第25天】监控指标的采集分为基础监控和业务监控。基础监控涉及CPU、内存、磁盘等硬件和网络信息,而业务监控则关注服务运行状态。常见的监控数据采集方法包括日志、JMX、REST、OpenMetrics等。Google SRE提出的四个黄金指标——错误、延迟、流量和饱和度,为监控提供了重要指导。错误监控关注系统和业务错误;延迟监控关注服务响应时间;流量监控关注系统和服务的访问量;饱和度监控关注服务利用率。这些指标有助于及时发现和定位故障。
46 1
|
1月前
|
运维 Prometheus 监控
运维中的自动化实践每月一次的系统维护曾经是许多企业的噩梦。不仅因为停机时间长,更因为手动操作容易出错。然而,随着自动化工具的引入,这一切正在悄然改变。本文将探讨自动化在IT运维中的重要性及其具体应用。
在当今信息技术飞速发展的时代,企业对系统的稳定性和效率要求越来越高。传统的手动运维方式已经无法满足现代企业的需求。自动化技术的引入不仅提高了运维效率,还显著降低了出错风险。本文通过几个实际案例,展示了自动化在IT运维中的具体应用,包括自动化部署、监控告警和故障排除等方面,旨在为读者提供一些实用的参考。
|
1月前
|
数据采集 存储 监控
CDGA|做好数据治理的几个策略,不看后悔
做好数据治理是企业实现数字化转型和智能化升级的关键。通过明确目标、建立组织、制定标准、实施质量管理、促进共享与协作以及持续优化与迭代等策略,企业可以构建完善的数据治理体系,提升数据价值,为业务决策提供有力支持。在未来的发展中,数据治理将成为企业核心竞争力的重要组成部分。
|
机器学习/深度学习 人工智能 运维
不仅会运维,还会写诗!
在我们的印象中,运维工程师是一群十分专业的技术人员,他们的工作内容主要是维护和管理企业的计算机系统和网络设备,确保系统的正常运行。他们需要具备扎实的技术水平和丰富的经验,以应对各种各样的技术问题。恰逢7月24日是一个专属于 IT人的日子,寓意是7×24小时待命电脑不离手、保障业务7×24小时高效可用。他们运筹“维”幄,有紧急情况发生,他们会坚守在机房直到问题解决;他们“时来运转”,每逢重大节日、重大活动,就能看见运维人忙碌的身影像陀螺一样运转。但是,你是否想过,运维工程师还有可能会写诗吗?
279 1
不仅会运维,还会写诗!
|
存储 运维 架构师
经验教训:微服务设计时的五条宝贵经验
在著名软件著作《人月神话》中提到,软件世界没有“银弹”,这句话当然适用于架构领域,随着从单体架构过渡到微服务架构,因为将原有系统打散,给系统增加了许多不稳定因素。
96 0
|
消息中间件 运维 Prometheus
工作十几年,早点用监控就好了
工作十几年,早点用监控就好了
109 0
|
程序员 项目管理
新晋主管十分钟掌握如何做好管理工作
新晋主管十分钟掌握如何做好管理工作
343 0
新晋主管十分钟掌握如何做好管理工作
|
算法 大数据 程序员
自从掌握了软件开发的 5 条核心原则,我每天工作时至少可以多摸鱼 4 个小时
自从掌握了软件开发的 5 条核心原则,我每天工作时至少可以多摸鱼 4 个小时
203 0
自从掌握了软件开发的 5 条核心原则,我每天工作时至少可以多摸鱼 4 个小时
|
项目管理
一个运营人的自白:做好项目管理,摆脱工作996
今天七夕耶!!停,别高兴得太早,如果你忙到抽不出时间去约会,那今天也只能是个普通的星期三!!社畜最害怕听到了一组数字大概就是996了,可996并不少见啊,特别是初创型公司,钱没到位工作又累,一人身兼数职也是经常有的事,每当事情堆积在一起的时候,都恨不得自己能有多重影分身。
1249 0