OVS + kernel datapath 的安裝

張浮生發表於2017-06-05

 

***kernel datapath的OVS編譯安裝

  1. 下載原始碼
    $ git clone https://github.com/openvswitch/ovs.git
  2. 準備工具:生成configure檔案
    1. GNU make
      $ make --version
    2. 一個C語言編譯器,GCC 4.6以上,Clang 3.4以上
      $ gcc --version
    3. libssl
      $ apt-get isntall libssl1.0.0
    4. libcap-ng0
      $ apt-get install libcap-ng0
    5. libtool
      $ apt-get install libtool
    6. autoconf
      $ apt-get install autoconf
    7. Python 2.7,並且確保six庫可用
      $ python
      ...(
         看預設的python是否是2.7版本
      )
      $ pydoc modules | grep six
      ...(
         如果沒有叫six的python module,請安裝python-pip
         $ apt install python-pip
         然後如下安裝six
         $ pip install six
      )
    8. 注意ovs 核心模組的版本與Linux核心版本號
      2.7版本的OVS能安裝在Linux 3.10~4.9的核心上

  3. $ ./boot.sh
  4. 配置
    $ ./configure \
    --with-linux=/lib/modules/$(uname -r)/build 編譯核心模組,指定當前核心地址
    [CFLAGS="-g -o2"]      編譯使用者空間的程式碼時的編譯引數,-g帶debug,-O2指定編譯器優化級別
    [EXTRA_CFLAGS="-Wno-error=data-time"]   編譯核心模組時的編譯引數
    [--enable-Werror]      編譯其警告作為錯誤處理
    [LIBS=-ljemalloc]     使用jemalloc代表libc中的記憶體管理庫
  5. 編譯OVS
    $ make
  6. 安裝OVS使用者態程式
    $ make install
  7. 安裝核心模組(把相關*.ko檔案安裝至/lib/modules/$(uname -r)/extra/中
    $ make modules_install
  8. 掛載安裝的核心模組
    $ /sbin/modprobe openvswitch
  9. 配置資料庫
    $ mkdir -p /usr/local/etc/openvswitch
    $  ovsdb-tool create /usr/local/etc/openvswitch/conf.db vswitchd/vswitch.ovsschema
  10. 啟動資料庫程式
    $ 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
  11. 初始化ovsdb資料庫
    $ ovs-vsctl --no-wait init
  12. 啟動vswitchd守護程式
    $ ovs-vswitchd --pidfile --detach --log-file
  13. 完成,可以測試了
    $ ovs-vsctl add-br br0
    $ ovs-vsctl show
 
預設的LOG位於
      /usr/local/var/log/openvswitch
 
 

 

相關文章