百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

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

mhr18 2024-10-13 02:59 22 浏览 0 评论

系统故障,对于 DBA或是运维人员来说,都是心中永远的痛。而避免故障的原则却是有章可循,现列如下,与各兄弟行共勉:

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 来讲:

[plain] view plaincopy

idle> set sqlprompt 'RAC-node1-primary@10g>>'

RAC-node1-primary@10g>>

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

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

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

4、定期备份并验证备份的有效性

人非圣贤、岂能无过?机器总有计划内或计划外崩溃的一天。怎么办?备份!!!相信大家备份肯定会做,但是备份的作用是在紧急情况下的及时恢复,所以备份的有效性就显得尤为重要。

备份的学问很大、按照不同的维度可以分:冷备和热备;实时和非实时;物理和逻辑。OLTP 7*24 在线业务、DB 就需要有实时热备。这样就可以了吗?

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

总有那么几次、备份无法保证 100% 恢复,简单的验证方法就是找个空库恢复出来。运维工作不仅要求我们有备份的能力,还要有遇到故障,让备份在短时间内继续恢复的能力。

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

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

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

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

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

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

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

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

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

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

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

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

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

8、自动切换需谨慎

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

9、变更操作不是一个简单的动作,一定要全流程考虑

做一个变更的时候,可以提前一两周发送邮件并电话手机通知相关涉及变更配合操作人员;并在测试机上写好脚本,召集大家 review 操作步骤和脚本;测试完成以后拷贝到生产环境;录对应机器,“打开,关闭,打开,关闭”该脚本;跟相关人员再次确认执行的操作、顺序、时间点,可能的影响和回滚是否都准备好了;

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

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

10、面对新系统架构、新脚本等新兴事物,请谨记简单即是美

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

实际生产运维过程中,我们总面临各种诱惑:新的系统架构,新的更智能的命令和工具,最新的硬件平台,功能更全的HA软件,与之对应是高效、快捷,听起来非常诱人,你可以在线下安装,测试,怎么做都行。但是如果想要在生产环境下使用起来、请三思!!

能够使用系统内置命令的话,就不用考虑其他要专门下载安装的软件了,因为使用内置命令不仅安全、而且可以规避后期防病毒、漏扫等工作纷至沓来。

脚本本身就能完成的功能,就没有必要专门找一个功能丰富的软件来做Linux本身自带的字符界面比那些复杂的图形界面要简洁方便

运维工作是一项任重而道远的工作,接起运维意味着深深地重担压在肩头,只有我们时刻保持警惕之心,长悬达摩克利斯之剑,才能保证少出故障。

供稿|山西省分行信息科技部

相关推荐

软考架构师-案例分析之Redis(软考架构师真题)

软考架构师考试中,Redis的知识考了很多回,从最近几年来看,案例分析经常考,有的时候单独考,有的时候和其他知识点一起考。Redis过往的考试中,考过的知识如下:1、Redis特点,涉及数据类型、持久...

揭秘:视频播放网站如何精准记录用户观看进度

在互联网蓬勃发展的当下,视频内容已毫无争议地成为人们获取信息、享受娱乐休闲时光的核心方式。据权威数据统计,全球每天有数十亿小时的视频被观看,视频流量在网络总流量中的占比逐年攀升,预计在未来几年内将超过...

量子级一致性!Flink+Redis全局状态管理

百万级实时计算任务如何实现亚毫秒级状态访问?本文揭秘Flink+Redis的量子纠缠态状态管理方案,将状态延迟降至0.3ms。引子:实时风控系统的量子跃迁//传统Flink状态管理(基于RocksD...

在 Mac 上运行 Redis 的 Docker 容器

在Mac上运行Redis的Docker容器,你可以按以下步骤操作,非常简单高效:一、前提要求已安装DockerDesktopforMac可通过终端验证Docker是否可用:d...

从 0 到 1:使用 Nginx + Lua 打造高性能 Web 网关

在大规模分布式架构中,Web网关扮演着重要角色,负责请求转发、负载均衡、限流、认证等功能。而Nginx+Lua结合可以提供:o高性能:Nginx是目前最流行的高性能Web服务器o动...

外贸独立站缓存设置黑科技:用错Redis比没缓存更致命

上周帮一个杭州卖家排查网站崩溃问题,发现这老铁把Redis缓存设置成128MB还开着持久化,服务器内存直接炸得比春节红包还彻底——"你这哪是缓存啊,根本是DDoS攻击自己!"最近Clo...

Spring Boot3 整合 Redis,这些缓存注解你真的会用吗?

你在开发SpringBoot3项目时,有没有遇到过这样的困扰?随着项目功能不断增加,数据量逐渐庞大,接口响应速度变得越来越慢,用户体验直线下降。好不容易找到优化方向——引入Redis缓存...

MySQL处理并发访问和高负载的关键技术和策略

MySQL处理并发访问和高负载的关键技术和策略主要包括以下几个方面:一、硬件优化1.CPU:提升CPU处理能力可以明显改善并发处理性能。根据数据库负载,考虑使用更多的CPU核心。2.内存:增加内存可以...

druid解决高并发的数据库(druid多数据源配置 spring boot)

处理高并发的时候可以解决我们java一个核心问题java核心问题就是并发问题解决并发一个是redis一个是线程池的方式现在出来是个druid好像现在解决高并发的方式进行更换数据库的方式操作场景插入频繁...

高并发方案最全详解(8大常见方案)

关注△mikechen△,十余年BAT架构经验倾囊相授!大家好,我是mikechen睿哥。高并发是大型架构的核心,下面我重点来详解常见8大高并发方案@mikechen文章来源:mikechen.cc分...

MySQL如何处理并发访问和高负载?(mysql如何处理并发访问和高负载访问)

MySQL在处理并发访问和高负载方面,采取了一系列关键技术和策略,以确保数据库系统在面对不断增长的并发需求时维持高效和稳定的性能。以下是对这些技术和策略的详细阐述,旨在全面解析MySQL如何处理并发访...

Redis高可用集群详解(redis高可用方案以及优缺点)

Redis集群与哨兵架构对比Redis哨兵架构在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具监控master节点状态,如果master节点异常,则会做主从切换,将某一台sla...

MCP协议重大升级!Spring AI联合阿里Higress,性能提升300%

引言:一场颠覆AI通信的技术革命2025年3月,MCP(ModelContextProtocol)协议迎来里程碑式升级——StreamableHTTP正式取代HTTP+SSE成为默认传输层。这一...

阿里三面被挂,幸获内推,历经5轮终于拿到口碑offer

作者:Java程序猿阿谷来源:https://www.jianshu.com/p/1c8271f03aa5每一个互联网人心中都有一个大厂梦,百度、阿里巴巴、腾讯是很多互联网人梦寐以求的地方,而我也不例...

来瞧瞧阿里一面都面些什么(笔试+机试)

絮叨说实话,能有机会面一下阿里对我来说帮助确实有蛮多,至少让我知道了自己的不足在哪,都说面试造火箭,上班拧螺丝。但就算是如此,为了生存,你也只有不停的学习,唯有光头,才能更强。哈哈起因2月28日在Bo...

取消回复欢迎 发表评论: