十年遠征:一個雲操作系統的光榮與夢想_風聞
观察者网用户_243785-2020-12-28 14:13

十年遠征:一個雲操作系統的光榮與夢想
文 | 史中
(零)這世界上所有的操作系統
這個老頭,名叫肯·湯普森。

在他頭髮還濃密的年紀,計算機還是個“真·大號計算器”——你想讓它做什麼任務,就必須專門編一套程序,然後它就只會幹這一件事兒。而且,執行任務的時候還不能被打斷,一中斷就蒙圈,還得從頭來。
但是,1960年代開始,芯片算力像原子彈一樣爆發,再把計算機當成一個“大計算器”幹活就有點大材小用了。。。
學術界萌發了一個想法,能不能讓一台計算機同時打N份工?
麻省理工學院、通用電氣、貝爾實驗室這三個牛X閃閃的機構決定聯合起來,研究這個可以讓計算機同時完成很多任務,還可以隨時中斷、改變控制的“操作系統”——Multics。
這是“操作系統”四個字第一次閃耀在科技史中。
出乎意料,大牛在一起反而各種不服不忿,五年過去了成果還沒出來。。。肯·湯普森所在的貝爾實驗室決定退出項目。
肯·湯普森覺得遺憾極了。倒不是因為這麼一個改變人類的偉大項目擱淺,而是因為自己之前在 Multics 上開發了一個《星際旅行》遊戲,如今操作系統都掛了,遊戲自然也沒得玩了。
為了玩遊戲,肯·湯普森決定仿照 Multics 自己在家寫一套操作系統。沒想到擺脱了羈絆,他只用了幾個月就搞定了這套操作系統,這就是大名鼎鼎的 UNIX。
如今手機上的 Android 和 iOS、電腦上的 Windows、雲計算中被廣泛使用的 Linux,這些操作系統都和 UNIX 有不解的淵源。(順便説一句,為了解決 UNIX 在不同機型上的移植問題,他的好基友丹尼斯·裏奇發明了C語言。)

肯·湯普森和丹尼斯·裏奇
肯·湯普森,這個普通的老頭,以一己之力奠定了數字世界操作系統的基調,影響了幾十億人至今——人類的石油開採、航空航海、機械製造、金融商業,這一切的一切都建立在操作系統提供的“高效率”之上。
正因為如此,今天操作系統這四個字已成賽博空間的聖地宮殿,無數有夢想的程序員都會心馳神往。
而做出一個世界上最完美最高效的操作系統,更是中國程序員的夢想。
1997年,張東從中國人民大學信息學院畢業,他面前是一片亟待耕種的“荒田”——那時的中國還基本是個“六無”國家:
沒有自己的商業操作系統,沒有自己的高端數據庫系統,沒有自己的工業軟件;沒有自己的芯片,沒有自己的高端存儲,沒有自己的高端交換機。
憑着對操作系統的一腔熱血,張東加入了中軟總公司。當時 UNIX 像恐龍一樣稱霸世界,而微軟剛剛從 DOS 時代進入 Windows 時代。這羣程序員就要做中國的肯·湯普森,開發我們自己的 UNIX。
對國產操作系統感興趣的淺友應該知道,那並不是一曲勝利的凱歌,而是一段殘酷的回憶。
國產桌面操作系統的競爭對手是 Windows,而 Windows 的價格是多少?一張盜版盤5塊錢。到後來有了寬帶網,下載 Windows 基本就是“零元購”了。。。幸好國家規定電腦出廠必須帶操作系統,我們那時預裝在聯想電腦裏,一套系統能賣1塊。
張東回憶往事,苦笑。
經歷了這麼多痛,他有了一個領悟:在那個歷史條件下,賣電腦軟件的都處境艱難,賣電腦硬件的公司尚無生存之憂,如果要守護國產操作系統的星星之火度過漫長黑夜,恐怕還是要抱住硬件的大腿。
2008年,張東加入了國產服務器製造商浪潮。那年他34歲。
恐怕最大膽的預言家都沒能預測,在未來十幾年,中國的互聯網會以爆炸式的姿勢騰飛;伴隨着中國雲計算氣貫長虹,浪潮的服務器也會成為網紅爆款,如千萬磚石組成雲計算的堅實底座。
而張東的國產操作系統夢想,也在熬過漫長的冬天之後,在追光下慢慢怒放。

