如何在linux系统下使用ovs-vsctl

如何在linux系统下使用ovs-vsctl,第1张

在正式下载安装OVS之前我们需要安装一些系统组件及库文件以作为OVS正确运行的环境依赖。请切换至root用户进行 *** 作。

# apt-get update

# apt-get install -y build-essential

注:正常运行使用OVS只需要安装上述依赖即可,如果需要进一步开发OVS可能需要其他环境依赖,可以自行度娘。

部署Open vSwitch 2.3.0

1.下载OVS 2.3.0安装包。

2. 解压OVS 2.3.0安装包。

# wget http://openvswitch.org/releases/openvswitch-2.3.0.tar.gz

# tar -xzf openvswitch-2.3.0.tar.gz

3. 构建基于Linux内核的交换机。

# cd openvswitch-2.3.0

# make clean

# ./configure --with-linux=/lib/modules/`uname -r`/build 2>/dev/null

4. 编译并安装OVS 2.3.0。

# make &&make install

5. 如果需要OVS支持VLAN功能,还需要加载openvswitch.ko模块,如果不需要,此步可以忽略。

# modprobe gre

# insmod datapath/linux/openvswitch.ko

6. 我们需要安装并加载构建的内核模块。

# make modules_install

# /sbin/modprobe openvswitch

7. 使用ovsdb工具初始化配置数据库。

# mkdir -p /usr/local/etc/openvswitch

# ovsdb-tool create /usr/local/etc/openvswitch/conf.db vswitchd/vswitch.ovsschema

注:vswitchd/vswitch.ovsschema 指的是当前openvswitch工程目录下的。

至此,如果没有报错的话OVS的部署已经成功完成。如果中间步骤出现问题,请仔细检查是否按步骤进行或有无单词拼写错误。

主要参考 https://www.cnblogs.com/wangjq19920210/p/8999887.html

[TOC]

ovs-vsctl add-br br0

ovs-vsctl del-br br0

ovs-vsctl list-br

ovs-vsctl show

ovs-vsctl add-port br0 p1

ovs-vsctl del-port p1

ovs-vsctl list-ports br0

ovs-vsctl list interface p1

# ovs-vsctl set-controller <bridge><target...>

ovs-vsctl set-controller br0 tcp:1.2.3.4:6653

ovs-vsctl set-controller br0 tcp:1.2.3.4:6633 tcp:4.3.2.1:6633

ovs-vsctl del-controller br0

ovs-vsctl get-controller br0

ovs-vsctl set port eth0 tag=10

添加eth1到指定bridge br0中,同时将其配置成指定VLAN 10的access端口

ovs-svctl add-port br0 eth1 tag=10

在br0上添加port eth1为VLAN 10,11的trunk

ovs-vsctl add-port br0 eth1 trunk=10,11

ovs-vsctl set bridge br0 protocols=OpenFlow10,OpenFlow13

参考:

https://www.cnblogs.com/wangjq19920210/p/8999887.html

将Open vSwitch安装在Ubuntu或Debian上

虽然OVS以程序包的方式出现在Ubuntu或Debian上,但我在此还是通过源代码来构建OVS,这将拥有最新的功能特性和修正版。

首先,安装用于构建OVS的依赖项。

$ sudo apt-get install build-essential libssl-dev linux-headers-$(uname -r)

通过源代码来构建OVS,如下所示。下列步骤将构建OVS内核模块以及OVS用户空间工具。

$ wget http://openvswitch.org/releases/openvswitch-1.9.3.tar.gz

$ tar xvfvz openvswitch-1.9.3.tar.gz

$ cd openvswitch-1.9.3

$ ./configure --with-linux=/lib/modules/`uname -r`/build

$ make

接下来,继续在/usr/local/share/下安装OVS用户空间组件:

$ sudo make install

下一步是,测试OVS内核模块(安装该模块之前)。为此,先在内核中装入内核模块。

$ sudo insmod ./datapath/linux/openvswitch.ko

证实OVS内核模块已成功装入。

$ lsmod | grep openvswitch

openvswitch97934 0

一旦你证实openvswitch.ko已成功装入到内核中,继续安装内核模块,如下所示。

$ sudo make modules_install

配置和启动Open vSwitch

创建一个框架式OVS配置数据库。

$ sudo mkdir /etc/openvswitch

$ sudo ovsdb-tool create /etc/openvswitch/conf.db ./vswit

chd/vswitch.ovsschema

启动OVS数据库服务器。

$ sudo ovsdb-server --remote=punix:/usr/local/var/run/ope

nvswitch/db.sock - remote=db:Open_vSwitch,manager_options

--pidfile --detach

OVS配置数据库初始化。

$ sudo ovs-vsctl --no-wait init

最后,启动OVS守护程序。

$ sudo ovs-vswitchd --pidfile --detach

将KVM安装在Ubuntu或Debian上

使用apt-get命令,安装KVM和必要的用户空间工具。

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

virt-manager

将一个普通的非根用户(如alice)添加到libvirtd群组,那样该用户不需要根用户权限,就能启动虚拟机

$ sudo adduser alice libvirtd

退出,重新以该用户身份登录,让群组成员的变更生效。

运行下面这个命令。如果你看到空空如也的虚拟机列表,这意味着KVM已成功设置完毕。

$ virsh -c qemu:///system list

IdNameState

为KVM配置Open vSwitch

现在是时候创建OVS网桥启动脚本了,那样启动或终止虚拟机时,OVS就能自动配置。

安装依赖项(用户模式Linux实用工具),这些依赖项将用于处理Linux网桥模式。

$ sudo apt-get install uml-utilities

创建网桥启动脚本,如下所示。

$ sudo vi /etc/openvswitch/ovs-ifup

#!/bin/sh

switch='br0'

/sbin/ifconfig $1 0.0.0.0 up

ovs-vsctl add-port ${switch} $1

$ sudo vi /etc/openvswitch/ovs-ifdown

#!/bin/sh

switch='br0'

/sbin/ifconfig $1 0.0.0.0 down

ovs-vsctl del-port ${switch} $1

$ sudo chmod +x /etc/openvswitch/ovs-if*

然后,创建一个默认的网桥br0,并添加一个物理网络接口,虚拟机将通过这个接口与外部网络进行联系。在该教程中,我假设这类网络接口是eth5。

$ sudo ovs-vsctl add-br br0

$ sudo ovs-vsctl add-port br0 eth5

借助KVM启动虚拟机

现在你可以准备启动访客虚拟机了。

我假设,你已经准备好了一个访客虚拟机映像(比如ubuntu-client.img)。使用下面这个命令,启动访客虚拟机。

$ sudo kvm -m 1024 -net nic,macaddr=11:11:11:EE:EE:EE -ne

t tap,script=/etc/openvswitch/ovs-ifup,downscript=/etc/op

envswitch/ovs-ifdown -vnc :1 -drive file=/home/dev/images

/ubuntu-client.img,boot=on

这会创建并启动一个访客虚拟机;一旦访客虚拟机启动,其虚拟接口就自动添加到OVS网桥br0。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6888465.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-29
下一篇 2023-03-29

发表评论

登录后才能评论

评论列表(0条)

保存