searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Openstack Neutron DHCP HA

2023-11-16 06:54:10
20
0

1 配置

1.1 新节点

在新的节点上安装dhcp agent,例如这次在计算节点上安装dhcp agent,执行如下:

       apt-get install neutron-dhcp-agent

       修改配置文件: /etc/neutron/dhcp_agent.ini

       [DEFAULT]

interface_driver = linuxbridge

dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq

enable_isolated_metadata = true

然后重启如下的服务:

service neutron-dhcp-agent restart

1.2 控制节点

修改配置文件:/etc/neutron/neutron.conf

       [DEFAULT]

       dhcp_agents_per_network = 2  (每个网络会关联两个DHCP Agent)

       然后重启如下的服务:

       service neutron-server restart

1.3 网络&计算节点

保持不变。

1.4 配置后结果

       从上图可以看到,在计算节点也增加了一个dhcp agent。

2 实验

先来创建一个租户网络:

查看该网络net1关联了哪些DHCP Agent,如下图所示:

可以看到创建的网络关联到了2个DHCP Agent(和我们配置的数量是一致的)。

       查看某个DHCP Agent包含了哪些网络,如下图所示:

Show详细的dhcp agent信息:

查看dhcp namespace信息如下:

可以看到,两个节点上的dhcp namespace中分配的接口IP地址,MAC地址都是不同的。

       我们再来看下两个节点接收到的dhcp报文信息,如下:

上图是在控制节点上接收的dhcp报文信息,有完整的交互过程。

上图为在计算节点接收到的dhcp报文信息,可以看出vm都向这两个dhcp server发送了dhcp广播请求报文,并且两个dhcp server都给VM回应了Offer报文。但是vm最终选择了在控制节点上的dhcp server分配的IP地址。

       手动添加dhcp agent到某个网络的方法如下:

手动将dhcp agent移出某个网络的方法如下:

禁用dhcp agent的方法如下:

禁用dhcp agent之后,之前分配的资源依然保留着,因此需要删除dhcp agent才能释放资源,如下所示:

重启dhcp agent进程后,又会重新出现。

       首先在控制节点上禁用dhcp agent,如下所示:

这个时候在vm再重新发起dhcp请求,看看在哪个dhcp agent会处理。如下图所示,计算节点上的dhcp server完成了整个dhcp的流程:

进入到dnsmasq进程的配置文件,两个节点的配置信息都是一样的:

0条评论
0 / 1000