我是靠谱客的博主 聪明萝莉,最近开发中收集的这篇文章主要介绍十年远征:一个云操作系统的光荣与梦想,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文 | 史中

(零)这世界上所有的操作系统

这个老头,名叫肯·汤普森。

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNjI=,g_se,x_0,y_0,t_100

在他头发还浓密的年纪,计算机还是个“真·大号计算器”——你想让它做什么任务,就必须专门编一套程序,然后它就只会干这一件事儿。而且,执行任务的时候还不能被打断,一中断就蒙圈,还得从头来。

但是,1960年代开始,芯片算力像原子弹一样爆发,再把计算机当成一个“大计算器”干活就有点大材小用了。。。

学术界萌发了一个想法,能不能让一台计算机同时打N份工?

麻省理工学院、通用电气、贝尔实验室这三个牛X闪闪的机构决定联合起来,研究这个可以让计算机同时完成很多任务,还可以随时中断、改变控制的“操作系统”——Multics。

这是“操作系统”四个字第一次闪耀在科技史中。

出乎意料,大牛在一起反而各种不服不忿,五年过去了成果还没出来。。。肯·汤普森所在的贝尔实验室决定退出项目。

肯·汤普森觉得遗憾极了。倒不是因为这么一个改变人类的伟大项目搁浅,而是因为自己之前在 Multics 上开发了一个《星际旅行》游戏,如今操作系统都挂了,游戏自然也没得玩了。

为了玩游戏,肯·汤普森决定仿照 Multics 自己在家写一套操作系统。没想到摆脱了羁绊,他只用了几个月就搞定了这套操作系统,这就是大名鼎鼎的 UNIX

如今手机上的 Android 和 iOS、电脑上的 Windows、云计算中被广泛使用的 Linux,这些操作系统都和 UNIX 有不解的渊源。(顺便说一句,为了解决 UNIX 在不同机型上的移植问题,他的好基友丹尼斯·里奇发明了C语言。)

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNjI=,g_se,x_0,y_0,t_100

肯·汤普森和丹尼斯·里奇

肯·汤普森,这个普通的老头,以一己之力奠定了数字世界操作系统的基调,影响了几十亿人至今——人类的石油开采、航空航海、机械制造、金融商业,这一切的一切都建立在操作系统提供的“高效率”之上。

正因为如此,今天操作系统这四个字已成赛博空间的圣地宫殿,无数有梦想的程序员都会心驰神往。

而做出一个世界上最完美最高效的操作系统,更是中国程序员的梦想。

1997年,张东从中国人民大学信息学院毕业,他面前是一片亟待耕种的“荒田”——那时的中国还基本是个“六无”国家:

没有自己的商业操作系统,没有自己的高端数据库系统,没有自己的工业软件;没有自己的芯片,没有自己的高端存储,没有自己的高端交换机。

凭着对操作系统的一腔热血,张东加入了中软总公司。当时 UNIX 像恐龙一样称霸世界,而微软刚刚从 DOS 时代进入 Windows 时代。这群程序员就要做中国的肯·汤普森,开发我们自己的 UNIX。

对国产操作系统感兴趣的浅友应该知道,那并不是一曲胜利的凯歌,而是一段残酷的回忆。

国产桌面操作系统的竞争对手是 Windows,而 Windows 的价格是多少?一张盗版盘5块钱。到后来有了宽带网,下载 Windows 基本就是“零元购”了。。。幸好国家规定电脑出厂必须带操作系统,我们那时预装在联想电脑里,一套系统能卖1块。

张东回忆往事,苦笑。

经历了这么多痛,他有了一个领悟:在那个历史条件下,卖电脑软件的都处境艰难,卖电脑硬件的公司尚无生存之忧,如果要守护国产操作系统的星星之火度过漫长黑夜,恐怕还是要抱住硬件的大腿。

2008年,张东加入了国产服务器制造商浪潮。那年他34岁。

恐怕最大胆的预言家都没能预测,在未来十几年,中国的互联网会以爆炸式的姿势腾飞;伴随着中国云计算气贯长虹,浪潮的服务器也会成为网红爆款,如千万砖石组成云计算的坚实底座。

而张东的国产操作系统梦想,也在熬过漫长的冬天之后,在追光下慢慢怒放。

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNjI=,g_se,x_0,y_0,t_100

张东

(一)不甘心

讲真,浪潮可算是老网红了。

