Neutron DHCP-Agent问题分析定位(1)
作者:闫兴安
1 DHCP问题定位过程
本文以dhcp节点残留tap口为切入点,描述dhcp agent问题定位方法,梳理代码流程,通过一步一步测试,找到复现问题的步骤,并最终找到问题的根本原因及解决办法。本文最后对该问题进行了总结。
1.1 问题简述
如下图所示,在一个dhcp namespace里,有多个tap口。
1.2 环境描述
出问题的环境是K版代码
总共三个控制/网络节点,分别都起dhcp-agent服务。
配置上,每个网络分配两个dhcp port。
1.3 问题定位
主要以网络ID d427e056-f4df-4ebf-bda4-4b0e35b39d78 进行分析。
下面是详细的定位过程。
1.3.1 查看namespace里的端口
在网络节点上,从namespace里查看端口状态。
这里可以看到,一个namespace里有两个tap口。
期望现象:
一个namespace里只有一个tap。
同一个网络在各个网络节点上的tap口上的IP地址不重复。
1.3.2 查看dhcp配置
在控制节点上查看配置。
1.3.3 查看Neutron里的端口、子网
在控制节点上,查看neutron里的数据,包括:
1) 有哪些dhcp port。
2) 每个dhcp port的ip,绑定状态,绑定主机名。
期望现象:
端口有绑定到host,而且没有出现binding_failed。
1.3.4 查看网络绑定的agent
查看网络调度到的agent:
这个agent Host应该与port上的binding host一致。
1.3.5 查看dnsmasq进程及绑定的IP地址
在网络节点上,查看dnsmasq进程状态,绑定的IP地址。结合Neutron里的数据,找出哪些是多余的dnsmasq,哪些是多余的tap口。
总结dhcp端口状态如下:
Dhcp Port IP |
10.133.36.2 |
10.133.36.3 |
tap口名 |
tap18b68e7c-00 |
tap62080981-f5 |
网络节点1 |
无 |
有 |
网络节点2 |
有(应该无) |
有 (应该无) |
网络节点3 |
有 |
有 (应该无) |
绑定的节点 |
网络节点3 |
网络节点1 |
是否绑定出错 |
否 |
是 |
dnsmasq进程所在节点 |
网络节点2和3 |
网络节点1 |
tap端口所在节点 |
网络节点2和3 |
网络节点1、2、3都有 |
1.3.6 查看tap是否在br-int里
网络节点上,查看tap口是否在br-int里。
1.3.7 查看端口UUID
网络节点上,在OVSDB里,查看端口绑定的UUID。
1.3.8 查看dhcp-agent承载的网络
查看DHCP Agent ID:
查看每个dhcp-agent承载的网络:
yfq-vnet-ctl-9-74:
都是26个,数目一致。
yfq-vnet-ctl-9-89:
总共10个。
总共27个。
这个节点上neutron db中调度的网络数据和实际承载的网络数目不一致。
yfq-vnet-ctl-9-104:
总共24个。
总共24个。
Neutron DHCP-Agent问题分析定位(1)相关推荐
- DHCP agent服务状态XXX
在查看neutron代理服务时发现DHCP agent没有成功 [root@controller ~]# neutron agent-list +--------------------------- ...
- Neutron DHCP-Agent问题分析定位(2)
作者:闫兴安 1.3.9 哪些网络有问题 for ns in `ipnetns`; do echo $ns, `ip netns exec $ns ifconfig |grep tap`; done ...
- PHP 内存泄漏分析定位
转载地址:https://mp.weixin.qq.com/s/98D_VtkFEM5bZsu9cazggg? 目录 场景一 程序操作数据过大 场景二 程序操作大数据时产生拷贝 场景三 配置不合理系统 ...
- 7 php 内存泄漏_PHP 内存泄漏分析定位
引用前言 本文开始撰写时我负责的项目需要用php开发一个通过 Socket 与服务端建立长连接后持续实时上报数据的常驻进程程序,在程序业务功能开发联调完毕后实际运行发送大量数据后发现内存增长非常迅速, ...
- 7 php 内存泄漏_PHP内存泄漏分析定位
说明:本文来自作者 邹毅 在 GitChat 上分享「 PHP 内存泄漏分析定位」 目录 场景一 程序操作数据过大 场景二 程序操作大数据时产生拷贝 场景三 配置不合理系统资源耗尽 场景四 无用的 ...
- idea debug教程启用Debug模式可以分析定位异常发生的位置
在现在的开发中,我们经常采用Debug来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化.通常我们也可以启用Debug模式来跟 ...
- 达梦 DM 执行SQL报字符串截断如何分析定位/超长文本截取
达梦 DM 执行SQL报字符串截断如何分析定位/超长文本截取 DM数据库报字符串截断 1 .执行INSERT时报错 一般此类问题是由于目标表存在一个(或多个)字段长度不够,导致插入失败.重点关注CHA ...
- 遇到bug我们如何分析定位?
前言:日常工作中,每天可能都会遇到不同的bug,有些刚入行的测试喜欢不加分析就直接甩给开发去解决.开发比较闲还好,如果手头工作比较多,就容易烦.甚至有可能是后端的问题,但是你却把问题丢给了前端,这种事 ...
- Worm.Win32.Agent.t分析
Worm.Win32.Agent.t分析 出处:安天CERT 病毒标签: 病毒名称: Worm.Win32.Agent.t 病毒类型: 蠕虫类 文件 MD5: C4BFC29229607CBEA877 ...
最新文章
- 小明种苹果python_Python实现201909-2(小明种苹果(续))满分代码,带注释
- tab 页形式展现多张报表
- ORA-01722: invalid number
- flask中的CBV , flask-session在redis中存储session , WTForms数据验证 , 偏函数 , 对象里的一些小知识...
- weak_ptr指针编程实验
- jqc3ff继电器引脚图_单片机控制继电器驱动电路图原理分析
- 分页查询抽象出的对象属性(笔记)
- python3-pwntools教程_记一次five熬夜重装pwntools
- 如何检查手机上的 App 是不是正版?
- 在Entity Framework中使用事务
- node mysql 事件循环_nodejs事件和事件循环详解
- oppo锁屏断网设置在哪里呀_oppo锁屏时钟怎么改格式?锁屏时钟位置在哪里设置调整...
- Toolchain的安装与验证(有图 ,超详细)
- php后缀视频,PHP获取文件后缀名的方法有哪些?(图文+视频)
- C#使用Microsoft.Office.Interop.Word操作word书签位置插入Wingdings 2复选框
- matlab海底地形数据,海底地形建模器
- 十年沉淀,回头发觉我当年面试 “Android,深入分析
- web程序中获取当前地理位置
- Appium+夜神模拟器模拟人为操作
- python 循环赋值_计算机二级Python语言程序设计 第2章Python语言基本语法元素