前言
测试环境是用github上开源代码搭建。
编译完成后进行如下操作。
环境配置
控制节点
创建逻辑交换机
ovn-nbctl --db=unix:/run/openvswitch/ovnnb_db.sock ls-add ly-ls
在逻辑交换机上增加端口并分配地址
ovn-nbctl --db=unix:/run/openvswitch/ovnnb_db.sock list Logical_Switch
ovn-nbctl --db=unix:/run/openvswitch/ovnnb_db.sock lsp-add ly-ls ls-port1
ovn-nbctl --db=unix:/run/openvswitch/ovnnb_db.sock lsp-set-addresses ls-port1 “de:d4:1d:8c:d9:7f 172.20.1.1”
ovn-nbctl --db=unix:/run/openvswitch/ovnnb_db.sock lsp-set-port-security ls-port1 “de:d4:1d:8c:d9:7f 172.20.1.1”
ovn-nbctl --db=unix:/run/openvswitch/ovnnb_db.sock list Logical_Switch
ovn-nbctl --db=unix:/run/openvswitch/ovnnb_db.sock lsp-add ly-ls ls-port2
ovn-nbctl --db=unix:/run/openvswitch/ovnnb_db.sock lsp-set-addresses ls-port2 “de:d4:1d:8c:d9:8f 172.20.1.2”
ovn-nbctl --db=unix:/run/openvswitch/ovnnb_db.sock lsp-set-port-security ls-port2 “de:d4:1d:8c:d9:8f 172.20.1.2”
计算节点
ip link add vm10 type veth peer name nmsvm10
ovs-vsctl add-port br-int vm10
ip link set dev vm10 up
ip netns add vm10
ip link set nmsvm10 netns vm10
ip netns exec vm10 ip link set nmsvm10 address de:d4:1d:8c:d9:7f
ip netns exec vm10 ip addr add 172.20.1.1/24 dev nmsvm10
ip netns exec vm10 ip link set nmsvm10 up
ovs-vsctl set Interface vm10 external_ids:iface-id=ls-port1
ip link add vm11 type veth peer name nmsvm11
ovs-vsctl add-port br-int vm11
ip link set dev vm11 up
ip netns add vm11
ip link set nmsvm10 netns vm11
ip netns exec vm10 ip link set nmsvm10 address de:d4:1d:8c:d9:8f
ip netns exec vm10 ip addr add 172.20.1.2/24 dev nmsvm10
ip netns exec vm11 ip link set nmsvm11 up
ovs-vsctl set Interface vm11 external_ids:iface-id=ls-port2
如果遇到RTNETLINK answers: Cannot assign requested address问题,是因为de:d4:1d:8c:d9:7f地址分配出问题,尝试更换地址段即可
验证
控制节点的验证
[root@packet1 openvswitch]# ovn-sbctl show
Chassis “60183885-391e-47ef-a0b9-46ab1fd82773”
hostname: “computer2.suning.com”
Encap geneve
ip: “192.168.0.9”
options: {csum=“true”}
Port_Binding “inside-vm4”
Port_Binding “inside-vm3”
Chassis “aa8e3263-a3f0-4d62-917a-e625579241c5”
hostname: “computer1”
Encap geneve
ip: “192.168.0.8”
options: {csum=“true”}
Port_Binding “ls-port1”
Port_Binding “dmz-vm2”
Port_Binding “dmz-vm1”
控制节点上已经存在Port_Binding “ls-port1” ,代表成功。
在计算节点创建多个虚机时,根据分配的私网地址段去ping,如果通了,则代表正确。
计算节点上的验证
[root@computer1 network-scripts]# ip netns exec vm11 ping 172.20.1.1
PING 172.20.1.1 (172.20.1.1) 56(84) bytes of data.
64 bytes from 172.20.1.1: icmp_seq=1 ttl=64 time=0.396 ms
64 bytes from 172.20.1.1: icmp_seq=2 ttl=64 time=0.028 ms
64 bytes from 172.20.1.1: icmp_seq=3 ttl=64 time=0.022 ms
基本功能测试
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
创建逻辑交换机后南向和北向数据库的更新测试
ovn-nbctl --db=unix:/run/openvswitch/ovnnb_db.sock ls-add ly-ls2
ovn-nbctl --db=unix:/run/openvswitch/ovnnb_db.sock Logical_Switch
_uuid : 75cbc78d-a0da-4af9-9a91-62ffdb0f9545
acls : []
dns_records : []
external_ids : {}
load_balancer : []
name : “ly-ls2”
other_config : {}
ports : []
qos_rules : []
北向数据库创建成功
ovn-sbctl --db=unix:/run/openvswitch/ovnsb_db.sock list Datapath_Binding
南向数据库中的Datapath_Binding表中对应生成了ly-ls2表项
_uuid : a1857db8-df75-446e-94ce-e9375d502764
external_ids : {logical-switch=“75cbc78d-a0da-4af9-9a91-62ffdb0f9545”, name=“ly-ls2”}
tunnel_key : 15
ovn-nbctl --db=unix:/run/openvswitch/ovnnb_db.sock ls-del ly-ls2
删除后,北向的Logical_Switch表和南向的Datapath_Binding表对应的表项,也删除。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
创建逻辑交换机端口测试
ovn-nbctl lsp-add ly-ls ly-port2
_uuid : 3aa75fda-1929-4fba-80d0-47abeea00aaa
acls : []
dns_records : []
external_ids : {}
load_balancer : []
name : ly-ls
other_config : {}
ports : [4663ee28-8d58-494f-8317-5234e91336c4, 988f581d-48ff-4b05-ada2-657922f86812, fcba9d26-500b-4041-acd2-fad0fd1c830f]
qos_rules : []
ovn-nbctl list Logical_Switch_Port |grep -C 10 4663ee28-8d58-494f-8317-5234e91336c4
ha_chassis_group : []
name : “inside-vm4”
options : {}
parent_name : []
port_security : [“02:d4:1d:8c:d9:8c 172.16.2.131”]
tag : []
tag_request : []
type : “”
up : true
_uuid : 4663ee28-8d58-494f-8317-5234e91336c4
addresses : []
dhcpv4_options : []
dhcpv6_options : []
dynamic_addresses : []
enabled : []
external_ids : {}
ha_chassis_group : []
name : “ly-port2”
options : {}
parent_name : []
以上可知,逻辑交换机上增加了一个ly-port2端口。
[root@packet1 openvswitch]# ovn-sbctl list Port_Binding|grep -C 10 ls-port2
type : “”
virtual_parent : []
_uuid : f7301a51-f528-42f5-9a9f-3e72c4c79d52
chassis : 536095c2-f967-454f-918d-692e503ca19f
datapath : 9611af86-939b-4ce8-a0fb-69083bbf8895
encap : []
external_ids : {}
gateway_chassis : []
ha_chassis_group : []
logical_port : “ls-port2”
mac : [“de:d4:1d:8c:d9:8f 172.20.1.2”]
nat_addresses : []
options : {}
parent_port : []
tag : []
tunnel_key : 2
type : “”
virtual_parent : []
南向数据库的port_inding表多出ls-port2表项,说明创建端口功能正常。
创建逻辑交换机端口测试
ovn-nbctl lsp-add ly-ls ly-port2
_uuid : 3aa75fda-1929-4fba-80d0-47abeea00aaa
acls : []
dns_records : []
external_ids : {}
load_balancer : []
name : ly-ls
other_config : {}
ports : [4663ee28-8d58-494f-8317-5234e91336c4, 988f581d-48ff-4b05-ada2-657922f86812, fcba9d26-500b-4041-acd2-fad0fd1c830f]
qos_rules : []
ovn-nbctl list Logical_Switch_Port |grep -C 10 4663ee28-8d58-494f-8317-5234e91336c4
ha_chassis_group : []
name : “inside-vm4”
options : {}
parent_name : []
port_security : [“02:d4:1d:8c:d9:8c 172.16.2.131”]
tag : []
tag_request : []
type : “”
up : true
_uuid : 4663ee28-8d58-494f-8317-5234e91336c4
addresses : []
dhcpv4_options : []
dhcpv6_options : []
dynamic_addresses : []
enabled : []
external_ids : {}
ha_chassis_group : []
name : “ly-port2”
options : {}
parent_name : []
以上可知,逻辑交换机上增加了一个ly-port2端口。
[root@packet1 openvswitch]# ovn-sbctl list Port_Binding|grep -C 10 ls-port2
type : “”
virtual_parent : []
_uuid : f7301a51-f528-42f5-9a9f-3e72c4c79d52
chassis : 536095c2-f967-454f-918d-692e503ca19f
datapath : 9611af86-939b-4ce8-a0fb-69083bbf8895
encap : []
external_ids : {}
gateway_chassis : []
ha_chassis_group : []
logical_port : “ls-port2”
mac : [“de:d4:1d:8c:d9:8f 172.20.1.2”]
nat_addresses : []
options : {}
parent_port : []
tag : []
tunnel_key : 2
type : “”
virtual_parent : []
南向数据库的port_inding表多出ls-port2表项,说明创建端口功能正常。
删除逻辑交换机端口测试
ovn-nbctl lsp-del ly-port2
[root@packet1 openvswitch]# ovn-nbctl lsp-list ly-ls
fcba9d26-500b-4041-acd2-fad0fd1c830f (ls-port1)
988f581d-48ff-4b05-ada2-657922f86812 (ls-port2)
发现ly-ls交换机下的ly-port2已经删除
[root@packet1 openvswitch]# ovn-sbctl list Port_Binding|grep -C 10 ly-port2
[root@packet1 openvswitch]#
南向数据库查看Port_Binding表后ly-port2表项已经不存在。
说明删除功能正常
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)