張東
(一)不甘心
講真,浪潮可算是老網紅了。
它的歷史可以追溯到1960年代的山東電子設備廠,想當年,中國第一顆衞星東方紅一號裏的關鍵元件就是他們生產的;1980年代,浪潮就研發出第一台國產微機。你可能有點感覺了,這樣根紅苗正的歷史,讓浪潮自帶一種隱隱的“國潮”潛質。
進入新世紀,浪潮開始專心致志生產“X86 架構”的服務器。由於 X86 服務器便宜、扛造、兼容性好,很快就進入了成千上萬的政府機關、科研機構、大型企業,成為了大夥喜聞樂見的計算力基礎設施。
可是就在奧運會那幾年,一種技術開始普及,給浪潮的老司機們帶來了新挑戰。
好好賣着服務器,他們經常會被客户提出奇怪的要求:“你們能不能把一台服務器給切成20份,我們20個人一起用?”
這是個啥摳門要求嘞?一片兒頂過去20片兒?服務器又不是切糕,還能切着賣麼?
中哥告訴你,其實是可以的。這需要用到一個神奇的技術——“虛擬化”。虛擬化系統專門把一台服務器用代碼切分成N台小虛擬機,相當於花1台的錢,得到N台服務器,這波操作不要太划算。
注意,虛擬化系統不是什麼妖魔法術,它同樣是操作系統發展史上的一座里程碑:
1960年代,計算力的發展足夠支撐一台計算機同時完成多個任務——這催生了計算機操作系統。

1990年代,計算力的繼續發展足夠支撐一台計算機同時為多個用户同時完成多個任務——這催生了虛擬化系統。

客户要的姿勢當然得給。放眼望去,這虛擬化操作系統誰做得最好呢?不用猜,還是美國公司,大名鼎鼎的 VMware。於是,客户有切分虛擬機的需要,浪潮的同學就用 VMware 來幹。
但是做着做着,浪潮發現兩個問題:
1、VMware 的系統和 Windows 一樣是封閉的,人家給你什麼功能你就用什麼功能,不能多嘴,這導致很多的客户想要的功能實現不了。
2、VMware 實在是太貴了,大客户用得肉疼,小客户根本用不起。。。。
浪潮開始不甘心了。2010年,浪潮集團首席科學家王恩東跟技術委員會的大牛們合計之後一拍桌子:咱們自研一套虛擬化系統!
可是,理想很豐滿,現實很骨感。
彼時的浪潮大部分都是硬件工程師團隊。找來找去,只有一個為浪潮的最高端的關鍵應用計算機“天梭K1”搭配操作系統的團隊特別合適。於是王恩東趕緊把這個團隊的帶頭人調任過來。
沒錯,這個人就是張東。
彼時的張東在浪潮已經小有名氣,他和團隊做出的操作系統 K-UX 成為了全球第五款,國內第一款通過“UNIX03”認證標準的操作系統。2014年,浪潮天梭K1榮獲了國家科技進步一等獎,張東也作為團隊主要成員獲得這個殊榮。
猛地一下被揪來的張東既興奮又犯愁。自己做了很多年操作系統,但虛擬化技術和傳統操作系統還是有挺大區別——舉目望去,自己手下連合適的虛擬化工程師都沒有。
但作為在操作系統領域摸爬滾打幾十年的老司機,他卻嗅到了理想復甦的氣息。
他已經不年輕了,他不敢錯過這個機會。
一窮,二白,張東開始構想這套系統的架構:既然要幹,那還是得幹票大的!他決定超越傳統的虛擬化架構,而是做虛擬化的高配版——雲計算。
等等,虛擬化還沒整明白,咋又出來雲計算了?為啥雲計算是虛擬化的高配版呢?別急,聽中哥科普一下:
虛擬化講究“分”——就像是把一個葫蘆娃(物理機)劈成七個葫蘆娃(虛擬機);

