第40章 异常代码(2/2)
当李总要求删除 smtp协议的本地缓存模块时,老谭把拓扑图拍在桌上:“这模块是为了应对南方电信的线路波动!去年春节流量峰值时,就是靠它扛住了 70%的重复请求!”
“我在惠普处理过亿级用户的系统,”
李总合上笔记本,金属搭扣发出清脆的响声,“网益需要的是可扩展性,不是这些补丁式的小聪明。下周一之前,所有模块必须按 c++标准重写,否则直接提交 hr处理。”
他走后,机房里的服务器突然集体发出蜂鸣——老谭正用控制台重启所有节点,屏幕上闪过一行行红色的错误代码。
“看看吧,”
他指着显示器,“刚把惠普的监控软件装上去,就把我们的心跳检测程序挤崩了。”
直到老谭拍了拍我,这才从以往的画面中回过神来。
他往我这边倾了倾身子,显示器的嗡鸣突然变得清晰,“惠普那套流程他全搬过来了,要把我们的 c模块重写成 c++,还说要引入 corba架构。这就像给老黄牛套上航天发动机,跑不跑得动另说,先得拆了牛棚。”
我攥着笔的手紧了紧:“这么大动干戈,是要做什么?”
“说是要对标 hotmail,搞分布式存储。”
老谭冷笑一声,指尖戳着键盘上的 delete键,“但他不懂,咱们的用户数据都存在本地磁盘阵列,迁移的时候只要断网超过两小时,客服电话能被打爆。”
一周后的凌晨两点,机房的空调发出单调的嗡鸣。
我盯着屏幕上滚动的日志,眼皮像坠了铅块。
突然,一行红色的报错跳出来——“smtpd [2345]: connection refused from 210.xxx.xxx.18”。
这个 ip既不在办公室的白名单里,也不是已知的镜像服务器。
我猛地清醒过来,调出\/var\/log\/messages文件。
用 vi编辑器翻到凌晨 1点 17分,发现有串奇怪的指令:“rsync -avz \/backup\/mail\/ 210.xxx.xxx.18::shadow\/”。
冷汗瞬间爬上后颈,这是把备份目录往陌生 ip同步的命令。
我颤抖着输入st”命令,屏幕上跳出一串 root用户的登录记录,其中三条来自那个陌生 ip,登录时间就在昨夜 11点到凌晨 1点之间。
更可怕的是,\/backup目录下的 tar包全都不见了,连上周的磁带备份也从保险柜里消失了。
抓起桌上的电话,我想打给老谭,听筒里却传来忙音。
突然想起他教过的应急方案,我咬着牙输入“tcpdump -i eth0 port 25”,抓包窗口里立刻涌出密密麻麻的数据包。
过滤出那个可疑 ip后,发现它还在尝试建立连接。
“hosts.deny里加一行 all:210.xxx.xxx.18”,我一边念叨着老谭的话,一边在终端里敲命令。
接着把系统时钟往前调了三个小时,伪装成备份程序的定时任务还没启动,果然那个 ip的连接请求变得频繁起来。
我摸出上周末新买的朗科u盘,把 secure日志和抓包文件拷贝进去,塞进主机箱的锁孔里——这是老谭说过的物理隔离法。
机房的铁门突然吱呀作响,我迅速切换到正常的日志界面,心脏在胸腔里擂鼓。
月光从百叶窗的缝隙溜进来,照在服务器闪烁的指示灯上,像无数双窥视的眼睛。