它的历史可以追溯到1960年代的山东电子设备厂,想当年,中国第一颗卫星东方红一号里的关键元件就是他们生产的;1980年代,浪潮就研发出第一台国产微机。你可能有点感觉了,这样根红苗正的历史,让浪潮自带一种隐隐的“国潮”潜质。

进入新世纪,浪潮开始专心致志生产“X86 架构”的服务器。由于 X86 服务器便宜、扛造、兼容性好,很快就进入了成千上万的政府机关、科研机构、大型企业,成为了大伙喜闻乐见的计算力基础设施。

可是就在奥运会那几年,一种技术开始普及,给浪潮的老司机们带来了新挑战。

好好卖着服务器,他们经常会被客户提出奇怪的要求:“你们能不能把一台服务器给切成20份,我们20个人一起用?”

这是个啥抠门要求嘞?一片儿顶过去20片儿?服务器又不是切糕,还能切着卖么?

中哥告诉你,其实是可以的。这需要用到一个神奇的技术——“虚拟化”。虚拟化系统专门把一台服务器用代码切分成N台小虚拟机,相当于花1台的钱,得到N台服务器,这波操作不要太划算。

注意,虚拟化系统不是什么妖魔法术,它同样是操作系统发展史上的一座里程碑:

1960年代,计算力的发展足够支撑一台计算机同时完成多个任务——这催生了计算机操作系统

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNjI=,g_se,x_0,y_0,t_100

1990年代,计算力的继续发展足够支撑一台计算机同时为多个用户同时完成多个任务——这催生了虚拟化系统

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNjI=,g_se,x_0,y_0,t_100

客户要的姿势当然得给。放眼望去,这虚拟化操作系统谁做得最好呢?不用猜,还是美国公司,大名鼎鼎的 VMware。于是,客户有切分虚拟机的需要,浪潮的同学就用 VMware 来干。

但是做着做着,浪潮发现两个问题:

1、VMware 的系统和 Windows 一样是封闭的,人家给你什么功能你就用什么功能,不能多嘴,这导致很多的客户想要的功能实现不了。
2、VMware 实在是太贵了,大客户用得肉疼,小客户根本用不起。。。。

浪潮开始不甘心了。2010年,浪潮集团首席科学家王恩东跟技术委员会的大牛们合计之后一拍桌子:咱们自研一套虚拟化系统!

可是,理想很丰满,现实很骨感。

彼时的浪潮大部分都是硬件工程师团队。找来找去,只有一个为浪潮的最高端的关键应用计算机“天梭K1”搭配操作系统的团队特别合适。于是王恩东赶紧把这个团队的带头人调任过来。

没错,这个人就是张东。

彼时的张东在浪潮已经小有名气,他和团队做出的操作系统 K-UX 成为了全球第五款,国内第一款通过“UNIX03”认证标准的操作系统。2014年,浪潮天梭K1荣获了国家科技进步一等奖,张东也作为团队主要成员获得这个殊荣。

猛地一下被揪来的张东既兴奋又犯愁。自己做了很多年操作系统,但虚拟化技术和传统操作系统还是有挺大区别——举目望去,自己手下连合适的虚拟化工程师都没有。

但作为在操作系统领域摸爬滚打几十年的老司机,他却嗅到了理想复苏的气息。

他已经不年轻了,他不敢错过这个机会。

一穷,二白,张东开始构想这套系统的架构:既然要干,那还是得干票大的!他决定超越传统的虚拟化架构,而是做虚拟化的高配版——云计算。

等等,虚拟化还没整明白,咋又出来云计算了?为啥云计算是虚拟化的高配版呢?别急,听中哥科普一下:

虚拟化讲究“分”——就像是把一个葫芦娃(物理机)劈成七个葫芦娃(虚拟机);

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNjI=,g_se,x_0,y_0,t_100

云计算除了分,还讲究“合”——不仅把把一个葫芦娃(物理机)劈成七个葫芦娃(虚拟机),还有个爷爷(云管平台)可以把这些葫芦娃管理起来,可以带他们去揍蛇精,也可以派他们去打工赚钱,想干啥干啥。

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNjI=,g_se,x_0,y_0,t_100

有了云管平台,就把这些计算力用活了——不仅方便单个虚拟机的调度管理,还能实现一堆虚拟机同时完成一个复杂任务的“分布式计算”。(分布式计算,其实就是如今说的云计算。)

