Ubuntu 12.04 install Open vSwitch

在 Ubuntu 12.04 和 Ubuntu 12.04.2 上安裝如下:

  • 安裝 Open vSwitch:
apt-get install openvswitch-brcompat openvswitch-switch
  • 嘗試啓動 Open vSwitch:
# /etc/init.d/openvswitch-switch restart
 * ovs-brcompatd is not running
 * Killing ovs-vswitchd (6011)
 * Killing ovsdb-server (6002)
 * Starting ovsdb-server
 * Configuring Open vSwitch system IDs
 * Starting ovs-vswitchd
 * Enabling gre with iptables
  • 結果顯示 brcompat 沒有運行:

sed -i 's/# BRCOMPAT=no/BRCOMPAT=yes/g' /etc/default/openvswitch-switch
  • 再次嘗試啓動:
# /etc/init.d/openvswitch-switch restart
* ovs-brcompatd is not running
 * ovs-vswitchd is not running
 * ovsdb-server is not running
FATAL: Error inserting brcompat (/lib/modules/3.5.0-23-generic/updates/dkms/brcompat.ko): Unknown symbol in module, or unknown parameter (see dmesg)
 * Inserting brcompat module
Module has probably not been built for this kernel.
Install the openvswitch-datapath-source package, then read
/usr/share/doc/openvswitch-datapath-source/README.Debian
FATAL: Error inserting brcompat (/lib/modules/3.5.0-23-generic/updates/dkms/brcompat.ko): Unknown symbol in module, or unknown parameter (see dmesg)
 * Inserting brcompat module

這樣的錯誤信息會出現在 Ubuntu-12.04.2 系統上, 我們來強制加載模塊:

# /etc/init.d/openvswitch-switch force-reload-kmod
FATAL: Error inserting brcompat (/lib/modules/3.5.0-23-generic/updates/dkms/brcompat.ko): Unknown symbol in module, or unknown parameter (see dmesg)
 * Inserting brcompat module
Module has probably not been built for this kernel.
Install the openvswitch-datapath-source package, then read
/usr/share/doc/openvswitch-datapath-source/README.Debian
Apr 20 17:10:50|00001|stream_unix|ERR|/tmp/stream-unix.10666.0: connection to /var/run/openvswitch/db.sock failed: No such file or directory
Apr 20 17:10:50|00002|reconnect|WARN|unix:/var/run/openvswitch/db.sock: connection attempt failed (No such file or directory)
Apr 20 17:10:51|00003|stream_unix|ERR|/tmp/stream-unix.10666.1: connection to /var/run/openvswitch/db.sock failed: No such file or directory
Apr 20 17:10:51|00004|reconnect|WARN|unix:/var/run/openvswitch/db.sock: connection attempt failed (No such file or directory)
Apr 20 17:10:53|00005|stream_unix|ERR|/tmp/stream-unix.10666.2: connection to /var/run/openvswitch/db.sock failed: No such file or directory
Apr 20 17:10:53|00006|reconnect|WARN|unix:/var/run/openvswitch/db.sock: connection attempt failed (No such file or directory)
Alarm clock
 * Detected internal interfaces:
 * ovs-brcompatd is not running
 * ovs-vswitchd is not running
 * ovsdb-server is not running
 * Saving interface configuration
 * Removing openvswitch module
 * Inserting openvswitch module
 * Inserting brcompat module
 * Starting ovsdb-server
 * Configuring Open vSwitch system IDs
 * Starting ovs-vswitchd
 * Starting ovs-brcompatd
 * Restoring interface configuration
 * iptables already has a rule for gre, not explicitly enabling
  • 現在 brcompat 模塊就正常加載上了:
# lsmod | grep br
brcompat               13513  0 
openvswitch            84124  1 brcompat

經過測試,在 Ubuntu-12.04 系統上直接安裝基本上沒有任何問題,如果出現問題就使用 force-reload-kmod。


使用 openvswitch 增加網橋 br0 並把網絡接口 eth0 加入 br0:

# ovs-vsctl add-br br0
# ovs-vsctl add-port br0 eth0

# ovs-vsctl show          
a23c503b-bfbe-4646-8738-a7f69e5d69a0
    Bridge "br0"
        Port "eth0"
            Interface "eth0"
        Port "br0"
            Interface "br0"
                type: internal
    ovs_version: "1.4.0+build0"

配置網橋 br0 和網絡接口 eth0(和用 bridge-utils 工具配置的時候一樣,不同的是這裏用更先進的 openvswitch/brcompat_mod 替換了 bridge-utils):

# ifconfig eth0 0
# ifconfig br0 192.168.2.45 netmask 255.255.255.0
# route add default gw 192.168.1.1 br0

爲了保存網絡設置,最好把上面的配置寫到 /etc/network/interfaces 裏:

# vi /etc/network/interfaces
auto lo
iface lo inet loopback

auto br0
iface br0 inet static
address 192.168.2.45
netmask 255.255.255.0
gateway 192.168.2.1

auto eth0
iface eth0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章