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. 移动APP自动化测试框架

    简介 移动APP的UI自动化测试长久以来一直是一个难点,难点在于UI的”变”, 变化导致自动化用例的大量维护.从分层测试的角度,自动化测试应该逐层进行.最大量实现自动化测试的应该是单元测试,最容易实现 ...

  2. 3.php数据类型中NULL,"",0的比较

    <?php //赋值 $some1 = NULL; $some2 = 0; $some3 = ""; //0与NULL比较 echo $some1==$some2; echo ...

  3. pug.compile() will compile the Pug source code into a JavaScript function that takes a data object (called “locals”) as an argument.

    Getting Started – Pug https://pugjs.org/api/getting-started.html GitHub - Tencent/wepy: 小程序组件化开发框架 h ...

  4. mybatis框架(三)

    mybatis框架

  5. 从es中拉取全部数据/大量数据 使用scroll+scan避免深分页

    es一次请求默认返回的数据条数是10条,可以通过设置size参数来控制返回数据的条数: 如果要返回很多数据,可以把size设置的很大,不过elastic search默认size最大不能超过1万. 那 ...

  6. 在VMW里安装Ghost操作系统遇到的问题及解决的办法

    条件:Ghost系列系统镜像文件 遇到的问题:1.导入镜像文件时提示“无法检测此光盘映像中的操作系统”: 2.分区时提示“ezboot kernel not found” 解决办法:1.直接先创建一个 ...

  7. Redis的LRU机制(转)

    原文:Redis的LRU机制 在Redis中,如果设置的maxmemory,那就要配置key的回收机制参数maxmemory-policy,默认volatile-lru,参阅Redis作者的原博客:a ...

  8. Diango思维图

    1,http 2,Django生命周期 3,Django部分命令 4,待续...

  9. springcloud 开发时快速剔除无用服务

    注册中心配置: # 关闭保护机制 eureka.server.enable-self-preservation=false #剔除失效服务间隔 eureka.server.eviction-inter ...

  10. linux svn 命令

    windows下的TortoiseSVN是资源管理器的一个插件,以覆盖图标表示文件状态,几乎所以命令都有图形界面支持,比较好用,这里就不多说.主要说说linux下svn的使用,因为linux下大部分的 ...