讲真,在当时说到云计算,十有八九的人都不知道是个啥。连腾讯、百度这样的大公司也没琢磨特别清楚。

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNDM=,g_se,x_0,y_0,t_100

归根结底,当时绝大多数企业并没有“大规模分布式计算”的需求,有个虚拟化系统能节省一点服务器钱就很开心了。

但张东却挺坚决:数字化时代的黎明已经降临,未来的人们需要一套操作系统,一套不仅仅是虚拟化的系统,而是能管理和调度未来计算力的云计算系统。如果真能把这个云计算系统搞出来,未来肯定会成为这个国度无数人依赖的基础设施。

想想就让人激动。

多说一句,张东所想象的这套云计算系统,在今天被称为“私有云”。和阿里云、腾讯云这种公有云不同,私有云部署在企业自己的数据中心里,完全受企业控制。例如大型企业、政府这些拥有大量高敏感数据的团体,一般会选择把数据和计算过程都放在私有云上。

2010年7月,舞台屏幕上闪出“云海 OS”四个大字。张东站在四溢的追光之下,宣布浪潮挺近云计算的领地。

这场发布会,像一颗烟花,照亮了无数人对于国产云计算操作系统热切期待的脸。而从炫目的舞台转身回到安静的办公室,张东意识到,自己的漫漫长征才刚开始。

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNjI=,g_se,x_0,y_0,t_100

(二)造梦师

颜秉珩就是这个时候加入浪潮的。

颜秉珩被大伙儿亲切地称为颜博,在西安交大读博士的时候,他研究的课题叫做“网格计算”,意思就是把全世界的计算机通过互联网连接起来,共同承担一项巨大的计算任务,这种大开大合的调度非常类似于云计算。

颜博加入的团队,负责的正是云海OS最核心的技术——虚拟化

一边是颜博他们这些刚毕业的学生,一边是从各部门抽调过来的老炮儿,不论从哪来,反正没人做过虚拟化。大伙儿盘腿坐在一起,商量这个虚拟化要用个啥架构。

VMware 是市场老大,当然值得借鉴,但它的代码是个封闭的黑盒子,没办法参考。于是虚拟化团队决定基于当时最成熟的开源虚拟化技术“Xen”开发自己的虚拟化系统。(Xen 的读音是:赞)

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNjI=,g_se,x_0,y_0,t_100

颜秉珩

选定技术方向,大伙儿马上被拉去了浪潮的济南总部。冬天的软件园特别清静,我们包下一整个会议室,白天在屋里开发、测试,晚上就集体去旁边的如家睡觉。当时心无旁骛,就是想快点把系统搞出来。

十年前的那段简单生活,颜博还是记忆犹新。

虚拟化技术被称为云计算皇冠上的明珠,难度非常之大。

具体有多难呢?你看过电影《盗梦空间》吗,那群主角个个都是造梦师,可以在正常的人脑中造出好多真实无比的梦境。在一个物理机上造出很多虚拟机,就和造梦的难度差不多。。。

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNTY=,g_se,x_0,y_0,t_100

而颜博他们,就是要成为这样的造梦师。

一个虚拟机造得好不好,有两个硬指标:一个是性能,一个是稳定

先说性能

盗梦空间里,造梦师需要花费大量的脑力来维持梦境本身的真实性。而虚拟化也是同样的道理,假设服务器的战斗力是100点,它需要花费大概10点来维持虚拟机本身的运转,所以虚拟机的性能就只剩下了90点。一定是低于物理机的。

计算机主要由三个元素组成:计算、存储、网络。技术宅们要分别对这三个元素进行虚拟化。这里面技术最成熟的是计算,因为 intel 早在2005年就宣布了支持虚拟化的“VT”技术,相当于芯片本家已经给出了方案,性能损耗是比较低的。而对于存储和网络,就没有那么多现成的技术可用了。

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfOTQ=,g_se,x_0,y_0,t_100

张东回忆,最初同学们拼尽全力,做到的存储性能只有 VMware 的几分之一,网络性能也只有 VMware 的一半儿。相比于纯物理机的性能,那就差得更远了。

再说稳定。

“造梦”造出来的虚拟机,面临着比真实物理机更恶劣的生存环境,所以虚拟化技术的标准操作就是,在你启动一个虚拟机的时候,时刻给你在旁边准备着一个孪生弟弟备份,当哥哥挂掉的时候,可以马上启动这个与哥哥一样的孪生弟弟顶上,这个技术叫做 HA(High Availability 高可用)。

