OpenDaylight VTN管理OpenStack网络的环境搭建与验证

编者按:根据OpenDaylight的wiki实现VTN与OpenStack结合使用网络虚拟化的功能。VTN功能可以支持多个OpenStack节点,可以部署多个OpenStack计算节点。在OpenDaylight VTN与OpenStack集成中,VTN Manager主要为OpenStack作为网络服务提供商进行工作,让OpenStack在完全的OpenFlow环境中运行。

OpenDaylight-VTN intergrate OpenStack NFV

在管理平面,OpenDaylight控制器、OpenStack节点和OpenFlow交换机之间能够互相通信。在数据平面,运行在OpenStack节点的虚拟交换机通过一个物理或逻辑的端口与OpenFlow交换机通信。但是OpenFlow交换机不是强制性的,可以直接连接到Open vSwitch。

1. 环境配置

odl与OpenStack架构

环境部署一个OpenStack控制节点和OpenStack计算节点,主要准备如下:
1.在两台服务器上安装Ubuntu LTS14.04系统,用来部署openstack控制节点和计算节点;
2.安装前,Ubuntu新建立一个用户“stack”,在stack中获取并运行devstack计算虚拟化;
3.OpenDaylight所在服务器使用CentOS6.5系统;
4.进行用户配置和网络配置。

主要逻辑配置如图所示:

逻辑拓扑

1.1 用户设置devstack

1.登录服务器,关闭防火墙

2.安装依赖包:

3.编辑/etc/sudoers文件:

4.控制节点:192.168.5.203;计算节点:192.168.5.83;OpenDaylight控制器:192.168.5.23。

1.2 网络设置

编辑/etc/network/interfaces 文件,进行网络配置:

注:配置eth0用来连接ODL控制器,eth1不用强制进行配置,进入系统后,可进行手动配置。

1.3 ODL设置和运行

VTN使用vtn.ini文件配置配置参数与openstack进行对接集成。在OpenDaylight的configuration 目录下,手动创建vtn.ini文件并添加以下内容:

注:portname需配置正确,一旦配置错误,OpenDaylight控制器将无法转发数据包;

配置的参数基于用户环境:
Bridgename:Open vSwitch里面桥的名称,通过在OpenDaylight控制器中创建,且创建名称必须是br-int,stack.sh脚本中直接执行;
Portname:端口的名称,将在Open vSwitch的vbridge里创建,这个必须与在openstack用于互连数据层面的节点名称相同,默认地,如果vtn.ini没有被创建,VTN使用ens33作为端口名称;
Protocols:用于OpenFlow控制器与交换机之间的通信,值为OpenFlow13或者OpenFlow10。
Failmode:standalone或者secure,一般使用secure,屏蔽传统二层交换机。

1.4 启动OpenDaylight控制器

启动OpenDaylight控制器及VTN虚拟化管理功能主要包括两个步骤,一是安装VTN coordinator工具,二是在OpenDaylight的karaf容器中安装VTN Manager组件。

1.安装VTN coordinator:

建立数据库:

2.安装vtn manager:
启动OpenDaylight控制器并安装VTN Manager组件:

3.启动VTN coordinator:

注:OpenDaylight启动后请确保监听端口6633、6653、6640和8080。

2 Devstack 安装

2.1 安装devstack(所有节点):

获取devstack代码:

git Juno

2.2 控制节点:

在控制节点192.168.5.203的devstack目录下创建local.conf文件,并添加以下内容:

注:确保以上的地址与实际环境相符。

在devstack目录下执行stack.sh编译计算节点:

验证控制节点:
1.Stack.sh执行后查看界面http://192.168.5.203:8080/;
2.sudo ovs-vsctl show查看br-int桥是否被创建,正确结果如下:

2.3 计算节点:

在计算节点192.168.5.83的devstack目录下创建local.conf文件,并添加以下内容:

执行stack.sh编译节点:

通过sudo ovs-vsctl show命令查看br-int桥是否被创建来验证计算节点,正确结果与控制节点是相似的。
以上执行正确后,在OpenStack界面创建云主机,查看OpenDaylight DLUX GUI界面http://192.168.5.23:8181/dlux/index.html,交换机、端口、拓扑都可以正确显示,如图所示:

opendaylight拓扑

有一些版本的交换机,当有table-miss时会drop数据包,需要在交换机中添加流表:

CentOS系统关闭防火墙,否则远程机器无法访问OpenDaylight界面:

防火墙关闭

3 VTN验证操作

3.1 VTN虚拟化验证

在安装VTN Manager之前,OpenStack虚拟机被OpenDaylight管理控制可进行通信,但一旦VTN Manager安装成功实现虚拟化功能后,虚拟机将不再能通信。

3.2 VTN流表操作验证

OpenDaylight VTN Manager及coordinator安装成功后进行一系列的操作实行虚拟机通信。

创建控制器:

创建VTN:

创建vBridge:

创建vBridge的端口:

创建端口映射:

创建flowlist:

创建Flowlistentry:

创建vBridge端口的Flowfilter:

添加Pass流表:

流表添加成功后,虚拟机可通信。

虚拟机ping通

但是在上文实现中,OpenDaylight 安装VTN Manager功能实现虚拟化时,有时候虚拟化功能并没有生效,具体原因并不可知,在这里抛出来看大家有没有遇到,希望能够解答!

4 参考链接:

1.https://wiki.opendaylight.org/view/Release/Helium/VTN/User_Guide/OpenStack_Support
2.https://wiki.opendaylight.org/view/Release/Helium/VTN/Installation_Guide
3.https://wiki.opendaylight.org/view/OpenDaylight_Virtual_Tenant_Network_(VTN):Scripts:devstack

以上有不足或者是有错误的地方,还请指正!


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/7469.html
分享到:
相关文章
条评论

登录后才可以评论

君子一诺 发表于15-01-22
18