本文档描述如何与Kernel-based Virtual(KVM)一同使用Open vSwitch.
注意:
本文假设你在一个Linux系统上配置好了Open vSwitch.
建立
KVM使用tunctl
工具处理各种网桥模式,你可通过Debian/Ubuntu 数据包 uml-utilities
安装此工具:
$ apt-get install uml-utilities
之后,你需要修改或创建自定义版本的qemu-ifup
和 ``qemu-ifdown` 脚本。在本指南中,我们将创建自定义版本,使用以下描述的示例Open vSwitch网桥。
创建以下的两个文件,并保存到可知的位置,例如:
$ cat << 'EOF' > /etc/ovs-ifup
#!/bin/sh
switch='br0'
ip link set $1 up
ovs-vsctl add-port ${switch} $1
EOF
::
$ cat << 'EOF' > /etc/ovs-ifdown
#!/bin/sh
switch='br0'
ip addr flush dev $1
ip link set $1 down
ovs-vsctl del-port ${switch} $1
EOF
Open vSwitch的基础用法在其文档/intro/install/general
的末尾有描述。如果还没有阅读,创建名称为br0
的网桥请使用以下的命令:
$ ovs-vsctl add-br br0
之后,添加一个端口到网桥,此端口时你的客户机与之交流的端口(例如,eth0
):
$ ovs-vsctl add-port br0 eth0
可参考ovs-vsctl(8)的man文档中的详细信息.
下一步,我们启动一个使用ifup和ifdown脚本的客户机:
$ kvm -m 512 -net nic,macaddr=00:11:22:EE:EE:EE -net \
tap,script=/etc/ovs-ifup,downscript=/etc/ovs-ifdown -drive \
file=/path/to/disk-image,boot=on
这将启动一个客户机,并且为其关联一个TAP设备。脚本ovs-ifup
将添加一个端口到网桥br0
,以便客户机可与网桥进行通信.
获取更多的信息以及调试,你可使用Open vSwitch工具:ovs-dpctl 和 ovs-ofctl等,例如:
$ ovs-dpctl show
$ ovs-ofctl show br0
你应能看到每个KVM客户机都有一个添加到网桥的TAP设备(例如,tap0)。
参考ovs-dpctl(8) 和 ovs-ofctl(8)的man文档中的详细信息