Ubuntu 16.04 源码安装 openVswitch 2.10.0

环境

Ubuntu 16.04
内核版本 4.8.0-36-generic
openVswitch 2.10.0

下载ovs代码
# wget http://openvswitch.org/releases/openvswitch-2.10.0.tar.gz
# tar -zxvf openvswitch-2.10.0.tar.gz
安装必备的工具
# apt-get install automake autoconf gcc uml-utilities libtool build-essential pkg-config linux-headers-`uname –r`
编译安装ovs
# cd openvswitch-2.10.0
# ./boot.sh
# ./configure  --with-linux=/lib/modules/`uname -r`/build
# make
# make install
安装ovs内核模块
 # insmod datapath/linux/openvswitch.ko

如果提示unknown symbol, 表示缺少一些依赖

# modinfo openvswitch
filename:       /lib/modules/4.8.0-36-generic/kernel/net/openvswitch/openvswitch.ko
license:        GPL
description:    Open vSwitch switching datapath
srcversion:     0DCA09B6BCF4444097F8069
depends:        nf_conntrack,nf_nat,libcrc32c,nf_nat_ipv6,nf_nat_ipv4,nf_defrag_ipv6
intree:         Y
vermagic:       4.8.0-36-generic SMP mod_unload modversions  

可以看到openvswitch.ko依赖nf_conntrack等等模块, 于是加载这些模块,然后再安装openvswitch.ko

# modprobe nf_conntrack
# modprobe nf_nat
# modprobe libcrc32c
# modprobe nf_nat_ipv6
# modprobe nf_nat_ipv4
# modprobe nf_defrag_ipv6

# insmod datapath/linux/openvswitch.ko
# lsmod | grep open
openvswitch           106496  2
nf_defrag_ipv6         36864  2 nf_conntrack_ipv6,openvswitch
nf_nat_ipv6            16384  1 openvswitch
libcrc32c              16384  1 openvswitch
nf_nat_ipv4            16384  2 openvswitch,iptable_nat
nf_nat                 28672  4 openvswitch,nf_nat_ipv6,nf_nat_masquerade_ipv4,nf_nat_ipv4
nf_conntrack          110592  9 nf_conntrack_ipv6,openvswitch,nf_conntrack_ipv4,nf_conntrack_netlink,nf_nat_ipv6,nf_nat_masquerade_ipv4,xt_conntrack,nf_nat_ipv4,nf_nat 
初始化ovsdb

利用自带的schema,创建数据库

# mkdir -p /etc/openvswitch
# ovsdb-tool create /etc/openvswitch/conf.db vswitchd/vswitch.ovsschema
启动ovsdb-server进程
# ovsdb-server /etc/openvswitch/conf.db -vconsole:emer -vsyslog:err -vfile:info --remote=punix:/usr/local/var/run/openvswitch/db.sock --private-key=db:Open_vSwitch,SSL,private_key --certificate=db:Open_vSwitch,SSL,certificate --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert --no-chdir --log-file=/usr/local/var/log/openvswitch/ovsdb-server.log --pidfile=/usr/local/var/run/openvswitch/ovsdb-server.pid --detach --monitor  

如果提示file or directory not exist, 那就手动创建对应的目录

启动ovsdb-vswitchd进程
# ovs-vswitchd unix:/usr/local/var/run/openvswitch/db.sock -vconsole:emer -vsyslog:err -vfile:info --mlockall --no-chdir --log-file=/usr/local/var/log/openvswitch/ovs-vswitchd.log --pidfile=/usr/local/var/run/openvswitch/ovs-vswitchd.pid --detach --monitor 
启动完成
# ps -aux | grep ovs
root       3403  0.0  0.0   9120   144 ?        Ss   03:51   0:00 ovsdb-server: monitoring pid 3404 (healthy)
root       3404  0.0  0.2   9372  2516 ?        S    03:51   0:00 ovsdb-server /etc/openvswitch/conf.db -vconsole:emer -vsyslog:err -vfile:info --remote=punix:/usr/local/var/run/openvswitch/db.sock --private-key=db:Open_vSwitch,SSL,private_key --certificate=db:Open_vSwitch,SSL,certificate --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert --no-chdir --log-file=/usr/local/var/log/openvswitch/ovsdb-server.log --pidfile=/usr/local/var/run/openvswitch/ovsdb-server.pid --detach --monitor
root       3406  0.0  0.1  14168  1828 ?        Ss   03:52   0:00 ovs-vswitchd: monitoring pid 3407 (healthy)
root       3407  0.0  3.1 235852 31168 ?        SLl  03:52   0:06 ovs-vswitchd unix:/usr/local/var/run/openvswitch/db.sock -vconsole:emer -vsyslog:err -vfile:info --mlockall --no-chdir --log-file=/usr/local/var/log/openvswitch/ovs-vswitchd.log --pidfile=/usr/local/var/run/openvswitch/ovs-vswitchd.pid --detach --monitor
root       3836  0.0  0.0  14224   972 pts/8    S+   06:02   0:00 grep --color=auto ovs 

Enjoy it ~

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值