作者:聯通云數據有限公司OpenStack研發工程師 李昆山
OpenStack是目前主流云計算管理平臺,自2010年6月首次發布以來,受到了IT業界幾乎所有主流廠商的關注和支持,在現有的私有云市場中,OpenStack廠商占比超70%,在未來幾年市場規模也在不斷增長。
openEuler 是一個在 2019 年開源的基于 Linux 穩定系統內核的服務器操作系統,致力于通過打造開源社區,與全球的開發者共同構建一個開放、多元和架構包容的 openEuler 軟件生態體系。
在openEuler成立之初,中國聯通作為OpenStack黃金會員,本著取之于社區、回饋社區的宗旨牽頭成立了OpenStack SIG,旨在完善OpenStack在openEuler上 的適配,豐富openEuler在云平臺領域的適應能力。
OpenStack適配openEuler的工作對雙方而言均有著重要意義,一方面OpenStack適配openEuler能拓展OpenStack對多架構生態的支持,另一方面,也能增強OpenEuler社區在云計算領域的適應性。更為重要的是,OpenStack對openEuler的適配工作也為國產化云平臺發展提供一種新的方案選擇,為中國云計算國產化、信創云發展提供更有利條件。
OpenStack適配openEuler實踐
作為OpenStack SIG首位Maintainer ,聯通沃云是完全適配 OpenStack 工作的主要承擔者。過去,聯通完成了對鯤鵬計算平臺的適配工作,同時即將為openEuler社區提供一個與CentOS\Ubuntu\SUSE等OS同樣便捷完整的OpenStack部署方式:
• 重新編譯OpenStack及相關組件rpm軟件包(基于openEuler 20.09)
• 解決OpenStack各組件在編譯、和安裝過程中的依賴包問題
• openEuler社區代碼倉庫創建、補全,源碼提交(Gitee)
在適配工作過程中,聯通沃云對現有問題進行了針對性解決,存在問題:
• Python ABI版本問題(OpenStack 社區僅提供python3.6運行環境的rpm包,openEuler為python3.8)
• OpenStack組件間存在復雜的依賴
• OpenStack python依賴包與現存python-modules沖突問題
1、Python ABI版本問題解決思路
1) 梳理依賴關系
2) 重新在python3.8環境下構建rpm包及倉庫
redhat、debain 等系統repos部署方式
2、OpenStack組件間存在復雜的依賴解決思路:
1) 梳理依賴關系
2) 重新在python3.8環境下構建rpm包及倉庫
openEuler平臺即將構建的repos
3、OpenStack python依賴包與現存python-modules沖突問題解決思路
1) 從現有的src.rpm中取得spec文件和源碼修改后進行編譯
2) 適用于python-modules、虛擬化組件、存儲等包
3) SRC RPM主要來源:
a) Fedora Project
b) Redhat OpenStack Repository
c) OpenStack rpm-packages
4) 使用社區源碼包,生成spec文件結合社區源碼進行編譯
截至目前,聯通沃云主導的OpenStack適配openEuler的工作已取得許多階段性成果:
1、已完成運行測試模塊
a) nova
b) neutron
c) glance
d) keystone
e) cinder(LVM backend)
1、 社區提交
a) 完成倉庫創建數量
b) 完成Code Pull Request
泰山服務器+openEuler+OpenStack
泰山服務器+openEuler+OpenStack
3、社區提交:
……
將為社區提交300個左右的python包;
在下一階段的工作中,聯通沃云將著重解決Victoria版完整功能適配、非核心組件適配等問題,同時在OpenStack層面會有一些針對最大限度挖掘openEuler平臺性能的開發將持續展開 ,屆時沃云希望邀請更多開發者加入OpenStack SIG中。
參與到 OpenStack SIG方式如下
Project Link:https://gitee.com/openeuler/community
新沃云平臺國產化建設經驗
中國聯通是國內運營商中較早使用 OpenStack 開源框架的企業,并在2017年入選 OpenStack 基金會黃金會員。openEuler 操作系統的引入則為中國聯通云計算在安可領域提供了更加多元化的應用運行環境。中國聯通也基于此不斷構筑新沃云從操作系統到云平臺的完整技術棧,豐富新沃云硬件架構及自主可控能力。
系統/虛擬化方面
1、 OS、kernel
a) 中標麒麟V7SP(ARM、海光版)
b) 麒麟V10 & openEuler
2、QEMU-KVM組件重新編譯
存儲方面
1、Ceph分布式存儲
a) Luminous版本
b) Nautilus版本
2、 對象存儲
a) TiDB, TiKV重新編譯
網絡方面
1、負載均衡LVS適配開發
2、ipvs內核模塊移植: 3.10 --> 4.19
中間件方面
1、基礎中間件重新編譯,包括MongoDB\Galera\JRE等
2、國產關系型數據庫適配
OpenStack(compute)方面
1、加入國產CPU芯片識別
a) 定制cpu vendor\model信息
2、Multi-ISA支持
a) 計算節點cpu vendor\model配置
b) VM開通、熱遷移兼容性改造
c) 混合平臺OS_ARCH選擇:ARM64\Hygon C86
d) 定制ARM64、海光C86版本鏡像
裸金屬方面
1、PXE啟動同時支持UEFI+BIOS
2、改造Deploy Interface,支持文件系統方式直接部署,可在30s內完成OS安裝
3、ARM64部署內核鏡像重新打包,加入國產服務器對應內核及驅動
4、x86\aarch64多架構dnsmasq配置文件整合
5、ARM64+UEFI啟動模式grub.cfg生成邏輯修改
資源部署方面
1、多架構自動化部署
a) 支持同集群內提供不同ISA計算節點
b) 根據宿主機ISA自動選擇對應安裝源、配置
c) 根據宿主機ISA自動生成對應配置
2、YUM源構建
a) aarch64基礎YUM源構建及裁剪
b) OpenStack依賴組件rpm包梳理
云計算國產化面臨的諸多挑戰
作為科技自立自強重大發展戰略的重要一環,云計算國產化不僅能有效保障信息安全,還能促進基礎軟硬件的成長。尤其是隨著政務云建設需求不斷上升,真正實現云計算國產化才能在徹底解決安全顧慮的同時,促進云計算產業茁壯成長和IT國產化替代工作的進步。
但我們需要看到,目前云計算國產化在基礎性能、部署支持、遷移穩定等方面仍有著諸多挑戰:如行業大規模部署案例有限、開源社區支持有限;計算及虛擬化性能與x86存在差距、加速芯片支持不足;現存業務遷移至國產化平臺需要額外工作、運行穩定性有待驗證等
這也需要更多云廠商參與到云計算國產化進程中來,通過與客戶緊密合作,進行更廣泛的業務場景適配、云廠商間進行更多合作,通過開放實驗室進行軟硬件匹配優化、以及共同開發及利用已有應用遷移工具,協助客戶業務遷移實踐。
云計算國產化之路道阻且長,還需中國本土云廠商上下求索。