一款兼容CentOS生態的雙內核開源操作系統長什麼樣?

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"嘉賓 | 阿里雲研究員、阿里巴巴集團內核團隊創始人之一馬濤"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"作者 | 趙鈺瑩"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果說過去一年操作系統領域有什麼值得關注的大事件,無非是Red Hat 單方面宣佈將在 2021 年結束對 CentOS 8 的支持以及eBPF基金會正式成立,前者讓用戶開始嘗試尋找合適的系統進行切換,後者讓Linux內核“可編程”,這兩件事情對全球操作系統的發展都帶來了一定影響。本文,InfoQ有幸採訪到了"},{"type":"link","attrs":{"href":"https:\/\/dive.infoq.cn\/2021\/beijing\/","title":"xxx","type":null},"content":[{"type":"text","text":"【DIVE全球基礎軟件創新大會2021】"}]},{"type":"text","text":"聯席主席、阿里雲研究員、阿里巴巴集團內核團隊創始人之一馬濤,聽他分享雲原生時代的操作系統有哪些值得關注的變化。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"CentOS 8即將停服,能做點什麼?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"去年12月份,Red Hat 單方面宣佈將在 2021 年底結束CentOS 8的生命週期,雖然這只是商業公司做出的一個商業決定,但對所有做操作系統的人而言都是巨大的空間,及時解決用戶在CentOS退出後可能面臨的風險成爲了操作系統廠商和研發人員努力的方向。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"當然這件事情也並不是那麼好做的。要知道,CentOS 近年來一直佔據主導地位。2018 年的相關調查顯示,使用CentOS的用戶佔受訪者的 39%,而 Ubuntu 爲 35%。CentOS 份額在 2019 年增加到 40%,Ubuntu 仍然位居第二,爲 35%。2020 年市場發生了翻天覆地的變化,隨着 Ubuntu 上升至 40%,CentOS 下降至 28%。根據"},{"type":"link","attrs":{"href":"https:\/\/w3techs.com\/technologies\/details\/os-linux","title":null,"type":null},"content":[{"type":"text","text":"W3techs"}]},{"type":"text","text":"數據顯示,目前 10.5%的受訪者選擇 CentOS, 選擇 Ubuntu 佔 33.4%,而選擇 RHEL 的僅 0.9%。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"雖然停服不意味着系統會一夜崩潰,但未來需要承擔很大的安全風險,遷移成爲衆多開發者的選擇。在實踐中,遷移可能遇到的問題太多了,比如內核、內部策略合規性或者其他原因,這一切都會在遷移過程中造成負面影響。思來想去,做了十餘年操作系統的馬濤決定做點什麼。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"龍蜥Anolis OS:雙內核,全兼容"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"“我在阿里做了10年操作系統,整個時間段還是挺長的。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"十年前,阿里內部開始研發自己的操作系統,主要是爲了解決當時阿里內部遇到的一些問題,對內核以及操作系統的關鍵組件都做了一些修改;2017年開始,整個團隊開始考慮如何將這些成熟的經驗傳遞給更多人,可以讓更多人用起來,此時阿里開始通過Alibaba Cloud Linux對外輸出相關經驗;2020年,OpenAnolis龍蜥操作系統開源社區成立,聯合阿里、統信在內的衆多理事和成員協同發佈了開源操作系統龍蜥(Anolis)OS,並引入了雙內核解決方案,可以讓各行業客戶按照各自應用場景有選擇地切換內核版本。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在龍蜥操作系統(Anolis OS)尚未完全面世之前,筆者已經瞭解到這會是一款完全兼容CentOS生態的操作系統,這種兼容對用戶而言不僅僅是一個承諾,可以讓用戶放心地將所有業務遷移到其上,也體現了社區的技術實力,諸如兼容性規範以及兼容性檢測工具的實現需要社區做大量的工作。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"具體到實現層面,龍蜥操作系統(Anolis OS)搭載了兩種不同版本的內核,分別是RHCK和ANCK。其中,RHCK與CentOS 8 內核同源,並會做到版本的同步迭代更新,該內核已經被CentOS用戶認可,其穩定性得到充分驗證。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這種雙內核方案的意義也非常明瞭。一般情況下,操作系統會有一個主內核,升級時可能會更換內核,雙內核方案的好處在於對用戶而言是雙重承諾。對在意老特性又想嚐鮮的用戶來說,第一個內核可以完整接管之前的特性,第二個內核則加入更多創新點,嚐鮮的同時又不需要承擔過高的風險。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"OpenAnolis龍蜥社區:"},{"type":"link","attrs":{"href":"https:\/\/openanolis.cn","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/openanolis.cn"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"爲了讓整個社區的運轉更加有序,OpenAnolis龍蜥社區(下文統一稱龍蜥社區)還設置了理事會、技術委員會、運營委員會等組織。其中,理事會主要負責整個社區的決策和活動宣講。技術委員會是社區的技術領導機構,運營委員會則主要負責社區的運營。此外,社區還設立了衆多SIG組,可以通過社區官網進行查看,所有SIG組對全球開發者開放,可自由通過郵箱進行申請。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"本着開源開放的原則,過去一段時間,越來越多的生態夥伴加入龍蜥社區,這其中有操作系統、芯片以及雲計算廠家,他們共同在龍蜥社區中積極打造原生開源操作系統發行版,兼容國際主流Linux廠商,支持多種硬件架構,不僅爲CentOS等開發者提供更多選擇,同時聯手打造一個面向未來的開源操作系統。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在這個面向未來的版圖中,雲原生對操作系統的影響不容忽視,整個Linux社區在這種大趨勢下也在不斷演進,這也給龍蜥社區很多啓發。做一個開源項目活一陣子很容易,活幾十年卻不是件易事,這幾十年不僅要被開發者認可,能穩定支持業務系統,還需要抓得住技術演進的趨勢,雲原生當然是目前最不容忽視的那一個。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"雲原生時代的國產操作系統有何不同?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"此前,馬濤也曾寫過一篇文章詳細介紹了雲原生時代操作系統的變化。簡單來說,2000年左右,VMware和Xen虛擬化技術相繼出現,操作系統通過將物理資源虛擬化達到提高資源利用率和靈活調度的目的,最終催生了雲計算的誕生。早期的AWS、阿里雲都是利用這一技術提供虛擬主機的服務。但這顯然還不是雲原生。這些雲廠商大都是在線下硬件上實現一個虛擬化層(hypervisor),把原來直接操控硬件的操作系統架到hypervisor上運行,然後服務器物理資源層面的抽象和管理都由hypervisor重新實現。這些事情線下也絕對可以做,顯然這不符合雲原生的定義。雖說這是雲的開端,但這不是雲原生的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2013年,操作系統和雲的第二次親密接觸源於容器的誕生和發展。與虛擬機的服務器資源虛擬化不同,容器是操作系統虛擬化,在技術棧上上升了一層——通過內核裏實現的cgroup和namespace等技術爲不同應用提供輕量、隔離的運行環境。2013年,Docker橫空出世,使得應用容器的打包分發變得非常簡單易用,隨後K8s等容器編排技術出現,容器生態系統得到了快速普及和發展,容器迅速成爲應用打包分發和開發測試的主流形態,逐漸成爲雲計算的主要運行單元。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這就是CNCF定義的雲原生,但它只是“狹義”的,操作系統在這個“狹義”雲原生中起到了很大的作用,但其實它並不是真正意義上的“因雲而生”,也沒有在雲上體現任何革命性的技術革新。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"容器在安全方面的不足在雲上成爲了一個大問題。一方面傳統的操作系統對於容器之間的干擾問題沒有很好的解決方案,另一方面容器之間還存在彼此攻擊,共享一些關鍵資源等非常嚴重的安全問題。機會總是留給有準備的人,此時的操作系統終於需要因雲而變、爲雲演進。阿里雲基於操作系統實現了輕量級虛擬化和應用內核等技術,打造了一種全新的安全的容器,稱之爲安全沙箱容器。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"沙箱容器在解決容器安全隔離問題的同時,仍然保留容器完整的技術生態和體驗,可以跟普通容器無縫的混合使用。這是操作系統在容器場景上因雲而生的一個重要演進,至此操作系統完成了“因雲而生”的漂亮轉型,成爲一個雲原生操作系統。     "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果說在容器和K8S時代操作系統是“因雲而演進”,那麼到了Serverless時代,則要徹底創造出一個全新的雲原生操作系統。通過底層系統全棧技術的協同融合,爲雲原生平臺和應用提供高效和創新的雲原生系統服務。這次變革和創新的力度對於傳統操作系統而言是前所未有的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"就這樣,我們看到了龍蜥操作系統(Anolis OS)的出現,雖然全兼容CentOS讓開發者對這款操作系統印象深刻,但真正面向未來整個雲原生時代的演進才最爲讓人興奮,這也是保證這款操作系統未來可持續演進的重要一步。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"從另一個角度來看,對於整個國產操作系統的發展來說,目前比較嚴峻的問題是人才缺口較大。一方面人才的培養需要全社會的共同努力,另一方面也可以通過一些方式降低操作系統的研發門檻,讓越來越多的開發者參與其中,雲原生可以降低參與門檻,eBPF則可以有效提高內核開發人員的效率,從而讓有限的開發者有更多精力投入到更有價值的事情中。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"爲什麼eBPF突然火了?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"美東時間 2021 年 8 月 12 日,Google、Microsoft、Isovalent、Facebook 和 Netflix 聯合宣佈,由 "},{"type":"link","attrs":{"href":"https:\/\/www.linuxfoundation.org\/","title":null,"type":null},"content":[{"type":"text","text":"Linux 基金會"}]},{"type":"text","text":"主辦,在其旗下成立一個新的非營利性組織 "},{"type":"link","attrs":{"href":"https:\/\/ebpf.io\/","title":null,"type":null},"content":[{"type":"text","text":"eBPF"}]},{"type":"text","text":" 基金會。致力於更好的推動開源項目 eBPF 的發展,支持 Linux 和其他開源技術的商業增長。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"爲什麼eBPF突然之間受到如此多開發者的關注呢?最主要還是其讓Linux內核“可編程”。過去,如果一個應用程序需要內核提供某些功能,通常的做法是先反饋給社區,社區內部進行討論纔有可能進入Linux內核,整個過程非常漫長,少則半年多則一年,進入內核也不代表用戶可以立刻用到,還需要廠商將改動更新到自己的內核上。在eBPF的幫助下,整個時間大幅縮短至兩到三個星期,極大加快了開發人員對內核的貢獻速度。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這也在一定程度上反映出Linux社區的持續演進,即便Linux已經發展了30年,但技術仍在不斷更新,無論是eBPF還是存儲、網絡層面,Linux社區都在持續吸收新的想法。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"然而,即便我們已經看到了諸如龍蜥社區這樣的組織正在積極推進國產操作系統的發展,很多用戶對這個領域的感知依舊停留在“大公司不做,做的公司都不大”的層面,這可能是因爲很多人還沒有開始真正瞭解社區在做的事情,也可能是因爲操作系統領域的部分開發者還散落在世界各處未形成合力。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不可否認的是,操作系統正在急劇升溫,而社區是開發者們與志同道合之人暢所欲言的最佳場合,共同決定一款諸如龍蜥操作系統(Anolis OS)這樣一個操作系統的發展方向,然後用它來承載每一個應用場景,想想就是一件蠻酷的事情。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"爲了給廣大操作系統領域開發者一個見面的機會,InfoQ 決定於 11 月 26 日至 11 月 27 日在北京悠唐皇冠假日酒店舉辦"},{"type":"link","attrs":{"href":"https:\/\/dive.infoq.cn\/2021\/beijing\/","title":"xxx","type":null},"content":[{"type":"text","text":"【DIVE 全球基礎軟件創新大會 2021】"}]},{"type":"text","text":",馬濤作爲本屆大會的聯席主席也可能出現在會場與大家共同交流,本次大會也特別設置了"},{"type":"link","attrs":{"href":"https:\/\/dive.infoq.cn\/2021\/beijing\/track\/1208","title":"xxx","type":null},"content":[{"type":"text","text":"【操作系統研發實踐】"}]},{"type":"text","text":"專場,由清華大學計算機系副教授陳渝擔任出品人,希望和大家一起通過半天的交流走進國產操作系統的研發背後,深入瞭解其研發難點及最新進展。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"議題提交頁面:"},{"type":"link","attrs":{"href":"https:\/\/dive.infoq.cn\/2021\/beijing\/track\/1208","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/dive.infoq.cn\/2021\/beijing\/track\/1208"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"大會報名頁面:"},{"type":"link","attrs":{"href":"https:\/\/dive.infoq.cn\/2021\/beijing\/apply","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/dive.infoq.cn\/2021\/beijing\/apply"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"專家介紹:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"馬濤,阿里雲研究員、阿里巴巴集團內核團隊創始人之一、阿里雲基礎軟件部操作系統負責人。先後在ORACLE、阿里巴巴負責Linux以及操作系統內核相關的研發工作。十六年操作系統和內核相關研發經驗,國內知名Linux內核研發人員,在文件系統、內存管理、通用塊設備層等方面均有深厚的積累,多次受邀在國內外知名Linux操作系統以及內核相關會議上發表講座。"}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章