騰訊開源雲服務器操作系統Tencent Linux
騰訊雲宣布開源其云服務器操作系統TencentOS 內核(TencentOS Server Kernel,又稱Tencent Linux,簡稱Tlinux)。騰訊介紹,相比業內其它版本Linux 發行版,Tencent Linux 在資源調度彈性、容器支持、系統性能及安全等層面極具競爭力,特別適合雲環境。
TencentOS Kernel 是騰訊雲物聯網操作系統 TencentOS tiny 之後,TencentOS 家族對外開源的第二個項目。TencentOS 是騰訊雲操作系統系列,由騰訊雲架構平台部主力研發,覆蓋數據中心、桌面系統、邊緣設備和物聯網終端等應用場景,提供雲平台構建、接入和應用能力。
騰訊雲操作系統團隊表示:“將騰訊雲服務器操作系統內核TencentOS Kernel 開源,不僅可以與全球開發者共享騰訊雲在服務器操作系統領域的技術和經驗,還能夠汲取全球服務器操作系統領域的優秀成果和創新理念,助力整體服務器操作系統生態的繁榮。”
具體看看該項目的特點:
專用資源調度方案,增強系統彈性伸縮能力
傳統Linux 系統中,公平性是資源調度算法的核心邏輯。公平的調度能最大程度提供系統通用性。然而,這種公平會造成資源有效利用率的低下,系統的彈性能力大大受限,業務無法按照需求進行資源的分配回收,包括資源的數量與資源的質量,如資源分配速度、搶占能力等。
Tencent Linux 研發了專用的資源調度算法,大幅提升整機的資源彈性。業務可以根據需求指定資源分配的數量和級別,從相同數量不同級別的資源獲得的系統服務存在明顯差別。
同時,Tencent Linux 研發的CPU 彈性調度算法,在離在線業務混布場景下收益十分顯著。在不影響在線業務質量的前提下,整機的CPU 利用率最高提升 3 倍,部分業務場景下可將整機CPU 利用率提升至90%。
資源隔離增強
資源的安全隔離始終是容器虛擬化平台的核心問題,社區內核提供的隔離特性遠遠不能滿足業務的需求,一些基本的系統狀態信息、CPU 信息與磁盤狀態信息等均未做隔離,部分場景下甚至直接導致業務不可用。
Tencent Linux 從業務需求出發,首先對必要的系統狀態,比如cpuinfo、stat、loadavg、meminfo、vmstat、diskstats 與uptime 等進行隔離增強,保證容器中的應用能獲得正確的系統狀態信息。
更重要的是,系統還提供包括NVME IO 隔離等特性,徹底解決IO 控制組在多隊列設備場景資源利用率低、不支持按比例隔離等問題,保證了不同場景下的IO 隔離效果。
系統安全與性能優化
業界的內核熱補丁技術主要是針對X86 架構進行開發,缺少對ARM64 等架構的支持。Tencent Linux 通過實現類FMENTRY、FTRACE with REGS 功能,給KPATCH 中增加ARM64 支持等實現了針對ARM64 架構的內核熱補丁方案。
同時,Tencent Linux 提供進程GDB 禁止功能,阻止跨進程獲取內存、加載動態庫等,保障業務進程的數據安全。
性能方面,Tencent Linux 針對計算、存儲和網絡子系統都進行了優化,例如PAGE CACHE LIMIT 功能,限制page cache 的使用率,盡量使系統剩餘的內存能夠滿足業務的需求;系統還新增多個sysctl /proc 控制接口、內核啟動參數等優化用戶體驗。