1 openEuler操作系統(tǒng)介紹
openEuler是一款開源操作系統(tǒng)节视。當(dāng)前openEuler內(nèi)核源于Linux钞钙,支持鯤鵬及其它多種處理器,能夠充分釋放計(jì)算芯片的潛能叽掘,是由全球開源貢獻(xiàn)者構(gòu)建的高效汁政、穩(wěn)定道偷、安全的開源操作系統(tǒng)缀旁,適用于數(shù)據(jù)庫(kù)、大數(shù)據(jù)勺鸦、云計(jì)算并巍、人工智能等應(yīng)用場(chǎng)景。同時(shí)换途,openEuler是一個(gè)面向全球的操作系統(tǒng)開源社區(qū)懊渡,通過社區(qū)合作,打造創(chuàng)新平臺(tái)军拟,構(gòu)建支持多處理器架構(gòu)剃执、統(tǒng)一和開放的操作系統(tǒng),推動(dòng)軟硬件應(yīng)用生態(tài)繁榮發(fā)展懈息。
openEuler的前身是運(yùn)行在華為公司通用服務(wù)器上的操作系統(tǒng)EulerOS肾档。EulerOS是一款基于Linux內(nèi)核(目前是基于Linux 5.10版本的內(nèi)核)的開源操作系統(tǒng),支持X86和ARM等多種處理器架構(gòu)辫继,伴隨著華為公司鯤鵬芯片的研發(fā)怒见,EulerOS理所當(dāng)然地成為與鯤鵬芯片配套的軟件基礎(chǔ)設(shè)施。
1.1 發(fā)布件
openEuler發(fā)布件包括ISO發(fā)布包骇两、虛擬機(jī)鏡像速种、容器鏡像姜盈、嵌入式鏡像和repo源低千。
表 1 發(fā)布ISO列表
名稱 | 描述 |
---|---|
openEuler-22.03-LTS-aarch64-dvd.iso | AArch64架構(gòu)的基礎(chǔ)安裝ISO,包含了運(yùn)行最小系統(tǒng)的核心組件 |
openEuler-22.03-LTS-everything-aarch64-dvd.iso | AArch64架構(gòu)的全量安裝ISO馏颂,包含了運(yùn)行完整系統(tǒng)所需的全部組件 |
openEuler-22.03-LTS-everything-debug-aarch64-dvd.iso | AArch64架構(gòu)下openEuler的調(diào)試ISO示血,包含了調(diào)試所需的符號(hào)表信息 |
openEuler-22.03-LTS-x86_64-dvd.iso | x86_64架構(gòu)的基礎(chǔ)安裝ISO,包含了運(yùn)行最小系統(tǒng)的核心組件 |
openEuler-22.03-LTS-everything-x86_64-dvd.iso | x86_64架構(gòu)的全量安裝ISO救拉,包含了運(yùn)行完整系統(tǒng)所需的全部組件 |
openEuler-22.03-LTS-everything-debuginfo-x86_64-dvd.iso | x86_64架構(gòu)下openEuler的調(diào)試ISO难审,包含了調(diào)試所需的符號(hào)表信息 |
openEuler-22.03-LTS-source-dvd.iso | openEuler源碼ISO |
openEuler-22.03-LTS-edge-aarch64-dvd.iso | AArch64架構(gòu)的邊緣ISO,包含了運(yùn)行最小系統(tǒng)的核心組件 |
openEuler-22.03-LTS-edge-x86_64-dvd.iso | x86_64架構(gòu)的邊緣ISO亿絮,包含了運(yùn)行最小系統(tǒng)的核心組件 |
表 2 虛擬機(jī)鏡像
名稱 | 描述 |
---|---|
openEuler-22.03-LTS-aarch64.qcow2.xz | AArch64架構(gòu)下openEuler虛擬機(jī)鏡像 |
openEuler-22.03-LTS-x86_64.qcow2.xz | x86_64架構(gòu)下openEuler虛擬機(jī)鏡像 |
說明:img
虛擬機(jī)鏡像root用戶默認(rèn)密碼為:openEuler12#$告喊,首次登錄后請(qǐng)及時(shí)修改。
表 3 容器鏡像列表
名稱 | 描述 |
---|---|
openEuler-docker.aarch64.tar.xz | AArch64架構(gòu)下openEuler容器鏡像 |
openEuler-docker.x86_64.tar.xz | x86_64架構(gòu)下openEuler容器鏡像 |
表 4 嵌入式鏡像列表
名稱 | 描述 |
---|---|
arm64/aarch64-std/zImage | aarch64架構(gòu)下支持qemu的內(nèi)核鏡像 |
arm64/aarch64-std/*toolchain-22.03.sh | aarch64架構(gòu)下對(duì)應(yīng)的開發(fā)編譯鏈 |
arm64/aarch64-std/*rootfs.cpio.gz | aarch64架構(gòu)下支持qemu的文件系統(tǒng) |
arm32/arm-std/zImage | arm架構(gòu)下支持qemu的內(nèi)核鏡像 |
arm32/arm-std/*toolchain-22.03.sh | arm架構(gòu)下對(duì)應(yīng)的開發(fā)編譯鏈 |
arm32/arm-std/*rootfs.cpio.gz | arm架構(gòu)下支持qemu的文件系統(tǒng) |
source-list/manifest.xml | 構(gòu)建使用的源碼清單 |
表 5 repo源列表
目錄 | 描述 |
---|---|
ISO | 存放ISO鏡像 |
OS | 存放基礎(chǔ)軟件包源 |
debuginfo | 存放調(diào)試包源 |
docker_img | 存放容器鏡像 |
virtual_machine_img | 存放虛擬機(jī)鏡像 |
embedded_img | 存放嵌入式鏡像 |
everything | 存放全量軟件包源 |
extras | 存放擴(kuò)展軟件包源 |
source | 存放源碼軟件源 |
update | 存放升級(jí)軟件包源 |
EPOL | 存放openEuler擴(kuò)展包 |
1.2 最小硬件要求
安裝 openEuler 22.03-LTS 所需的最小硬件要求如表6所示派昧。
表 6 最小硬件要求
部件名稱 | 最小硬件要求 |
---|---|
CPU | 鯤鵬 920(架構(gòu)為AArch64)x86-64(Skylake以上) |
內(nèi)存 | 不小于8GB |
硬盤 | 不小于120GB |
1.3 硬件兼容性
openEuler已驗(yàn)證支持的服務(wù)器和各部件典型配置請(qǐng)參見表7黔姜。openEuler后續(xù)將逐步增加對(duì)其他服務(wù)器的支持,也歡迎廣大合作伙伴/開發(fā)者參與貢獻(xiàn)和驗(yàn)證蒂萎。openEuler當(dāng)前支持的服務(wù)器可見兼容列表秆吵。
表 7 支持的服務(wù)器及典型配置
廠商 | 服務(wù)器名稱 | 服務(wù)器具體型號(hào) | 部件名稱 | 典型配置 |
---|---|---|---|---|
華為 | TaiShan 200 | 2280均衡型 | CPU | Kunpeng 920 |
內(nèi)存 | 32G*4 2933MHz | |||
RAID卡 | LSI SAS3508 | |||
網(wǎng)絡(luò) | SF221Q | |||
華為 | FusionServer Pro | 2288H V5(機(jī)架服務(wù)器) | CPU | Intel(R) Xeon(R) Gold 5118 CPU @ 2.30GHz |
內(nèi)存 | 32*4 2400MHz | |||
RAID卡 | LSI SAS3508 | |||
網(wǎng)絡(luò) | X722 |
1.4 關(guān)鍵特性
1.4.1 openEuler 22.03-LTS基于 Linux Kernel 5.10 內(nèi)核構(gòu)建, 在進(jìn)程調(diào)度、內(nèi)存管理等方面帶來10余處創(chuàng)新
深度優(yōu)化調(diào)度五慈、IO纳寂、內(nèi)存管理主穗,提供Arm64、x86毙芜、RISC-V等更多算力支持忽媒。
- 內(nèi)核動(dòng)態(tài)搶占,新增啟動(dòng)選項(xiàng)preempt=none/voluntary/full腋粥,允許內(nèi)核動(dòng)態(tài)切換搶占模式猾浦。
- mremap性能優(yōu)化,通過移動(dòng) PMD/PUD 級(jí)別的表項(xiàng)灯抛,加速映射大塊內(nèi)存的速度金赦。
- per memcg lru lock,采用per memcg lru_lock对嚼,減少云原生容器實(shí)例鎖競(jìng)爭(zhēng)夹抗,提升系統(tǒng)性能。
- 大頁(yè)內(nèi)存管理優(yōu)化纵竖,通過共享映射方式將HugeTLB管理頁(yè)中無實(shí)際作用的tail頁(yè)釋放掉漠烧,從而降低管理結(jié)構(gòu)的開銷,降低大頁(yè)管理自身內(nèi)存占用靡砌。
- TLB并發(fā)刷新支持已脓,本地TLB和遠(yuǎn)端TLB刷新并行,優(yōu)化TLB shootdown流程加速TLB刷新通殃,提升業(yè)務(wù)性能度液。
- 大頁(yè)vmalloc性能優(yōu)化,對(duì)于超過huge page的最小size的空間進(jìn)行vmalloc()分配時(shí)画舌,將會(huì)嘗試使用 huge page 而不是 base page來映射內(nèi)存堕担,可以大大改善 TLB 的利用,降低TLB miss曲聂。
- UCE容錯(cuò)霹购, 系統(tǒng)運(yùn)行時(shí),內(nèi)核態(tài)觸發(fā)硬件內(nèi)存錯(cuò)誤的處理方式是無差別的內(nèi)核panic朋腋,基于分析齐疙,部分場(chǎng)景的影響僅僅是用戶態(tài)進(jìn)程的運(yùn)行受到影響,我們可以通過殺死用戶態(tài)進(jìn)程并隔離出錯(cuò)頁(yè)面旭咽,而不必通過系統(tǒng)panic來處理內(nèi)存錯(cuò)誤贞奋。基于此思路轻专,針對(duì)uaccess場(chǎng)景(copy_{from, to}_user, {get, put}_user)忆矛、cow場(chǎng)景、coredump場(chǎng)景提供解決方案,避免此情況下的系統(tǒng)復(fù)位催训,提升系統(tǒng)可靠性洽议。
1.4.2 新介質(zhì)文件系統(tǒng)
- Eulerfs,Eulerfs創(chuàng)新元數(shù)據(jù)軟更新技術(shù)(Soft Update)漫拭,基于指針的目錄雙視圖計(jì)數(shù)機(jī)制亚兄,減少元數(shù)據(jù)同步開銷,有效提升文件系統(tǒng)create采驻、unlink审胚、mkdir、rmdir系統(tǒng)調(diào)用性能礼旅。
1.4.3 內(nèi)存分級(jí)擴(kuò)展
支持多種內(nèi)存膳叨、存儲(chǔ)介質(zhì)擴(kuò)展系統(tǒng)內(nèi)存容量,降低內(nèi)存使用成本痘系。新增用戶態(tài)交換支持菲嘴。
- 用戶態(tài)交換(新增),通過etMem的策略配置汰翠,對(duì)于淘汰的冷內(nèi)存龄坪,通過用戶態(tài)swap功能交換到用戶態(tài)存儲(chǔ)中,達(dá)到用戶無感知复唤,性能優(yōu)于內(nèi)核態(tài)swap健田。
1.4.4 用戶態(tài)協(xié)議棧
新增gazelle用戶態(tài)協(xié)議棧,無需應(yīng)用程序修改和重新編譯佛纫,即可使用妓局,支撐上層業(yè)務(wù)獲得高性能、低時(shí)延的網(wǎng)絡(luò)傳輸
- gazelle 用戶態(tài)協(xié)議棧雳旅,基于dpdk和lwip跟磨,實(shí)現(xiàn)支持無鎖间聊、多線程的高性能用戶態(tài)協(xié)議棧攒盈,加速應(yīng)用程序的網(wǎng)絡(luò)性能,無需修改適配和重新編譯哎榴,即可使用型豁。
1.4.5 云原生調(diào)度增強(qiáng)
在云業(yè)務(wù)場(chǎng)景中,交互類延時(shí)敏感在線業(yè)務(wù)存在潮汐現(xiàn)象尚蝌,CPU資源利用率普遍較低(不足15%)迎变,在線和離線業(yè)務(wù)混合部署是提升資源利用率的有效方式。現(xiàn)有的內(nèi)核資源分配和管理機(jī)制飘言。
- QAS(Quality aware scheduler)衣形,可以確保在線任務(wù)對(duì)CPU的快速搶占,確定性的調(diào)度運(yùn)行,同時(shí)壓制離線任務(wù)干擾谆吴。
- OOM回收支持優(yōu)先級(jí)倒源,優(yōu)化OOM時(shí)內(nèi)存回收調(diào)度算法,在發(fā)生OOM時(shí)句狼,優(yōu)先對(duì)低優(yōu)先級(jí)的進(jìn)程組進(jìn)行內(nèi)存回收笋熬,保障在線業(yè)務(wù)的正常運(yùn)行。
- 容器混合部署框架腻菇,對(duì)k8s集群下的混合部署胳螟,openEuler用戶僅需給業(yè)務(wù)打上在線或離線的標(biāo)簽,系統(tǒng)即能自動(dòng)感知業(yè)務(wù)的創(chuàng)建筹吐,并根據(jù)業(yè)務(wù)優(yōu)先級(jí)配置糖耸,實(shí)現(xiàn)資源的隔離和搶占。
1.4.6 QEMU熱補(bǔ)丁機(jī)制
- 支持libcareplus熱補(bǔ)丁機(jī)制丘薛,提供一種在線修復(fù)進(jìn)程bug的技術(shù)蔬捷,使得QEMU進(jìn)程能夠在不影響虛機(jī)業(yè)務(wù)的情況下,在線解決QEMU進(jìn)程bug榔袋。
1.4.7 KubeOS
容器化操作系統(tǒng)KubeOS周拐,實(shí)現(xiàn)云原生集群OS的統(tǒng)一容器化管理。
- OS容器化管理凰兑,對(duì)接K8S容器和OS統(tǒng)一管理妥粟,原子化的生命周期管理。
- OS輕量化裁剪吏够,減少不必要的冗余包勾给,可實(shí)現(xiàn)快速升級(jí)、替換等锅知。
1.4.8 輕量安全容器增強(qiáng)
基于Stratovirt輕量虛擬化技術(shù)播急,實(shí)現(xiàn)容器級(jí)別的低負(fù)載和虛擬機(jī)高安全。
- 支持UEFI啟動(dòng)售睹,支持UEFI啟動(dòng)桩警、ACPI表的構(gòu)建以及為虛擬機(jī)添加包括virtio-pci在內(nèi)的PCIe/PCI設(shè)備。
- 支持VFIO昌妹,提供將host上物理設(shè)備直通給虛擬機(jī)的能力捶枢,使虛擬機(jī)獲得接近裸設(shè)備的高性能。
- 支持直通設(shè)備熱插拔飞崖,支持virtio-blk-pci烂叔、virtio-net-pci和VFIO等設(shè)備的熱插拔,有效避免更換外設(shè)引起的系統(tǒng)停機(jī)和業(yè)務(wù)中斷固歪。
1.4.9 iSulad增強(qiáng)
- shimv2蒜鸡,shimv2 收編了 kata-runtime,kata-shim, kata-proxy進(jìn)程,通過加載?次運(yùn)?時(shí)并通過 RPC 調(diào)?來處理各種容器,?命周期管理命令來簡(jiǎn)化體系結(jié)構(gòu)逢防,不必為每個(gè)容器?直運(yùn)??個(gè)容器運(yùn)?時(shí)
1.4.10 eggo支持容器管理雙平面部署
eggo是openEuler云原生Sig組K8S集群部署管理項(xiàng)目康聂,提供高效穩(wěn)定的集群部署的能力。
- 集群配置版本化管理胞四,配置統(tǒng)一Git repo版本化管理恬汁,使用倉(cāng)庫(kù)匯總和跟蹤集群的配置信息。
- X86/ARM雙平面辜伟,實(shí)現(xiàn)OS雙平面集群化部署氓侧、監(jiān)控、審計(jì)等場(chǎng)景导狡。
1.4.11 邊緣計(jì)算
提供跨邊云的協(xié)同框架(KubeEdge+)约巷,實(shí)現(xiàn)邊云之間的應(yīng)用管理與部署、跨邊云通訊等基礎(chǔ)能力旱捧。
- 管理協(xié)同独郎,實(shí)現(xiàn)單集群設(shè)備統(tǒng)一管理,應(yīng)用秒級(jí)發(fā)放枚赡。
- 網(wǎng)絡(luò)協(xié)同氓癌,支持跨邊云雙向通信,私有子網(wǎng)中的邊緣節(jié)點(diǎn)通信贫橙。
- 邊緣自治贪婉,支持邊緣自治,確保網(wǎng)絡(luò)不穩(wěn)定狀態(tài)卢肃,邊緣節(jié)點(diǎn)正常工作疲迂,支持邊緣節(jié)點(diǎn)元數(shù)據(jù)持久化和快速恢復(fù)。
- 邊緣輕量化莫湘,內(nèi)存占用少尤蒿,可在資源受限情況下工作。
1.4.12 嵌入式鏡像
- 輕量化能力幅垮,開放yocto小型化構(gòu)建裁剪框架腰池,支撐OS鏡像輕量化定制,提供OS鏡像 < 5M军洼,以及<5S快速啟動(dòng)等能力巩螃。
- 多硬件支持,新增支持樹莓派4B作為嵌入式場(chǎng)景通用硬件匕争。
- 軟實(shí)時(shí)內(nèi)核,基于linux5.10內(nèi)核提供軟實(shí)時(shí)能力爷耀,軟實(shí)時(shí)中斷響應(yīng)時(shí)延微秒級(jí)甘桑。
- 混合關(guān)鍵性部署,實(shí)現(xiàn)soc內(nèi)實(shí)時(shí)和非實(shí)時(shí)多平面混合部署,并支持zephyr實(shí)時(shí)內(nèi)核跑杭。
- 分布式軟總線基礎(chǔ)能力铆帽,集成鴻蒙的分布式軟總線,實(shí)現(xiàn)歐拉嵌入式設(shè)備之間互聯(lián)互通德谅。
- 嵌入式軟件包支持爹橱,新增80+嵌入式領(lǐng)域常用軟件包的構(gòu)建。
1.4.13 secPaver
secPaver是一款SELinux安全策略開發(fā)工具窄做,用于輔助開發(fā)人員為應(yīng)用程序開發(fā)安全策略愧驱。
- 策略管理,提供高階配置語(yǔ)言椭盏,根據(jù)策略配置文件內(nèi)容生成SELinux策略文件组砚,降低SElinux使用門檻。
1.4.14 NestOS
NestOS是一款在openEuler社區(qū)CloudNative sig組孵化的云底座操作系統(tǒng)掏颊,專注于提供最佳的容器主機(jī)糟红,大規(guī)模安全的運(yùn)行容器化工作負(fù)載。
- 開箱即用的容器平臺(tái)乌叶,搭載了iSulad盆偿、docker、podman 准浴、cri-o等主流容器基礎(chǔ)平臺(tái)陈肛。
- 簡(jiǎn)單易用的安裝配置過程,采用了Ignition技術(shù)兄裂,提供個(gè)性化配置句旱。
- 安全可靠的包管理方式,使用rpm-ostree進(jìn)行包管理晰奖。
- 友好可控的自動(dòng)更新代理谈撒,采用zincati實(shí)現(xiàn)無感升級(jí)。
- 緊密配合的雙系統(tǒng)分區(qū)匾南,雙系統(tǒng)分區(qū)設(shè)計(jì)確保系統(tǒng)安全啃匿。
1.4.15 更多的第三方應(yīng)用支持
- KubeSphere,KubeSphere 是在 Kubernetes 之上構(gòu)建的以應(yīng)用為中心的容器平臺(tái)蛆楞,完全開源溯乒,由青云科技發(fā)起,并由 openEuler 社區(qū) SIG-KubeSphere 提供支持和維護(hù)豹爹。
- OpenStack Wallaby裆悄,OpenStack版本更新到Wallaby。Wallaby是2021年4月份發(fā)布的最新穩(wěn)定版本臂聋,包含nova光稼、kolla或南、cyborg、tacker等核心項(xiàng)目的重要更新艾君。
- OpenResty采够,基于 Nginx 與 Lua 的高性能 Web 平臺(tái)。
1.4.16 更多桌面環(huán)境的支持
提供更多的開發(fā)桌面選擇冰垄,更好的開發(fā)體驗(yàn)蹬癌。
- DDE版本升級(jí),新增支持畫板虹茶、音樂和影院應(yīng)用逝薪。
- UKUI版本升級(jí),新增中文輸入法和多媒體支持写烤。
- kiran-desktop 翼闽,支持麒麟信安桌面系統(tǒng)。
- GNOME洲炊,支持GNOME桌面系統(tǒng)感局。
1.5 openEuler操作系統(tǒng)版本分類及其命名方式
1.5.1 創(chuàng)新版
- 支持Linux技術(shù)愛好者進(jìn)行技術(shù)創(chuàng)新
- 通常半年發(fā)布一個(gè)版本
1.5.2 穩(wěn)定版(LTS)
- 生命周期為兩年
1.5.3 命名方式
- 創(chuàng)新版openEuler采用”openEuler+年月“的命名方式,如openEuler 22.03暂衡。
- 穩(wěn)定版采用”openEuler+LTS+年月+【SPx】“的命名方式询微,如openEuler LTS 22.03、openEuler LTS 22.03 SP1狂巢。