Ubuntu 20.04 上 OpenStack 学习之 OVN : L2网络 ( Logical switches 逻辑交换机)
admin
2024-03-07 01:51:24
0

OVN Manual install & Configuration

Open vSwitch 官网

参考
OVN学习(一)

OVN实战一之GNS3操作指南及OVN入门

简单理解和知识

  1. 按照 OVN Manual install & Configuration 分别叫做 Controller 节点和 Compute 节点 ,其他一般叫做 Central 节点和 Node 或 Host 节点

  2. Open vSwitch(OVS)是一款开源的“虚拟交换机”

  3. Overlay协议方面它支持GRE, VXLAN, STT, Geneve四种主流Overlay数据包

  4. 2015年OVS社区宣布了一个子项目——Open Virtual Network(OVN)。它旨在为OVS提供一个控制平面,通过一个统一的网络模型为容器、虚拟机提供相同的网络服务。

  5. OVN的功能

     L2功能,叫Logical switches(逻辑交换机)L3功能,叫Logical Router(逻辑路由器)ACL,就像我们物理交换机可以配置ACL,OVN可以针对逻辑交换机添加ACLNAT,SNAT、DNAT都支持Load Balancer,支持面向内部的负载均衡和提供外部访问的负载均衡
    

学习环境

学习 OpenStack

2 个 Hyper-V 虚拟机

  1. Controller 节点 : Ubuntu 20.04
    203.0.113.101 /24 ( 网关:203.0.113.1 )

  2. Compute 节点 :Ubuntu 20.04
    203.0.113.103 /24 ( 网关:203.0.113.1 )

本文目的只在理解 Open vSwitch ,不在配置OpenStack

apt 安装

Ubuntu 20.04 上学习Open vSwitch :VxLAN
简单抄录一下

apt install openvswitch-switch

apt install python3-pip

pip3 install networking-ovn==4.0.4

apt install ovn-central ovn-common ovn-host

配置 OVN 2 L2 网络

  1. 在 Controller 节点 ( 203.0.113.101 )上

    ovn-nbctl set-connection ptcp:6641:203.0.113.101
    ovn-sbctl set-connection ptcp:6642:203.0.113.101

    root@ubuntu2004-101:/home/dhbm# netstat -lntp

     Active Internet connections (only servers)Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    tcp        0      0 203.0.113.101:6641      0.0.0.0:*               LISTEN      820/ovsdb-server    tcp        0      0 203.0.113.101:6642      0.0.0.0:*               LISTEN      821/ovsdb-server    ......
    

    ovs-vsctl set open . external-ids:ovn-remote=tcp:203.0.113.101:6642
    ovs-vsctl set open . external-ids:ovn-encap-type=geneve
    ovs-vsctl set open . external-ids:ovn-encap-ip=203.0.113.101

  2. 在 Compute 节点 ( 203.0.113.103 )上

    ovs-vsctl set open . external-ids:ovn-remote=tcp:203.0.113.101:6642
    ovs-vsctl set open . external-ids:ovn-encap-type=geneve
    ovs-vsctl set open . external-ids:ovn-encap-ip=203.0.113.103

    root@ubuntu2004-103:/home/dhbm# netstat -antp |grep 6642

     tcp        0      0 203.0.113.103:53342     203.0.113.101:6642      ESTABLISHED 948/ovn-controller 
    
  3. 网络拓扑

待补充

构建 L2 网络 (逻辑交换机)

  1. 查询 203.0.113.101 和 203.0.113.103 的 eth1 网卡 mac 地址,后续需要用到

root@ubuntu2004-101:/home/dhbm# ip a

3: eth1:  mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:15:5d:5a:a6:91 brd ff:ff:ff:ff:ff:ffinet 203.0.113.101/24 brd 203.0.113.255 scope global eth1

root@ubuntu2004-103:/home/dhbm# ip a

