详解火山引擎云操作系统veLinux的四大特性
随着火山引擎云产品的重磅发布,字节跳动内部使用的操作系统也终于上云开放,首次推出了针对云环境深度适配的 Linux 操作系统 —— veLinux。veLinux 是字节跳动在操作系统技术上的长期积累和沉淀,旨在给客户提供稳定、高性能、安全、易用的云上操作系统,同时输出系统安装、部署、升级和补丁修复等全生命周期的完整解决方案。
当前,企业上云的趋势不可抵挡,云时代的来临对基础操作系统提出了更高更严苛的要求。除了对操作系统的安全性和稳定性外,系统性能的提升也是重要的考虑因素。上云能否降本增效?底层操作系统能否充分利用各种新硬件特性来提升业务的整体效能?9 年的技术积累和应用实践,火山引擎 veLinux 操作系统做出了解答。
兼容性
veLinux 与 Debian 10(Buster)生态保持完全兼容, 并针对云上应用和火山引擎云基础设施进行了深度定制与优化。支持包括最新的 x86和 ARM 架构在内的多种硬件平台,如 Intel Whitley、AMD Milan 和 ARM N1 等,对国产处理器支持也在进行中。
高性能
veLinux 内核是基于社区长期支持(LTS)的 5.4 版本定制而成,对内存、网络、I/O、文件系统等模块进行了缺陷修复和性能增强,并引入了适用于云应用的新特性,比如
• 优化冗余的 HugeTLB 页,节省了 87% 以上的 struct pages,大页内存减少约 1/64(1.4%-1.6%)
• 增加 ebpf 通用 helper 函数,支持通过模块添加 ebpf 功能
• 优化了 cgroup slab memory controller,提升 slab 内存利用率,最高可达 45%
• 引入 VDUSE 设备模拟框架,容器可以像虚机一样灵活的使用用户态提供的虚拟设备
• 优化 PSI 对系统资源压力的评估,定制更合理的资源调度策略,在保障业务体验的同时,最大化资源利用率
veLinux 在调度隔离、内存管理及 I/O 等方面进行了大量的性能优化。业界的基准测试 benchmark 和典型应用性能对比结果显示:在进程上下文切换、I/O读写、压缩解压缩等多场景中,性能提升达到 15-25%, 推荐、抖音的样本拼接性能提升 20% 以上,而典型的日志压缩场景提升更是高达 50%。
压缩和解压缩执行耗时(归一化)对比
安全性
在安全方面,密切关注社区上游的 CVE 分级跟踪与修复,同步集成。同时提供内核热补丁修复,减少停机时间,应用安全技术进行入侵检测,配置多种安全项用于自定义安全策略,此外,还支持业界主流的安全漏扫工具,为上层业务提供全方位的安全防护。
易用性
系统运维从来都是棘手的问题,用于系统性能分析优化、稳定性问题排查的工具,普遍有比较高的使用门槛。而 veLinux 天然携带了从内核、基础库到应用的全栈分析优化能力。例如,基于开源社区的定制化性能监控工具 atop ,能够筛选 Top N 线程的监控数据记录并支持JSON 格式输出、支持 Per-NUMA 指标聚合等,满足系统监控的多样需求。另外,集成了交互式的 CPU 火焰图采集,能够对多种编程语言的应用程序进行分析,同时支持差分火焰图和容器采集,便捷易用。
结语
如今,veLinux 的部署数量已超过百万,承载了今日头条、抖音、飞书等一系列具有海量用户的应用,经历过 2021 年央视春晚、抖音红包雨等多种大型活动的极致考验。veLinux始终把技术作为立足点和根基,将继续保持技术开放和创新的态度,砥砺前行。veLinux现已正式开源自研内核,欢迎感兴趣的同行一起加入,共同打造国产操作系统的社区和生态。