长期支持版本

    社区创新版本

      认识CTinspector

      简介

      CTinspector是天翼云科技有限公司基于ebpf指令集自主创新研发的语言虚拟机运行框架。基于CTinspector运行框架可以快速拓展其应用实例用于诊断网络性能瓶颈点,诊断存储IO处理的热点和负载均衡等,提高系统运行时诊断的稳定性和时效性。

      CTinspector未引入云上环境基础底座系统运维与问题分析之前,OVS的运维与ACL的配置效率相对较低,且存在一些功能上不支持的问题:

      • 维人员想要使用的过滤字段正好没有实现,或者与或非的条件表达式不支持;

      • 系统中有很多命令都有类似的过滤需求,比如CT流表,openflow流表,卸载流表,如果针对每种流表开发各自的命令行参数,这是一个很重的开发任务;

      • 基于命令行参数的过滤无法实现有状态过滤:比如查看报文数命中最多的流表。传统的过滤规则都是针对单条流表的,无法建立多条流表间的关联关系。

      架构

      CTinspector采用一个ebpf指令集的语言虚拟机Packet VM,它最小只有256字节,包含所有虚拟机应有的部件:寄存器,堆栈段,代码段,数据段,页表。Packet VM支持自主的migration,即packet VM内的代码可以调用migrate kernel function,以将packet VM迁移至它自己指定的节点。Packaket VM同时支持断点续执行,即packet VM迁移至下一个节点后可以沿着上一个节点中断的位置继续执行下一条指令。
       
       
      CTinspector框架总体架构如下图所示:  
       
      CTinspecto框架的主要部件包括:

      • ebpf compiler/JIT: 将C代码编译为ebpf二进制码,JIT则负责将ebpf指令及时编译为机器码。

      • ebpf linker/loader: 负责加载和链接库函数即kernel functions。

      • runner: 执行ebpf VM,这包括加载寄存器,代码段,加载堆栈,映射数据段等。

      • scheduler: 决定何时执行ebpf VM,这包括判断VM的状态,需要等待的数据依赖条件等。

      • basic kernel functions: 基本库函数,包括迁移,映射内存,fork,join_meeting等核心基本功能。

      • extended kernel functions: 除了ebpf VM runner提供的核心基本功能外,应用程序的各个hook点都可以提供自定义的库函数。

      • memory mapper: 将应用程序数据映射进ebpf VM以方便ebpf程序读写应用数据。

      文档捉虫

      “有虫”文档片段

      问题描述

      提交类型 issue

      有点复杂...

      找人问问吧。

      PR

      小问题,全程线上修改...

      一键搞定!

      问题类型
      规范和低错类

      ● 错别字或拼写错误;标点符号使用错误;

      ● 链接错误、空单元格、格式错误;

      ● 英文中包含中文字符;

      ● 界面和描述不一致,但不影响操作;

      ● 表述不通顺,但不影响理解;

      ● 版本号不匹配:如软件包名称、界面版本号;

      易用性

      ● 关键步骤错误或缺失,无法指导用户完成任务;

      ● 缺少必要的前提条件、注意事项等;

      ● 图形、表格、文字等晦涩难懂;

      ● 逻辑不清晰,该分类、分项、分步骤的没有给出;

      正确性

      ● 技术原理、功能、规格等描述和软件不一致,存在错误;

      ● 原理图、架构图等存在错误;

      ● 命令、命令参数等错误;

      ● 代码片段错误;

      ● 命令无法完成对应功能;

      ● 界面错误,无法指导操作;

      风险提示

      ● 对重要数据或系统存在风险的操作,缺少安全提示;

      内容合规

      ● 违反法律法规,涉及政治、领土主权等敏感词;

      ● 内容侵权;

      您对文档的总体满意度

      非常不满意
      非常满意
      提交
      根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。
      文档捉虫
      编组 3备份