1月9日,騰訊云宣布將開源其服務器操作系統TencentOS內核。相比業內其它版本Linux 內核,騰訊云 TencentOS 內核在資源調度彈性、容器支持、系統性能及安全等層面極具競爭力,特別適合云環境。該系統的開源及應用可幫助客戶大幅提升云上資源的利用效率,降低運營成本,同時獲得更加安全可靠的業務運行環境。
TencentOS Kernel是繼騰訊云物聯網操作系統TencentOS tiny之后,TencentOS家族對外開源的第二款產品。TencentOS是騰訊云操作系統系列產品,由騰訊云架構平臺部主力研發,覆蓋數據中心、桌面系統、邊緣設備和物聯網終端等應用場景,提供可靠的云平臺構建、接入和應用能力,幫助客戶轉化云的價值。TencentOS服務器操作系統在騰訊公司服役超過10年,覆蓋公司全部自研業務,裝機量過百萬。2019年9月新開源的TencentOS tiny,是騰訊面向物聯網領域開發的實時操作系統,具有低功耗、低資源占用、模塊化、安全可靠等特點,可有效提升物聯網終端產品開發效率,目前在Github上標星已達3.7k。
騰訊云操作系統團隊表示:“將騰訊云服務器操作系統內核TencentOS Kernel開源,不僅可以與全球開發者共享騰訊云在服務器操作系統領域的技術和經驗,還能夠汲取全球服務器操作系統領域的優秀成果和創新理念,助力整體服務器操作系統生態的繁榮。”
騰訊致力于通過開源和廣大開發者共享技術成果。近年來,騰訊開源節奏不斷加快,截至2020年1月,已在Github上開源92個項目,并積極參與開源基金會共建,目前已成為Linux、Apache等9大開源基金會的最高級別會員。
專為云設計的資源調度方案,大幅增強系統彈性伸縮能力
傳統的Linux系統中,公平性是資源調度算法的核心邏輯。公平的調度能最大程度提供系統通用性。然而,這種公平會造成資源有效利用率的低下,系統的彈性能力大大受限。業務無法按照需求進行資源的分配回收,不僅在于資源的數量,更在于資源的質量,如資源分配速度,搶占能力等。
在云平臺資源調度的需求背景下,TencentOS Kernel研發了專用的資源調度算法,大幅提升整機的資源彈性。業務可以根據需求指定資源分配的數量和級別,從相同數量不同級別的資源獲得的系統服務存在明顯差別。
TencentOS Kernel研發的CPU彈性調度算法,國內服務器租用服務器托管,directadmin授權,在離在線業務混布場景下收益十分顯著。在不影響在線業務質量的前提下,整機的CPU利用率最高提升了3倍,部分業務場景下可將整機CPU利用率提升至90%。
資源隔離全面升級,助力業務打造最強容器平臺
眾所周知,資源的安全隔離始終是容器虛擬化平臺的核心問題。社區內核提供的隔離特性遠遠不能滿足業務的需求,一些基本的系統狀態信息、CPU信息、磁盤狀態信息等均未做隔離,部分場景下甚至直接導致業務不可用。
TencentOS Kernel從業務需求出發,首先對必要的系統狀態,比如cpuinfo、stat、loadavg、meminfo、vmstat、diskstats、uptime等進行了隔離增強,保證容器中的應用能獲得正確的系統狀態信息。
更重要的是,TencentOS Kernel還提供包括NVME IO隔離等特性,徹底解決IO控制組在多隊列設備場景資源利用率低,不支持按比例隔離等問題,保證了不同場景下的IO隔離效果。
獨有系統安全及性能優化特性,持續降低業務運營成本
業界的內核熱補丁技術主要都是針對X86架構進行開發,缺少對ARM64等架構的支持。TencentOS Kernel通過實現類FMENTRY,FTRACE with REGS功能,給KPATCH中增加ARM64支持等實現了針對ARM64架構的內核熱補丁方案。
TencentOS Kernel提供進程GDB禁止功能,阻止跨進程獲取內存,加載動態庫等,保障業務進程的數據安全。
性能方面,TencentOS Kernel針對計算、存儲和網絡子系統均經過獨有的優化,例如PAGE CACHE LIMIT功能,限制page cache的使用率,盡量使系統剩余的內存能夠滿足業務的需求;TencentOS Kernel還新增多個sysctl/proc控制接口,內核啟動參數等來優化用戶體驗。
TencentOS Kernel開源地址:https://github.com/Tencent/TencentOS-kernel。歡迎廣大開發者參與共享代碼。
【凡本網注明來源非中國IDC圈的作品,均轉載自其它媒體,目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責。 】