热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

neutrondhcpagent

Neutrondhcpagent主要负责在openstack中提供

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



推荐阅读
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
author-avatar
林台育怡婷雅雯
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有