From b9b624878166a23c908fdccfff57010631edd5b2 Mon Sep 17 00:00:00 2001 From: wo_cow Date: Thu, 14 Jul 2022 09:30:14 +0800 Subject: [PATCH] add first version --- README.en.md | 36 ---------- README.md | 158 ++++++++++++++++++++++++++++++++++++++++---- oncn-bwm-1.0.tar.gz | Bin 0 -> 21163 bytes oncn-bwm.spec | 90 +++++++++++++++++++++++++ 4 files changed, 234 insertions(+), 50 deletions(-) delete mode 100644 README.en.md create mode 100644 oncn-bwm-1.0.tar.gz create mode 100644 oncn-bwm.spec diff --git a/README.en.md b/README.en.md deleted file mode 100644 index af21ca4..0000000 --- a/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# oncn-bwm - -#### Description -Pod bandwidth management in mixed deployment scenarios of online and offline services - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md index 77b708a..141266b 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,155 @@ # oncn-bwm -#### 介绍 -Pod bandwidth management in mixed deployment scenarios of online and offline services +## 介绍 -#### 软件架构 -软件架构说明 +本特性通过区分在线、离线业务从而既能保证在线业务带宽的需求,还能保证充分的利用网络带宽资源。 +具体提供了下列功能: +### 支持设置Pod网络优先级 +1. 以执行bwmcli命令的方式设置某个cgroup的网络优先级,执行bwmcli命令时需要指定的参数包括:cgrp_path、prio +2. 优先级默认值为0,0标识为在线业务,-1标识为离线业务。 -#### 安装教程 +### 支持设置离线业务网络带宽限制 +1. Pod网络带宽限制对所有离线业务生效,所有离线业务的总带宽不能超过设置的网络带宽限制,在线业务没有网络带宽限制。 +2. 以执行bwmcli命令的方式设置一个主机/虚拟机的离线业务网络带宽限制,执行bwmcli命令时需要指定的参数包括:允许使用的:最低带宽(KB/MB/GB),最高带宽(KB/MB/GB) +3. 网络带宽限制特性与水线特性共同完成离线业务带宽限制,当在线业务带宽低于设置的水线时:离线业务允许使用设置的最高带宽,当在线业务带宽高于设置的水线时,离线业务允许使用设置的最低带宽。 -1. xxxx -2. xxxx -3. xxxx +### 支持设置在线业务水线 +1. 以执行bwmcli命令的方式设置一个主机/虚拟机的在线业务的水线,执行bwmcli命令时需要指定的参数包括:水线值(KB/MB/GB) +2. 当一个主机上所有在线业务的总带宽高于水线时,会限制离线业务可以使用的带宽,反之当一个主机上所有在线业务的总带宽低于水线时,会提高离线业务可以使用的带宽。 +3. 判断在线业务的总带宽是否超过/低于设置的水线的时机:每10ms判断一次,根据每个10ms内统计的在线带宽是否高于水线来决定对离线业务采用的带宽限制。 -#### 使用说明 +### 支持使能/除能Pod网络Qos功能 +1. 以执行bwmcli命令的方式来使能/除能一个网卡的Qos功能,执行bwmcli命令时需要指定的参数包括:网卡名,不指定网卡名则默认操作主机上的所有网卡。 +2. 一个主机上的所有使能Qos功能的网卡在实现内部被当成一个整体看待,也就是共享设置的水线和网络带宽限制。 -1. xxxx -2. xxxx -3. xxxx +## 软件架构 +``` +oncn-bwm +│ bwmcli.c # bwmcli命令行工具 +│ bwmcli.h +│ CMakeLists.txt +│ LICENSE +│ README.md +│ +├─bpf # 两个ebpf程序文件实现带宽管理逻辑 +│ +└─tools # 在离线带宽检测工具,基于bpftrace +``` -#### 参与贡献 +## 安装教程 + +1. yum install oncn-bwm + +## 使用说明 + +### 接口说明 +**接口1** + +说明 +``` +bwmcli –e/-d ethx 使能/除能某个网卡的Qos功能 +bwmcli –e/-d 使能/除能所有网卡的Qos功能 +``` +示例 +``` +# bwmcli –e eth0 –e eth1 +enable eth0 success +enable eth1 success + +# bwmcli –d eth0 –d eth1 +disable eth0 success +disable eth1 success +``` + +**接口2** + +说明 +``` +bwmcli –s path 设置某个cgroup的优先级 +bwmcli –p path 查询某个cgroup的优先级 +``` +示例 +``` +# bwmcli -s /sys/fs/cgroup/net_cls/test_online 0 +set prio success + +# bwmcli -p /sys/fs/cgroup/net_cls/test_online +prio is 0 +``` + +**接口3** + +说明 +``` +bwmcli –s bandwidth 设置离线带宽 +bwmcli –p bandwidth 查询离线带宽 +``` +示例 +``` +# bwmcli -s bandwidth 30mb,100mb +set bandwidth success + +# bwmcli -p bandwidth +bandwidth is 31457280(B),104857600(B) +``` + +**接口4** + +说明 +``` +bwmcli –s waterline 设置在线水线 +bwmcli –p waterline 查询在线水线 +``` +示例 +``` +# bwmcli -s waterline 20mb +set waterline success + +# bwmcli -p waterline +waterline is 20971520 (B) +``` + +**接口5** + +说明 +``` +bwmcli –p stats 打印内部统计信息 +``` +示例 +``` +# bwmcli -p stats +rate: 1073741824 +online_pkts: 79752 +offline_pkts: 69730 +online rate past: 0 +offline rate past: 916194823 +``` + +**接口6** + +说明 +``` +bwmcli –p devs 描述系统上所有网卡的使能状态 +``` +示例 +``` +# bwmcli –p devs +lo : disabled +enp2s2 : disabled +``` + +### 典型使用案例 +``` +bwmcli -p devs 查询系统当前网卡使能状态 +bwmcli -s /sys/fs/cgroup/net_cls/online 0 +bwmcli -s /sys/fs/cgroup/net_cls/offline -1 +bwmcli -e eth0 使能eth0的网卡 Qos功能 +bwmcli -s bandwidth 20mb,1gb 配置离线业务带宽 +bwmcli -s waterline 30mb 配置在线业务的水线 +``` + +## 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 @@ -27,7 +157,7 @@ Pod bandwidth management in mixed deployment scenarios of online and offline ser 4. 新建 Pull Request -#### 特技 +## 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) diff --git a/oncn-bwm-1.0.tar.gz b/oncn-bwm-1.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..bdf2fcd64519fe66768e57f428d1fe6c165eba81 GIT binary patch literal 21163 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/dev/null + done + + mount |grep "type cgroup2" >/dev/null + if [ $? -ne 0 ]; then + tempfile=`mktemp -d`; + mount none -t cgroup2 $tempfile; + fi + + for CGROUP2VAL in $(bpftool cgroup tree |grep _bwm_out_cg -B 1 | awk '{print $1}'); do + if [[ $CGROUP2VAL = /* ]]; then + CGROUP2PATH=$CGROUP2VAL >/dev/null + else + CGROUP2ID=$CGROUP2VAL + bpftool cgroup detach $CGROUP2PATH egress id $CGROUP2ID >/dev/null + fi + done + + if [ -n "$tempfile" ]; then + umount $tempfile + rm -rf $tempfile + fi + + rm -f /sys/fs/bpf/tc/globals/throttle_map >/dev/null + rm -f /sys/fs/bpf/tc/globals/throttle_cfg >/dev/null +} + +if [ $1 -eq 0 ]; then + DisableAllDevices +fi + +%files +%defattr(-,root,root) +%attr(0500,root,root) %{_bindir}/bwmcli +%attr(0500,root,root) /usr/share/bwmcli/bwm_prio_kern.o +%attr(0500,root,root) /usr/share/bwmcli/bwm_tc.o + +%files -n oncn-bwm-devel +%attr(0500,root,root) %{_bindir}/bwm_monitor.bt + + +%changelog +* Thu Jul 14 2022 wo_cow - 1.0-1 +- init oncn-bwm