温馨提示:这篇文章已超过443天没有更新,请注意相关的内容是否还可用!
摘要:通过云计算技术,Linux 部署 OVS(Open vSwitch)集群的控制端,实现 OpenFlow 功能。该技术通过集中管理网络流量,提高网络性能和灵活性。Linux 系统作为底层平台,提供强大的计算能力和稳定性。OVS 集群控制端的部署,使得网络管理更加高效,适应大规模数据处理和传输需求。这一技术的应用,有助于推动云计算和网络技术的融合,为企业提供更高效的资源管理和服务。
目录
一、实验
1.环境
2.Linux 部署 OVS 集群(控制端)
3.控制端对接服务端OVS网元
4.服务端OVS添加流表
5.服务端删除OVS
二、问题
1. ODL如何查找已安装插件
2.查看流表显示不全
3.如何删除OVS流表
一、实验
1.环境
(1) 主机
表1 宿主机
主机 | 架构 | 软件 | IP | 网卡 | 备注 |
ovs_controller | 控制端 | karaf 0.7.3 | 192.168.204.63 | 1个NAT网卡 (204网段) | |
ovs_server01 | 服务端 | OpenvSwitch v2.5.1 | 192.168.204.61 | 1个NAT网卡 (204网段), 1个仅主机网卡 (88网段) | 已部署 |
ovs_server02 | 服务端 | OpenvSwitch v2.5.1 | 192.168.204.62 | 1个NAT网卡 (204网段), 1个仅主机网卡 (88网段) | 已部署 |
表2 目标云主机
云主机 | IP | 备注 |
cloudserver01 | 172.16.1.1 | 宿主机ovs_server01 |
cloudserver02 | 172.16.1.2 | 宿主机ovs_server02 |
(2) 查看IP
ovs_controller
ovs_server01
ovs_server02
(3)查看OVS
ovs-vsctl show
ovs_server01
ovs_server02
(4)打印OVS的汇总信息
ovs_server01
ovs-appctl fdb/show ovs01
ovs_server02
ovs-appctl fdb/show ovs02
2.Linux 部署 OVS 集群(控制端)
(1)查阅OpenDaylight
1)下载 https://docs.opendaylight.org/en/latest/downloads.html 2)按照说明 https://docs.opendaylight.org/en/latest/getting-started-guide/installing_opendaylight.html
(2)创建目录
mkdir /opt/java
(3)jre解压
cp server-jre-8u301-linux-x64.tar.gz /opt/java cd /opt/java tar -zxvf server-jre-8u301-linux-x64.tar.gz
(4)修改环境变量
vim /etc/profile …… export JAVA_HOME=/opt/java/jdk1.8.0_301 export JRE_HOME=/opt/java/jdk1.8.0_301 export CLASSPATH=$JRE_HOME/lib/rt.jar:$JRE_HOME/lib/ext export PATH=$PATH:$JRE_HOME/bin
(5)更新环境变量
source /etc/profile
(6)odl解压
unzip karaf-0.7.3.zip
(7)关闭防⽕墙
systemctl stop firewalld.service systemctl disable firewalld.service
(8)开启ODL服务
/root/karaf-0.7.3/bin/karaf
(9)按照特性功能插件
feature:install odl-restconf feature:install odl-l2switch-switch-ui feature:install odl-mdsal-apidocs feature:install odl-dluxapps-applications feature:install odl-dluxapps-yangui feature:install odl-restconf-all
(10)访问
http://192.168.204.63:8181/index.html#/login
(11)登录
账户: admin 密码: admin
进入系统
3.控制端对接服务端OVS网元
(1)服务端添加云交换机
ovs_server01
ovs-vsctl add-br ovs11 ovs-vsctl show
ovs_server02
ovs-vsctl add-br ovs12 ovs-vsctl show
(2)服务端云交换机添加控制器
ovs_server01
ovs-vsctl set-controller ovs11 tcp:192.168.204.63:6633 ovs-vsctl show
ovs_server02
ovs-vsctl set-controller ovs12 tcp:192.168.204.63:6633 ovs-vsctl show
(3)ODL查看
Nodes节点信息
Topology拓扑信息
(4)服务端查看网络信息
ovs_server01的仅主机网卡为ens36
ovs_server02的仅主机网卡为ens36
(5)服务端云交换机添加物理端⼝(仅主机网卡)
ovs_server01
ovs-vsctl add-port ovs11 ens36 ovs-vsctl show
ovs_server02
ovs-vsctl add-port ovs12 ens36 ovs-vsctl show
(6)ODL查看
Nodes节点连接变为2
Topology拓扑信息变为连接状态
(7) 查看OVS流表节点
ovs_server01
ovs-ofctl show ovs11 -O OpenFlow13
ovs_server02
ovs-ofctl show ovs12 -O OpenFlow13
(8) 查看OVS流表信息
ovs_server01
ovs-ofctl dump-flows ovs11 -O OpenFlow13
ovs_server02
ovs-ofctl dump-flows ovs12 -O OpenFlow13
(9)LLDP流量抓包
ovs_server01 的MAC地址为00:0c:29:50:7a:08,openflow流表为52232747528
ovs_server02的MAC地址为 00:0c:29:d5:c1:24 ,openflow流表为52241482020
(9)服务端云交换机添加接口
ovs_server01
ovs-vsctl add-port ovs11 if11 -- set interface if11 type=internal ovs-vsctl show
ovs_server02
ovs-vsctl add-port ovs12 if12 -- set interface if12 type=internal ovs-vsctl show
(9)ODL查看
Nodes节点连接变为3
(10) 查看OVS流表节点
ovs_server01
ovs-ofctl show ovs11 -O OpenFlow13
ovs_server02
ovs-ofctl show ovs12 -O OpenFlow13
(11)cloudserver01云主机修改网卡
进入
已关闭
修改网卡为if11
开机(选择命令行模式)
进入系统
(12)cloudserver02云主机修改网卡
进入
已关闭
修改网卡为if12
开机(选择命令行模式)
进入系统
(13)云主机修改网卡
cloudserver01
sudo ifconfig eth0 172.16.1.1 netmask 255.255.255.0
cloudserver02
sudo ifconfig eth0 172.16.1.2 netmask 255.255.255.0
(14)测试网络
云主机1 ping 云主机2 ,目前不通
4.服务端OVS添加流表
(1) 查看OVS流表节点
ovs_server01
ovs-ofctl show ovs11 -O OpenFlow13
ovs_server02的云主机需要从2口进,1口出
ovs-ofctl show ovs12 -O OpenFlow13
(2)流量分析
表3 流量分析
云主机cloudserver01 | 流向 | 云主机cloudserver01 |
in_port=2,action=output:1 | → | in_port=1,action=output:2 |
in_port=1,action=output:2 | ← | in_port=2,action=output:1 |
(3)服务端添加流表
ovs_server01
ovs-ofctl add-flow ovs11 -O Openflow13 in_port=1,action=output:2 ovs-ofctl add-flow ovs11 -O Openflow13 in_port=2,action=output:1
ovs_server02
ovs-ofctl add-flow ovs12 -O Openflow13 in_port=1,action=output:2 ovs-ofctl add-flow ovs12 -O Openflow13 in_port=2,action=output:1
(3) 查看OVS流表信息
ovs_server01
ovs-ofctl dump-flows ovs11 -O OpenFlow13
ovs_server02
ovs-ofctl dump-flows ovs12 -O OpenFlow13
(4) 测试网络
云主机1 ping 云主机2 ,目前已通
5.服务端删除OVS
(1) 云主机关机
cloudserver01
cloudserver02
(2)云主机切换原网卡
cloudserver01
cloudserver02
(3)服务端删除云交换机
ovs_server01
ovs-vsctl del-br ovs11 ovs-vsctl show
ovs_server02
ovs-vsctl del-br ovs12 ovs-vsctl show
(4)查看ODL
目前为空
二、问题
1. ODL如何查找已安装插件
(1)开启
/root/karaf-0.7.3/bin/karaf
(2)查询
feature:list -i
2.查看流表显示不全
(1)报错
添加2条流表后显示不全
(2)原因分析
ODL未开启。
(3)解决方法
开启ODL:
/root/karaf-0.7.3/bin/karaf
显示成功:
3.如何删除OVS流表
(1)删除
ovs_server01
ovs-ofctl del-flows ovs11 -O Openflow13 in_port=1,out_port=2 ovs-ofctl del-flows ovs11 -O Openflow13 in_port=2,out_port=1
ovs_server02
ovs-ofctl del-flows ovs12 -O Openflow13 in_port=1,out_port=2 ovs-ofctl del-flows ovs12 -O Openflow13 in_port=2,out_port=1
还没有评论,来说两句吧...