记一次差点翻车的生产变更荐

今天不谈技术,讲一下前不久变更差点翻车的事。

背景:因为安全原因,需要对生产上运的windows服务器打补丁操作,由于是内网环境,只能离线方式进升级。

配置说明:

编号 服务器型号 操作系统版本L b Z 补丁版本
A1 IBM X3650 M4 Windows Server 2008 R2 StandaQ J Vrd Sn H J o C TP1 2017年7月
A2 IBM X3650 M4 Wind_ * N f 7ows Server 2008 R2 Standard SP1 201Q + 6 t | a @ x7年7月
B1 浪潮 NF5280M4 Windows Server 2008 R2 Standard SP1 2017年8月
B2 浪潮 NF5280M4 Windows Server 2008 R2 SK o Z }tandard SP1 20176 K ; $ s g年8月

A1和B Z K C [ ? 0 KA2组成一套环境,B1和B2组成一套4 R e ] j b +环境,两套环境互为主备。

变更准备:

1.下载离线补丁包;

2.测试环境补丁升级;

测试环境与生产环境操作系统相同,离线包在测试环境升级时不是很顺利,直接打到最新的11月/ z W S ~ U t份的补丁包失败,摸索着由* ` r t h L2017年的补丁一步一步往后打,可以打到2020年1月份。

变更实施:

由于测试环境打补丁只能到1月份,初步计划生产环境4台服务器也只打到1月份。

23:30,变更正式刚开始。按计划先将第1台打到了1月份,操作很顺利,这时做了一个关键的临时决定,试着直接打到最新的补丁包,结果有惊喜,居然打成了。好^ 8 t . / b * c 8吧,那就临时改计划,将剩余的3台都升级到最新的补丁包。

前两台进行的很顺利,第3台和第4台的时候卡住了。打补丁会重启服务器,正常情况10分钟就应该启起来,20分钟过去了还是ping不通E [ l连不上,没得辙,只能去机房捅屁股了(现在系统都上云了,去机房的机会越来越少了)。这时快3点了。

果然,第3台在系统更新的时候卡住了,硬重启系统恢复。

关键的4台,居然崩溃了,是的,系统进不去,崩溃了……

晚上变更容易犯困,看到进不了系统,困意全无,肾上腺素飙升。

时间来到快5点了,系统已经进不去,这时做了4个操作:1.停止第3台的补丁升级操作;2.咨询厂商,有无解决方案;3.通知系统使用方,做好切换准备;4.想办法恢复系统。

变更之前通知过厂商晚上保障,预料过打补丁可能会失败,但是没想到系统直接会崩溃,没办法,事到如此,只能硬着头皮上了,自己挖的坑,含泪也要填。

r B V ^ B G一轮的自救. 5 x不理想,厂商没有解决办法,自己百度的解决办法也不成功。Z |这时只能做最坏打算了——重装系统和应用。

同时通知科室领导,说明情况;通知厂商,做好打飞的初始化系统的准备。自己也根据报错提示不断寻找解决办法,死马当活马医吧。这个时候压力其实还是很大的,毕竟是生产系统,再过两个小时就) H -是业务高峰期。

时间快6点了,尝试了^ % ? q ]各种办法,做了两个win pe,尝试回退补丁,不成功,没办法,现在能做的只能尝试更多的办法,终于,i H %有一个6 = C 2方案成功了,成功了,直A d L d U接重置启动项v & % G,居然进系统了,惊喜不惊喜,开心不开心。

系统恢复后U b n g,对应用做了各项检x 7 l p查,运行正常,决定补丁暂停升级,通知n ^ K 5 F科室经理、厂商、业务方系统恢复。

各项处理完快7点了,肚子很饿,精神却很好,天也亮了,吃个早餐吧,打工人不能太亏待自己。

复盘:

1.变更前的测试

变更前的测试影响变更成败的关键,无论变更大小,只要有条, - L Q件都应该进行测试。比如系统O V 3 y类的扩文件系统、扩表空间、文件清理、系统参数调整;应用类的新业务上线、应用切换、漏洞升级等。只有经历过充分的测试,才能做到胸有成竹,生产上遇I D R C到问题也不慌。

2.变更实施

变更要有r g 7 v 0手册,手册规定了操作步骤,命令可直接复制执行,执行完后的结果有截图,异常情况有回退方案。

变更实施应严格按测试结果执行,切忌临时更改方案步骤。变更的操作只是机械的执行,主要工作都在变更前的准备测试阶段。小到日志清理,大到两中心异地切换,变更实施都应该s ; ? g l S 8 U |按手册规范执行。

3.异常流程

生产上的变更会遇到各种问题,千奇百怪,可能测试环境和生产环境一样(相同的[ O . g 9 |操作系统版本、应用版本),但是z [ ) U { p 5执行结果不一样,也有可能服务器在测试区各项测试都很正常,上了生产区却有问题了。

出现这些问题很正常,因为我们不能考虑到所有场景、环境、配置,这时应急流程就很重要了。出p 9 L .; 6 f D了暂 I 0 + r时无法解决的问题,需要有一套完善的应急预案和异常流程,这既是对自己减压,也是尽可能降低对业务影响。

4.故障解决

出现的故障1 # ; 6 N @ ] ~没关系,解决它就是,运维就是填坑背锅的嘛,填不了坑就光荣的背锅。

@ p m障的解决和个人的经验和知识储备有关,这个没有捷径,A h [只能多学多做测试多总结多记录了。

5.E B + Z Q M经验教训

这次是这些年来第二次变更遇到重大重大问题,第一O ~ x W N 1 `次是服务器直; T R ` ? K } $接起不来。

运维的日常工作很繁杂,要会很多技术,知识面要求很宽,而且要不断学习。

对服务器、对生产环境、对各种技术,要有敬畏之心,这些是我们工作的朋友c K w k J伴,要善待它们而不是轻视或者藐视。

作为一个运维人,我很自豪,以上只是个人的一个小感触,仅代表个人观点,不接受反驳,哈哈哈……