雲計算除了分,還講究“合”——不僅把把一個葫蘆娃(物理機)劈成七個葫蘆娃(虛擬機),還有個爺爺(雲管平台)可以把這些葫蘆娃管理起來,可以帶他們去揍蛇精,也可以派他們去打工賺錢,想幹啥幹啥。

有了雲管平台,就把這些計算力用活了——不僅方便單個虛擬機的調度管理,還能實現一堆虛擬機同時完成一個複雜任務的**“分佈式計算”**。(分佈式計算,其實就是如今説的雲計算。)
講真,在當時説到雲計算,十有八九的人都不知道是個啥。連騰訊、百度這樣的大公司也沒琢磨特別清楚。

歸根結底,當時絕大多數企業並沒有“大規模分佈式計算”的需求,有個虛擬化系統能節省一點服務器錢就很開心了。
但張東卻挺堅決:數字化時代的黎明已經降臨,未來的人們需要一套操作系統,一套不僅僅是虛擬化的系統,而是能管理和調度未來計算力的雲計算系統。如果真能把這個雲計算系統搞出來,未來肯定會成為這個國度無數人依賴的基礎設施。
想想就讓人激動。
多説一句,張東所想象的這套雲計算系統,在今天被稱為“私有云”。和阿里雲、騰訊雲這種公有云不同,私有云部署在企業自己的數據中心裏,完全受企業控制。例如大型企業、政府這些擁有大量高敏感數據的團體,一般會選擇把數據和計算過程都放在私有云上。
2010年7月,舞台屏幕上閃出“雲海 OS”四個大字。張東站在四溢的追光之下,宣佈浪潮挺近雲計算的領地。
這場發佈會,像一顆煙花,照亮了無數人對於國產雲計算操作系統熱切期待的臉。而從炫目的舞台轉身回到安靜的辦公室,張東意識到,自己的漫漫長征才剛開始。

(二)造夢師
顏秉珩就是這個時候加入浪潮的。
顏秉珩被大夥兒親切地稱為顏博,在西安交大讀博士的時候,他研究的課題叫做“網格計算”,意思就是把全世界的計算機通過互聯網連接起來,共同承擔一項巨大的計算任務,這種大開大合的調度非常類似於雲計算。
顏博加入的團隊,負責的正是雲海OS最核心的技術——虛擬化。
一邊是顏博他們這些剛畢業的學生,一邊是從各部門抽調過來的老炮兒,不論從哪來,反正沒人做過虛擬化。大夥兒盤腿坐在一起,商量這個虛擬化要用個啥架構。
VMware 是市場老大,當然值得借鑑,但它的代碼是個封閉的黑盒子,沒辦法參考。於是虛擬化團隊決定基於當時最成熟的開源虛擬化技術“Xen”開發自己的虛擬化系統。(Xen 的讀音是:贊)

顏秉珩
選定技術方向,大夥兒馬上被拉去了浪潮的濟南總部。冬天的軟件園特別清靜,我們包下一整個會議室,白天在屋裏開發、測試,晚上就集體去旁邊的如家睡覺。當時心無旁騖,就是想快點把系統搞出來。
十年前的那段簡單生活,顏博還是記憶猶新。
虛擬化技術被稱為雲計算皇冠上的明珠,難度非常之大。
具體有多難呢?你看過電影《盜夢空間》嗎,那羣主角個個都是造夢師,可以在正常的人腦中造出好多真實無比的夢境。在一個物理機上造出很多虛擬機,就和造夢的難度差不多。。。

而顏博他們,就是要成為這樣的造夢師。
一個虛擬機造得好不好,有兩個硬指標:一個是性能,一個是穩定。
先説性能。
盜夢空間裏,造夢師需要花費大量的腦力來維持夢境本身的真實性。而虛擬化也是同樣的道理,假設服務器的戰鬥力是100點,它需要花費大概10點來維持虛擬機本身的運轉,所以虛擬機的性能就只剩下了90點。一定是低於物理機的。
計算機主要由三個元素組成:計算、存儲、網絡。技術宅們要分別對這三個元素進行虛擬化。這裏面技術最成熟的是計算,因為 intel 早在2005年就宣佈了支持虛擬化的“VT”技術,相當於芯片本家已經給出了方案,性能損耗是比較低的。而對於存儲和網絡,就沒有那麼多現成的技術可用了。