然而,HA 不是你想做,想做就能做。

想象一下:系统又不是上帝,没办法全知全能。一旦出现误判,哥哥还没挂,就把弟弟启动了,这时候,两个系统都对同一块磁盘进行写入,就好像两兄弟争抢同一个媳妇,那可就热闹了。。。

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNjI=,g_se,x_0,y_0,t_100

这种“抢媳妇”的事情,在颜博他们测试的时候就出现过好几次。

公平地说,这些问题也不都怪这帮年轻的“造梦师”了,当时开源虚拟化技术本身就非常不成熟。用张东的话说就是:“当时的开源虚拟化技术和 VMware 的距离就像是婴儿和30岁成年人的距离。”

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNjU=,g_se,x_0,y_0,t_100

2011年五一节,浪潮终于发布了云海 OS 1.0。

“虽然最初的性能指标差一些,但是我们的价格有优势,很多客户还是愿意陪着我们一起成长的。”张东笑。

于是,云计算这个旧时王谢堂前燕,就被浪潮一点点送入寻常百姓家。

最初的客户,有枣庄卫生局、青岛市政府,都是山东老乡。张东回忆,当时由于产品不成熟,必须去现场大量调试。“把兄弟们扔到客户那,一下就是好几天。”

颜博本来是架构师,结果一会儿去会议室作售前交流,一会儿去机房里搬机箱,一会儿又去客户现场做售后解决问题,忙得脚不沾地。

即便这样,他们还是被各种吐槽。

比如,客户会问我们,云海操作系统为啥不能和集中式存储配套。他们说自己以前买了高端的 EMC 存储,不能因为上了云计算就扔掉。说真的,我们在学校里都是用便宜的服务器搭建分布式存储,那种奢侈品我们见都没见过,更别说适配了。

颜博笑。

颜博没见过的东西还有很多。

虽然他们使出吃奶的劲儿把所有能想到的问题预案都做进了系统里,然鹅,在客户的机房里,却出现了惊人的一幕——老鼠把光纤咬断了。。。咬断了。。。断了。。。了。。。

老鼠咬断光纤的预案,这个真没有。于是系统的 HA(高可用)模块紊乱,又出现了前面说的“兄弟抢媳妇”现象,这群技术宅连夜抢修。。。

这世界很皮,就像五条人乐队在歌里唱的:“所有年轻人年轻人年轻人,问题出现我再告诉大家~”

说句公道话,这可不是客户伙同老鼠故意刁难颜博他们。要做一个合格的云计算操作系统,就必须放弃自己的一厢情愿,跟着真实世界的步伐跳舞。

这群造梦师意识到自己绝无希望速胜后,唯一能做的就是在未来几年的时光里认真打磨代码的每个棱角。

而现实这辆列车飞快,从不会为迟到的旅人多停留一秒。凭借云海 OS 1.0 的表现,很难找到足够多的客户。团队只好向现实妥协,把云海 OS 的 2.0 版本做成了兼容 VMware 的版本——一个云管平台,可以同时管理浪潮自研的虚拟化系统和 VMware 的虚拟化系统,给用户更多的选择。

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNjI=,g_se,x_0,y_0,t_100

云管平台不仅能管葫芦娃,还能管外国的哈利波特。

说实话,那时候大家的技术都不成熟,市场也很小。和我们同时代做虚拟化的其他公司,基本都死了。我们之所以能活到下一集,还是因为公司对云计算战略的坚定,支持我们折腾。

张东笑。

但是,做出一套完美云计算操作系统的梦想之火,在张东心中远未熄灭。

(三)赌一把

2014年的夏夜,颜博躺在床上翻来覆去。他脑海里有一个“可怕”的想法:

我们做云海 OS 遇到的种种问题,很可能和最初选择了 Xen 作为虚拟化底层技术有关。
如果继续用 Xen,虚拟化的性能和稳定性都会遇到天花板。但是,如果现在重新选择新技术路线,之前虚拟化团队70多人前两年的努力就白费了。。。

彼时,颜博已经成为虚拟化系统的总架构师,改架构这么大的事儿,必须由他来提出,我不入地狱谁入地狱。

末了,颜博“梦中惊坐起”,决定把换架构的事情跟大家摊牌。

