veLinux 是火山引擎推出的開(kāi)源 Linux 操作系統(tǒng),由字節(jié)跳動(dòng)系統(tǒng)技術(shù)與工程團(tuán)隊(duì)(System Technologies & Engineering,簡(jiǎn)稱(chēng) STE)主導(dǎo)研發(fā),廣泛集成了字節(jié)跳動(dòng)多年來(lái)在支撐海量業(yè)務(wù)和億級(jí)并發(fā)上的系統(tǒng)技術(shù)經(jīng)驗(yàn)。致力于為用戶(hù)提供穩(wěn)定、高性能、安全、易用的 Linux 操作系統(tǒng)選擇,提供全生命周期管理的完整解決方案和企業(yè)級(jí)服務(wù)支持。
自火山引擎開(kāi)服以來(lái),veLinux 支撐了包括容器服務(wù)、機(jī)器學(xué)習(xí)平臺(tái)、大數(shù)據(jù)服務(wù)等大量公有云上業(yè)務(wù),是火山引擎官方操作系統(tǒng),為火山引擎各個(gè)云產(chǎn)品提供穩(wěn)定的系統(tǒng)支撐,同時(shí)也服務(wù)了大量外部公有云客戶(hù),在不同的應(yīng)用場(chǎng)景、不同的硬件機(jī)型上都表現(xiàn)出了優(yōu)異的性能。
整體設(shè)計(jì)
veLinux 在整體設(shè)計(jì)上,兼容 x86 和 ARM 生態(tài),同時(shí)兼容國(guó)內(nèi)用戶(hù)的使用習(xí)慣,并對(duì)多種硬件設(shè)備進(jìn)行了適配和優(yōu)化,同時(shí)針對(duì)火山引擎基礎(chǔ)設(shè)施進(jìn)行了深度優(yōu)化:
向上提供更穩(wěn)定、更安全、更易用的應(yīng)用接口,并針對(duì)云原生、大數(shù)據(jù)、機(jī)器學(xué)習(xí)等場(chǎng)景提供針對(duì)性?xún)?yōu)化。
向下建立更準(zhǔn)確、更完整、更高效的硬件抽象,并基于各種硬件類(lèi)型融合整體解決方案對(duì)外輸出。
豐富版本
自 2021 年 10 月首次上線后,截止到當(dāng)前時(shí)間,veLinux 已經(jīng)迭代了多個(gè)版本,提供了豐富的產(chǎn)品矩陣,包括以下 4 個(gè)公共版本,用戶(hù)可以根據(jù)自己實(shí)際的業(yè)務(wù)需求選擇不同的版本免費(fèi)使用:
通用版本
面向希望獲得火山引擎上極致操作系統(tǒng)體驗(yàn)的用戶(hù),針對(duì)火山引擎公有云環(huán)境進(jìn)行了深度定制與優(yōu)化,適用于各種云場(chǎng)景工作負(fù)載,尤其針對(duì)高并發(fā)、高 I/O 和混部場(chǎng)景進(jìn)行優(yōu)化適配。
快速啟動(dòng)版
面向需要快速交付大量云服務(wù)器的用戶(hù),可以滿足快速使用算力的需求。通過(guò)對(duì)操作系統(tǒng)內(nèi)核態(tài)及用戶(hù)態(tài)的啟動(dòng)優(yōu)化,結(jié)合 cloud-init 服務(wù)啟動(dòng)的順序優(yōu)化,實(shí)現(xiàn)了單 VM 啟動(dòng)時(shí)間從 10+s 減少到 5s,達(dá)到業(yè)界領(lǐng)先水平。
等保認(rèn)證版
面向云上業(yè)務(wù)需要滿足《GB/T22239-2019 信息安全技術(shù)網(wǎng)絡(luò)安全等級(jí)保護(hù)基本要求》的用戶(hù),可以快速滿足網(wǎng)絡(luò)安全等級(jí)保護(hù)規(guī)定的要求,在身份鑒別、訪問(wèn)控制、安全審計(jì)、入侵防范、惡意代碼防范等場(chǎng)景進(jìn)行安全加固。
兼容 CentOS 版
面向使用習(xí)慣更傾向 CentOS 系列操作系統(tǒng)的用戶(hù),相比 CentOS ,提供更強(qiáng)的功能、更優(yōu)的性能和更穩(wěn)定的體驗(yàn),且用戶(hù)態(tài)完全兼容 CentOS,用戶(hù)可以無(wú)縫遷移。
此外,在機(jī)型適配方面,上述版本均適配了火山引擎所有的規(guī)格實(shí)例,包含 ECS/GPU/HPC/ 裸金屬等的完整機(jī)型矩陣,對(duì) Intel、AMD 以及 ARM 實(shí)例均進(jìn)行了功能適配、性能調(diào)優(yōu)和穩(wěn)定性加固,保證其在各個(gè)架構(gòu)都能實(shí)現(xiàn)長(zhǎng)期穩(wěn)定運(yùn)行。
高性能內(nèi)核
操作系統(tǒng)的核心——veLinux Kernel 是基于社區(qū) Linux 5.4 LTS 版本并集成字節(jié)跳動(dòng)自研新特性定制而成,包括容器及虛擬化等特定環(huán)境深度優(yōu)化,在性能,成本和穩(wěn)定性等多個(gè)維度達(dá)到最優(yōu),同時(shí)節(jié)省更多的 CPU 資源,實(shí)現(xiàn)降本提效。目前 veLinux 已集成以下場(chǎng)景的專(zhuān)屬優(yōu)化,且已全部提交并合入到 Kernel 社區(qū)。
針對(duì) HugeTLB 重度使用的云場(chǎng)景,提出 HVO (HugeTLB Vmemmap Optimization),消除 vmemmap 冗余數(shù)據(jù),最大為用戶(hù)節(jié)省 HugeTLB 總量的 1.56%。這意味著 1024 GB 的服務(wù)器,最大能夠節(jié)省約 16 GB 的內(nèi)存。
Dying memory cgroup 作為容器場(chǎng)景下一個(gè)顯著的內(nèi)存占用問(wèn)題,極端情況下占用上百 GB 內(nèi)存。針對(duì)此問(wèn)題,提出專(zhuān)項(xiàng)優(yōu)化方案,減少 dying memory cgroup 發(fā)生的概率以及優(yōu)化其容器部署密度。極端情況下,內(nèi)存占用減少 80%。
PSI(Pressure Stall Information)是用于評(píng)估系統(tǒng)資源壓力的主要指標(biāo)之一。PSI 在實(shí)際生產(chǎn)環(huán)境中 CPU 占用過(guò)高,veLinux Kernel 對(duì)其優(yōu)化并降低了 10% 的 CPU 使用,同時(shí)提出 PSI CPU FULL 指標(biāo),更方便量化和展示容器之間 CPU 資源競(jìng)爭(zhēng)。
VDUSE(vDPA Device in Userspace) 是字節(jié)跳動(dòng)自主研發(fā)的面向云原生場(chǎng)景的下一代高性能設(shè)備虛擬化框架,能夠?yàn)槿萜骱吞摍C(jī)提供統(tǒng)一的 I/O 虛擬化層。目前,在云原生場(chǎng)景下,容器或者安全容器(虛機(jī))在使用分布式存儲(chǔ)或者高性能 RPC 服務(wù)時(shí),涉及的 I/O 數(shù)據(jù)平面比較龐雜,在運(yùn)維和可維護(hù)性上也有所欠缺。且業(yè)界現(xiàn)在并沒(méi)有一個(gè)標(biāo)準(zhǔn)的技術(shù)方案,VDUSE 希望提供一個(gè)標(biāo)準(zhǔn)統(tǒng)一的技術(shù)方案,方便用戶(hù)在用戶(hù)態(tài)模擬磁盤(pán)、網(wǎng)卡等設(shè)備接入容器或者虛機(jī)。當(dāng)部署在 veLinux 上的云原生應(yīng)用希望訪問(wèn)自研的分布式存儲(chǔ)服務(wù)時(shí),通過(guò) VDUSE,可以高效地開(kāi)發(fā)一套高性能的用戶(hù)態(tài)接入方案,供上述的云原生應(yīng)用使用。
veLinux Kernel 在穩(wěn)定性和性能上做了大量的優(yōu)化,據(jù)不完全統(tǒng)計(jì),系統(tǒng)技術(shù)與工程團(tuán)隊(duì)已為 Kernel 社區(qū)提交了上百個(gè)優(yōu)化及 bugfix patch,且未來(lái)我們將持續(xù)維護(hù)并及時(shí)響應(yīng)用戶(hù)的 issue。同時(shí),我們也會(huì)積極地回饋社區(qū),與開(kāi)發(fā)者們共享優(yōu)化成果。
更多閱讀:
VDUSE 介紹:https://www.redhat.com/en/blog/introducing-vduse-software-defined-datapath-virtio
系統(tǒng)特性
當(dāng)前,企業(yè)上云的趨勢(shì)不可抵擋,云時(shí)代的來(lái)臨對(duì)基礎(chǔ)操作系統(tǒng)提出了更高更嚴(yán)苛的要求。除了對(duì)操作系統(tǒng)的安全性和穩(wěn)定性外,系統(tǒng)性能的提升也是重要的考慮因素,底層操作系統(tǒng)能否充分利用各種新硬件特性來(lái)提升業(yè)務(wù)的整體效能?此外,能否做到靈活使用,能否最大限度提高啟動(dòng)速度,快速交付大量云服務(wù)器?這些都是云上用戶(hù)迫切關(guān)心的問(wèn)題。10 年的技術(shù)積累和應(yīng)用實(shí)踐,火山引擎 veLinux 操作系統(tǒng)做出了解答。
穩(wěn)定性
veLinux 在字節(jié)IDC 部署量超百萬(wàn),是支撐字節(jié)跳動(dòng)抖音、今日頭條、飛書(shū)等海量業(yè)務(wù)的系統(tǒng)底座,同時(shí) veLinux 也是字節(jié)跳動(dòng)旗下云平臺(tái)火山引擎的官方操作系統(tǒng),支撐了包括容器服務(wù)、機(jī)器學(xué)習(xí)平臺(tái)、大數(shù)據(jù)服務(wù)等大量公有云上業(yè)務(wù),為火山引擎各個(gè)云產(chǎn)品提供穩(wěn)定的系統(tǒng)支撐,其穩(wěn)定性在內(nèi)外部用戶(hù)得到實(shí)踐驗(yàn)證,系統(tǒng)宕機(jī)率保持在萬(wàn)分之一以下。
高性能
除了提供高性能的自研內(nèi)核外,veLinux 還在系統(tǒng)組件上做了大量的性能優(yōu)化。特別是基礎(chǔ)庫(kù)方面,針對(duì)不同的業(yè)務(wù)場(chǎng)景,進(jìn)行了大量針對(duì)性?xún)?yōu)化。
OpenJDK
集成發(fā)布了優(yōu)化的 OpenJDK,更好的支持大數(shù)據(jù)處理等 Java 業(yè)務(wù),目前已經(jīng)在 EMR(Elastic MapReduce) 等業(yè)務(wù)中上線。
針對(duì)大數(shù)據(jù)數(shù)據(jù)存儲(chǔ)壓縮場(chǎng)景,veLinux 的 OpenJDK 集成了優(yōu)化的 zlib 實(shí)現(xiàn),基于 GZIP 的數(shù)據(jù)壓縮、解壓縮性能會(huì)得到有效改進(jìn),詳細(xì)數(shù)據(jù)請(qǐng)參考下方 zlib 章節(jié) 。
針對(duì) Full GC 延時(shí)較長(zhǎng)的問(wèn)題,我們移植了 G1 Parallel Full GC 到 jdk-8 中,有效緩解了 Full GC 帶來(lái)的長(zhǎng)延時(shí)問(wèn)題。
很多業(yè)務(wù)不只是依賴(lài) GC 性能,內(nèi)存分配器(例如 ptmalloc, jemalloc, tcmalloc) 對(duì)業(yè)務(wù)性能有影響也比較大,veLinux 的 OpenJDK 集成了不同版本的內(nèi)存分配器,并且可用參數(shù)選擇。
業(yè)務(wù)在容器內(nèi)的部署越來(lái)越多,但低版本的 OpenJDK 在容器中的性能表現(xiàn)并不好,比如用戶(hù)會(huì)遇到系統(tǒng)數(shù)據(jù)讀取慢、不準(zhǔn)確等問(wèn)題,甚至運(yùn)行在 lxcfs 時(shí),還會(huì)碰到死循環(huán)等嚴(yán)重問(wèn)題。關(guān)于上述問(wèn)題,veLinux 的 OpenJDK 都做了針對(duì)性地修復(fù)和改進(jìn),為用戶(hù)提供業(yè)務(wù)性能保障,保證業(yè)務(wù)在容器中運(yùn)行的穩(wěn)定性。
zlib
在內(nèi)部業(yè)務(wù)的性能分析優(yōu)化過(guò)程中,我們通過(guò)性能分析采集工具發(fā)現(xiàn), zlib 壓縮和解壓縮函數(shù)(deflate/inflate)的熱點(diǎn),在內(nèi)部某業(yè)務(wù)線的的 CPU 占比超 50% 以上。由此可見(jiàn),業(yè)務(wù)部署的 madler/zlib 1.2.8 開(kāi)源版本在性能上仍有提升空間。在調(diào)研過(guò) intel/zlib、cloudflare/zlib、zlib-ng 等多個(gè) zlib 版本后,最終在開(kāi)源 madler/zlib 1.2.11 的基礎(chǔ)上,集成了多個(gè)優(yōu)化補(bǔ)?。?/p>
支持壓縮過(guò)程中哈希函數(shù)的向量化指令,并且重構(gòu)了字符串匹配的流程。
增強(qiáng)解壓過(guò)程中長(zhǎng)字符串拷貝效率 。
支持 crc32/adler32 等校驗(yàn)碼的向量化指令 。
在 Benchmark 測(cè)試中,壓縮和解壓效率顯示提高了 30%-50%。zlib 優(yōu)化后的版本部署到原來(lái)的業(yè)務(wù)線上,幫助該業(yè)務(wù)團(tuán)隊(duì)優(yōu)化 CPU 核心 5K+;目前該優(yōu)化已集成到 veLinux 的 OpenJDK 中,并在字節(jié)內(nèi)部多業(yè)務(wù)得到廣泛推廣與應(yīng)用。
Benchmark 測(cè)試:壓縮和解壓縮性能對(duì)比圖
其他性能優(yōu)勢(shì)
除此之外,對(duì)比社區(qū)原生 Debian/CentOS,veLinux 具備很強(qiáng)的性能優(yōu)勢(shì),在字節(jié)內(nèi)部應(yīng)用實(shí)踐之后,字節(jié)樣本拼接和數(shù)據(jù)打點(diǎn)等業(yè)務(wù)端到端性能提升 20% 以上,其中字節(jié) metrics 集群 CPU 使用率下降了 36%。在性能測(cè)試中,對(duì) Nginx/Redis/MySQL 等典型應(yīng)用的性能也有大幅提升:
Nginx 吞吐性能提升10%-40%
Redis get/set 性能提升5%-25%
MySQL 讀寫(xiě)性能提升10%-60%
安全性
隨著網(wǎng)絡(luò)安全事件不斷發(fā)生,用戶(hù)對(duì)安全性的重視程度也越來(lái)越高,作為火山引擎的官方操作系統(tǒng),面對(duì)復(fù)雜的、規(guī)模不斷增加的用戶(hù)需求,veLinux 在安全性上需要做到全方位的建設(shè),才能保護(hù)用戶(hù)的信息和數(shù)據(jù)安全。
及時(shí)修復(fù) CVE 漏洞:CVE(Common Vulnerabilities and Exposures)是公共的安全漏洞列表,用于標(biāo)準(zhǔn)化識(shí)別已知網(wǎng)絡(luò)威脅。為了方便用戶(hù)更便捷地查看 CVE 更新情況,veLinux 官網(wǎng)發(fā)布了 CVE 安全中心:https://bytedance.github.io/kernel/sec,每周更新并修復(fù) CVE 補(bǔ)丁。
入侵檢測(cè)安全防護(hù):得益于字節(jié)安全團(tuán)隊(duì)的技術(shù)支持,veLinux 提供入侵檢測(cè)安全防護(hù),底層采用安全團(tuán)隊(duì)自研的開(kāi)源項(xiàng)目 Elkeid,主要通過(guò)收集主機(jī)層的信息來(lái)實(shí)現(xiàn)入侵檢測(cè)、行為審計(jì)、攻擊溯源、資產(chǎn)盤(pán)點(diǎn)、合規(guī)基線檢測(cè)等能力,目前完整版本在字節(jié)跳動(dòng)內(nèi)部的部署規(guī)模已達(dá)到數(shù)百萬(wàn)量級(jí),其穩(wěn)定性、性能、數(shù)據(jù)采集能力、檢測(cè)能力和溯源能力等均在內(nèi)部得到實(shí)戰(zhàn)驗(yàn)證。
通過(guò)等保三級(jí)認(rèn)證:等保三級(jí)認(rèn)證是由國(guó)家公安機(jī)關(guān)對(duì)各機(jī)構(gòu)的信息系統(tǒng)安全等級(jí)保護(hù)狀況進(jìn)行的認(rèn)證與評(píng)定。veLinux 目前已通過(guò)三級(jí)等保認(rèn)證,這是國(guó)家對(duì)非銀行機(jī)構(gòu)的最高級(jí)認(rèn)證。這項(xiàng)安全認(rèn)證資質(zhì)已寫(xiě)入火山引擎云安全白皮書(shū),為云上用戶(hù)提供可靠的安全能力。
提供內(nèi)核熱補(bǔ)丁:快速修復(fù)在運(yùn)行中機(jī)器的內(nèi)核漏洞。內(nèi)核熱補(bǔ)丁是一種動(dòng)態(tài)為內(nèi)核打補(bǔ)丁的技術(shù),可以在不重啟系統(tǒng)的情況下,修復(fù)內(nèi)核 BUG 或者 CVE 漏洞,在最大程度上減少系統(tǒng)服務(wù)中斷時(shí)間,增加系統(tǒng)可用性。未來(lái) veLinux 還將提供統(tǒng)一的補(bǔ)丁管理平臺(tái)、以及補(bǔ)丁客戶(hù)端的整套解決方案(內(nèi)測(cè)中),通過(guò)該平臺(tái)用戶(hù)可以將熱補(bǔ)丁批量下發(fā)至需要打補(bǔ)丁的機(jī)器,提高運(yùn)維效率。
易用性
veLinux 提供了很多業(yè)界主流的問(wèn)題追蹤與調(diào)試工具,用戶(hù)可以方便地安裝使用,協(xié)助定位、解決業(yè)務(wù)運(yùn)行中遇到的穩(wěn)定性或性能問(wèn)題。
kdump-tools(以及相關(guān)的 kexec-tools、makedumpfile)是常用于在 Linux kernel panic(內(nèi)核致命錯(cuò)誤) 之后 dump 內(nèi)存、保存現(xiàn)場(chǎng)的工具,基于 debian 社區(qū)版本,我們?cè)?veLinux 中做了增強(qiáng)版本,幫助用戶(hù)提升穩(wěn)定性,節(jié)省預(yù)留內(nèi)存。
通過(guò)過(guò)濾無(wú)關(guān)的內(nèi)核 cmdline、替換 systemd 等方法來(lái)降低 kdump 內(nèi)核中的內(nèi)存使用,從而防止機(jī)器在 dump 內(nèi)存的過(guò)程中出現(xiàn) oom 的錯(cuò)誤。
檢測(cè)內(nèi)存等硬件故障,提前結(jié)束 dump 過(guò)程,防止再次出現(xiàn)內(nèi)核錯(cuò)誤。
提前 dump dmesg,防止在 dump 內(nèi)存失敗的情況下,獲取不到 dmesg 的信息。
在 kdump 側(cè)實(shí)現(xiàn) crashkernel = auto 功能,根據(jù)機(jī)器內(nèi)存自動(dòng)設(shè)置預(yù)留給 kdump 的內(nèi)存的大小,且無(wú)需對(duì)內(nèi)核做定制化修改。
適配對(duì) kdump 預(yù)留內(nèi)存位置有特殊要求的硬件廠商。
atop是一款開(kāi)源的單機(jī)性能監(jiān)測(cè)工具,支持實(shí)時(shí)觀測(cè)的同時(shí)、也支持讀取歷史文件排查問(wèn)題。另外一個(gè)優(yōu)點(diǎn)是除提供 CPU、MEM、DISK 等全局指標(biāo)外,還提供進(jìn)程、線程級(jí)別的各項(xiàng)指標(biāo)監(jiān)控?cái)?shù)據(jù)。鑒于 atop 的這些優(yōu)點(diǎn),字節(jié)跳動(dòng)基于社區(qū)的 atop 進(jìn)行優(yōu)化,目前已迭代 3 個(gè)版本,覆蓋公司全量服務(wù)器,穩(wěn)定運(yùn)行三年多。字節(jié)版 atop 工具新特性如下:
穩(wěn)定性增強(qiáng):增加 oom killer 保護(hù)、修復(fù) atopcct 統(tǒng)計(jì)、限制日志存儲(chǔ)總量防系統(tǒng)盤(pán)占滿等功能。
遠(yuǎn)程分析:支持 json 格式數(shù)據(jù)傳輸?shù)椒?wù)端,支持網(wǎng)頁(yè)版 atop 及集群內(nèi)數(shù)據(jù)聚合。
更多實(shí)用指標(biāo):NUMA 維度的 CPU 及 MEM 指標(biāo)統(tǒng)計(jì)與聚合、runqueue delay、compact_stall、allocastall、InCsumErrors 等指標(biāo)。
靈活使用:支持篩選 Top N 線程的監(jiān)控?cái)?shù)據(jù),支持定制日志保留天數(shù)及存儲(chǔ)位置。
終端 UI 優(yōu)化:類(lèi) htop,按照 NUMA 粒度,直觀展示所有 CPU 和內(nèi)存。達(dá)到縱覽所有 CPU 負(fù)載,直觀判斷 CPU 綁核是否均衡等目的。
快速啟動(dòng)
對(duì)于用戶(hù)而言,系統(tǒng)啟動(dòng)過(guò)程通常被定義為從系統(tǒng)上電到通過(guò) ssh 登錄的過(guò)程,經(jīng)歷的時(shí)間即為系統(tǒng)啟動(dòng)時(shí)間。具體來(lái)說(shuō),機(jī)器的啟動(dòng)流程大體上可以根據(jù) CPU 的控制權(quán)轉(zhuǎn)移方向描述為“固件 -> 引導(dǎo)程序 -> 操作系統(tǒng)”。其中固件包括 BIOS/UEFI,引導(dǎo)程序包括常見(jiàn)的的 GRUB/U-Boot/LK 等,操作系統(tǒng)包含了內(nèi)核啟動(dòng)、執(zhí)行 initrd 中的 init 進(jìn)程、再到執(zhí)行硬盤(pán)上的 init 進(jìn)程的過(guò)程。系統(tǒng)啟動(dòng)速度是操作系統(tǒng)的重要性能指標(biāo)之一,特別對(duì)于云場(chǎng)景中的虛擬機(jī),能夠快速啟動(dòng)可以顯著提高用戶(hù)體驗(yàn)。
veLinux 通過(guò)對(duì)內(nèi)核、驅(qū)動(dòng)加載、系統(tǒng)服務(wù)的啟動(dòng)優(yōu)化,以及 cloud-init 服務(wù)的啟動(dòng)順序優(yōu)化,減少虛機(jī)啟動(dòng)時(shí)間約 50%,提供快速啟動(dòng)版,實(shí)現(xiàn)單虛擬機(jī)啟動(dòng)時(shí)間 5s 內(nèi)。
靈活使用
在實(shí)際使用中,用戶(hù)提出基于 veLinux 進(jìn)行定制化的需求,例如安裝特定的驅(qū)動(dòng)版本、內(nèi)置特定的軟件包等。veLinux 針對(duì)這個(gè)問(wèn)題,提供靈活的 OS 自定義定制工具,可以在火山引擎、內(nèi)部平臺(tái)或本地鏡像基礎(chǔ)上,自動(dòng)化完成定制,為用戶(hù)提供簡(jiǎn)單便捷的定制窗口,一站式完成鏡像的變更、基準(zhǔn)測(cè)試等任務(wù),使廣大業(yè)務(wù)同學(xué)徹底擺脫基礎(chǔ)環(huán)境構(gòu)建、操作系統(tǒng)差異等帶來(lái)的技術(shù)困境。
CentOS 官方已計(jì)劃停止維護(hù) CentOS Linux 項(xiàng)目,veLinux 提供的遷移工具(內(nèi)測(cè)中),能幫助用戶(hù)平滑從CentOS 遷移至 veLinux CentOS 兼容版,后續(xù)還會(huì)支持更多操作系統(tǒng)無(wú)縫遷移至 veLinux 。
云原生特性 容器 OS 版本
云原生場(chǎng)景下,保證集群內(nèi)宿主機(jī)的一致性非常重要,對(duì)單個(gè)節(jié)點(diǎn)的運(yùn)維操作可能會(huì)導(dǎo)致環(huán)境的不一致,對(duì)應(yīng)用的性能穩(wěn)定性產(chǎn)生影響,甚至可能產(chǎn)生安全隱患。另一方面,與傳統(tǒng)系統(tǒng)不同的是,應(yīng)用通過(guò)容器部署,操作系統(tǒng)只需要提供云原生運(yùn)行必要的組件,省去其他很多不必要的系統(tǒng)組件,實(shí)現(xiàn)系統(tǒng)輕量化,同時(shí)提升系統(tǒng)啟動(dòng)時(shí)間。veLinux 正在內(nèi)測(cè)容器 OS 版本,該版本的優(yōu)勢(shì)為:
系統(tǒng)輕量化
(1)只包含 Kubernetes Pods 運(yùn)行所依賴(lài)的軟件包和系統(tǒng)服務(wù),縮短系統(tǒng)啟動(dòng)時(shí)間,精簡(jiǎn)操作系統(tǒng)。
(2)根文件系統(tǒng)為只讀權(quán)限,只有 /etc 和 /var 目錄可寫(xiě),以滿足基礎(chǔ)的系統(tǒng)配置需求。
系統(tǒng)維度升級(jí)回滾
遵循云原生不可變基礎(chǔ)設(shè)施原則,不支持單個(gè)包粒度的安裝、卸載和升級(jí),不提供 apt 等軟件包管理工具,只支持以整個(gè)操作系統(tǒng)鏡像為粒度的更新和回滾,以此來(lái)保證集群內(nèi)各個(gè)節(jié)點(diǎn)的軟件包版本與系統(tǒng)配置的一致性。
lxcfs 組件優(yōu)化
lxcfs 是一個(gè)基于 FUSE 文件系統(tǒng)實(shí)現(xiàn)容器內(nèi)資源視圖隔離的開(kāi)源組件,通過(guò)在容器中掛載 lxcfs 相關(guān)目錄和文件,執(zhí)行 free、top 等命令,能夠更精確地反映容器的資源使用情況。
veLinux 中的 lxcfs 組件在社區(qū) 5.0 版本的基礎(chǔ)上,修復(fù)了 /sys 目錄下文件顯示不完全的問(wèn)題,并模擬了 numa 節(jié)點(diǎn)拓?fù)?,使得在容器中?zhí)行 numactl 命令能夠返回正確的節(jié)點(diǎn)信息。此外,對(duì)社區(qū)版本存在 lxcfs 進(jìn)程退出重新啟動(dòng)后無(wú)法正常工作的問(wèn)題,veLinux 版本一方面通過(guò) oom killer 保護(hù),最大限度地減少被 kill 的可能,另一方面提供 remount 機(jī)制,使得 lxcfs 進(jìn)程退出重新啟動(dòng)后,remount 相關(guān)目錄到容器中,最大限度的降低對(duì)用戶(hù)的影響。
總結(jié)與規(guī)劃
操作系統(tǒng)一直伴隨著軟硬件技術(shù)的發(fā)展而發(fā)展,近年來(lái),在軟件方面,云市場(chǎng)爆發(fā)式的增長(zhǎng),特別是云原生場(chǎng)景下,如何有效地進(jìn)行集群資源的管理、調(diào)度編排以及性能度量和監(jiān)控,都對(duì)操作系統(tǒng)提出了更高的要求;在硬件方面,芯片市場(chǎng)的環(huán)境變化以及主流 CPU 架構(gòu)的演進(jìn)發(fā)展,需要構(gòu)建更加自主可控的操作系統(tǒng),靈活應(yīng)對(duì)國(guó)內(nèi)外市場(chǎng)變化。針對(duì)云計(jì)算、國(guó)產(chǎn)化等場(chǎng)景,veLinux 實(shí)現(xiàn)了很多創(chuàng)新與優(yōu)化,以滿足不同用戶(hù)的業(yè)務(wù)需求。未來(lái)將陸續(xù)發(fā)布更多云原生特性,并推出適配國(guó)產(chǎn)處理器、RISC-V 處理器架構(gòu)的版本,歡迎大家持續(xù)關(guān)注。
另外,作為一款開(kāi)源的操作系統(tǒng),veLinux 致力于為用戶(hù)提供可靠、高性能的操作系統(tǒng),歡迎更多感興趣的小伙伴加入 veLinux 的開(kāi)源建設(shè),共同推進(jìn)國(guó)內(nèi)操作系統(tǒng)生態(tài)發(fā)展。
審核編輯 :李倩
-
處理器
+關(guān)注
關(guān)注
68文章
19447瀏覽量
231346 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6902瀏覽量
123829 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8452瀏覽量
133139
原文標(biāo)題:深度解讀火山引擎官方操作系統(tǒng) veLinux
文章出處:【微信號(hào):AI前線,微信公眾號(hào):AI前線】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
國(guó)產(chǎn)銀河麒麟操作系統(tǒng)V10和星光麒麟V1.0操作系統(tǒng)如何選擇?
![國(guó)產(chǎn)銀河麒麟<b class='flag-5'>操作系統(tǒng)</b>V10和星光麒麟V1.0<b class='flag-5'>操作系統(tǒng)</b>如何選擇?](https://file.elecfans.com/web2/M00/4B/7E/pYYBAGKpNKiAEsLVAAAST0XDRxo278.jpg)
英特爾與火山引擎等合作,夯實(shí)AI應(yīng)用智能底座
中科創(chuàng)達(dá)攜手火山引擎開(kāi)啟AI智能座艙新體驗(yàn)
英特爾與火山引擎飛連攜手升級(jí)AI時(shí)代企業(yè)IT管理體驗(yàn)
中科創(chuàng)達(dá)與火山引擎達(dá)成深度合作
linux操作系統(tǒng)安裝步驟 linux操作系統(tǒng)的特點(diǎn)及組成
火山引擎推出豆包·視頻生成模型
嵌入式實(shí)時(shí)操作系統(tǒng):Intewell操作系統(tǒng)與VxWorks操作系統(tǒng)有啥區(qū)別
![嵌入式實(shí)時(shí)<b class='flag-5'>操作系統(tǒng)</b>:Intewell<b class='flag-5'>操作系統(tǒng)</b>與VxWorks<b class='flag-5'>操作系統(tǒng)</b>有啥區(qū)別](https://file1.elecfans.com/web2/M00/F9/B2/wKgZomaLg_2AJrOLAAIS1VwS7ys667.png)
華為鴻蒙操作系統(tǒng),引領(lǐng)行業(yè)新篇章
火山引擎攜手東軟睿馳等成立汽車(chē)大模型生態(tài)聯(lián)盟
火山引擎與南開(kāi)大學(xué)深化合作簽約,攜手共建“AI+教育”新生態(tài)
東軟睿馳成為“火山引擎汽車(chē)大模型生態(tài)聯(lián)盟”首批會(huì)員
![東軟睿馳成為“<b class='flag-5'>火山</b><b class='flag-5'>引擎</b>汽車(chē)大模型生態(tài)聯(lián)盟”首批會(huì)員](https://file1.elecfans.com/web2/M00/E6/5D/wKgZomZG1R6AAYqCAAAYLAPp1xE326.jpg)
火山引擎攜手OPPO、vivo等成立智能終端大模型聯(lián)盟
火山引擎聯(lián)手多手機(jī)廠商啟動(dòng)智能終端大模型聯(lián)盟,對(duì)外開(kāi)放
帶你認(rèn)識(shí)實(shí)時(shí)操作系統(tǒng)(rtos)
![帶你認(rèn)識(shí)實(shí)時(shí)<b class='flag-5'>操作系統(tǒng)</b>(rtos)](https://file1.elecfans.com/web2/M00/C9/9B/wKgaomYeNqCARejjAACZA3eBJdk301.png)
評(píng)論