張東回憶,最初同學們拼盡全力,做到的存儲性能只有 VMware 的幾分之一,網絡性能也只有 VMware 的一半兒。相比於純物理機的性能,那就差得更遠了。
再説穩定。
“造夢”造出來的虛擬機,面臨着比真實物理機更惡劣的生存環境,所以虛擬化技術的標準操作就是,在你啓動一個虛擬機的時候,時刻給你在旁邊準備着一個孿生弟弟備份,當哥哥掛掉的時候,可以馬上啓動這個與哥哥一樣的孿生弟弟頂上,這個技術叫做 HA(High Availability 高可用)。
然而,HA 不是你想做,想做就能做。
想象一下:系統又不是上帝,沒辦法全知全能。一旦出現誤判,哥哥還沒掛,就把弟弟啓動了,這時候,兩個系統都對同一塊磁盤進行寫入,就好像兩兄弟爭搶同一個媳婦,那可就熱鬧了。。。

這種“搶媳婦”的事情,在顏博他們測試的時候就出現過好幾次。
公平地説,這些問題也不都怪這幫年輕的“造夢師”了,當時開源虛擬化技術本身就非常不成熟。用張東的話説就是:“當時的開源虛擬化技術和 VMware 的距離就像是嬰兒和30歲成年人的距離。”

2011年五一節,浪潮終於發佈了雲海 OS 1.0。
“雖然最初的性能指標差一些,但是我們的價格有優勢,很多客户還是願意陪着我們一起成長的。”張東笑。
於是,雲計算這個舊時王謝堂前燕,就被浪潮一點點送入尋常百姓家。
最初的客户,有棗莊衞生局、青島市政府,都是山東老鄉。張東回憶,當時由於產品不成熟,必須去現場大量調試。“把兄弟們扔到客户那,一下就是好幾天。”
顏博本來是架構師,結果一會兒去會議室作售前交流,一會兒去機房裏搬機箱,一會兒又去客户現場做售後解決問題,忙得腳不沾地。
即便這樣,他們還是被各種吐槽。
比如,客户會問我們,雲海操作系統為啥不能和集中式存儲配套。他們説自己以前買了高端的 EMC 存儲,不能因為上了雲計算就扔掉。説真的,我們在學校裏都是用便宜的服務器搭建分佈式存儲,那種奢侈品我們見都沒見過,更別説適配了。
顏博笑。
顏博沒見過的東西還有很多。
雖然他們使出吃奶的勁兒把所有能想到的問題預案都做進了系統裏,然鵝,在客户的機房裏,卻出現了驚人的一幕——老鼠把光纖咬斷了。。。咬斷了。。。斷了。。。了。。。
老鼠咬斷光纖的預案,這個真沒有。於是系統的 HA(高可用)模塊紊亂,又出現了前面説的“兄弟搶媳婦”現象,這羣技術宅連夜搶修。。。
這世界很皮,就像五條人樂隊在歌裏唱的:“所有年輕人年輕人年輕人,問題出現我再告訴大家~”
説句公道話,這可不是客户夥同老鼠故意刁難顏博他們。要做一個合格的雲計算操作系統,就必須放棄自己的一廂情願,跟着真實世界的步伐跳舞。
這羣造夢師意識到自己絕無希望速勝後,唯一能做的就是在未來幾年的時光裏認真打磨代碼的每個稜角。
而現實這輛列車飛快,從不會為遲到的旅人多停留一秒。憑藉雲海 OS 1.0 的表現,很難找到足夠多的客户。團隊只好向現實妥協,把雲海 OS 的 2.0 版本做成了兼容 VMware 的版本——一個雲管平台,可以同時管理浪潮自研的虛擬化系統和 VMware 的虛擬化系統,給用户更多的選擇。

