ubuntu16.04 配置kvm openvswitch 桥接环境

··以前在ubuntu14.04上配置openvswitch和kvm,虚拟机nat是可以的(之前写了一个nat的配置openvswitch kvm虚拟机环境),但是桥接的时候总是有问题,网上的资料也特别杂乱,配置了很长时间没有配置成功。
发现了这么一个英文帖子 KVM and OVS on Ubuntu 16.04,试着配置了一下居然成功了,而且还很简单。

(在这里还原一下实验设置,可能相关配置并不是最合理的,后期会进行更改)

环境:Ubuntu Desktop 16.04,有两个网卡
ens33 192.168.1.54
ens38 192.168.1.55

首先是安装KVM相关的软件:

sudo apt-get install qemu-kvm libvirt-bin bridge-utils virtinst

关闭kvm默认的网桥:

sudo virsh net-destroy default
sudo virsh net-autostart --disable default

安装openvswitch组件,开启ipv4转发(切换到root用户):

sudo apt-get install -qy openvswitch-switch openvswitch-common
sudo service openvswitch-switch start
sudo echo "net.ipv4.ip_forward" >> /etc/sysctl.conf
sudo sysctl -p /etc/sysctl.conf

添加网桥,并修改/etc/network/interfaces如下(修改好像没有什么用,重启的时候有问题):

sudo ovs-vsctl add-br br0
sudo ovs-vsctl add-port br0 ens38

这里写图片描述
重启网络:

sudo ifdown --force -a && sudo ifup --force -a

这个地方有问题,如下,本以为实验要失败的,抱着侥幸的心里继续实验。
can’t add ens38 to bridge br0: Operation not supported
set hello timer failed: Operation not supported
set max age failed: Operation not supported
set stp status failed: Operation not supported
set forward delay failed: Operation not supported

需要说明的是路由表如下,默认路由在另一个网卡上(配置默认路由在br0上也可以的),所以是可以上网的,能ping通百度:

这里写图片描述
接下来就是安装虚拟机了,使用virsh安装,命令为:

qemu-img create vm1.img 6G

sudo virt-install -n vm1 -r 512 --vcpus 1 \
    --os-type linux \
    --os-variant ubuntu16.04 \
    --network bridge=br0,virtualport_type='openvswitch' \
    --hvm --virt-type kvm \
    --disk size=8,path=/home/qiu/vm1.img \
    --noautoconsole \
    --cdrom=/home/qiu/Desktop/ubuntu-14.04-server-amd64.iso

注意上面红色的部分,原文为virtualport_type=’ovs’,是报错的。

然后就开始安装操作系统了,要使用命令 virt-viewer vm1 查看console。
安装完成之后,虚拟机竟然有了ip:192.168.1.56,而且能ping通网关和百度,不容易啊。

virsh启动虚拟机:
virsh start vm1

使用virt-viewer查看:
virt-viewer vm1

virsh 删除虚拟机的命令:
virsh destroy vm1
virsh undefine vm1

猜你喜欢

转载自blog.csdn.net/x_i_y_u_e/article/details/56665926