十条运维经验,帮你远离故障

简介: 1. 确保变更可以回滚佛说:“每次创伤都是一次成熟”。这是运维人员的真实写照。从某种意义上讲,运维是一份不断犯错、不断积累经验的工作。以前没有经历的东西,总是不定期的给你痛击。所以请保护好变更的现场,使得变更有回头的机会。

1. 确保变更可以回滚

佛说:“每次创伤都是一次成熟”。这是运维人员的真实写照。从某种意义上讲,运维是一份不断犯错、不断积累经验的工作。以前没有经历的东西,总是不定期的给你痛击。所以请保护好变更的现场,使得变更有回头的机会。

2. 小心破坏性的操作

什么是破坏性的操作?比如:对 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'

3. 设置好命令提示

在操作之前,先弄清楚所在的是主库还是备库?当前目录是什么?哪个schema?session?时间? 比如,对Oracle来讲:
idle> set sqlprompt 'RAC-node1-primary@10g>>'
RAC-node1-primary@10g>>
当然,你也可以在glogin.sql里面对其设置。
对Linux而言,可通过设置PS1来知道当前目录、登陆用户名和主机信息等。

4. 备份并验证

人非圣贤,岂能无过?是机器总有计划内或计划外崩溃的一天。怎么办?备份!!!
备份的学问很大,按照不同的维度可以分冷备和热备、实时和非实时、物理和逻辑。
OLTP 7*24 在线业务,DB 就需要有实时热备。这样就可以了吗?开发人员的一个不带任何条件的 delete 还是会误删所有数据。
所以,此时你除了实时备份还需要有非实时的备份。
备份有了,可以高忱无忧了吗?不行!尚须验证备份的有效性。总有那么几次备份无法保证100%恢复。简单的验证就是找个空库并恢复出来。

5. 对生产环境永保敬畏之心

会计人员在从业之前,都有个职业操守的训练。同理这也应该是运维人员进入行业前首先需要具备的素养。比如:于Oracle而言,你可以跑一个RDA巡检DB的健康状况。
对Linux而言,是否有password aging,隔离外网等。

6. 交接和休假最容易出故障,变更请谨慎

接手别人的工作要一而再,再而三的确认变更方案。请教人并不见得就是能力不行的表现。休假前最好各种可以做好的事情,最好能够准备一份文档,指明在什么情况下怎么做和联系哪些人。在别人放假的时候接手工作,“能拖则拖”,实在需要执行,必须不厌其烦的跟原运维者确认各个操作细节。

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

运维人员赖于生存的工具就是报警和监控。
报警可以让你及时知道系统出现了什么异常,以便及时跟进和把故障扼杀于摇篮。
监控可以让你了解系统的历史性能信息,以历为鉴,可以知兴替和早做优化。
报警和优化是衣宽带水的好兄弟,它们相铺相成、互相促进。

8. 自动切换需谨慎

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

9. 仔细一点、偏执一点、检查、检查、再检查

1)做一个变更的时候,会先提前一两周发送邮件并电话手机通知相关人;
2)在测试机上写好脚本,召集大家review操作步骤和脚本;
3)测试完成以后拷贝到生产环境;
4)登录对应机器,“打开、关闭、打开、关闭”该脚本。
5)跟相关人员再次确认执行的操作、顺序、时间点、可能的影响和回滚是否都准备好了;
6)执行前还要退出这个机器,然后再登录进去,“打开,关闭”脚本;
7)最后才在后台运行脚本,同时在另外一个窗口登录,随时ps和查看结果输出。

10. 简单即是美

这有点禅的意境,和GNU/Linux的思想不谋而合。
我们总是面临各种诱惑:新的系统架构、新的更智能的命令和工具、最新的硬件平台、功能更全的HA软件。。。
你可以在线下安装、测试;怎么搞都行。但是如果想要在生产环境下使用起来,请三思!!
能够使用系统内置命令的话,就不用考虑其他要专门下载安装的软件了。
脚本本身就能完成的功能,就没有必要专门找一个功能丰富的软件来做。
linux本身自带的字符界面比那些复杂的图形界面要简洁方便。