雲管平台不僅能管葫蘆娃,還能管外國的哈利波特。
説實話,那時候大家的技術都不成熟,市場也很小。和我們同時代做虛擬化的其他公司,基本都死了。我們之所以能活到下一集,還是因為公司對雲計算戰略的堅定,支持我們折騰。
張東笑。
但是,做出一套完美雲計算操作系統的夢想之火,在張東心中遠未熄滅。
(三)賭一把
2014年的夏夜,顏博躺在牀上翻來覆去。他腦海裏有一個“可怕”的想法:
我們做雲海 OS 遇到的種種問題,很可能和最初選擇了 Xen 作為虛擬化底層技術有關。
如果繼續用 Xen,虛擬化的性能和穩定性都會遇到天花板。但是,如果現在重新選擇新技術路線,之前虛擬化團隊70多人前兩年的努力就白費了。。。
彼時,顏博已經成為虛擬化系統的總架構師,改架構這麼大的事兒,必須由他來提出,我不入地獄誰入地獄。
末了,顏博“夢中驚坐起”,決定把換架構的事情跟大家攤牌。
一場團隊內部“戰爭”就此拉開序幕。
當時除了 Xen,最佳的候選框架就是彼時剛開始興起的 KVM 架構。大夥兒迅速選邊站,有人覺得 KVM 雖然不夠成熟,但能代表未來,應該儘快換車;有人覺得 Xen 還有很大潛力,修修補補能撐十年。
説實話,在當時的情況下,沒人有充分的證據證明未來 KVM 和 Xen 究竟誰能勝出。所謂支持誰,都是憑直覺和信仰——這某種程度上就是一場賭博。
技術人,有時候耿直到讓人害怕。雖然顏博是領導,但支持 Xen 的同學們一點都不退讓,直接跟他死磕。那場會議的結果是“分裂”。本來團隊人手就不夠,現在卻要分成兩個小組,一半人繼續研發 Xen,一半人主攻 KVM。
眼看人心要散,顏博心裏又內疚又着急。
公開討論容易擦槍走火,顏博就開始私下裏跟同學們談心,一個人一個人地勸。技術人之間的談心很奇葩,不談理想,也不畫餅,顏博就揪着同學們聊技術細節:對方説一個 Xen 的好處,他就掰開揉碎講 KVM 也能解決這個問題,而且解決得更好。
就這樣,生生勸了大半年,所有 Xen 的支持者愣是被他全部“招安”,與此同時,Xen 的項目無限期停止,所有人統一進入 KVM 戰鬥序列。

虛擬化團隊的合影
僅僅説服同學們還遠遠不夠,重新開發 KVM 虛擬化,意味着要重寫大量的代碼,未來一年多的時間,整個虛擬化團隊沒辦法為公司創造利潤。茲事體大,顏博需要獲得帶頭人張東的理解。
沒想到的是,張東竟然毫不猶豫地同意了,換架構這件事兒他也已經默默思考了很久。
我給你們一年半時間,中間不用發版,所有人全力研發 KVM 虛擬化系統!
張東拍板。
從2015年開始,浪潮雲海 OS 對外的更新變得特別保守,明眼人一下就能看出來不對勁。很多人開始懷疑,是不是浪潮雲海準備棄療。。。一方面是懷疑聲甚囂塵上,另一方面,在成果出來之前,雲海團隊又不能公開透露自己的大招,只好默默承受這些猜測。
張東默默幫團隊頂住所有公司內外的壓力,而在團隊內部,一場生死未卜的豪賭正在激烈拼殺。
花開兩朵各表一枝。就在顏博他們日夜奮戰的時候,另一個棘手的問題也同時浮現在張東面前。
這個問題就是“規模”:
如果客户需要一個正常大小的雲計算系統,浪潮雲海尚能滿足;可是一旦用户需要一個超大規模的雲計算,這套架構的性能就會頂不住。
要解決這個問題,還得從雲計算的另一個板塊下手,這就是“雲管平台”。
(四)“寵物哲學”和“畜牧哲學”
浪潮雲海 OS 的雲管平台名叫“ICM”(InCloud Manager 浪潮雲管平台),這是一個沒有基於任何開源系統的純自研雲管平台。而在當時,另外一個開源的雲管平台已經名聲大噪,這就是著名的 OpenStack。
OpenStack 一經面世,它那種對於虛擬機大規模的管理能力就驚呆了全世界的技術宅。
**同樣是雲管平台,為啥 OpenStack 可以管好多虛擬機,而 ICM 就管不了呢?**中哥給你舉個例子就明白了:
ICM 對虛擬機的調度,有點像養寵物:養過寵物的淺友都知道,對寵物要百般細心照料,添水添飯,洗澡打扮,生病了好要帶它看醫生。ICM 也是同樣,一個虛擬機運行起來,它會用各種 HA(高可用)技術保護這個虛擬機不生病不死亡,死了也要趕緊用替身頂上。。。

