想知道服务器点不亮,为什么让我如此恐怖?
你那暂且坐好,听我慢慢道来。因为,我这可是直播,刚从恐怖深渊艰难爬上岸呢。
这台服务器是公司最重要的服务器,里面有全公司员工的开发资料,几百G的文件。要是丢了,我这条小命算完了。你就想像下星期一全公司员工上班都不能工作,老板加员工都干瞪着眼咬牙切齿的情景吧!我并没有夸张。
 
今天是星期六,也就是说,后天,大家就得立马用到这台服务器。要是在短短的两天时间内没修好的话......我也就收铺盖走人了。
 
事情起因是这样的......
 
昨天,也就是星期五,接到通知,今天早上10点要停电。偶吧唧吧唧9点跑到公司,打算在9:20开始关闭服务器。可谁知道这楼的物业忒不负责,直接在9:30就跳闸了。而我的服务器还有三台没关呢......
而其中出事的这台就是三台之一。
还好,其它的服务器很争气,没有跟我闹脾气,就这台服务器因为老态龙钟,身材板不够硬朗,直接起不来了。
先介绍下这位服务器大爷吧,装的是linux系统,1200G的硬盘,用个RAID卡做了个RAID5(都是前辈IT做的). 还好,有用的资料都分在单独分区内。
 
掉电以后,系统直接提示root filesystem error, 然后进行自检fsck,在检测到16%时,冒出文件inode有错误,然后系统使用root打算进入用户维护模式。可谁知道cannot open passwd database。然后直接重启,由此周而复始的开机重启,直到我强行关机。
 
然后.....看看偶一波三折的挽救经历吧,绝对与“越狱”情节有的一拼。
 
首先,偶进入单人模式,仍然直接重启,我可真笨,明知道找不到passwd文件,单人模式root也要密码的。
还好,我有安装光盘,重启进入rescue模式,提示找不到Linux partition.  fdisk -l 下,显示的是我四块组成RAID硬盘的信息,分别是/dev/sda,/dev/sdb,/dev/sdc,/dev/sdd,与原系统的/dev/sda有相当的差异。后来忙活了半天,才想起是因为装了RAID缘故,没安装驱动。
 
后来,一段不长的历程,我寻找着raid卡的驱动,终于,我就终于找到了。可是,服务器没软驱~~
当时,我骂它娘的心态直接涌上心头再从嘴里冒出。
 
忍吧,我网上搜了下U盘驱动制作方法,打算用U盘代替软驱去安装RAID驱动,用安装光盘启动linux dd去加载U盘,可是,却没有所谓的SdX选项,这个实施又泡汤了......
 
然后,满公司找软驱,当时已经是下午6点了,也就是说,我马不停蹄,脸冒冷汗的从早上9点忙到晚上6点......
 
终于,我又是终于,从一台比老爷服务器更老的PC机上拆下了软驱,然后又非常幸运的找到的原装驱动软盘,本以为可以松口气了,可是......这软盘竟然是坏的。真是一波未平一波又起啊,也就是说,我们得重做一个驱动软盘。
 
从官网down下了个驱动,用dd  if=驱动名.img of=/dev/fd0 命令拷贝文件到快绝种的唯一一张软盘上。然后又是拆软驱,又是装软驱的忙活一阵(谁叫我们全公司就一个软驱呢).....开机,输入命令:linux dd, 读软盘......竟然提示我没找到硬件......又是一阵痛苦,就像满怀愉快的心情去见女友,却被回答分手般那样感觉。
后来,找了另一个驱动版本,竟然柳暗花明又一村了~硬件成功加载了.这时候,已经是晚上12点了,也就是说,我得倒腾地铁回家的愿望泡汤了,只有在公司留宿一宿了。
 
系统顺利找到了RAID硬件,久违的分区又重新回到了我的面前。我心里压着的一块石头终于跟心情飞上了天.....如果要我把周星星的那段爱情对白改一下的话,那就是:"曾经,有一段时间给我备份我没有珍惜,等到失去它的时候又追悔莫及,如果上天能给我再来一次的机会的话,我会对老板说,加个服务器吧,如果非要在这上面加个数量,我希望是,一万台。"
 
看到分区上的数据还在,我心里真是美滋滋的。心理又轻松了很多,尽管很疲很乏,但却是一点睡意都没有。因为我正在写日志呢......可是就在我写这篇文章的时候,系统安装却又出现了问题,安装光盘竟然就一张,跑到半路才发觉后面的两张都不是配套的。
 
上天啊,为什么你今天要这么折磨我?现在已经是凌晨1点了,我要晕死了~
 
还好,身边有刻录机和刻录光盘,我又从网上下载后面几张光盘呢......还好,网速比较快,用了40分钟,把1G的光盘镜像下载下来,刻录成盘,继续安装......
 
安装过程中,出现了I/O错误,提示找不到/boot分区,我只有重新开始执行格式化全新安装。一路都很顺利,系统安装成功。
 
进入新的系统后,发觉问题更严重了,用户数据区许多文件显示output and input error. 及inode错误。要求执行fsck命令修复。我的老天啊,我的命怎么这么苦啊,fsck命令会删除认为无用的inode及清除block。而里面用户的数据也就随之消失了。再冒着冷汗以及一宿未睡的前提下,我又重新踏上了艰难的备份及修复工作当中......
 
截至偶更新此文章为止,工作仍在继续......有哪位仁兄能鼎力相助的,不胜感激......
 
偶总结下经验吧:
1)千万不要相信物业的话,即使很专业公司。特别断电这种事,起码提前一个小时进行。
2)服务器RAID安装过程复杂,需要装载驱动,所以:首先保存好驱动软盘,记住RAID模式下linux Rescue不定起作用。RAID驱动安装用Linux dd, 制作驱动盘用dd if=XXX.img of=/dev/fd0。 当然,得备个软驱。
3)千万千万要记得备份系统文件和数据。像/etc/password, shadow, group, 服务器配置文件,等等。
4)千万备份的文件不要放在同一台服务器上,特别还是同一个分区上。
5)就算忘了备份,也要记得把linux配置信息写成文档保存。即方便自己查阅,又方便以后直接编写。
6)千万要向老板如实报告最新情况,不要只是报喜不报忧。即使由此被炒鱿鱼。
7)遇到问题千万冷静,花长点时间没关系,通宵也没关系,只要问题解决了。你会很愉快~
 
就等我的后续吧......
 
直播:我已经两天一夜没休息了,刚在电脑旁冷不丁的睡着了,还抽空做了个忘记了的梦。老板也在美国和我一起经历24小时。我看他的冷汗不比我的少。
备份正在进行,为了赶时间,我直接做了个NFS挂在到老爷服务器上用CP拷贝。从早上开始到现在依然没个停歇。