相关文章
|
18天前
|
机器学习/深度学习 数据采集 运维
智能化运维:机器学习在故障预测和自动化响应中的应用
智能化运维:机器学习在故障预测和自动化响应中的应用
43 4
|
4月前
|
缓存 运维 监控
运维之道:从故障响应到系统优化的实战之旅
在信息技术飞速发展的今天,高效、可靠的系统运维已成为企业IT部门的核心任务。本文将通过一系列真实案例分析,深入探讨运维团队如何从日常的故障响应出发,逐步过渡到系统性能的深度优化。我们将一起探索运维的最佳实践,包括自动化工具的应用、性能监控的重要性以及如何构建一个弹性和高可用性的系统架构。文章旨在为读者提供一套完整的运维解决方案,帮助他们在面对复杂多变的技术环境时,能够迅速定位问题并实施有效的解决策略。
237 0
|
1月前
|
机器学习/深度学习 数据采集 运维
智能化运维:机器学习在故障预测和自动化响应中的应用
【10月更文挑战第1天】智能化运维:机器学习在故障预测和自动化响应中的应用
69 3
|
2月前
|
存储 弹性计算 运维
自动化监控和响应ECS系统事件
阿里云提供的ECS系统事件用于记录云资源信息,如实例启停、到期通知等。为实现自动化运维,如故障处理与动态调度,可使用云助手插件`ecs-tool-event`。该插件定时获取并转化ECS事件为日志存储,便于监控与响应,无需额外开发,适用于大规模集群管理。详情及示例可见链接文档。
|
3月前
|
机器学习/深度学习 运维 监控
智能化运维:机器学习在故障预测和自动化响应中的应用
【8月更文挑战第2天】 本文探讨了将机器学习技术应用于IT运维领域,特别是在故障预测和自动化响应方面的潜力与挑战。通过分析机器学习如何优化传统运维流程,我们揭示了数据驱动的决策制定对提升系统稳定性和效率的影响。文章进一步讨论了实施机器学习模型时可能遇到的技术和非技术性问题,并提出了相应的解决策略。最后,我们反思了这一转变对IT专业人员技能要求的影响,以及如何在不断变化的技术环境中维持竞争力。
71 4
|
3月前
|
机器学习/深度学习 数据采集 运维
预见未来:机器学习引领运维革命——故障预测与自动化响应的新篇章
【8月更文挑战第2天】智能化运维:机器学习在故障预测和自动化响应中的应用
60 1
|
4月前
|
机器学习/深度学习 人工智能 弹性计算
智能化运维:AI在故障预测与自我修复系统中的应用
随着技术的不断进步,传统的运维模式已逐渐不能满足现代企业的需求。本文将探讨如何通过人工智能技术,特别是机器学习和深度学习算法,实现对IT系统的实时监控、故障预测以及自动化修复。我们将分析AI技术在智能运维中的具体应用案例,并讨论其带来的效率提升和成本节约效果。文章旨在为读者提供一种全新的运维视角,展示AI技术在提高系统稳定性和减少人工干预方面的潜力。
|
4月前
|
缓存 Java Linux
开发与运维内存问题之线上遇到故障,使用jstat命令发现Old区持续增长如何解决
开发与运维内存问题之线上遇到故障,使用jstat命令发现Old区持续增长如何解决
47 2
|
4月前
|
机器学习/深度学习 人工智能 运维
智能化运维:利用机器学习优化故障预测与响应
【7月更文挑战第23天】本文深入探讨了智能化运维的前沿技术,特别是机器学习在故障预测和响应中的应用。文章首先介绍了智能化运维的概念及其对现代IT运维的重要性,随后详细阐述了机器学习模型如何被训练来识别潜在的系统故障并提前预警。通过分析真实案例,我们展示了机器学习算法在实际运维中的有效性,以及如何通过这些算法减少系统停机时间,提高运维效率。最后,文章讨论了实施智能化运维时可能遇到的挑战及应对策略,为读者提供了一套实用的智能化运维解决方案。
|
4月前
|
机器学习/深度学习 数据采集 弹性计算
智能化运维:机器学习在故障预测中的应用
随着信息技术的飞速发展,系统运维面临着数据量激增、故障类型复杂化等挑战。传统的运维手段已难以满足现代企业的需求,智能化运维应运而生。本文重点探讨机器学习在智能化运维中的故障预测应用,通过案例分析展示其在提升运维效率、降低维护成本方面的显著作用,并讨论实施智能化运维时可能遇到的挑战与对策。
下一篇
无影云桌面