首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【内核模块auth_rpcgss】netns引用计数泄露导致容器弹性网卡残留

    的内核数据结构是struct net,其中的count字段表示引用计数,只有当netns的引用计数归零之后才能执行销毁动作: struct net { refcount_t passive;...是谁导致了netns引用计数泄露? 由于弹性网卡残留现象只出现在privileged容器,那么加不加privileged有什么区别呢?...对比发现,privileged容器里多了很多后台服务,怀疑是其中某个服务导致了netns引用计数泄露。我们一个一个依次排除,最终找到了直接导致netns泄露的后台服务是:gssproxy。...可是,容器终止后,在gssproxy后台进程也消失的情况下,netns引用计数仍然不能归零,这就很难解释了,因为用户态进程退出之后应该会释放它占用的所有资源,不应该影响内核,说明问题没那么简单,很可能内核有...我的patch是把它放进nsfs_evict()中,当netns被卸载的时候,nsfs_evict()会被调用,在这个时刻调用rpcsec_gss_exit_net()比较合理。

    3.2K71

    压测工具iperf的构建与实操(全程操作,理论暂无)

    点赞,关注,希望能带来更多的好的文章,共同进步 iperf的整体流程是:网卡一:a 网卡二:b 环境准备: 创建网络命名空间:ip netns add ns1;ip netns add ns2 将物理网卡分配到命名空间...:ip link set a netns ns1;ip link set b netns ns2; 两个窗口分别配置: 窗口1 ns2(服务器端): 进入ns2命名空间:ip netns exec ns2...10.10.10.20 如果ping通,启动iperf测试: Iperf3 -c 10.10.10.20 -t 60 -p 5201; 测试完成后进行清理: 将网卡移回默认命名空间恢复网络: Ip netns...exec ns1 ip link set a netns 1; Ip netns execc ns2 ip link set b netns 1; 删除命名空间: ip netns del ns1;...Ip netns del ns2; 自己验证过,能够正确的进行测试

    12110

    5张图诠释了容器网络

    创建网络命名空间的一种方法是 ip 工具,它是 iproute2 的一部分: $ sudo ip netns add netns0 $ ip netns netns0 如何使用刚才创建的命名空间呢...将 netns0 命名空间连接到 root 命名空间,需要将一个设备留在 root 命名空间,另一个挪到 netns0 里: $ sudo ip link set ceth0 netns netns0...netns1 可以连通,但是 netns0 就不行了。 如果我们为 netns1 选择其他的网段,应该就都可以连通。但是,多个容器在同一个 IP 网段上应该是合理的使用场景。...删除网络命名空间: $ sudo ip netns delete netns0 $ sudo ip netns delete netns1 $ sudo ip link delete veth0...ip link set veth1 up $ sudo ip link set ceth1 netns netns1 $ sudo nsenter --net=/var/run/netns/netns1

    1.2K20
    领券