Open vSwitch系列之一 Open vSwitch誕生
Open vSwitch系列之三 ovs-vsctl命令使用
Open vSwitch系列之四 ovs-ofctl命令使用
在ovs學習過程中,如果自己想要安裝一個ovs交換機其實一條簡單的命令 apt install openvswitch 就可以了,但是這種方法只能安裝低版本的ovs。在特殊情況下需要安裝指定版本,例如需要下發meters表時需要ovs2.8以上的版本,那么就需要下載安裝包手動安裝。看似一個復雜的過程,其實也是比較簡單的。下面就一起來看看如果手動安裝一個指定版本ovs交換機。
准備工作
安裝python
apt install python
安裝python-pip
如果不安裝pip,在下面的過程會報錯找不到six模塊。
apt install python-pip
安裝步驟
我們根據ovs的官方網站 http://www.openvswitch.org/ 的指導文檔來一步一步的完成安裝。
1.下載指定版本,可以看到這種安裝的好處是你可以指定任何一種版本,不會被apt的安裝方式限制了版本號。
http://www.openvswitch.org/download/
2.生成makefile文件
3.make 編譯文件
4.make install 安裝
5.檢查模塊
如果在安裝的過程中生成了修改了內核模塊,那么重新編譯內核。
make modules_install
6.載入模塊,載入openvswitch的模塊到內核中
/sbin/modprobe openvswitch
7.啟動
export PATH=$PATH:/usr/local/share/openvswitch/scripts
ovs-ctl start
8.啟動ovsdb-server服務
export PATH=$PATH:/usr/local/share/openvswitch/scripts
ovs-ctl --no-ovs-vswitchd start
9.啟動ovs-vswitchd服務
export PATH=$PATH:/usr/local/share/openvswitch/scripts
ovs-ctl --no--ovsdb-server start
10.配置ovsdb的數據庫
mkdir -p /usr/local/etc/openvswitch ovsdb-tool create /usr/local/etc/openvswitch/conf.db \ vswitchd/vswitch.ovsschema
11. 配置ovsdb-server以使用上面創建的數據庫,監聽Unix域套接字
mkdir -p /usr/local/var/run/openvswitch ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock \ --remote=db:Open_vSwitch,Open_vSwitch,manager_options \ --private-key=db:Open_vSwitch,SSL,private_key \ --certificate=db:Open_vSwitch,SSL,certificate \ --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \ --pidfile --detach --log-file
12.使用ovs-vsctl初始化數據庫
啟動主Open vSwitch守護進程
ovs-vsctl --no-wait init
ovs-vswitchd --pidfile --detach --log-file
接下來就可以使用了,使用ovs-vsctl show命令,查看ovs的版本號。
提供一個一次性執行完成的多行命令:
./configure make make install make modules_install /sbin/modprobe openvswitch export PATH=$PATH:/usr/local/share/openvswitch/scripts ovs-ctl start export PATH=$PATH:/usr/local/share/openvswitch/scripts ovs-ctl --no-ovs-vswitchd start export PATH=$PATH:/usr/local/share/openvswitch/scripts ovs-ctl --no--ovsdb-server start mkdir -p /usr/local/etc/openvswitch ovsdb-tool create /usr/local/etc/openvswitch/conf.db \ vswitchd/vswitch.ovsschema mkdir -p /usr/local/var/run/openvswitch ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock \ --remote=db:Open_vSwitch,Open_vSwitch,manager_options \ --private-key=db:Open_vSwitch,SSL,private_key \ --certificate=db:Open_vSwitch,SSL,certificate \ --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \ --pidfile --detach --log-file ovs-vsctl --no-wait init ovs-vswitchd --pidfile --detach --log-file