一场团队内部“战争”就此拉开序幕。

当时除了 Xen,最佳的候选框架就是彼时刚开始兴起的 KVM 架构。大伙儿迅速选边站,有人觉得 KVM 虽然不够成熟,但能代表未来,应该尽快换车;有人觉得 Xen 还有很大潜力,修修补补能撑十年。

说实话,在当时的情况下,没人有充分的证据证明未来 KVM 和 Xen 究竟谁能胜出。所谓支持谁,都是凭直觉和信仰——这某种程度上就是一场赌博。

技术人,有时候耿直到让人害怕。虽然颜博是领导,但支持 Xen 的同学们一点都不退让,直接跟他死磕。那场会议的结果是“分裂”。本来团队人手就不够,现在却要分成两个小组,一半人继续研发 Xen,一半人主攻 KVM。

眼看人心要散,颜博心里又内疚又着急。

公开讨论容易擦枪走火,颜博就开始私下里跟同学们谈心,一个人一个人地劝。技术人之间的谈心很奇葩,不谈理想,也不画饼,颜博就揪着同学们聊技术细节:对方说一个 Xen 的好处,他就掰开揉碎讲 KVM 也能解决这个问题,而且解决得更好。

就这样,生生劝了大半年,所有 Xen 的支持者愣是被他全部“招安”,与此同时,Xen 的项目无限期停止,所有人统一进入 KVM 战斗序列。

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNjI=,g_se,x_0,y_0,t_100

虚拟化团队的合影

仅仅说服同学们还远远不够,重新开发 KVM 虚拟化,意味着要重写大量的代码,未来一年多的时间,整个虚拟化团队没办法为公司创造利润。兹事体大,颜博需要获得带头人张东的理解。

没想到的是,张东竟然毫不犹豫地同意了,换架构这件事儿他也已经默默思考了很久。

我给你们一年半时间,中间不用发版,所有人全力研发 KVM 虚拟化系统!

张东拍板。

从2015年开始,浪潮云海 OS 对外的更新变得特别保守,明眼人一下就能看出来不对劲。很多人开始怀疑,是不是浪潮云海准备弃疗。。。一方面是怀疑声甚嚣尘上,另一方面,在成果出来之前,云海团队又不能公开透露自己的大招,只好默默承受这些猜测。

张东默默帮团队顶住所有公司内外的压力,而在团队内部,一场生死未卜的豪赌正在激烈拼杀。

花开两朵各表一枝。就在颜博他们日夜奋战的时候,另一个棘手的问题也同时浮现在张东面前。

这个问题就是“规模”:

如果客户需要一个正常大小的云计算系统,浪潮云海尚能满足;可是一旦用户需要一个超大规模的云计算,这套架构的性能就会顶不住。

要解决这个问题,还得从云计算的另一个板块下手,这就是“云管平台”。

(四)“宠物哲学”和“畜牧哲学”

浪潮云海 OS 的云管平台名叫“ICM”(InCloud Manager 浪潮云管平台),这是一个没有基于任何开源系统的纯自研云管平台。而在当时,另外一个开源的云管平台已经名声大噪,这就是著名的 OpenStack。

OpenStack 一经面世,它那种对于虚拟机大规模的管理能力就惊呆了全世界的技术宅。

同样是云管平台,为啥 OpenStack 可以管好多虚拟机,而 ICM 就管不了呢?中哥给你举个例子就明白了:

ICM 对虚拟机的调度,有点像养宠物:养过宠物的浅友都知道,对宠物要百般细心照料,添水添饭,洗澡打扮,生病了好要带它看医生。ICM 也是同样,一个虚拟机运行起来,它会用各种 HA(高可用)技术保护这个虚拟机不生病不死亡,死了也要赶紧用替身顶上。。。

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfOTQ=,g_se,x_0,y_0,t_100

OpenStack 对虚拟机的调度,有点像养鸡场:养鸡场你懂的,一眼望去无边无际的鸡,只能规模化地消毒、喂药,没有办法对每只鸡都那么细心地照料,一个鸡笼里死了三只鸡,死就死了,从别的地方再抓三只来就好了。所以在 OpenStack 系统下面做虚拟机好惨的,一旦运行出现问题,大概率要弃疗。

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNjI=,g_se,x_0,y_0,t_100

