oncn-bwm用户指南:从基础配置到高级限流策略的完整攻略

发布时间:2026/7/15 12:16:33

oncn-bwm用户指南:从基础配置到高级限流策略的完整攻略 oncn-bwm用户指南从基础配置到高级限流策略的完整攻略【免费下载链接】oncn-bwmPod bandwidth management in mixed deployment scenarios of online and offline services项目地址: https://gitcode.com/openeuler/oncn-bwm前往项目官网免费下载https://ar.openeuler.org/ar/oncn-bwm是一款专为在线与离线服务混合部署场景设计的Pod带宽管理工具通过智能区分业务类型既能保障在线业务的带宽需求又能充分利用网络资源实现高效的带宽分配与限制。核心功能一览 oncn-bwm提供五大核心能力满足复杂场景下的带宽管理需求 Pod网络优先级设置出向流量通过cgroup路径设置优先级0在线业务-1离线业务入向流量通过目标IP标记优先级未设置默认为在线业务 离线业务带宽限制支持设置最低/最高带宽阈值KB/MB/GB单位动态调整机制根据在线业务带宽使用情况自动切换限制策略 在线业务水线控制自定义水线阈值20MB~9999GB10ms高频检测实时响应带宽变化 QoS功能灵活开关支持单网卡或全网卡使能/除能出向/入向流量独立控制 全面流量监控在线/离线流量统计带宽使用趋势跟踪网卡状态实时查询快速安装指南 ⚡按照以下步骤在Linux系统中部署oncn-bwm# 1. 克隆代码仓库 git clone https://gitcode.com/openeuler/oncn-bwm # 2. 进入项目目录 cd oncn-bwm # 3. 编译项目 cmake . make # 4. 安装组件 mkdir -p /usr/share/bwmcli install -Dpm 0500 bpf/CMakeFiles/bwm_prio_kern.dir/bwm_prio_kern.c.o /usr/share/bwmcli/bwm_prio_kern.o install -Dpm 0500 bpf/CMakeFiles/bwm_tc.dir/bwm_tc.c.o /usr/share/bwmcli/bwm_tc.o install -Dpm 0500 bpf/CMakeFiles/bwm_tc_i.dir/bwm_tc_i.c.o /usr/share/bwmcli/bwm_tc_i.o install -Dpm 0500 bwmcli /usr/bin install -Dpm 0500 tools/bwm_monitor.bt /usr/bin install -Dpm 0500 tools/bwm_monitor_ingress.bt /usr/bin安装完成后可通过bwmcli -v验证版本成功输出应为version: 1.0基础配置教程 网卡QoS功能管理使能/除能出向QoS# 使能指定网卡 bwmcli -e eth0 # 除能指定网卡 bwmcli -d eth0 # 使能所有网卡 bwmcli -e # 除能所有网卡 bwmcli -d使能/除能入向QoS# 使能指定网卡 bwmcli -E veth123456 # 除能指定网卡 bwmcli -D veth123456查询网卡状态# 查询出向状态 bwmcli -p devs # 查询入向状态 bwmcli -P devs业务优先级配置设置出向优先级cgroup# 标记在线业务cgroup v1示例 bwmcli -s /sys/fs/cgroup/net_cls/online 0 # 标记离线业务cgroup v2示例 bwmcli -s /sys/fs/cgroup/offline -1 # 查询优先级 bwmcli -p /sys/fs/cgroup/net_cls/online设置入向优先级IP# 标记IP为离线流量 bwmcli -A 172.17.0.2 # 恢复IP为在线流量 bwmcli -R 172.17.0.2高级限流策略 带宽限制配置设置出向带宽# 设置低带宽30MB高带宽100MB bwmcli -s bandwidth 30mb,100mb # 查询当前配置 bwmcli -p bandwidth设置入向带宽# 设置低带宽20MB高带宽500MB bwmcli -S bandwidth 20mb,500mb # 查询当前配置 bwmcli -P bandwidth水线阈值调整设置出向水线# 设置水线50MB bwmcli -s waterline 50mb # 查询当前水线 bwmcli -p waterline设置入向水线# 设置水线100MB bwmcli -S waterline 100mb # 查询当前水线 bwmcli -P waterline流量监控与分析查看流量统计# 查看出向统计 bwmcli -p stats # 查看入向统计 bwmcli -P stats统计信息包含在线/离线数据包数量实时带宽使用速率目标带宽限制值典型应用场景案例 场景1基础QoS配置# 1. 查看网卡状态 bwmcli -p devs # 2. 配置业务优先级 bwmcli -s /sys/fs/cgroup/net_cls/online 0 # 在线业务 bwmcli -s /sys/fs/cgroup/net_cls/offline -1 # 离线业务 # 3. 使能QoS功能 bwmcli -e eth0 # 出向 bwmcli -E veth123456 # 入向 # 4. 设置带宽参数 bwmcli -s bandwidth 20mb,1gb # 出向带宽 bwmcli -s waterline 30mb # 出向水线场景2入向流量管理# 1. 标记离线IP bwmcli -A 192.168.1.100 bwmcli -A 192.168.1.101 # 2. 配置入向带宽 bwmcli -S bandwidth 10mb,200mb bwmcli -S waterline 50mb # 3. 监控入向流量 bwmcli -P stats场景3动态调整策略# 业务高峰期限制离线带宽 bwmcli -s bandwidth 10mb,50mb # 业务低谷期放宽限制 bwmcli -s bandwidth 50mb,2gb默认配置与限制默认参数值参数默认值说明水线(waterline)20MB在线业务水线阈值低带宽(low_rate)20MB水线触发时离线业务可用带宽高带宽(high_rate)1GB水线未触发时离线业务可用带宽判断间隔10ms在线带宽检测周期配置范围限制参数最小值最大值带宽(bandwidth)1MB9999GB水线(waterline)20MB9999GB常见问题解决方案 ❓Q1如何验证QoS是否生效A使用bwmcli -p stats查看流量统计或通过工具目录下的带宽监测脚本bwm_monitor.bt # 出向监控 bwm_monitor_ingress.bt # 入向监控Q2cgroup路径如何获取A对于Kubernetes环境可通过以下命令查找Pod对应的cgroup路径kubectl exec -it pod-name -- cat /proc/self/cgroupQ3带宽单位如何转换A工具支持自动单位转换可使用KB (千字节)MB (兆字节)GB (千兆字节)1MB 1024KB 1,048,576字节核心实现架构oncn-bwm采用分层架构设计主要包含用户空间工具bwmcli.c命令行接口eBPF程序bwm_prio_kern.ccgroup优先级设置bwm_tc.c出向带宽管理bwm_tc_i.c入向带宽管理辅助工具tools/目录下的bpftrace监测脚本通过eBPF技术实现高效的内核态流量控制结合用户空间配置工具实现灵活的带宽管理策略。参与贡献oncn-bwm作为开源项目欢迎社区贡献Fork本仓库新建Feat_xxx分支提交代码新建Pull Request详细贡献指南可参考项目贡献文档。【免费下载链接】oncn-bwmPod bandwidth management in mixed deployment scenarios of online and offline services项目地址: https://gitcode.com/openeuler/oncn-bwm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