openstack之DHCP服务迁移操作
环境:
控制节点:
node-1
node-2
node-3
node-4
node-5
网络节点:
node-17
node-18
node-19
具体工作:
将node-1node-5的dhcp服务迁移到node17->node-19
操作流程
- 分别备份node-17 node-18 node-19的neutron.conf文件。在node-17,18,19执行:
#cd /etc/neutron #cp neutron.conf neutron.conf.bak
- 将node-1的neutron.conf拷贝到node-17,18,19的目录
进入node-1,执行:
#cd /etc/neutron #scp neutron.conf node-17: `pwd` #scp neutron.conf node-18: `pwd` #scp neutron.conf node-19: `pwd`
- 分别重启node-17 18 19的三个相关服务,并设置成开机自启动,查看状态:
#systemctl restart neutron-openvswitch-agent neutron-dhcp-agent neu tron-metadata-agent #systemctl enable neutron-openvswitch-agent neutron-dhcp-agent neutron-metadata-agent #systemctl status neutron-openvswitch-agent neutron-dhcp-agent neutron-metadata-agent
(三个服务的状态都应该是active)
- 分别修改node1->node-5的neutron.conf文件
#cd /etc/neutron.conf #vim neutron.conf
查找 dhcp_agents 将配置文件中的14改成3
保存退出。
- 分别重启node1->node-5的neutron-server服务
#systemctl restart neutron-server
- 分别移除node1->node-5中与dhcp关联的network,以node-1为例:
#source openrc #hostname (返回:node-1.doman.tld) #neutron agent-list --host= node-1.doman.tld –c id –c agent_type –c alive
可以获取到dhcp-agent和metadata-agent的id,如下图
查找与dhcp关联的network
#ip netns|grep dhcp
(执行结果如下图)
分别移除所有与dhcp关联的network
#neutron dhcp-agent-network-remove {dhcp(域ID)} {NETWORK-ID}
具体如下图:
- 分 别停止node-1->node-5的dhcp和metadata服务
#systemctl stop neutron-dhcp-agent neutron-metadata-agent #systemctl disable neutron-dhcp-agent neutron-metedata-agent
- 分别删除node-1->node-5的dhcp和metadata服务
#neutron agent-delete (dhcp-agent-id) #neutron agent-delete (metadata-agent-id)
- 分别测试迁移的dhcp是否网络可通
例:先连接node-17 另开窗口连接node-19
node-17如下操作:
#ip netns|grep dhcp
从network中找一个dhcp id,查看ip地址
#ip netns exec qdhcp-id ip addr
记录ip地址 同样操作在node-19上
#ip netns|grep dhcp #ip netns exec qdhcp-id ip addr #ip netns exec qdhcp-id ip ping node-17-ip
理论是通的
第二次遇到一个问题 dhcp找不到驱动 导致dhcp服务启动失败
解决方案是
在 /etc/neutron/目录下
修改dhcp-agent.ini的配置文件 跟原有的dhcp的配置文件比对 找到有一行关于驱动的差异
不许人间见白头

浙公网安备 33010602011771号