这两种不同的哲学最终造成了技术分野:“ICM+虚拟化”技术的精细度和稳定性更好,但却无法做到很大规模;“OpenStack+虚拟化”技术萝卜快了不洗泥,但却可以做到大规模调度。

OpenStack,做还是不做?这个哈姆雷特式的问题早在2016年就摆在张东面前。

当时的局面多少有些复杂:

原有的 ICM 肯定不能丢,如果要做 OpenStack,势必需要拉起一个新的团队。要花多少钱,多长时间,研究出来的产品性能如何,这统统都是未知数。别忘了,当时云海 OS 还在打另外一场硬仗——底层虚拟化技术从 Xen 到 KVM 过渡。

此时直接开辟“第二战场”,看上去确实有点冒进。

可是,张东思来想去,自己当初做云计算的目的,不就是为了让所有人在数据爆炸的时代可以有一个可靠的基础设施吗?OpenStack 生态正在迅猛发展,几大公有云厂商也开始觊觎浪潮云海所在的私有云市场。如果这时不做,未来也许就再也没机会了。

浪潮首席科学家王恩东院士也明确支持浪潮全系列产品拥抱开源,张东备受鼓舞,决定:马上干!

2016年底,他从 ICM 抽调了一批人,开始研发基于 OpenStack 的浪潮云海 OS。这还远远不够,2017年他又看中了大数据团队的技术大牛亓开元博士,把他调来成为 OpenStack 的总架构师。(亓读作“奇”)

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNjI=,g_se,x_0,y_0,t_100

亓开元

亓开元回忆,当时团队虽然都是从各个部门抽调来的,但很有战斗力。不过 OpenStack 的代码深度和广度都超乎想象,确实每时每刻都在挑战大伙儿的极限。

我们当时三面受敌:一方面要管理大规模数据中心成百上千的计算、存储、网络资源的调度,另一方面还要保证资源利用率高,集群可弹性扩展,业务连续高可用;还要一边填坑克服开源软件体系冗杂、成熟度低的问题。
总之,我们努力把技术学深吃透,把养鸡场的“鸡”养得更像“宠物”。

他笑。

为了支持 OpenStack 的发展,同一年,浪潮云海的产品负责人刘晓欣也加入团队。

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNjI=,g_se,x_0,y_0,t_100

刘晓欣

早在2012年,IBM 就把自己的云架构定位在 OpenStack,而刘晓欣就是当时 IBM 团队的一员。不过由于种种历史机缘,IBM 的云计算在中国一直落地不理想。

刘晓欣决定出走 IBM,兜兜转转一圈,2017年加入正为 OpenStack 招兵买马的浪潮。

彼时,OpenStack 社区正热火朝天,今天更新一个版本,半年以后又是一个大版本。这虽然有利于技术进步,却让基于 OpenStack 开发商业产品的浪潮苦不堪言。

我们的系统刚开发好,还没来得及卖,社区系统就又升级了。。。于是后来我们决定以不变应万变,就基于社区某个稳定的版本来开发,每隔两年左右跟随社区升级一次大版本。

刘晓欣说。

2017年是张东难忘的年份。KVM 虚拟化系统和 OpenStack 运管系统两场战役前后脚收官,浪潮云海 OS 宣布了 5.0 版本,不仅整个底层虚拟化系统被替换一新,也宣布全面支持 OpenStack 大规模部署。

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNTU=,g_se,x_0,y_0,t_100

浪潮云海OS 5.0 发布

从2010年算起,整整八年抗战,浪潮云海的虚拟化性能终于缓慢而坚定地逼近了业内贵族 VMware。看着跳动的数据,这一年多压力爆棚的颜博也终于可以长出一口气。

而从空中俯瞰,所有头部的云计算厂商也像商量好了一样,统统从 Xen 切换到了 KVM。例如世界公有云领头羊 AWS 在2017年做了切换,中国公有云老大哥阿里云在2015年做了更换(可以参考《阿里造神龙》),腾讯云在2013年首次研发时就直接选用了 KVM(可以参考《我遇到一群靠“造梦”改变世界的人 》)。

2017年发布的浪潮云海OS,也奠定了沿用至今的产品架构——可以使用传统云管平台 ICM 精细化部署,也可以使用 OpenStack 大规模部署。

对于张东和同学们来说,过去几年是无比艰难的。由于新技术正处在准备过程中,浪潮云海实际上错过了进入很多大型企业的机会,这让团队所有人都觉得很憋屈。如今,最强的武器已经握在手里,他们迫不及待地准备向全世界证明自己。

