4个节点(controller, network,2 compute nodes)

1.0   on the network node

1.1

set –I ‘s/start] on/#start\ on/g’ /etc/init/neutron-dhcp-agent.conf

1.2   Stop dhcp agent”
service neutron-dhcpagent stop

2.0  
on the compute node1

2.1  
install the dhcp agent:
apt-get install neutron-dhcp-agent -y

2.2  
mv /etc/neutron/dhcp_agent.ini  /etc/neutron/dhcp_agent.ini.bk

2.3  
拷贝网络节点的配置到计算节点node1
mv network:/etc/neutron/dhcp_agent.ini 
/etc/neutron/dhcp_agent.ini.

2.4  
启动node1上的dhcp agent
service neutron-dhcp-agent restart

3.0  
On compute node 2

3.1  
和node1一样,同样在node2上启动dhcp-agent

4.0  
On the controller node

4.1  
查看agent的状态:neutron agent-list

4.2  
创建network
“private”和相应的subnet
neutron net-create private
neutron subnet-create –name private-subnet private 10.0.0.0/29

4.3  
创建network
“private1”和相应的subnet
neutron net-create private1
neutron subnet-create –name private1-subnet private1 10.0.1.0/29

4.4  
在private上启动一个instance,private1上启动2个instance
nova boot –image cirros-qcow2 –flavor 1 –nic net-id=<private net is>
private one

nova boot –image cirros-qcow2 –flavor 1 –nic
net-id=<private1 net is> private1 two

nova boot –image cirros-qcow2 –flavor 1 –nic
net-id=<private1 net is> private1 three

4.5  
nova list

5.0  
on node1 和node2

5.1  
ip netns
可以看到network namespaces

6.0  
on controller node

6.1  
查找dhcp agent 的ID

6.2  
查找那个dhcp agent 服务private 和private1
neutron dhcp-agent-list-hosting-net private
neutron dhcp-agent-list-hosting-net private1

6.3  
或者查找private(1)上都有哪些dhcp agent

Neutron net-list-on-dhcp-agent <dhcp agent ID on
node1>

Neutron net-list-on-dhcp-agent <dhcp agent ID on node2>

6.4  
检查2个dhcp agent

Neutron agent-show  <dhcp agent ID on node1>

Neutron agent-show 
<dhcp agent ID on node2>
可以看到neutron 会track每个agent的heartbeat信息

6.5   为每个网络private(1) 部署 DHCP HA(需要为每个network添加?)

Neutron dhcp-agent-network-add  <dhcp agent ID on node2> private1

Neutron dhcp-agent-network-add  <dhcp agent ID on node1> private2

6.6  
验证每个网络都有2个agent

neutron dhcp-agent-list-hosting-net private
neutron dhcp-agent-list-hosting-net private1

6.7  
log in instance3,通过node1(2)上的netns

ip netns exec <qdhcp-network id> ssh cirros@instance3

6.8  
停掉node2 上的agent

Killall dnsmasq

Service neutron-dhcp-agent stop

6.9  
用udhcpc验证instance3依然可以得到IP

ip netns exec <qdhcp-network id> ssh cirros@instance3

  • on instance3

sudo udhcpc

7.0 
on controller and node1(2)

7.1 移除已经stop的node2上的agent

Neutron agent-delete <dhcp agent ID on node2>

7.2 验证node2上的agent不在

Neutron agent-list

7.3 重启node2上的agent

Service neutron-dhcp-agent restart

7.4 验证node2的agent又回来了

Neutron agent-list

