Openstack Multihost External Network 部署

转载自:http://blog.csdn.net/xuensong520/article/details/12166859




背景:

 

目前openstack的网络架构如下:

 

 

Router一个接口连接外部网络,另外一个接口连接网络租户内部创建的私有网络,实际的生产环境中会遇到一些问题,上图中可以看到只有一个外部网络,所有租户均共享这一个外部网络进行公网访问,我们每次创建一个虚拟机均需要给其分配一个外网IP,但我们的外网IP地址的数量是有限的。目前的环境中使用的24位,只有254个可用地址,当虚拟机数量超过这个数目,我们将面临地址枯竭的状态,我们需要增加多个外部网络来解决这个问题。下面记录了整个过程。

 

一、增加一个桥接网络

 

在原有的网络节点增加一个网卡连接外部网络即可。

1、增加网桥

ovs-vsctl add-br br-ex-2             # br-ex 用于从互联网上访问 vm
ovs-vsctl add-port br-ex-2 eth2      # br-ex 桥接到 eth2

2、修改网卡配置

 

cat /etc/network/interfaces

# This file describes network interfaces avaiulable on your system

# and how to activate them. For more information, see interfaces(5).

# Modified by convert_static.sh.

auto lo

iface lo inet loopback

 

auto eth0

iface eth0 inet manual

        up ifconfig $IFACE 0.0.0.0 up

        down ifconfig $IFACE down

 

auto br-ex

iface br-ex inet static

address 192.168.96.12

#hwaddress ether 90:b1:1c:20:5d:34 

netmask 255.255.255.0

gateway 192.168.96.1

dns-nameservers 192.168.75.29

 

auto eth1

iface eth1 inet static

address 10.0.0.12

netmask 255.255.255.0

 

auto eth2

iface eth2 inet manual

        up ifconfig $IFACE 0.0.0.0 up

        down ifconfig $IFACE down

 

auto br-ex-2

iface br-ex-2 inet static

address 192.168.80.12

netmask 255.255.255.0

 

 

重启网卡

/etc/init.d/networking restart

        如有报错,可重启系统解决。

 查看桥接的网络

ovs-vsctl list-br
ovs-vsctl show

 

二、创建l3-agent进程

 

quantum网络里,l3-agent负责外网地址的连通性,一个l3-agent对应一个external网络,默认会有一个l3-agent进程,如果我们想增加一个external网络,就需要增加一个l3-agent

1、  创建配置文件

 

# cd /etc/quantum

#cp l3_agent.ini l3_agent-2.ini   ##创建一个l3-agent配置

 

修改以下几个参数:

 

host = network02

external_network_bridge = br-ex-2

use_namespaces = True

handle_internal_only_routers = False

gateway_external_network_id = 1c957a0f-3582-4e95-b8a2-f23af5246060

 

 

2、  修改所有节点/etc/quantum/quantum.conf,添加下面的参数:

 

allow_overlapping_ips = True

 

3、  开启/etc/quantum/dhcp_agent.ininamespaces

use_namespaces = True

4、  修改/etc/hosts文件,增加2个主机名解析

 

192.168.96.12   network01

192.168.96.12   network02

 

另外在l3_agent.ini文件中需要增加一个参数:

Host=network01

 

L3_agent-2.ini文件的这个参数在上面已经增加。

 

这个参数的配置很重要,一开始就是因为没有做在这个配置,导致另外一个l3_agent 一直无法启动。

5、  启动l3_agent

 

# python /usr/bin/quantum-l3-agent --config-file /etc/quantum/quantum.conf --config-file=/etc/quantum/l3_agent-2.ini

通过上面的命令可以启动另外一个l3_agent进程。

6、  查看l3_agent进程状态:

 

 

 

可以看到启动了2L3  agent进程。

 

三、L3 agentrouter关联

 

#quantum  l3-agent-router-add agent_id router_name

 

我们可能会看到下面的报错信息:
Failed scheduling router b6146778-1a07-4518-82a5-480f203bc3fe to the L3
Agent 0d979401-8113-4e6e-9970-8ba46a7343e5.

这是因为我们创建的路由器默认被关联到了第一个L 3 agent上,需要通过下面的命令删除之前的关联信息即可:

#quantum  l3-agent-router-remove agent_id router_name

 

关联成功后再次启动L3 agent进程:

 

# python /usr/bin/quantum-l3-agent --config-file /etc/quantum/quantum.conf --config-file=/etc/quantum/l3_agent-2.ini

执行完这个命令会一直在shell终端中打印debug信息,我们可以增加&使其在后台运行,并使用nohup工具,这样当我们关闭终端shell时,该进程也不会结束。

 四、其他查看命令

 

查看routerl3agent对应关系

 quantum l3-agent-list-hosting-router router1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值