3: eth1:  mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:15:5d:5a:a6:92 brd ff:ff:ff:ff:ff:ffinet 203.0.113.103/24 brd 203.0.113.255 scope global eth1valid_lft forever preferred_lft forever
  1. 在 Controller 节点 ( 203.0.113.101 )上
    创建一个逻辑交换机,然后添加两个交换机端口,并为端口设置物理地址,分别对应 2 个节点服务器上的 eth1 网卡

    在 OpenStack 中,这 2 个 eth1 网卡,充当了 Provider 角色,为每一个 instance ( 虚拟机 ) 提供Provider network 和 Self-service network 地址

    1). 创建 logical switch

     root@ubuntu2004-101:/home/dhbm# ovn-nbctl ls-add ls-test
    

    2). 第一个端口 ( mac 地址 00:15:5d:5a:a6:91)

     root@ubuntu2004-101:/home/dhbm# ovn-nbctl lsp-add ls-test lsport-101root@ubuntu2004-101:/home/dhbm# ovn-nbctl lsp-set-addresses lsport-101 00:15:5d:5a:a6:91root@ubuntu2004-101:/home/dhbm# ovn-nbctl lsp-set-port-security lsport-101 00:15:5d:5a:a6:91
    

    3). 第二个 ( mac 地址 00:15:5d:5a:a6:92)

     root@ubuntu2004-101:/home/dhbm# ovn-nbctl lsp-add ls-test lsport-103root@ubuntu2004-101:/home/dhbm# ovn-nbctl lsp-set-addresses lsport-103 00:15:5d:5a:a6:92root@ubuntu2004-101:/home/dhbm# ovn-nbctl lsp-set-port-security lsport-103 00:15:5d:5a:a6:92
    
  2. 查看确认
    root@ubuntu2004-101:/home/dhbm# ovn-nbctl show

     switch 9d86d6cb-f4d9-4969-b675-e6becddf52da (ls-test)port lsport-103addresses: ["00:15:5d:5a:a6:92"]port lsport-101addresses: ["00:15:5d:5a:a6:91"]
    

    root@ubuntu2004-101:/home/dhbm# ovn-sbctl show

     Chassis "cc2e2b70-3a89-4dd5-b53c-71e9116d687a"hostname: ubuntu2004-101Encap geneveip: "203.0.113.101"options: {csum="true"}Port_Binding lsport-101Chassis "c5ea0556-ef1a-4d7f-a5ff-cf1cc52e4389"hostname: ubuntu2004-101Encap geneveip: "203.0.113.103"options: {csum="true"}Port_Binding lsport-103
    

模拟伪造虚拟机

这个相当于 OpenStack 中 Launch an instance

通过名称空间将全局系统资源包装在一个抽象中,使名称空间中的进程看起来拥有自己的全局资源的独立实例

详细解读Linux网络命名空间,veth, birdge与路由

以上构建的是 L2 逻辑交换机,所以,虚拟机只能处于同一个网段 10.0.0.0/24

  1. 在 Controller 节点 ( 203.0.113.101 )上模拟一个虚拟机:vm1-101,并将它的网卡 link 到上一步创建的交换机端口 lsport-101 (address 00:15:5d:5a:a6:91),分配内网地址: 10.0.0.101/24

     # ip netns add vm1-101# ovs-vsctl add-port br-int vm1-101 -- set interface vm1-101 type=internal# ip link set vm1-101 netns vm1-101# ip netns exec vm1-101 ip link set vm1-101 address 00:15:5d:5a:a6:91# ip netns exec vm1-101 ip addr add 10.0.0.11/24 dev vm1-101# ip netns exec vm1-101 ip link set vm1-101 up# ovs-vsctl set Interface vm1-101 external_ids:iface-id=lsport-101# ovs-vsctl set Interface vm1-101 external_ids:iface-id=lsport-101
    

2, 查看虚拟机 vm1-101 地址信息
root@ubuntu2004-101:/home/dhbm# ip netns exec vm1-101 ip addr show

	1: lo:  mtu 65536 qdisc noop state DOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:007: vm1-101:  mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000link/ether 00:15:5d:5a:a6:91 brd ff:ff:ff:ff:ff:ffinet 10.0.0.101/24 scope global vm1-101valid_lft forever preferred_lft foreverinet6 fe80::215:5dff:fe5a:a691/64 scope link valid_lft forever preferred_lft forever
  1. 在 compute 节点 ( 203.0.113.103 )上模拟一个虚拟机:vm1-103,并将它的网卡 link 到上一步创建的交换机端口 lsport-103 (address 00:15:5d:5a:a6:92),分配内网地址: 10.0.0.101/24

     # ip netns add vm1-103# ovs-vsctl add-port br-int vm1-103 -- set interface vm1-103 type=internal# ip link set vm1-103 netns vm1-103# ip netns exec vm1-103 ip link set vm1-103 address 00:15:5d:5a:a6:92# ip netns exec vm1-103 ip addr add 10.0.0.103/24 dev vm1-103# ip netns exec vm1-103 ip link set vm1-103 up# ovs-vsctl set Interface vm1-103 external_ids:iface-id=lsport-103
    
  2. 查看虚拟机 vm1-103 地址信息

    root@ubuntu2004-103:/home/dhbm# ip netns exec vm1-103 ip addr show

     1: lo:  mtu 65536 qdisc noop state DOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:007: vm1-103:  mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000link/ether 00:15:5d:5a:a6:92 brd ff:ff:ff:ff:ff:ffinet 10.0.0.103/24 scope global vm1-103valid_lft forever preferred_lft foreverinet6 fe80::215:5dff:fe5a:a692/64 scope link valid_lft forever preferred_lft forever
    

虚拟机之间连通性测试

这个相当于 OpenStack 中各个 instance 之间互相连通和访问

  1. 从 vm1-101 ping vm1-103 的 IP

