top of page

信创ARM服务器:一个调优参数引发的血案

最近另一个做集成的朋友也跟我分享个乐子,在服务器调优过程中弄错一个参数,差点酿成大祸。

众所周知,无论是迁移还是调优,这活说简单也简单,说麻烦也是真麻烦。这篇文章是跟朋友要来的,一起吃瓜乐呵乐呵。



我是个小公司的系统集成工程师,稍微有点资历的那种。有的时候也带着3-5个小兄弟一起混饭吃,多的时候能有10来个。因为文中涉及的内容,可能会对某国内大厂有吹黑嫌疑,所以,我尽量隐去所有厂和项目的名字。您就当看个乐儿,长个姿势。您要真说您跟这个大厂打过交道,我觉得您一定能看的出来。


去年有个项目,是个小项目,10台以里那种的内部项目,严格说算是迁移项目。开始找我们选型的时候说的是用x86的机器,后来不知道甲方爸爸怎么想的,忽然要搞xc项目。

平时和甲方的干活的员工一起也比较聊得来,于是仔细问了问爸爸们怎么想的,甲方的兄弟也一脸绝望,他也不甚清楚,但是根据一些小道消息拼凑出来的说法是,上面空降个领导,说是为了讨好某个事业单位的领导,那个领导想摸排一下xc x86和arm的区别和适应性。于是这个领导拍了胸脯,让我们这个项目用arm的服务器。

于是哥们儿问我,我怎么看。我说既然领导说了,那就换呗。可是你别忘了,云上一台x86的机器怎么兑换arm的机器的,到时候数量多,你心里有个说辞。他说知道,谢谢我提醒。

果不其然,项目开始的时候,就遇到问题,二进制的用不了,一切从源码编起,费时费力咱不就说了;不少软件版本不兼容,这也不说了,意料之中;关键是费尽九牛二虎之力部署好以后,甲方爸爸不知道咋回事,开始要求性能……

我们的配置文件都是统一的,唯一适配系统的时候改改sysctl就行。甭管是运维、系统集成、开发、还是搞优化的,都不能什么都知道,开发还分应用开发和运维开发呢。毕竟,人也不是啥都清楚,都是一专多能,少有几专多能的,全专的更是不可能了。跟甲方的哥们儿反馈了,甲方哥们说,没啥问题,反正也得让他们调。

接下来应该没我啥事了,留个小兄弟就行,我还有别的项目要跟。这个项目虽然明知道有坑,但是因为无法预见到,所以只能硬着头皮往前趟。

不是我不负责,是因为还有个项目,那个项目比较远,得算出差,而且是个新项目,还有比较大变化,所以出差的时间有点长。

一段时间无表,我以为这事基本完事了。

那天早上,我还在酒店的床上,我的小兄弟突然给我电话:哥,这边项目出事了,显示磁盘空间满了,可是空间还有40%富裕呢。

我心里一惊,不至于呀,当时怕硬盘不够用,特意要了双倍空间,赶紧让小兄弟看看inode,果然,inode满了。

这项目运行了几个月了,文件数量可不是巨量变化的,先能删啥吧。联系了甲方的哥们儿,该删的删,该挪的挪。

这里得表扬下我那小兄弟,预见到这事不好搞了,就第一时间发布了临时维护公告。另外好在这是个内部项目,不然用户也好,合作伙伴也好,不得有个大坑呀?!

关键是我们这些trubleshooting的,真是着急上火,我们也想让系统秒恢复正常,但是填坑还需挖坑人,要是挖坑人不知道自己挖了坑,没有提前说,这不得慢慢填呀,甭多,一周一回,这头发都得整把的掉。

有些时候是真没招儿,操作也不好,不操作也不好,就拿这个删文件的工作来说,空间要是真满了,捡大个儿的文件删,删俩也就差不多了,这是inode满了,必须要找到一些小文件,空文件夹进行删除。一天几乎就干这个了。