neutron dhcp ha 实验的更多相关文章

  1. neutron routers HA 实验

    测试环境: 5个节点(( controller,2  network,2 compute nodes)) 采用VXLAN+Linux Bridge 1. 确定所有的neutron和nova服务都在运行 ...

  2. openstack neutron L3 HA

    作者:Liping Mao  发表于:2014-08-20 版权声明:能够随意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 近期Assaf Muller写了一篇关于Neutro ...

  3. neutron dhcp

    neutron dhcp 采用dnsmasq服务来实现.和传统的 dhcp 一样, dhcp请求也分为4步 The client sends a discover ("I'm a clien ...

  4. [DHCP服务]——一个验证DHCP原理实验(VMware)

    大致实验拓扑图 DHCP Server端的配置 1. 安装DHCP # yum -y install dhcp 2. 拷贝配置文件 # /dhcpd.conf.sample /etc/dhcp/dhc ...

  5. 【伊利丹】Hadoop2.0 NN HA实验记录

    1.关于Hadoop2.2.0中HA的介绍 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxNDUxMjEyNA==/font/5a6L5L2T/fo ...

  6. 三层交换机DHCP配置实验(基于Cisco模拟器)

    实验设备: 三层交换机一台,主机若干台,直通线若干 实验目的: 实现客户机从DHCP(动态主机配置协议)服务器上获取动态IP地址. 实验步骤: 1.划分VLAN Switch>enable Sw ...

  7. Neutron :默认通过 dnsmasq 实现 DHCP 功能----Namespace

    Neutron 提供 DHCP 服务的组件是 DHCP agent. DHCP agent 在网络节点运行上,默认通过 dnsmasq 实现 DHCP 功能.   配置 DHCP agent DHCP ...

  8. Neutron 不健全的HA ROUTER

    首先介绍下HA,所谓的HA就是高可用性,但HA有双主.主备两种工作模式,其中主备模式又包含抢占与 非抢占两种方式,而Neutron Router采用的无疑是HA中最简单的工作方式非抢占主备模式. HA ...

  9. 【甘道夫】NN HA 对于 Client 透明的实验

    之前转载过一篇[伊利丹]写的NN HA实验记录.该博客描写叙述了主备NN透明切换的过程,也就是说,当主NN挂掉后,自己主动将备NN切换为主NN了,Hadoop集群正常执行. 今天我继续做了一个实验.目 ...

随机推荐

  1. HTML Colors

    https://www.w3schools.com/html/html_colors.asp <!DOCTYPE html> <html> <body> #169f ...

  2. Python2 显示 unicode

    用户想要看的是 u'中文' 而不是 u'\u4e2d\u6587',但是在 Python2 中有时并不能实现. 转译 转义字符是这样一个字符,标志着在一个字符序列中出现在它之后的后续几个字符采取一种替 ...

  3. android studio 新建项目 界面一直停在 【“building ‘ 项目名’ gradle project info”】

    安装了android studio 之后,按照上文所述的那篇博文下载安装gradle,配置环境变量, 启动android studio,新建项目,发现还是新建不了,界面一直停在 ["buil ...

  4. JavaScript四种数值取整方法

    一.Math.trunc() 1.定义 Math.trunc()方法去除数字的小数部分,保留整数部分. 2.语法 Math.trunc(value) 3.示例 console.log(Math.tru ...

  5. Java创建Timestamp的几种方式

    1.java创建Timestamp的几种方式 Timestamp time1 = new Timestamp(System.currentTimeMillis()); Timestamp time2 ...

  6. String trim 坑 对于ascii码为160的去不掉

    大家在使用string   的trim去除空格的时候,要注意一个坑呀,对于ascii码为160的去不掉 import java.util.Arrays; /** * Created by bjchen ...

  7. mysql建立索引 删除索引

    建立索引 1.添加PRIMARY KEY(主键索引) mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 2.添加UNIQUE ...

  8. django settings相关配置

    settings """ Django settings for mysite project. Generated by 'django-admin startproj ...

  9. python16_day12【html、css】

    一.HTML 所有HTML标签操作 <!DOCTYPE html> <html lang="en"> <head> <!--编码--> ...

  10. Java分布式:JWT(JSON Web Tokens)

    Java分布式:JWT(JSON Web Tokens) 0.优势 Session方式存储用户状态占用大量服务器内存.一般而言,大型应用还需要借助一些KV数据库和一系列缓存机制来实现Session的存 ...