root@ubuntu2004-101:/home/dhbm# ip netns exec vm1-101 ping -c 2 10.0.103

	PING 10.0.103 (10.0.0.103) 56(84) bytes of data.64 bytes from 10.0.0.103: icmp_seq=1 ttl=64 time=1.64 ms64 bytes from 10.0.0.103: icmp_seq=2 ttl=64 time=0.433 ms--- 10.0.103 ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 1002msrtt min/avg/max/mdev = 0.433/1.038/1.644/0.605 ms
  1. 从 vm1-103 ping vm1-101 的 IP

    root@ubuntu2004-103:/home/dhbm# ip netns exec vm1-103 ping -c 2 10.0.101

     PING 10.0.101 (10.0.0.101) 56(84) bytes of data.64 bytes from 10.0.0.101: icmp_seq=1 ttl=64 time=1.56 ms64 bytes from 10.0.0.101: icmp_seq=2 ttl=64 time=0.425 ms--- 10.0.101 ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 1002msrtt min/avg/max/mdev = 0.425/0.994/1.564/0.569 ms
    

相关内容

热门资讯

什么是龙娘客 什么是龙娘客一个人骂另一个人说是龙娘客一样的这个事青田话。。。。就是说他像中年妇女,婆婆妈妈
完美国际高手请来看看 完美国际高手请来看看用G时,最好用360保险箱保护起来……
语言 用韩文怎么说 语言 用韩文怎么说语言 用韩文怎么说【中文】:语言【韩文】:말/언어【罗马音标】:Mal /Eon ...
完美世界里修真是什么意思? 完美世界里修真是什么意思?完美世界离得修真是一个修行术语,说白了包括打怪升级、系统任务、交友探险等等...
一个少年的求助! 一个少年的求助!乐观二字最重要,积极对待生命!!!我太同情你和你的妈妈了....我觉得你应该如实告诉...
《临界·爵迹》出完了吗 《临界·爵迹》出完了吗临界爵迹是出完了,接下来是《爵迹·风津道》,都是爵迹系列的,有好几本临界爵迹完...
我似乎能看懂别人的心思 我似乎能看懂别人的心思你好,那说明你能通过一些细节(说话,动作,表情)慎扰链揣摩人意,观察比较敏锐,...
我听见别人咀嚼的声音就特别烦躁 我听见别人咀嚼的声音就特别烦躁是心理有什么问题吗就是咀嚼和吞咽的声音,我一听就巨烦.有什么解决的办法...
如何解落降头 如何解落降头看一些佛教之类的书,能对你有帮助要自己认真做事,不要管别人的评论,没有人向你施了降头。戴...
赛尔号时空密码 从那里来?还有... 赛尔号时空密码 从那里来?还有那个精元是什么?精细!!要打精灵王6-9次系统就会给你的,精元.......
苏的拼音是什么 苏的拼音是什么我问的字是不苏,但我也不知道为什么一写出来就成了苏了,那个字是一个更右边半包了一个生字...
皇马哪一年的阵容中有齐达内,罗... 皇马哪一年的阵容中有齐达内,罗纳尔多,贝克汉姆,劳尔和欧文?差不多是2002年吧!2004-2005...
现在已经拍成了电影的《哈利波特... 现在已经拍成了电影的《哈利波特》一共拍了几集,分别叫什么?电影啊,不是小说!谢谢!是不是有一部《哈利...
关于母爱父爱好句好段 关于母爱父爱好句好段我急需!帮帮忙,大哥哥大姐姐母爱是迷惘时苦口婆心的规劝;母爱是远行时一声殷切的叮...
那位书友给推荐几本好看的玄幻小... 那位书友给推荐几本好看的玄幻小说?最好不是穿越的。不要推荐那种主人物开始就无敌了,所有美女都喜欢他。...
主角无敌重生小说 主角无敌重生小说主角要成长很快的 或无敌的注意我 要的是重生小说 字最少100W的好的话 我会...
《重生》作为《白夜追凶》的兄弟... 《重生》作为《白夜追凶》的兄弟篇,重生是白夜追凶的延续吗?好像看过几集重生,没啥感觉,跟白夜追凶差很...
洛克王国里洛克大航海的海盗旗如... 洛克王国里洛克大航海的海盗旗如何取得洛克王国海盗旗怎样得?洛克王国海盗旗有甚么用?答:洛克王国海盗旗...
怎样画科幻画?特别是画外太空旅... 怎样画科幻画?特别是画外太空旅行,星球光环,飞船怎样画? 急用!!!快啊!我马上就要交啦!!用蜡笔画...
关于初中中秋的手抄报 初中中秋... 关于初中中秋的手抄报 初中中秋节手抄报初中生关于中秋节水彩笔手抄报中秋节初中手抄报中秋佳节手抄报图片...