圆满落幕!回顾 eBPF 技术的发展与挑战
11 月 3 日,2022 云栖大会 eBPF & Linux 稳定性专场于杭州云栖小镇圆满结束。本次专场论坛是龙蜥 3 大 workshop 系列,特别邀请了高校师生、手机和安全大厂,一起探讨 eBPF 在安全和网络的最佳应用和实践,以及 Linux 在手机和服务器上的运维经验分享。
(图/专场嘉宾合照)
eBPF & Linux 稳定性专场是由龙蜥系统运维 SIG 和 eBPF 技术探索 SIG 协办,开场主持人毛文安为大家介绍了这两个 SIG 的情况。为大家分享这两大 SIG 的愿景和目标,以及当前 SIG 的重点项目情况和 SIG 的下一步规划。也欢迎大家在龙蜥官网 SIG 组查看详情。
工欲善其事,必先利其器。系统运维 SIG 推出的 SysAK 工具集,是通过对过往百万服务器运维经验进行的总结,让我们进一步揭开这个工具的内幕,并且看看它的应用实践有哪些,阿里云高级技术专家、龙蜥系统运维 SIG Maintainer 张毅分享了主题为《SysAK 的应用实践》的演讲。
他介绍了龙蜥社区运维 SIG 出品的诊断工具集 SysAK 的使用场景,以及其核心技术架构。重点介绍了监控模式的相关组件,以及怎么结合龙蜥 OS、SysAK 的增强特色,去做疑难问题和系统健康度的监控。最后结合目前运维趋势,介绍了 SysAK 未来应用诊断及插件化的规划路线。
eBPF 给我们带来了更多可能,西安邮电大学教授、 eBPF技术探索SIG Owner陈莉君做了《eBPF 技术的发展与挑战》主题分享。陈莉君教授首先从传统的操作系统模型入手,说明 50 年来操作系统模型和进程模型的现状,并阐述 eBPF 的引入为什么打破了这种模型,然后,通过业界雨后春笋般 eBPF 开源项目的出现,重点介绍了 Linux 内核之旅社区在推动 eBPF 在国内发展所做的相关事情,最后,以 eBPF 在内核可编程化、易用性等方面的发展为抓手,介绍了 eBPF 技术面临的机遇和挑战。
eBPF 目前在跟踪、诊断、网络上有很多应用,如今越来越多的开发者也关注到,在安全领域 eBPF 正成为一个香饽饽,深信服创新研究院高级 Linux 内核技术专家、eBPF技术探索 SIG Maintainer 许庆伟在现场与嘉宾分享了《eBPF 安全特性解析》演讲。
他从 eBPF 的安全原理出发,针对云原生容器场景下的 eBPF 使用场景,以安全的视角对 eBPF 进行剖析,分析了后续 eBPF 安全技术的发展趋势,应该要深入内核基础机制,实现阻断函数调用级别的运行、不影响正常业务,这样防御更细粒度,也更合理的方案。最后总结到,系统安全不是单一维度,要建立起从应用态到内核态的多层级防御矩阵,并从多角度的视角来看待和解决安全问题,会达到更好的效果。
程序摄像头的提法让我们耳目一新,谐云科技 CTO、龙蜥eBPF技术探索 SIG Maintainer 苌程分享了《基于 eBPF 可观测性项目 kindling 的最新进展:基于 eBPF 的程序摄像头——trace-profiling 功能》。介绍了当前可观测性主流技术的局限性,tracing、log、metric 不能很好的融合,程序员 troubleshooting 线上问题仍然需要重度依赖经验。Kindling 利用 eBPF 技术从系统内核角度将程序代码执行过程转换成 OS 资源层面消耗过程,并通过融合 trace、metric,log 形成一张视图。具有计算机基础经验的程序员就可以很容易的理解程序每个毫秒在干什么。最后分享了利用程序摄像头能够解决常见线上诡异的场景:GC 导致线程暂停,高并发导致的线程不足引起请求饥饿,trace 级别的火焰图,依赖资源导致的问题等。
eBPF 技术探索 SIG 推出的 Coolbpf 是一站式 eBPF 开发编译平台,目的是让大家更快速的入门和进行开发,不用关注太多环境搭建问题。大家了解最多的是Coolbpf 是用来开发编译的,那么基于它之上的应用有什么呢?阿里云高级技术专家、龙蜥系统运维SIG Owner、龙蜥eBPF技术探索 SIG Maintainer 毛文安带来《Coolbpf 的应用实践》分享,与现场嘉宾针对 eBPF SIG 的 Coolbpf 项目,从它的原理和设计实现层面进行了阐述,具体介绍了远程云编译和低版本内核运行 eBPF 的技术原理。最后,通过一个具体网络抖动案例,展示了 Coolbpf 在业务观测和抖动发现上的具体应用实践过程。
轻量级开发框架确实给了我们很大的便利性,接着浙江大学 Linux 开发者,龙蜥eBPF 技术探索 SIG Maintainer 郑昱笙分享《eBPF 轻量级开发框架 eunomia》的主题演讲。
她一开始介绍了 eunomia-bpf 项目作为一个为了简化 eBPF 程序的开发、分发、运行而设计的轻量级 eBPF 开发框架的背景和目标,然后通过一些简单的实例,展示了 eunomia-bpf 是如何从云端一行命令下载运行 eBPF 程序、只编写内核态代码即可运行和导出事件,以及和 WebAssembly 的结合等功能,最后简要阐述了 eunomia-bpf 的原理和设计实现的思路。
系统运维 SIG 的重磅项目 SysOM 是一个一站式运维管理平台,是与统信软件有非常深入的合作共建。统信软件高级系统研发工程师,系统运维 SIG Maintainer 魏东分享《SysOM 在系统可靠性与安全上的实践》。魏东从 sre 切入,分享了操作系统稳定性相关知识,展开介绍了龙蜥社区运维SIG出品的一站式系统运维平台 SysOM 在系统稳定性上所做的相关工作,其中,重点介绍批量运维和系统诊断功能。接着,就操作系统安全知识以及 SysOM 安全中心的漏洞修复功能展开介绍。最后,指出当前系统稳定性的痛点,并介绍未来的展望。
我们了解的 Linux 稳定性都是基于 x86 和 Arm 服务器上的,然而在手机上的系统稳定性,也值得我们去一探究竟。魅族科技高级工程师、龙蜥系统运维SIG Contributor 白浩文与嘉宾一起谈一谈《手机内核稳定性的治理与实践》。他首先简要介绍了稳定性问题的来源,以及开发过程。重点举例介绍了运行时动态检测的一些方法以及相关原理。在实践中,魅族手机在开发阶段引入了一些新的特性来提高捕捉内存异常的概率,其中也包括从上游龙蜥社区引入的改进特性。为了全方位监控和解决稳定性问题,魅族也在智能化分析问题和提升效能方面做了相应工作。最后,还作了简要的总结和阐述所面临的一些挑战。
本次 eBPF & Linux 稳定性专场到此圆满结束。
最后附上今天活动现场图及专场分享大片:
(图/专场论坛现场)