编者按:新大陆北京亚大公司软件一部从2010年至今,主要负责中国银行HHAP总对总系统、WCB系统,固话支付系统、PECS系统等运维工作,在实践中积累很多运维经验,日前整理了做好IT运维工作的九个锦囊,供大家学习参考。
一
系统变更、升级应先在同样的环境测试
通过,执行前应有经过验证的回退预案
运维是一门经验的科学、是一门试错的科学。没有做过的东西、总是会报出意想不到的问题,因此变更前,务必要在相同或者相似的运行环境下进行测试,通过后才能在正式环境下执行变更。同时应准备好变更失败的回退预案,比如,做好系统备份、数据库备份、配置备份,固化变更前的运行现场,让变更有恢复的机会。
二
对破坏性的操作要先确认复核预定方案
,然后谨慎执行
什么是破坏性的操作?
比如:
对Oracle而言:truncate table_name、delete table_name、drop table_name,这些语句执行起来简单,也轻松极了、但是记住!即便数据可以被回滚,代价也非常大。
对于UNIX、Linux而言,rm –r 所有当前及其子目录的所有数据都将被删除。
对windows而言,shift+del文件或目录。
对任何系统而言,无备份直接修改文件等。
三
备份并验证备份的有效性
不管是硬件还是软件总有意外崩溃的时候,怎么办?备份!!!备份的学问很大、按照不同的维度可以分为:冷备和热备、实时和非实时、物理和逻辑、全备增量备。
备份有了、可以高枕无忧了吗?不行!尚需要验证备份的有效性。总有那么几次备份无法100%恢复,简单的验证就是找个空库恢复出来。
四
对生产环境永远保持敬畏之心
这是避免应用系统发生故障的一条铁律,也是开发、运维人员容易忽视的地方。要坚决杜绝直接在生产环境做开发、测试和bug修复,这些操作只能在开发和测试环境做,否则一旦出事,将欲哭无泪。
五
交接和休假最容易出故障
1、接手别人的工作要一而再,再而三的确认变更方案,请教别人不见得就是能力不行的表现;
2、休假前做好各种可以做好的事情,最好能够准备一份文档,指明在什么情况下怎么做和联系哪些人;
3、在别人放假的时候接手工作,提前做好交接,必须不厌其烦地确认好各个操作细节。
六
一定要有监控手段和报警措施
运维人员赖以生存的工具就是报警和监控。
1、报警可以及时知道系统出现了什么异常、以便及时跟进、把故障扼杀于摇篮。
2、监控可以了解系统的历史性能信息、以例为鉴、可以知兴替、早做优化。
3、报警和监控相辅相成、相互促进。
七
使用自动切换技术需要谨慎
为了保障数据库安全,往往会使用HA或者RAC之类的高可用技术,但是这类技术能否真正在关键时刻起作用,需要经过反复验证和确认。并不是按照文档要求做好了就可以高枕无忧,很多意外因素或者系统因素会导致自动切换技术并不能完全如愿发挥应有的作用。如果到事后才发现这一点,将悔之晚矣。定期做好切换演练。
八
要有偏执狂的精神,方案要检查、
检查、再检查
1、做一项变更的时候,须提前一两周发送邮件并电话通知相关人员;
2、召集大家预审操作步骤和脚本;
3、与相关人员再次确认执行的操作、顺序、时间点、关联关系、连通性,可能的影响和回滚是否准备完毕,然后在演练环境完成演练部署;
4、演练通过后,再次确认执行的操作、顺序、时间点、关联关系、连通性,可能的影响和回滚是否准备好了,然后在计划好的变更窗口内完成生产环境部署;
5、验证部署情况,验证应用运行情况,验证资源使用情况。确认输出是否正常。
九
简单即是美
我们总是面临各种诱惑:新的系统架构,新的更智能的命令和工具,最新的硬件平台,功能更全的HA软件等等。你可以在下线安装、测试怎么做都行。但是如果想要在生产环境下使用,请谨慎三思而后行。
1、能使用系统内置命令的话,就不必考虑其它需要专门下载安装的软件。
2、脚本本身就能完成的功能,就不必专门找个功能丰富的软件来做。
3、Unix、Linux本身自带的字符界面比那些复杂的图形界面要简洁方便。
如果能做到坚持这九条经验,我们的应用系统就能长久稳定运行。
领取专属 10元无门槛券
私享最新 技术干货