选择RHEL还是CENTOS?

和大家分享一下我前几年在一家规模不大的中型企业做IT运维时发生的有趣的事!

那一年跳槽刚好进入那家企业,因为离家比较近。刚开始接手企业业务的时候,有一种赶紧逃命的冲动,因为太TM乱了!由于企业规模不大,老板又不想多花钱,所以凡有什么业务系统需求就让原来有些编程经验的IT经理编写业务系统!问题来了,系统还没内测完,那个IT经理跑了,留下一烂摊子没法收拾。后来啊,我硬着头皮把相关的一些业务熟悉了一下,在现有的软件环境尽量保障业务运行,一边也在催促老板赶紧购买和上线大公司的行业软件产品。虽然现在也离开那家企业了,不过想想,那会儿哪来的那种激情呢?

期间也在网上看到了一篇大神写的关于RHEL和CENTOS的选择问题的故事,与各位IT运维一线的同志们共勉!

两台过百万的硬件集群设备上,跑着某个证券交易所的一个业务。然后你选了Debian和centOS, 很牛X的对你的老板说,看!我给公司省了多少万,这种东西很容易,自己都可以搞定的,Red Hat/Novell公司的售后支持啥都不懂,还不如自己用google,网上论坛或者邮件列表问呢。

老板用赞许的眼光看着你,心想你这个手下真的能力很强,这下今年IT基础建设的预算,又可以有一笔钱节省出来挪作他用了。

某天,你运气不好,系统出了问题,然后你们公司紧急要求服务器厂商的人,存储厂商的人,Oracle的人,应用开发公司的人都紧急到场,开协调会讨论排错问题,而且要求到场的都是各个原厂商的资深技术专家。 这套集群上每天交易开盘,有大概50万股民会上来做交易(做股票的同学都知道,一个证券公司如果有开户交易股民50万,那是一个小证券公司), 现在离天亮还有7个小时。

一大堆人,包括你在内,你的老板在内,都忙起来了。大家压力都很大,因为如果找不出故障原因和解决方案,基本上你们公司的麻烦就大了,碰巧这几天股票不稳定,股民情绪本来就不好。

服务器和存储厂商的人做了诊断,拿出了诊断报告,排除了硬件问题,Oracle的牛人拿出了详细的诊断报告,排除了数据库的问题, 业务应用开发商也是如此。

最后,大家的目光聚焦到了你的身上, 没错,就是你。 你的确从一个技术人员的角度,给公司推荐了成本低廉的方案,但是你的过于自信和欠缺成熟的考虑,现在要让你付出代价了。

我不知道这里同学知道不知道,一个正常的小证券公司,前一天的交易数据量,在清算后,为了排错,做一次完全的数据移动前前后后要花多少时间? 2个多小时 ! 光纤柜柜对倒 ! 你还有4个小时!你的老板,老板的老板,那个负责证券公司业务的老总,意料之中的出现在你面前,问你,为什么操作系统厂商没有来?为什么不参与排错? 你无语了。你的老板给你打圆场, 如此这般的解释了一下, 你的老板的老板严厉质问你老板还有你,他说: 我们缺这些钱么?我们需要你们的个人的小聪明么?还有4个小时开盘,到时候系统还没有弄好,你们都等着股民打上门吧。

那天,刚好大家的运气都不错,而且各个厂商来的技术专家都非常资深,在第二天开盘的前3个小时内,终于找到并排除了问题,并且重写了数据移动的脚本,将数据移回服务器花了1个半小时,然后顺利撑过了这一天的交易。

事故原因是由于公司在每台服务器上都部署了光纤双环路,两块FC HBA卡需要在linux下面做绑定,CentOS linux在安装了厂商提供的 FC HBA驱动之后,CentOS linux并没有在这种卡上做完整测试,而且更要命的是,那个提供FC HBA卡的硬件厂商也没有对CentOS做测试和认证,所以CentOS 只能支持这种FC HBA上芯片家族中的一种,但是却把这两块卡当作那种芯片识别出来而且去驱动了,由于是双环,卡之间除了failover还需要做load balance,因此触发了CentOS和驱动之间的兼容性问题,导致系统出现问题。 后来通过修改卡厂商的srpm包,调整了驱动源代码里面的参数,冒险尝试了一下重新编译挂到勒CentOS 上,结果运气好被蒙对,驱动本身的确可以支持相近系列的芯片,但是需要在驱动源代码的参数上做调整且重新编译。

正确认识各个版本的优劣,精确选择合适的Linux,才能对自己负责,对企业负责,不然搞不好是要出人命的!