OVS + kernel datapath 的安装

***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
 
 
上一篇:使用PSSH批量SSH操作Linux服务器


下一篇:Yii2控制器 返回 json 格式数据