OpenStack 對虛擬機的調度,有點像養雞場:養雞場你懂的,一眼望去無邊無際的雞,只能規模化地消毒、喂藥,沒有辦法對每隻雞都那麼細心地照料,一個雞籠裏死了三隻雞,死就死了,從別的地方再抓三隻來就好了。所以在 OpenStack 系統下面做虛擬機好慘的,一旦運行出現問題,大概率要棄療。

這兩種不同的哲學最終造成了技術分野:“ICM+虛擬化”技術的精細度和穩定性更好,但卻無法做到很大規模;“OpenStack+虛擬化”技術蘿蔔快了不洗泥,但卻可以做到大規模調度。
OpenStack,做還是不做?這個哈姆雷特式的問題早在2016年就擺在張東面前。
當時的局面多少有些複雜:
原有的 ICM 肯定不能丟,如果要做 OpenStack,勢必需要拉起一個新的團隊。要花多少錢,多長時間,研究出來的產品性能如何,這統統都是未知數。別忘了,當時雲海 OS 還在打另外一場硬仗——底層虛擬化技術從 Xen 到 KVM 過渡。
此時直接開闢“第二戰場”,看上去確實有點冒進。
可是,張東思來想去,自己當初做雲計算的目的,不就是為了讓所有人在數據爆炸的時代可以有一個可靠的基礎設施嗎?OpenStack 生態正在迅猛發展,幾大公有云廠商也開始覬覦浪潮雲海所在的私有云市場。如果這時不做,未來也許就再也沒機會了。
浪潮首席科學家王恩東院士也明確支持浪潮全系列產品擁抱開源,張東備受鼓舞,決定:馬上幹!
2016年底,他從 ICM 抽調了一批人,開始研發基於 OpenStack 的浪潮雲海 OS。這還遠遠不夠,2017年他又看中了大數據團隊的技術大牛亓開元博士,把他調來成為 OpenStack 的總架構師。(亓讀作“奇”)

亓開元
亓開元回憶,當時團隊雖然都是從各個部門抽調來的,但很有戰鬥力。不過 OpenStack 的代碼深度和廣度都超乎想象,確實每時每刻都在挑戰大夥兒的極限。
我們當時三面受敵:一方面要管理大規模數據中心成百上千的計算、存儲、網絡資源的調度,另一方面還要保證資源利用率高,集羣可彈性擴展,業務連續高可用;還要一邊填坑克服開源軟件體系冗雜、成熟度低的問題。
總之,我們努力把技術學深吃透,把養雞場的“雞”養得更像“寵物”。
他笑。
為了支持 OpenStack 的發展,同一年,浪潮雲海的產品負責人劉曉欣也加入團隊。

