目录

openstack中多dhcp agent配置

前言

在openstack中,每个VM启动时,和后续ip地址续期时,都需要依赖于DHCP服务,进行IP地址的分发,但是当集群规模变大后,如果仅有一个DHCP agent,会导致服务可用性降低,并且,DHCP agent进程也会因为负荷过大,影响使用,这在当同时创建上百台VM同时启动时尤为明显。

多DHCP agent实现

配置文件修改

控制节点

修改控制节点/etc/neutron/neutron.conf

1
2
3
4
5
6
7
[DEFAULT]
core_plugin = linuxbridge
rabbit_host = controlnode
allow_overlapping_ips = True
host = controlnode
agent_down_time = 5
dhcp_agents_per_network = 3

计算节点

编辑vi /etc/neutron/dhcp_agent.ini

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

启动服务

1
2
systemctl enable neutron-dhcp-agent.service
systemctl start neutron-dhcp-agent.service

验证

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
neutron agent-list
+--------------------------------------+--------------------+-------+-------+----------------+
| id                                   | agent_type         | host  | alive | admin_state_up |
+--------------------------------------+--------------------+-------+-------+----------------+
| 1b69828d-6a9b-4826-87cd-1757f0e27f31 | Linux bridge agent | HostA | :-)   | True           |
| a0c1c21c-d4f4-4577-9ec7-908f2d48622d | DHCP agent         | HostA | :-)   | True           |
| ed96b856-ae0f-4d75-bb28-40a47ffd7695 | Linux bridge agent | HostB | :-)   | True           |
| f28aa126-6edb-4ea5-a81e-8850876bc0a8 | DHCP agent         | HostB | :-)   | True           |
+--------------------------------------+--------------------+-------+-------+----------------+


列出指定host的dhcp agent
neutron dhcp-agent-list-hosting-net net1
+--------------------------------------+-------+----------------+-------+
| id                                   | host  | admin_state_up | alive |
+--------------------------------------+-------+----------------+-------+
| a0c1c21c-d4f4-4577-9ec7-908f2d48622d | HostA | True           | :-)   |
+--------------------------------------+-------+----------------+-------+

列出dhcp agent 管理的子网
neutron net-list-on-dhcp-agent a0c1c21c-d4f4-4577-9ec7-908f2d48622d
+--------------------------------------+------+--------------------------------------------------+
| id                                   | name | subnets                                          |
+--------------------------------------+------+--------------------------------------------------+
| 89dca1c6-c7d4-4f7a-b730-549af0fb6e34 | net1 | f6c832e3-9968-46fd-8e45-d5cf646db9d1 10.0.1.0/24 |
+--------------------------------------+------+--------------------------------------------------+


显示agent的详情
neutron agent-show a0c1c21c-d4f4-4577-9ec7-908f2d48622d
+---------------------+--------------------------------------------------------+
| Field               | Value                                                  |
+---------------------+--------------------------------------------------------+
| admin_state_up      | True                                                   |
| agent_type          | DHCP agent                                             |
| alive               | False                                                  |
| binary              | neutron-dhcp-agent                                     |
| configurations      | {                                                      |
|                     |     "subnets": 1,                                      |
|                     |     "dhcp_driver": "neutron.agent.linux.dhcp.Dnsmasq", |
|                     |     "networks": 1,                                     |
|                     |     "dhcp_lease_time": 120,                            |
|                     |     "ports": 3                                         |
|                     | }                                                      |
| created_at          | 2013-03-16T01:16:18.000000                             |
| description         |                                                        |
| heartbeat_timestamp | 2013-03-17T01:37:22.000000                             |
| host                | HostA                                                  |
| id                  | 58f4ce07-6789-4bb3-aa42-ed3779db2b03                   |
| started_at          | 2013-03-16T06:48:39.000000                             |
| topic               | dhcp_agent                                             |
+---------------------+--------------------------------------------------------+