# 四十一、墨菲法则肆掠的礼拜
2003年一月廿五的消息
第一章:存放我们CVS储存库(我们所有的程序)的Linux服务器挂了。没啥大不了 的,我们有自动的远程映对备份(用rd/st)。花了几小时压缩远程数据再传回来。 结果发现我们忘记用让rd/st移除已删除档案的选项,所以备份并不完美:所有 已删除的档案都还包含在内,只能手动删除。
把这事解决之后,我决定把整个程序目录树重新取出,与我原本在用的目录树相 比较,戠当作最后的确认。可是我的笔记本电脑磁盘驱动器空间不足,该是升 级的时候了。我订了一台60 GB的笔记本电脑用硬盘,还有一个PCMCIA/硬盘连接 器好把旧硬盘备份到新硬盘。这个动作做了约六个小时,在完成50%时失败了, 还要我「执行磁盘扫描」。花了几小时扫描硬盘后重来一次。六个多小时后到 50%时又失败了。这次展来游硬盘带着我的一生挂了。我花了几个小时东试西试, 把硬盘接到不同计算机,试尽各种方法,结论是它真的挂了。
好法,这也没什么了不起,我们每天都会备份(NetBackup Pro)。我把新的60 GB 硬盘装进笔记本电脑,格式化后装好Windows XP Pro。然后要NetBackup Pro把 机器回复到挂掉之前的状态。我损失了一天工作时间,不过反正我这一天也做不 了什么事。那天的电子邮件也没了,所以如果你这星期有寄电邮来而我没反应, 重寄一次吧。
NetBackup Pro跑了几个小时,我就回家让它在晚上继续做。结果早上整个系统 都挂了而且连开机都不行。我猜原因一定是我把XP Pro系统回复到W i n2K映像档。 于是我就再做一次,这次先安装Win 2K (硬盘格式化:一小时;安装Win 2K — 小时;再安装NetBackup Pro Client),接下来再开始回复。五个小时后才做了 一半,所以我就回家了。
第二天系统开不太起来,会出现蓝色当机画面,不过用安全模式试了半小时后终 于能动了。看起来所有东西都回来了,不过有几个我要Windows加密(用EFS)的 档案不能用而且原因不明,应该是公用密钥和认证的缘故。我猜加密过的档案回 复后就会读不出来。我还不知道要怎么解决。如果你知道要怎么解决我会永远感激你的。[1/26:我想尽办法弄了几个小时终于解决了。]
教训:硬盘挂掉后衍生一串问题然后浪费好几个工作日,这已经不是第一次发生 了。注意我有个很不错的备份策略,所有东西每天都会备份到别处。事实上我 相信这已经是第三次因硬盘坏掉引发一串事故而浪费好几天了。结论:备份还不 够好,现在起我要用RAID映对备份。以后硬盘再挂掉,我要能用15分钟换台新 硬盘进去,回到出事前的状态继续作业。新方针:Fog Creek所有非笔电的计算 机都要有RAID映对备份。
第二章。你注意到之前我们的web服务器当了吗?星期五大约中午本地的Verizon 交换器失火,我们的电话和Internet联机全断了。Verizon花了几个小时回复电 话线,不过T1比较麻烦。我们的T1是跟SAVVIS买的,他们则是找MCI(现在叫 WorldCom)来营运地区性的回路。而Worldcom当然也不是自己实际去蒙运任何线 路,他们才不会弄嚴自己的手呢,他们只是向Verizon购买当地的线路。
所以由周五中午一直到周六半夜,Michael和我轮流上场,大约每小时打电话到 Savvis关心一次。我们对Savvis施压,他们偶而就会去催Worldcom,而Worldcom 则认定全都是某种SQL Server DD0S攻击搞的鬼,所以不太理Savvis。而Savvis 也没告诉我们Worldcom不理他们。于是我们再逼Savvis,而勉#7又逼Worldcom, 大概搞了三回Worldcom才同意打电话给Verizon,然后Verizon找了一个技师来把 问题修好。说实在的,这有点像在推弹費。就像上次Savvis让我们的T1线断了一 天,技术问题其实没什么,如果不用跟这么多白痴公司打交道,几分钟就能找到 问题并修好。
教训:当你向某家公司购买服务,而该公司其实只是把服务外包,这样多了一层 是很难有好的客户服务的。如果外包了两次就几乎不可能有什么服务了。我非 常讨厌鼓励独占的地区电信公司,只有一件事会比直接和地区电信公司打交道更 糟,就是和另一家只能和地区电信公司来往的官僚公司沟通。我们以后的办公 室用的是Verizon DSL,真是谢天谢地。
顺便一提,如果Dell把我们该死的服务器准时送到,你们其实完全不会发现这次 的事件。我们应该在一个月前就换到很好的Pee「1高备援安全托管设施上运行。 看看我上一篇大骂。我有提到我发烧了吗?每次事情出错时我就会生病。
第三章。已经发生上千次了,Fog Creek所在的赤褐色建筑四楼的暖气又没了。 暖气是用热水流过墙壁里面产生的。在墙里怎么可能结冻呢?噢,原来上星期火 炉坏掉了,因为当初装火炉的白痴(大概是无照的)装了 25呎长的水f烟囱,不但 妨碍通风还害一个房客住院,火炉也因此熄灭了几十次。最后暖气公司的人承认 有可能加装一个导风管强迫烟囡通风,不过是在热水管冻住之后再施工。水管本 身的隔热当然也没做好,这是另一个无能的纽约建筑业者的杰作。不过如果火炉 正常燃烧是不会有影响的。
教训:差的系统可能表现完全正常,不过等相邻的系统故障时就会出事。有过敏 背痛的人可能好几个有都没事,不过一患干草热打喷嚏就会背痛到不行。这种 事在系统管理中到处都有。可以利用这种机会把所存你题一次修好。帮你所存游 PC都加装RAID龙互定期备份,不要使用EFS,要买很大的硬盘(这样就永远不必停 下工作来升级),另外要再次确认rdist的命令行选项。安装导风管龙互把水管隔 热做好。把你重要的服务器移去安全的代管设施龙互在办公室改用Verizon的T1 服务。
- 第一部分 位与字节:编程实践点滴
- 一、语言的选择
- 二、深入底层
- 三、joel测试:改进代码的12个步骤
- 四、每一位软件开发人员必须、绝对要至少具备UNICODE 与字符集知识(没有任何例外!)
- 五、轻松写就功能规格说明书 - 第1节:为什么烦心?
- 六、轻松写就功能规格说明书 - 第2节:什么是规格说明书?
- 七、轻松写就功能规格说明书 - 第3节:但是……如何?
- 八、轻松写就功能规格说明书 - 第4节:技巧
- 九、轻松制订软件进度表
- 十、每日连编是朋友
- 十一、难伺候的故障修复
- 十二、软件开发中的5个世界
- 十三、稿纸原型开发
- 十四、不要被太空架构师所吓倒
- 十五、开火与运动
- 十六、人员技能
- 十七、源于计算机学科的三个错误思想
- 十八、二元文化
- 十九、自动获取用户故障报表
- 第二部分 开发人员的管理
- 二十、面试游击指南
- 二十一、重金激励害多利少
- 二十、二不配备测试人员的五个首要(错误)原因
- 二十三、任务换人有害无益
- 二十四、绝不去做的事情,第一部
- 二十五、冰川下的秘密
- 二十六、漏洞抽象定律
- 二十七、程序设计界的LordPalmerston
- 二十八、评测
- 第三部分 Joel对常态问题的遐想
- 二十九、RickChapman解读愚昧
- 三十、在这个国家狗是干什么的? 我们有多么天真?
- 三十一、作为哼哈二将,只管去做事
- 三十二、两个故事
- 三十三、巨无霸麦当劳与天才厨师JamieOliver
- 三十四、没有什么像IT看起来那么简单
- 三十五、提防非自主开发综合症
- 三十六、策略I:BEN&JERRY公司与AMAZON
- 三十七、策略II:鸡与蛋问题
- 三十八、策略III:让我回去!
- 三十九、策略IV:大件与80/20神话
- 四十、策略V:公开源代码的经济因素
- 四十一、墨菲法则肆掠的礼拜
- 四十二、微软公司是如何败北API之战的
- 第四部分 对.NET稍多的评说
- 四十三、微软精神失常了
- 四十四、我们的.NET对策
- 四十五、请问,我可以使用连接程序吗