neutron dhcp agent

Neutron dhcp agent 主要负责在openstack中提供dhcp服务。在openstack的H版本中,neutron dhcp agent是支持multi host部署的。



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的配置。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值