劉曉欣
早在2012年,IBM 就把自己的雲架構定位在 OpenStack,而劉曉欣就是當時 IBM 團隊的一員。不過由於種種歷史機緣,IBM 的雲計算在中國一直落地不理想。
劉曉欣決定出走 IBM,兜兜轉轉一圈,2017年加入正為 OpenStack 招兵買馬的浪潮。
彼時,OpenStack 社區正熱火朝天,今天更新一個版本,半年以後又是一個大版本。這雖然有利於技術進步,卻讓基於 OpenStack 開發商業產品的浪潮苦不堪言。
我們的系統剛開發好,還沒來得及賣,社區系統就又升級了。。。於是後來我們決定以不變應萬變,就基於社區某個穩定的版本來開發,每隔兩年左右跟隨社區升級一次大版本。
劉曉欣説。
2017年是張東難忘的年份。KVM 虛擬化系統和 OpenStack 運管系統兩場戰役前後腳收官,浪潮雲海 OS 宣佈了 5.0 版本,不僅整個底層虛擬化系統被替換一新,也宣佈全面支持 OpenStack 大規模部署。

浪潮雲海OS 5.0 發佈
從2010年算起,整整八年抗戰,浪潮雲海的虛擬化性能終於緩慢而堅定地逼近了業內貴族 VMware。看着跳動的數據,這一年多壓力爆棚的顏博也終於可以長出一口氣。
而從空中俯瞰,所有頭部的雲計算廠商也像商量好了一樣,統統從 Xen 切換到了 KVM。例如世界公有云領頭羊 AWS 在2017年做了切換,中國公有云老大哥阿里雲在2015年做了更換(可以參考**《阿里造神龍》),騰訊雲在2013年首次研發時就直接選用了 KVM(可以參考《我遇到一羣靠“造夢”改變世界的人 》**)。
2017年發佈的浪潮雲海OS,也奠定了沿用至今的產品架構——可以使用傳統雲管平台 ICM 精細化部署,也可以使用 OpenStack 大規模部署。
對於張東和同學們來説,過去幾年是無比艱難的。由於新技術正處在準備過程中,浪潮雲海實際上錯過了進入很多大型企業的機會,這讓團隊所有人都覺得很憋屈。如今,最強的武器已經握在手裏,他們迫不及待地準備向全世界證明自己。
怎麼能體現出浪潮雲海的能力呢?就要找大規模、多節點的項目去做,越大越有標杆效應!
劉曉欣説。
(五)“節點狂魔”
説到大項目,最有發言權的就是蔣永昌了。
蔣永昌是一個老浪潮人,大學畢業後就進入浪潮,幹過市場推廣、售前、銷售、渠道管理、產品營銷、產品線運營管理,是個全能選手。2017年情人節那天,他入駐浪潮雲計算陣地,擔任浪潮雲計算大數據產品線總經理。

蔣永昌
他見證的第一個大項目,就是中國廣電。
這個名字你聽上去可能有點陌生,不過它可是繼移動、電信、聯通後的“第四運營商”,他們建立雲平台,就是為了支撐“三網融合”這個重大國家戰略。
這個項目的分量,可見一斑。
項目的要求非常嚇人:一個集羣包含550台物理機節點,摺合最多7000台虛擬機。而且這樣的集羣要以兩地三中心的方式部署,整體規模會達到大約1500個節點。最關鍵的是,不僅要規模大,還要求每個虛擬機都達到高可用的性能指標。
這可愁壞了這幫技術宅。第一次出街,就要搞 Hell 模式嗎?
合計之後,他們做了個大膽的決定:把高可用的 ICM 架構套在 OpenStack 的大規模架構上,就像疊羅漢那樣。

想想都覺得,這套系統的成品會非常複雜。事實是,這套系統比想得還複雜。
項目機房在天津武清,屬於北京和天津交界處。周圍還挺荒涼,買包煙都沒地方,手機信號一會兒漫遊到天津,一會兒回到北京。十幾個人的隊伍就駐紮在那裏日夜兼程。
“由於系統複雜,需要針對這個雲計算上的業務特點進行專門優化才能達到預期性能。”蔣永昌給我科普。
但問題就在於,一個系統複雜到一定程度,就會出現莫名其妙的錯誤,這幾乎已經是個玄學問題了。。。當時,大夥兒總是找了半天都發現不了原因,生無可戀,只好從網絡流量裏一個包一個包地檢查。

