首页 > 其他 > 详细

neutron dhcp agent

时间:2014-02-21 04:26:20      阅读:427      评论:0      收藏:0      [点我收藏+]
Neutron dhcp agent 主要负责在openstack中提供dhcp服务。在openstack的H版本中,neutron dhcp agent是支持multi host部署的。

bubuko.com,布布扣

dhcp agent 通过Message Queue与Neutron-Server通信。主要用到3个消息队列,q-plugin是从agent发送消息到neutron-server所用的队列。
dhcp agent启动时,会将自己的信息上报给neutron-server, neutron-server将这些信息存储在DB中,以便之后创建网络将网络绑定到agent做决策时使用。
dhcp agent信息会存放在neutron数据库的agents表中,如下例:
| c341d3c4-15a8-45bf-bffe-36cef5488928 | DHCP agent | neutron-dhcp-agent | dhcp_agent | ci91szcmp001.webex.com | 1 | 2014-02-11 08:30:03 | 2014-02-11 09:32:03 | 2014-02-20 05:44:42 | NULL | {"subnets": 2, "use_namespaces": true, "dhcp_lease_duration": 86400, "dhcp_driver": "neutron.agent.linux.dhcp.Dnsmasq", "networks": 2, "ports": 26} |
| 9bdcbaf8-43fa-44b1-a7df-ea1c86bd6cd1 | DHCP agent | neutron-dhcp-agent | dhcp_agent | ci91szcmp002.webex.com | 1 | 2014-02-11 08:26:34 | 2014-02-11 09:32:28 | 2014-02-20 05:44:39 | NULL | {"subnets": 2, "use_namespaces": true, "dhcp_lease_duration": 86400, "dhcp_driver": "neutron.agent.linux.dhcp.Dnsmasq", "networks": 2, "ports": 26} |


dhcp agent启动时还会主动sync状态,会通过q-plugin队列发送消息给neutron-server获取所有的绑定到本agent的network/subnet/port信息,并根据这些信息配置正确的namespace,dhcp server接口和dnsmasq 。


agent和network绑定关系被存储在networkdhcpagentbindings中:
mysql> select * from networkdhcpagentbindings;
+--------------------------------------+--------------------------------------+
| network_id                           | dhcp_agent_id                        |
+--------------------------------------+--------------------------------------+
| 218203a4-bc92-4c0e-a245-654e0e3ccefe | 9bdcbaf8-43fa-44b1-a7df-ea1c86bd6cd1 |
| 52aba766-fdba-4776-ac09-462bf6da40d5 | 9bdcbaf8-43fa-44b1-a7df-ea1c86bd6cd1 |
| 218203a4-bc92-4c0e-a245-654e0e3ccefe | c341d3c4-15a8-45bf-bffe-36cef5488928 |
| 52aba766-fdba-4776-ac09-462bf6da40d5 | c341d3c4-15a8-45bf-bffe-36cef5488928 |
+--------------------------------------+--------------------------------------+
4 rows in set (0.00 sec)


网络,子网和端口信息分别存储在数据库的networks,subnets和ports表中。dhcp agent需要获取这些信息生成dnsmasq的配置信息,并将这些信息存储在/var/lib/neutron/dhcp/目录下。

当neutron-server有需要添加/修改/删除dhcp相关配置时,会将消息发送到队列dhcp_agent.hostname或dhcp_agent_fanout_id,dhcp agent收到消息后进行相应dhcp的配置。

neutron dhcp agent

原文:http://blog.csdn.net/matt_mao/article/details/19552381

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!