1.OVN简介
OVN是基于OVS开发的,相比于OVS提供了更多的功能和控制灵活性,在性能层面也有所提升,同时也兼容OVS。
相比于OVS已经支持了很多功能:
- Logical switches:逻辑交换机,用来做二层转发。
- L2/L3/L4 ACLs:二到四层的 ACL,可以根据报文的 MAC 地址,IP 地址,端口号来做访问控制。
- Logical routers:逻辑路由器,分布式的,用来做三层转发。
- Multiple tunnel overlays:支持多种隧道封装技术,有 Geneve,STT 和 VXLAN。
- TOR switch or software logical switch gateways:支持使用硬件 TOR switch 或者软件逻辑 switch 当作网关来连接物理网络和虚拟网络。
2.OVN的架构

3.OVN中的角色
- OVN Central
对接云管理平台。中心节点运行着OVN 北向数据库和OVN南向数据库。OVN北向数据库,用于描述上层的逻辑网络组件,比如逻辑交换机/逻辑端口。南向数据库,其将北向数据库的逻辑网络数据格式转换为物理网络数据格式并进行存储。 - OVN Host
所有提供虚拟机或虚拟网络的节点。OVN Host 运行着 “chassis controller” ,它上连OVN南向数据库并作为其记录的物理网络信息授权来源,下接OVS 并成为其openflow 控制器。
4.OVN和OVS的对比

5.OVN实践
4.1 环境准备
硬件
node3:192.168.56.106 OVN Central
node4:192.168.56.107 OVN Host
node5:192.168.56.108 OVN Host
#初始化操作,同时修改,/etc/sysconfig/selinux -> SELINUX=disabled
[root@node3 ~]# setenforce 0
[root@node3 ~]# systemctl stop firewalld
[root@node3 ~]# systemctl disable firewalld
软件
[root@node3 ovn]# ls -l
total 66436
-rw-r--r--. 1 root root 153644 Aug 13 2019 openvswitch-devel-2.11.0-4.el7.x86_64.rpm
-rw-r--r--. 1 root root 25268 Aug 13 2019 openvswitch-ipsec-2.11.0-4.el7.x86_64.rpm
-rw-r--r--. 1 root root 94420 Aug 13 2019 openvswitch-ovn-central-2.11.0-4.el7.x86_64.rpm
-rw-r--r--. 1 root root 217872 Aug 13 2019 openvswitch-ovn-common-2.11.0-4.el7.x86_64.rpm
-rw-r--r--. 1 root root 85344 Aug 13 2019 openvswitch-ovn-host-2.11.0-4.el7.x86_64.rpm
-rw-r--r--. 1 root root 34068 Aug 13 2019 openvswitch-ovn-vtep-2.11.0-4.el7.x86_64.rpm
-rw-r--r--. 1 root root 67168241 Aug 7 17:02 operator-sdk-v0.9.0-x86_64-linux-gnu
-rw-r--r--. 1 root root 232356 Aug 13 2019 python-openvswitch-2.11.0-4.el7.x86_64.rpm
4.2 安装
central节点的安装
[root@node3 ovn]# yum install dpdk -y
[root@node3 ovn]# rpm -ivh openvswitch-2.11.0-4.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:openvswitch-1:2.11.0-4.el7 ################################# [100%]
[root@node3 ovn]# rpm -ivh openvswitch-ovn-common-2.11.0-4.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:openvswitch-ovn-common-1:2.11.0-4################################# [100%]
[root@node3 ovn]# rpm -ivh openvswitch-ovn-host-2.11.0-4.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:openvswitch-ovn-host-1:2.11.0-4.e################################# [100%]
[root@node3 ovn]# rpm -ivh openvswitch-ovn-vtep-2.11.0-4.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:openvswitch-ovn-vtep-1:2.11.0-4.e################################# [100%]
[root@node3 ovn]# rpm -ivh openvswitch-devel-2.11.0-4.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:openvswitch-devel-1:2.11.0-4.el7 ################################# [100%]
[root@node3 ovn]# rpm -ivh python-openvswitch-2.11.0-4.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:python-openvswitch-1:2.11.0-4.el7################################# [100%]
[root@node3 ovn]# rpm -ivh openvswitch-ipsec-2.11.0-4.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:openvswitch-ipsec-1:2.11.0-4.el7 ################################# [100%]
[root@node3 ovn]# rpm -ivh openvswitch-ovn-central-2.11.0-4.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:openvswitch-ovn-central-1:2.11.0-################################# [100%]
#安装目录为/usr/share/openvswitch,为了方便加入profile
#export PATH=$PATH:/usr/share/openvswitch/scripts
#创建工作目录
[root@node3 ovn]# mkdir /var/run/openvswitch
[root@node3 ovn]# mkdir /usr/local/etc/openvswitc
#1.控制节点启动(此处实际上是OVS的相关组件ovsdb-server,ovs-vswitchd)
[root@node3 scripts]# ovs-ctl start --system-id=random
Starting ovsdb-server [ OK ]
Configuring Open vSwitch system IDs [ OK ]
Starting ovs-vswitchd [ OK ]
Enabling remote OVSDB managers [ OK ]
[root@node3 scripts]# ovs-ctl status
ovsdb-server is running with pid 27999
ovs-vswitchd is running with pid 28017
[root@node3 scripts]# ovn-ctl start_northd
#2.启动控制节点的northd,属于OVN侧组件
/etc/openvswitch/ovnnb_db.db does not exist ... (warning).
Creating empty database /etc/openvswitch/ovnnb_db.db [ OK ]
/etc/openvswitch/ovnsb_db.db does not exist ... (warning).
Creating empty database /etc/openvswitch/ovnsb_db.db [ OK ]
Starting ovn-northd [ OK ]
网友评论