這是同學們在廣電項目現場趕工。
但是所有人都知道,這不僅是浪潮雲海的榮譽之戰,也是國產操作系統的榮譽之戰。最難的時候,張東親自跑到機房裏給大家打氣。
就這樣拼了幾個月,最後的測試在此一舉,所有人都屏氣凝神。系統就像一個飛機的引擎轟鳴,從沉吟低吼,到劃破長空——終於成功跑起來了。
那一瞬間,大夥兒個個比喝了茅台還上頭,這個龐大的系統就在眼前真實地運轉,過去幾年,自己一行行書寫的代碼,不僅能做中小規模的雲計算,也可以駕馭世界級難度的超大規模的雲計算!
其實,就在在廣電項目如火如荼的時候,另外一個艱鉅的戰役也同步開始了。
這是一家大型國有銀行。
這家銀行使用了純 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 更成熟了,可以為各行各業提供最好的數字基礎設施!
亓開元驕傲地説。

這就是1000個節點測試現場的場面。
(六)分佈式計算的浪漫
肝完一票標杆項目,浪潮雲海名聲大噪。
從2010年就開始啓動的雲操作系統項目,至此不僅成為浪潮的明星產品,也開始真正“出圈”,張東和同學們的故事開始被諸多媒體關注報道。
可嘆的是,在無人喝彩的日子,他們已為此默默奮鬥了十年。
操作系統就是這樣,長期投入,要堅持住。成也要堅持,不成也要堅持。
張東的語氣平靜得如秋日的湖水。
在操作系統的世界裏,不論國籍,不論年齡,大概都是這麼一幫只問耕種不問收成的 Coder,一點點呵護那些系統從幼苗長成參天巨樹,枝蔓縱橫。
浪潮的系統正在像張東十年前預測的那樣,正在成為無數企業和國家部門的基礎設施。數字在系統中往復奔流,幾乎可以肯定,現在正在看文章的你也在某一方面被浪潮雲海的計算力支持着。
而在浪潮這羣技術宅看來,雲海成功的不二法門其實是“開放”。在服務器設計上遵循國際聯盟架構,在操作系統上也擁抱開源。
開源並不是百病神藥。OpenStack 雖然開放,但也曾被很多人詬病技術粗放,對新功能兼容緩慢。整個社區經歷了多年搖擺,才成為如今的私有云“事實標準”。
浪潮這羣技術宅既然決定融入 OpenStack 社區,就不可能只索取不奉獻。面對高手如林的國際圈子,他們並沒怯場。2020年,浪潮也成為了 OpenStack 社區中國第一大貢獻者。
他們在試着用自己手裏的代碼逐漸影響這個社區,心懷敬畏把這個社區推向前進。

亓開元在開源基礎設施峯會上演講
上溯至1960年代,從 UNIX 開始,硅谷英雄們開發出了無數應用在各個主機上的操作系統;而自90年代開始,無數虛擬化系統承擔了人類商業計算的重任;新世紀的曙光初現,2006年起,雲計算接棒成為計算力的基礎設施;而從2016年起,人工智能系統、大數據系統這些專業化的系統和雲計算一起組成了新世界的“計算力套裝”。
張東告訴我,雲海 OS 可沒有止步不前。他們正在策劃一次巨大的改版——用統一的操作系統同時調度雲計算、人工智能和大數據的計算力。如果一切順利,未來用户只需要打開雲海 OS,就可以一站式完成所有的主流計算。
對於浪潮來説,這將是操作系統的又一次成長,張東滿懷期待。
操作系統的出現,從第一天開始就是為了提高計算的效率——一台計算機算不過來,人們就會用兩台;兩台計算機算不過來,人們就會用四台;一百台計算機算不過來,人們就會用一千台一萬台。
只要我們追求效率的夢想不滅,操作系統的升級就永遠不熄。
浪潮的這羣技術宅站在聚光燈下,但在聚光燈之外,仍然有無數 Coder 用各自的方式耕種自己的夢想。
一個影響歷史的操作系統,不知何時才能出現在我們這片土地上。但為此努力的每一天,都將匯成歷史長河上最波瀾壯闊的浪漫。
