首頁 > 軟體

Open vSwitch自動化重新編譯和安裝

2020-06-16 17:12:49

相信使用過Open vSwitch的人都知道,Open vSwitch因為要替換一部分linux核心,所以在修改Open vSwitch原始碼的時候,每次都需要重新編譯和安裝,這個過程十分的機械和枯燥,所以寫一個小指令碼自動實現這個功能。

下面可以簡單的分析下原始碼:

#remove the old ovs
kill `cd /usr/local/var/run/openvswitch && cat ovsdb-server.pid ovs-vswitchd.pid`
aptitude remove openvswitch-common openvswitch-datapath-dkms openvswitch-controller openvswitch-pki openvswitch-switch -y
rmmod openvswitch
#install the new ovs
cd openvswitch-2.4.0
./configure --prefix=/usr --with-linux=/lib/modules/`uname -r`/build
make
make install 
modprobe gre
insmod datapath/linux/openvswitch.ko
make modules_install
modprobe openvswitch
#disable openvswitch controller
/etc/init.d/openvswitch-controller stop
update-rc.d openvswitch-controller disable

#start the new ovs
/etc/init.d/openvswitch-switch start
ovsdb-tool create /usr/local/etc/openvswitch/conf.db /usr/local/share/openvswitch/vswitch.ovsschema
ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock --remote=db:Open_vSwitch,Open_vSwitch,manager_options --pidfile --detach --log-file
ovs-vsctl --no-wait init
ovs-vswitchd --pidfile --detach 

主要的過程為:

  1. 移除原來的OpenvSwitch的核以及庫
  2. 安裝編譯新的OpenvSwitch
  3. 重新啟動OpenvSwitch(包括資料庫,主函數)

將這個指令碼放在和OpenvSwitch同一個目錄下,執行之後,就可以開始使用ovs了。如下圖:

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-06/144771.htm


IT145.com E-mail:sddin#qq.com