怎么能体现出浪潮云海的能力呢?就要找大规模、多节点的项目去做,越大越有标杆效应!

刘晓欣说。

(五)“节点狂魔”

说到大项目,最有发言权的就是蒋永昌了。

蒋永昌是一个老浪潮人,大学毕业后就进入浪潮,干过市场推广、售前、销售、渠道管理、产品营销、产品线运营管理,是个全能选手。2017年情人节那天,他入驻浪潮云计算阵地,担任浪潮云计算大数据产品线总经理。

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNjI=,g_se,x_0,y_0,t_100

蒋永昌

他见证的第一个大项目,就是中国广电。

这个名字你听上去可能有点陌生,不过它可是继移动、电信、联通后的“第四运营商”,他们建立云平台,就是为了支撑“三网融合”这个重大国家战略。

这个项目的分量,可见一斑。

项目的要求非常吓人:一个集群包含550台物理机节点,折合最多7000台虚拟机。而且这样的集群要以两地三中心的方式部署,整体规模会达到大约1500个节点。最关键的是,不仅要规模大,还要求每个虚拟机都达到高可用的性能指标。

这可愁坏了这帮技术宅。第一次出街,就要搞 Hell 模式吗?

合计之后,他们做了个大胆的决定:把高可用的 ICM 架构套在 OpenStack 的大规模架构上,就像叠罗汉那样。

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNTY=,g_se,x_0,y_0,t_100

想想都觉得,这套系统的成品会非常复杂。事实是,这套系统比想得还复杂。

项目机房在天津武清,属于北京和天津交界处。周围还挺荒凉,买包烟都没地方,手机信号一会儿漫游到天津,一会儿回到北京。十几个人的队伍就驻扎在那里日夜兼程。

“由于系统复杂,需要针对这个云计算上的业务特点进行专门优化才能达到预期性能。”蒋永昌给我科普。

但问题就在于,一个系统复杂到一定程度,就会出现莫名其妙的错误,这几乎已经是个玄学问题了。。。当时,大伙儿总是找了半天都发现不了原因,生无可恋,只好从网络流量里一个包一个包地检查。

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNjI=,g_se,x_0,y_0,t_100

这是同学们在广电项目现场赶工。

但是所有人都知道,这不仅是浪潮云海的荣誉之战,也是国产操作系统的荣誉之战。最难的时候,张东亲自跑到机房里给大家打气。

就这样拼了几个月,最后的测试在此一举,所有人都屏气凝神。系统就像一个飞机的引擎轰鸣,从沉吟低吼,到划破长空——终于成功跑起来了。

那一瞬间,大伙儿个个比喝了茅台还上头,这个庞大的系统就在眼前真实地运转,过去几年,自己一行行书写的代码,不仅能做中小规模的云计算,也可以驾驭世界级难度的超大规模的云计算!

其实,就在在广电项目如火如荼的时候,另外一个艰巨的战役也同步开始了。

这是一家大型国有银行。

这家银行使用了纯 OpenStack 的架构,看上去相对简单,但其实并不能这样说。

这个云计算系统上,将会跑着第三方支付、手机银行、国际结算、大数据处理等等与财务相关的系统。有关钱的问题,那可是一分都不能错。这群技术宅需要对原架构做“加固设计”。

一般情况下,为了保证云的高可用性,同一个控制节点要有3个备份。但是对于金融行业,我们特别设计了5个备份,甚至7个备份。这些都是我们首次部署,非常刺激。

蒋永昌说。

这个银行的项目,一期部署了700个节点,又创了新高。

而有了这些成功案例点滴,浪潮的这群“节点狂魔”更加信心满满。

2018年,某省需要建设遍及全省的政务云,所有机房加在一起足有6800个节点。这些节点像海洋一样连接起来,上面存储着千亿条数据,即使庞大如斯,进行一次全量的人脸比对速度也不会慢于5秒。

这群技术宅终于没有辜负八年前“云海”这个宏伟的名字。

2019年,OpenStack 发布了最新的 Rocky 版本,正好浪潮云海已经有两年没有更新底层 OpenStack 版本,趁这一波升级到 Rocky。

与此同时,亓开元、刘晓欣他们策划了两次“暴走大事件”:

