linux - Setup private networking between two hosts and two VMs with libvirt / openvswitch -


i have 2 nodes , 2 vm's

kvm01 -nic1 123.123.123.1  vm1  -vnet1 123.123.123.2 (public) -vnet2 10.0.0.1 (private)  kvm02 -nic1 123.123.123.2  vm2 -vnet1 123.123.123.4 (public) -vnet2 10.0.0.2 (private) 

how possible setup openvswitch network vm1 , vm2 on private network hosts in 2 different locations?

edit:

running command:

# ovs-vsctl add-port br-private vxlan1 -- \   set interface vxlan1 type=vxlan options:remote_ip=123.123.123.2 

resulted in ovs configuration:

root@backup01:~# ovs-vsctl show 6276bd0a-920b-469d-a4e0-90d990dd8f94     bridge "br-private1"         port "vxlan1"             interface "vxlan1"                 type: vxlan                 options: {remote_host="107.150.29.72"}         port "br-private1"             interface "br-private1"                 type: internal     ovs_version: "2.3.0" root@kvmssd01:~# ovs-vsctl show da6399d4-1435-437d-90d7-3e75c443389b     bridge br-private         port "vxlan1"             interface "vxlan1"                 type: vxlan                 options: {remote_host="107.150.29.68"}         port br-private             interface br-private                 type: internal     ovs_version: "2.3.0" 

using kernel:

root@backup01:~# uname -r 3.16.0-4-amd64 

with module:

root@backup01:~# modinfo openvswitch filename:       /lib/modules/3.16.0-4-amd64/kernel/net/openvswitch/openvswitch.ko license:        gpl description:    open vswitch switching datapath depends:        libcrc32c,vxlan,gre intree:         y vermagic:       3.16.0-4-amd64 smp mod_unload modversions  

and version of ovs:

root@backup01:~# ovs-vsctl --version ovs-vsctl (open vswitch) 2.3.0 compiled dec 19 2014 03:59:10 db schema 7.6.0 

resulted in these errors:

root@backup01:~# ovs-vswitchd logs 2015-07-23t16:34:59z|00001|reconnect|info|logs: connecting... 2015-07-23t16:34:59z|00002|reconnect|info|logs: connection attempt failed   (address family not supported protocol) 2015-07-23t16:34:59z|00003|reconnect|info|logs: waiting 1 seconds before reconnect 2015-07-23t16:35:00z|00004|reconnect|info|logs: connecting... 2015-07-23t16:35:00z|00005|reconnect|info|logs: connection attempt failed      (address family not supported protocol) 2015-07-23t16:35:00z|00006|reconnect|info|logs: waiting 2 seconds before reconnect 

lsmod output:

# lsmod | grep openvswitch  openvswitch 63932 0  gre 12777 1 openvswitch  vxlan 35053 1 openvswitch  libcrc32c 12426 1 openvswitch 

one option set vxlan tunnel between ovs bridges on 2 hosts.

creating ovs bridges

on each host, create ovs bridge used private network:

ovs-vsctl add-br br-private 

when create libvirt vms, attach vnet2 on each guest br-private bridge. using virt-install like:

virt-install ... -w bridge=br-private,virtualport_type=openvswitch 

if using other mechanism create guests, corresponding xml looks like:

<interface type='bridge'>     < source bridge='br-private'/>     < virtualport type='openvswitch'/> < /interface> 

creating vxlan tunnels

now create vxlan tunnel kvm01 kvm02. on kvm01:

ovs-vsctl add-port br-private vxlan1 -- \   set interface vxlan1 type=vxlan options:remote_ip=123.123.123.2 

and on kvm02:

ovs-vsctl add-port br-private vxlan1 -- \   set interface vxlan1 type=vxlan options:remote_ip=123.123.123.1 

with tunnel in place , guests connected br-private, have created virtual network spans multiple hosts.

note vxlan runs on udp port 4789, may need modify firewall configuration permit these connections.

the finished ovs configuration this:

# ovs-vsctl show ac885d3d-b636-4bb1-a75e-37f361af87e3     bridge br-private         port "vxlan1"             interface "vxlan1"                 type: vxlan                 options: {remote_ip="192.168.122.107"}         port br-private             interface br-private                 type: internal         port vnet2             interface vnet2     ovs_version: "2.3.2" 

...although of course using host ip addresses, rather address testing environment.


Comments

Popular posts from this blog

Fail to load namespace Spring Security http://www.springframework.org/security/tags -

sql - MySQL query optimization using coalesce -

unity3d - Unity local avoidance in user created world -