openstack-train dhcpagent报错

本文记录了OpenStack Neutron DHCP Agent在运行过程中出现的报错情况,包括错误日志分析、配置文件对比及调整、网络参数检查等过程,最终定位问题为MTU设置不当导致的数据包超长问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

服务已经起来了,居然报错!!!

[root@openstack01 neutron]# openstack network agent list
+--------------------------------------+--------------------+-------------+-------------------+-------+-------+---------------------------+
| ID                                   | Agent Type         | Host        | Availability Zone | Alive | State | Binary                    |
+--------------------------------------+--------------------+-------------+-------------------+-------+-------+---------------------------+
| 2608fa24-3614-4830-b235-61fa82a84f8c | Linux bridge agent | openstack01 | None              | :-)   | UP    | neutron-linuxbridge-agent |
| 9e8afc78-d8d1-4de7-a46e-08b6eeb5b259 | Metadata agent     | openstack01 | None              | :-)   | UP    | neutron-metadata-agent    |
| efb46ffd-e2ae-4319-bb35-bdfa6caf1fc7 | DHCP agent         | openstack01 | nova              | :-)   | UP    | neutron-dhcp-agent        |
+--------------------------------------+--------------------+-------------+-------------------+-------+-------+---------------------------+
       

server.log报错

dhcp-agent.log:2020-04-06 16:58:51.643 31650 ERROR neutron.agent.dhcp.agent [req-948f2788-767e-4ead-99b8-f16a93023abd - - - - -] Failed reporting state!: MessagingTimeout: Timed out waiting for a reply to message ID 1e52712ed9374ff5bedf4e746d4cbf57
hcp-agent.log:2020-04-06 16:58:51.643 31650 ERROR neutron.agent.dhcp.agent Traceback (most recent call last):
dhcp-agent.log:2020-04-06 16:58:51.643 31650 ERROR neutron.agent.dhcp.agent   File "/usr/lib/python2.7/site-packages/neutron/agent/dhcp/agent.py", line 962, in _report_state
dhcp-agent.log:2020-04-06 16:58:51.643 31650 ERROR neutron.agent.dhcp.agent     ctx, self.agent_state, True)
dhcp-agent.log:2020-04-06 16:58:51.643 31650 ERROR neutron.agent.dhcp.agent   File "/usr/lib/python2.7/site-packages/neutron/agent/rpc.py", line 101, in report_state
dhcp-agent.log:2020-04-06 16:58:51.643 31650 ERROR neutron.agent.dhcp.agent     return method(context, 'report_state', **kwargs)
dhcp-agent.log:2020-04-06 16:58:51.643 31650 ERROR neutron.agent.dhcp.agent   File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/client.py", line 181, in call
dhcp-agent.log:2020-04-06 16:58:51.643 31650 ERROR neutron.agent.dhcp.agent     transport_options=self.transport_options)
dhcp-agent.log:2020-04-06 16:58:51.643 31650 ERROR neutron.agent.dhcp.agent   File "/usr/lib/python2.7/site-packages/oslo_messaging/transport.py", line 129, in _send
dhcp-agent.log:2020-04-06 16:58:51.643 31650 ERROR neutron.agent.dhcp.agent     transport_options=transport_options)
dhcp-agent.log:2020-04-06 16:58:51.643 31650 ERROR neutron.agent.dhcp.agent   File "/usr/lib/python2.7/site-packages/oslo_messaging/_drivers/amqpdriver.py", line 646, in send
dhcp-agent.log:2020-04-06 16:58:51.643 31650 ERROR neutron.agent.dhcp.agent     transport_options=transport_options)
dhcp-agent.log:2020-04-06 16:58:51.643 31650 ERROR neutron.agent.dhcp.agent   File "/usr/lib/python2.7/site-packages/oslo_messaging/_drivers/amqpdriver.py", line 634, in _send
dhcp-agent.log:2020-04-06 16:58:51.643 31650 ERROR neutron.agent.dhcp.agent     call_monitor_timeout)
dhcp-agent.log:2020-04-06 16:58:51.643 31650 ERROR neutron.agent.dhcp.agent   File "/usr/lib/python2.7/site-packages/oslo_messaging/_drivers/amqpdriver.py", line 523, in wait
dhcp-agent.log:2020-04-06 16:58:51.643 31650 ERROR neutron.agent.dhcp.agent     message = self.waiters.get(msg_id, timeout=timeout)
dhcp-agent.log:2020-04-06 16:58:51.643 31650 ERROR neutron.agent.dhcp.agent   File "/usr/lib/python2.7/site-packages/oslo_messaging/_drivers/amqpdriver.py", line 401, in get
dhcp-agent.log:2020-04-06 16:58:51.643 31650 ERROR neutron.agent.dhcp.agent     'to message ID %s' % msg_id)
dhcp-agent.log:2020-04-06 16:58:51.643 31650 ERROR neutron.agent.dhcp.agent MessagingTimeout: Timed out waiting for a reply to message ID 1e52712ed9374ff5bedf4e746d4cbf57
dhcp-agent.log:2020-04-06 16:58:51.643 31650 ERROR neutron.agent.dhcp.agent 
dhcp-agent.log:2020-04-06 16:58:51.645 31650 WARNING oslo.service.loopingcall [req-948f2788-767e-4ead-99b8-f16a93023abd - - - - -] Function 'neutron.agent.dhcp.agent.DhcpAgentWithStateReport._report_state' run outlasted interval by 30.01 sec
首先查看配置文件有问题