这个项目严格说算个新甁装旧酒的项目,所以甲方的哥们儿也清楚,不应该是我们已有项目的事,可是奈何不住他们空降领导啊,一定要找个原因,哥们儿没辙了,找我:哥呀,给查查呗。

查呗。我问了我们的小兄弟,小兄弟也有其他项目要跟,所以这个项目不是天天都在,没关系,好在是还有个参考,旧瓶还有呢。

对比了新甁旧瓶,没发现什么不一样,我就问甲方哥们儿,后来他们做啥优化了?他说几乎都重装了。

等等,重装?优化的话也不至于重装啊,莫非开始弄坏了?

我又问了哥们儿一些细节:来了两波人,第一波人说优化的很好了,没啥可优化的,领导不答应,后来又来了一波人,说之前还没优化彻底,要重新装。

成,这话记下了,我和我的小兄弟就能洗脱嫌疑了,至少不用背锅了。

而且好嘛,终于找到原因了,我把文件系统的blocksize拿出来一看,好家伙,8k,原来默认是1024,这差了8倍……

啥也别说了,原因就在这呢!我跟甲方的哥们儿反馈了这事,哥们儿也说,这坑给他挖的,恨得牙痒痒。说,兄弟,还是你水平高,一下就找到原因了。

我说我这算是侥幸,第一,新甁旧瓶能对比,第二,和甲方的哥们儿处的不错能如实告知,第三,甲方哥们还懂点,至少整个项目全程跟了,看到不大合理的还问问。

但凡条哪对不上,稍稍的不配合,你想查出真相?没门!就算查出真相,谁背锅呀?还不得我背锅?运维背锅也就算了,系统集成还背锅就真是没天理了。

于是找了新的硬盘,腾退了部分文件夹,把数据分区重新格式化一遍,格成默认大小。然后发现,性能基本又降回去了……

好嘛,优化的方法也基本知道,有些优化参数是双刃剑,优化是将特点当优点用,而不是不管不顾的,啥都硬往上拽,真说某些特点是缺点,又没看到,那就真是坑了,坑自己还能长个姿势,坑别人就真是强买强卖了,强迫别人花钱买教训。

后来哥们儿问我该如何避免类似的情况发生?

我说,自己安装操作系统,a公司的改动都要找b公司核验一下,看看影响、互通有无,不要闭门造车。要真是闭门造车出则合辙还好,就怕不合辙,这不就翻车了么。哥们又问我,那cpu都不一样,咋统一操作系统,操作系统不统一,前面说的对比改动就都没意义啊。

是啊,只有一个方法,尽量别用各色的cpu。

为啥这么说?xc之路不那么好走,一种是全封闭的环境,全封闭了,就跟外面彻底断了联系了,那些开源的跟自主可控没啥区别,且几乎不需要有所改变,全断了联系不就刚愎自用了么?

自己搞自己的一套标准,一旦反噬,必将彻底灭亡,当年intel搞自己的ai64,坚持了20年,很多软件大厂、硬件大厂都给予全力支持,最后不也黄了么?

现在就国内ARM推这个事儿最卖力,但是一个是生态基础,另一个是人类通病,天天都说不兼容还未适配,汇报上去也不顶用。谁能求动开源软件的大神们,让他们给自己不熟悉的领域适配软件呀。

另一种是半封闭,只查是否自主可控,尽可能的在基本不变的情况下搞自己的这套东西。真说有“门路”的企业,不就靠着搞定上层领导和煽动所谓的“爱国情怀”来搞一些小动作么。

一念成魔,一念成佛,咱们的level和格局都太小,没准儿这些小动作会变成高科技呢?也没准儿在咱们不懂的领域,人家真的是高科技呢?咱也不懂,就少给自己找点事儿,多留撮儿头发不香么?毕竟植发挺贵的,一个月工资也植不了几根,还有房贷车贷要还。

专业的事情交给专业的人来干,谁干活就让谁负责呗。头几天哥们儿交流新部署的服务器好使不?哥们儿来了句,可拉倒去吧。


2 次查看0 則留言

Комментарии


bottom of page