要知道,一般 OpenStack 单一集群超过 300节点稳定性就容易出问题了。在2019年底,这群技术宅从浪潮信息生产线上借来500台刚刚下线的服务器,在信通院这样的三方机构监督下,展示了 OpenStack Rocky 版本单集群 500 节点的云平台搭建。

就这样,这群人还觉得不过瘾。

2020年11月,他们又卷土重来,这次的机器数量直接翻倍,达到了单一集群1000节点之多。

这次我们只用3天就完成了1000台服务器从环境改造、上架和云操作系统安装部署。而且从传统核心应用到大数据、人工智能、云原生都可以跑在这个基础系统上,证明云海 OS 更成熟了,可以为各行各业提供最好的数字基础设施!

亓开元骄傲地说。

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNjI=,g_se,x_0,y_0,t_100

这就是1000个节点测试现场的场面。

(六)分布式计算的浪漫

肝完一票标杆项目,浪潮云海名声大噪。

从2010年就开始启动的云操作系统项目,至此不仅成为浪潮的明星产品,也开始真正“出圈”,张东和同学们的故事开始被诸多媒体关注报道。

可叹的是,在无人喝彩的日子,他们已为此默默奋斗了十年。

操作系统就是这样,长期投入,要坚持住。成也要坚持,不成也要坚持。

张东的语气平静得如秋日的湖水。

在操作系统的世界里,不论国籍,不论年龄,大概都是这么一帮只问耕种不问收成的 Coder,一点点呵护那些系统从幼苗长成参天巨树,枝蔓纵横。

浪潮的系统正在像张东十年前预测的那样,正在成为无数企业和国家部门的基础设施。数字在系统中往复奔流,几乎可以肯定,现在正在看文章的你也在某一方面被浪潮云海的计算力支持着。

而在浪潮这群技术宅看来,云海成功的不二法门其实是“开放”。在服务器设计上遵循国际联盟架构,在操作系统上也拥抱开源。

开源并不是百病神药。OpenStack 虽然开放,但也曾被很多人诟病技术粗放,对新功能兼容缓慢。整个社区经历了多年摇摆,才成为如今的私有云“事实标准”。

浪潮这群技术宅既然决定融入 OpenStack 社区,就不可能只索取不奉献。面对高手如林的国际圈子,他们并没怯场。2020年,浪潮也成为了 OpenStack 社区中国第一大贡献者。

他们在试着用自己手里的代码逐渐影响这个社区,心怀敬畏把这个社区推向前进。

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNjI=,g_se,x_0,y_0,t_100

亓开元在开源基础设施峰会上演讲

上溯至1960年代,从 UNIX 开始,硅谷英雄们开发出了无数应用在各个主机上的操作系统;而自90年代开始,无数虚拟化系统承担了人类商业计算的重任;新世纪的曙光初现,2006年起,云计算接棒成为计算力的基础设施;而从2016年起,人工智能系统、大数据系统这些专业化的系统和云计算一起组成了新世界的“计算力套装”。

张东告诉我,云海 OS 可没有止步不前。他们正在策划一次巨大的改版——用统一的操作系统同时调度云计算、人工智能和大数据的计算力。如果一切顺利,未来用户只需要打开云海 OS,就可以一站式完成所有的主流计算。

对于浪潮来说,这将是操作系统的又一次成长,张东满怀期待。

操作系统的出现,从第一天开始就是为了提高计算的效率——一台计算机算不过来,人们就会用两台;两台计算机算不过来,人们就会用四台;一百台计算机算不过来,人们就会用一千台一万台。

只要我们追求效率的梦想不灭,操作系统的升级就永远不熄。

浪潮的这群技术宅站在聚光灯下,但在聚光灯之外,仍然有无数 Coder 用各自的方式耕种自己的梦想。

一个影响历史的操作系统,不知何时才能出现在我们这片土地上。但为此努力的每一天,都将汇成历史长河上最波澜壮阔的浪漫。

watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfNjI=,g_se,x_0,y_0,t_100

再自我介绍一下吧。我叫史中,是一个倾心故事的科技记者。我的日常是和各路大神聊天。如果想和我做朋友,可以搜索微信:shizhongmax

最后

以上就是聪明萝莉为你收集整理的十年远征:一个云操作系统的光荣与梦想的全部内容,希望文章能够帮你解决十年远征:一个云操作系统的光荣与梦想所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部