我的配置

[DEFAULT]

interface_driver = linuxbridge
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = true

查看openstack官网的配置

[DEFAULT]
...
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = True

。。。果然有区别,但这个是2017年的!

这个是新的,没啥区别。地址如下:

https://docs.openstack.org/neutron/train/install/controller-install-option1-rdo.html

网上查到有人更改了时延解决了问题。从第一行看,我也有这个问题。先更改时延试试。在/etc/neutron/neutron.conf中配置添加

[DEFAULT]

rpc_response_timeout = 200

PS:4分钟后一样报错,不行啊!服务还挂了两个,还不如不改。

more    dhcp.agent.log发现

Successfully reported state after a previous failure.
2020-04-06 22:06:06.862 56481 ERROR neutron.agent.dhcp.agent [req-fc722885-7a02-4f6e-ab2b-d3a49b910833 - - - - -]
 Unable to sync network state.: MessagingTimeout: Timed out waiting for a reply to message ID a679bb510525498e854
6cfd04eedc437

.........

2020-04-06 22:06:07.426 56481 INFO neutron.agent.dhcp.agent [req-f4ac54cb-9d33-4601-a964-afce13bd28a8 - - - - -] 
All active networks have been fetched through RPC.
2020-04-06 22:06:07.427 56481 INFO neutron.agent.dhcp.agent [req-f4ac54cb-9d33-4601-a964-afce13bd28a8 - - - - -] 
Synchronizing state complete
 

这一会接得着一会接不着的有点意思。时间还很接近。会不会是连接数的问题?或者说发起的请求太多了呢?不懂代码,太难了。

使用wireshark,看看包的情况。

shark到几个这样的包,103是我的节点,99是控制端。shark5672

查来查去发现length1514和之后的包必报错。

ifconfig 发现MTU是1500,my god。我在玩蛇。。。。。。

### 设置 OpenStack 控制节点上的本地 Yum 源 为了在 OpenStack 控制节点上通过 `openstack-train.iso` 文件创建本地 Yum 源,可以按照以下方法完成 ISO 文件的上传、存储路径指定以及挂载操作。 #### 1. 准备工作 确保已登录到控制节点,并具有管理员权限。进入 `/opt` 目录并创建用于挂载的子目录: ```bash cd /opt mkdir openstack ``` 此命令会在 `/opt` 下创建名为 `openstack` 的目录作为挂载点[^1]。 #### 2. 上传 ISO 文件 将 `openstack-train.iso` 文件上传至服务器的 `/opt` 路径下。可以通过 SCP 或其他文件传输工具实现这一目标。例如,使用 SCP 命令从本地计算机上传文件: ```bash scp /path/to/openstack-train.iso root@<controller-ip>:/opt/ ``` 其中 `<controller-ip>` 是控制器节点的 IP 地址。 #### 3. 挂载 ISO 文件 执行挂载命令以使 ISO 文件的内容可用作本地 Yum 源数据: ```bash mount -o loop /opt/openstack-train.iso /opt/openstack ``` 上述命令中的 `-o loop` 参数表示以回环设备的方式加载镜像文件。 #### 4. 配置 Yum 源 编辑或新建 Yum 配置文件以便能够识别新挂载的 ISO 数据库。具体步骤如下: - 进入 Yum 配置文件所在目录: ```bash cd /etc/yum.repos.d/ ``` - 编辑或新增一个 `.repo` 文件(如命名为 `local.repo`),其内容应类似于以下结构: ```ini [openstack-train] name=OpenStack Train Repository baseurl=file:///opt/openstack gpgcheck=0 enabled=1 ``` 该配置定义了一个新的仓库 `[openstack-train]` 并指定了它的名称、基础 URL 和启用状态等参数[^3]。 #### 5. 清理缓存并验证设置 清理旧的元数据缓存以应用最新的更改: ```bash yum clean all ``` 随后测试新源是否正常工作: ```bash yum repolist ``` 如果一切顺利,在列表中应该能看到刚刚添加的 `[openstack-train]` 库项。 --- ### 注意事项 - 确认所使用的 ISO 版本与实际需求匹配。 - 如果是在完全隔离环境下运行,则需提前准备好所有必要的依赖包及其更新版本。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值