※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

                 How to Install Open vSwitch on Linux
                 LinuxへのOpen vSwitchのインストール方法
                 ====================================

This document describes how to build and install Open vSwitch on a
generic Linux host.  If you want to install Open vSwitch on a Citrix
XenServer, see INSTALL.XenServer instead.
このドキュメントはOpen vSwtichをLinuxホストどのように構築し、インス
トールするか記述する。Citrix XenServer上でのOpen vSwitchをインストー
ルする場合は、INSTALL.XenServerを参照してください。

This version of Open vSwitch may be built manually with "configure"
and "make", as described below.  You may also build Debian packages by
running "dpkg-buildpackage".
Open vSwitchのこのバージョンは、後述のように"configure"と"make"でマ
ニュアルに構築されます。"dpkg-buildpackage"が動作しているDebianパッケー
ジも構築できます。


Build Requirements
構築要件
------------------

To compile the userspace programs in the Open vSwitch distribution,
you will need the following software:
Open vSwtichディストリビューションでユーザースペースプログラムをコンパ
イルするには、以下のソフトウェアが必要です。

    - A make program, e.g. GNU make.  BSD make should also work.
      makeプログラム。例えば"GNU make"です。BSD makeも動作します。

    - The GNU C compiler.  We generally test with version 4.1, 4.2, or 4.3.
      GNUコンパイラー。一般にバージョン4.1,4.2,4.3でテストしています。

    - pkg-config.  We test with version 0.22.
      pkg-congigf。バージョン0.22でテストしています。

    - libssl, from OpenSSL, is optional but recommended if you plan to
      connect the Open vSwitch to an OpenFlow controller.  libssl is
      required to establish confidentiality and authenticity in the
      connections from an Open vSwitch to an OpenFlow controller.  If
      libssl is installed, then Open vSwitch will automatically build
      with support for it.
      OpenSSLのlibssはオプションですが、OpenFlowコントローラとOpen vSwtichを
      接続する予定があるなら必要です。libsslはOpen vSwitchとOpenFlowコ
   ントローラー間のコネクションの機密性と信頼性を確立するのに必要で
   す。libsslがインストールされているなら、Open vSwitchは自動的にサ
   ポートするように構築します。

To compile the kernel module, you must also install the following.  If
you cannot build or install the kernel module, you may use the
userspace-only implementation, at a cost in performance.  The
userspace implementation may also lack some features.  Refer to
INSTALL.userspace for more information.
カーネルモジュールのコンパイルは次のインストールも必要です。もし、カー
ネルモジュールの構築とインストールができないなら、コストパフォーマンス
において、ユーザーペースオンリーの実装を使うべきです。ユーザースペース
実装も幾つかの機能が欠如しています。
INSTALL.userspaceの詳しい情報を参照してください。

    - A supported Linux kernel version.  Please refer to README for a
      list of supported versions.
      サポートしているLinuxカーネルバージョン。サポートしているバージョ
      ンのリストはREADMEを参照してください。

      The Open vSwitch datapath requires bridging support
      (CONFIG_BRIDGE) to be built as a kernel module.  (This is common
      in kernels provided by Linux distributions.)  The bridge module
      must not be loaded or in use.  If the bridge module is running
      (check with "lsmod | grep bridge"), you must remove it ("rmmod
      bridge") before starting the datapath.
      Open vSwtichデータパスはカーネルモジュールに構築されるブリッジン
      グのサポート(CONFIG_BRIDGE)を要求します。(これはLinuxディストリ
      ビューションによって提供されるカーネルの共通事項です。ブリッジモ
      ジュールはロードもしくは使用されてはなりません。ブリッジモジュー
      ルが動作している場合、("lsmod | grep bridge"で確認してください)
      データパスを始める前に削除してください。("rmmod bridge")

      For optional support of ingress policing, you must enable kerne
      configuration options NET_CLS_ACT, NET_CLS_U32, NET_SCH_INGRESS,
      and NET_ACT_POLICE, either built-in or as modules.(NET_CLS_POLICE
      is obsolete and not needed.)
      入力ポリシイングはオプションのサポートには、カーネルコンフィグ
      レーションオプションのNET_CLS_ACT, NET_CLS_U32, NET_SCH_INGRESS,
      and NET_ACT_POLICEの組み込みもしくはモジュールの有効化が必要です。
      (NET_CLS_PLICEは不要です。)

      If GRE tunneling is being used it is recommended that the kernel
      be compiled with IPv6 support (CONFIG_IPV6).  This allows for
      special handling (such as path MTU discovery) of IPv6 packets.
      GREトンネルが使用される場合、IPv6サポートのコンパイルされたカー
      ネルを推奨します。これは、IPv6パケットの特別な操作(例えばパス
      MTUディスカバリー)を可能にします。

      To configure HTB or HFSC quality of service with Open vSwitch,
      you must enable the respective configuration options.
      Open vSwichのHTBもしくはHFSCのQoSコンフィグは、それぞれのコン
      フィグレーションオプションの有効化が必要です。

      To use Open vSwitch support for TAP devices, you must enable
      CONFIG_TUN.
      Open vSwitchのTAPデバイスのサポートは、CONFIG_TUNの有効化が必要
      です。

    - To build a kernel module, you need the same version of GCC that
      was used to build that kernel.
      カーネルモジュールの構築は、カーネルの構築に使用する同じバージョ
      ンのGCCが必要です。

    - A kernel build directory corresponding to the Linux kernel image
      the module is to run on.  Under Debian and Ubuntu, for example,
      each linux-image package containing a kernel binary has a
      corresponding linux-headers package with the required build
      infrastructure.
      カーネルはモジュールが動作するLinuxカーネルイメージに付随する
      ディレクトリを構築します。DebianとUbuntuでは、例えばカーネル相成
      りを捧持するそれぞれのLinuxイメージパッケージはインフラストラク
      チャの構築に要求に付随するLinuxヘッダーパッケージを持っています。

If you are working from a Git tree or snapshot (instead of from a
distribution tarball), or if you modify the Open vSwitch build system
or the database schema, you will also need the following software:
(ディストリビューションのTARボールの代わりに)Gitツリーやスナップ
ショットから構築する場合、もしくは、Open vSwitchのシステムやデータベー
ススキーマの修正する場合、以下のソフトウェアも必要です。

    - Autoconf version 2.64 or later.
      Autoconf バージョン2.64 もしくはそれ以降

    - Automake version 1.10 or later.
      Automake バージョン1.10 もしくはそれ以降

    - Python 2.x, for x >= 4.
      Python 2.x, xは4以上

If you modify the ovsdbmonitor tool, then you will also need the
following:
ovsdbmonitorツールを修正する場合、以下のソフトウェアも必要です。

    - pyuic4 from PyQt4 (http://www.riverbankcomputing.co.uk).
      PyQt4のpyuic4

To run the unit tests, you also need:
ユニットテスをを行うには、以下も必要です。

    - Perl.  Version 5.10.1 is known to work.  Earlier versions should
      also work.
      Perl。バージョン5.10.1が動作します。以前のバージョンでも動作する
      でしょう。

If you modify the vswitchd database schema, then the E-R diagram in
the ovs-vswitchd.conf.db(5) manpage will be updated properly only if
you have the following:
vswtichdデータベーススキーマを修正する場合は、以下に従う場合において、
ovs-switche.conf.db(5)のマンページのE-Rダイアグラムは適当なバージョン
にアップデートされます。

    - "dot" from graphviz (http://www.graphviz.org/).
      graphvizの"dot"

    - Perl.  Version 5.10.1 is known to work.  Earlier versions should
      also work.
      Perl。バージョン5.10.1が動作します。以前のバージョンでも動作する
      でしょう。

    - Python 2.x, for x >= 4.
      Python 2.x, xは4以上

Installation Requirements
インストール要件
-------------------------

The machine on which Open vSwitch is to be installed must have the
following software:
Open vSwtichの動作する機器は以下のソフトウェアのインストールが必須で
す。

    - libc compatible with the libc used for build.
      構築に使用されるlibcと互換性のlibc

    - libssl compatible with the libssl used for build, if OpenSSL was
      used for the build.
      Opensslを構築に使用する場合、構築に使用されるlibsslと互換性の
      libsslが必要です。

    - The Linux kernel version configured as part of the build.
      構築の中で設定されたLinuxカーネルバージョンが必要です。

    - For optional support of ingress policing, the "tc" program from
      iproute2 (part of all major distributions and available at
      http://www.linux-foundation.org/en/Net:Iproute2).
      入力ポリシイングのオプションをサポートするため、iproute2の"tc"プ
      ログラムが必要です。(すべての主要なディストリビューションは
      http://www.linux-foundation.org/en/Net:Iproute2にあります。

    - For debugging purposes, Open vSwitch expects that "tcpdump" is
      installed as /usr/sbin/tcpdump.  If tcpdump is not installed, or
      if it is installed in a different location, then some Open
      vSwitch log messages will not be as detailed.
      デバッグの目的として、Open vSwtichは/usr/sbin/tcpdumpとしてイン
      ストールされる"tcpdump"を期待します。"tcpdump"がインストールされ
      ていない、もしくは異なる場所にインストールされている場合、幾つか
      のOpen vSwtichログメッセージは詳細が出力されません。

You should ensure that /dev/urandom exists.  To support TAP devices,
you must also ensure that /dev/net/tun exists.
/dev/urandom existsの確認が必要です。TAPデバイスのサポートは
/dev/net/tunの存在の確認が必須です。

To run the ovsdmonitor tool, the machine must also have the following
software:
ovsdmonitorツールの動作には、以下のソフトウェアが必須です。

    - Python 2.x, for x >= 4.
      Python 2.x, xは4以上

    - Python Twisted Conch.
      Python Twisted Conch

    - Python JSON.
      Python JSON

    - PySide or PyQt4.
      PySide もしくは PyQt4

    - Python Zope interface module.
      Python Zope インターフェイスモジュール

(On Debian "lenny" the above can be installed with "apt-get install
python-json python-qt4 python-zopeinterface python-twisted-conch".)
(Debian"lenny"では上記のソフトウェアは"apt-get install python-json pyt
hon-qt4 python-zopeinterface python-twisted-conchでインストールできま
す。)

Building and Installing Open vSwitch for Linux
Linux用のOpen vSwitchの構築とインストール
==============================================

Once you have installed all the prerequisites listed above in the Base
Prerequisites section, follow the procedure below to build.
一度すべての基本的な前提条件項目の上記に示された前提条件がインストール
されたら、以下の手順に従って構築してください。

1. If you pulled the sources directly from an Open vSwitch Git tree,
   run boot.sh in the top source directory:
1.Open vSwitch Git treeからソースディレクトリを撮ってきた場合、ソースディレクトリのトップでboot.shを動作させてください。

      % ./boot.sh

2. In the top source directory, configure the package by running the
   configure script.  You can usually invoke configure without any
   arguments:
2.ソースティレクトリのトップで、パッケージを設定スクリプトを動作させて
設定します。通常は引数なしで設定することができます。

      % ./configure

   By default all files are installed under /usr/local.  If you want
   to install into, e.g., /usr and /var instead of /usr/local and
   /usr/local/var, add options as shown here:
   デフォルトでは、すべてのファイルは/usr/local以下にインストールされ
   ます。/usrや/var、/usr/loca/や/usr/loca/varなどにインストールしたい
   場合は、個々に示すオプションを追加してください。

      % ./configure --prefix=/usr --localstatedir=/var

   To use a specific C compiler for compiling Open vSwitch user
   programs, also specify it on the configure command line, like so:
   Open vSwitchをコンパイルするために固有のCコンパイラを使用するには、
   設定コマンドラインで指定してください。

      % ./configure CC=gcc-4.2

   To build the Linux kernel module, so that you can run the
   kernel-based switch, pass the location of the kernel build
   directory on --with-linux.  For example, to build for a running
   instance of Linux:
   カーネルベーススイッチを実行できるようにLinuxカーネルモジュールの構
   築するには、--with-linuxでカーネルの構築ディレクトリの場所を指定す
   る必要があります。例えば、Linuxを実行中のインスタンスとして構築しま   す。

      % ./configure --with-linux=/lib/modules/`uname -r`/build

   If you wish to build the kernel module for an architecture other
   than the architecture of the machine used for the build, you may
   specify the kernel architecture string using the KARCH variable
   when invoking the configure script.  For example, to build for MIPS
   with Linux:
   構築に使用される機器のアーキテクチャ以外のアーキテクチャのカーネル
   モジュールを構築したい場合、設定スクリプトを指定するときに、KARCH変
   数を使用し、カーネルのアーキテクチャを指定できます。例えば、Linuxの
   MIPS用に構築します。

      % ./configure --with-linux=/path/to/linux KARCH=mips

   The configure script accepts a number of other options and honors
   additional environment variables.  For a full list, invoke
   configure with the --help option.
   設定スクリプトはその他オプションと、追加の環境変数を許容します。

3. Run make in the top source directory:
3.ソースディレクトリのトップでmakeを実行します。

      % make

4. Become root by running "su" or another program.
4."su"のまたは別のプログラムを実行してrootになります。

5. Run "make install" to install the executables and manpages into the
   running system, by default under /usr/local.
5.実行中のシステムに実行ファイルとマンページをインストールするには
"make install"を実行します。デフォルトでは、/user/loca/にインストール
されます。

6. If you built kernel modules, you may load them with "insmod", e.g.:
6.カーネルモジュールを構築した場合、"insmod"でロードすることができます。

      % insmod datapath/linux/openvswitch_mod.ko

   You may need to specify a full path to insmod, e.g. /sbin/insmod.
   To verify that the modules have been loaded, run "/sbin/lsmod" and
   check that openvswitch_mod is listed.
   insmodへフルパスを指定する必要があります。例えば /sbin/insmod.モ
   ジュールのロードを確認するには、"/sbin/lsmod"を実行し、
   openvswitch_modが表示されることを確認してください。

   If the "insmod" operation fails, look at the last few kernel log
   messages (e.g. with "dmesg | tail"):
   "insmod"の実行が失敗した場合は、最後から幾つかのカーネルログメッ
   セージを見てください。(例えば"dmesg | tail")

      - The message "openvswitch_mod: exports duplicate symbol
        br_should_route_hook (owned by bridge)" means that the bridge
        module is loaded.  Run "/sbin/rmmod bridge" to remove it.
       "openvswitch_mod: exports duplicate symbol br_should_route_hook
       (owned by bridge)"のメッセージはブリッジモジュールが動作してい
       ることを示します。"/sbin/rmmod bridge"を実行して削除してください。


        If "/sbin/rmmod bridge" fails with "ERROR: Module bridge does
        not exist in /proc/modules", then the bridge is compiled into
        the kernel, rather than as a module.  Open vSwitch does not
        support this configuration (see "Build Requirements", above).
       "/sbin/rmmod bridge"が"ERROR: Module bridge does not exist in
       /proc/modules"で失敗した場合、ブリッジはカーネルにコンパイルさ
       れています。Open vSwitchはこの設定をサポートしていません。(上
       記の"Build Requirements"を見てください。)


      - The message "openvswitch_mod: exports duplicate symbol
        dp_ioctl_hook (owned by ofdatapath)" means that the ofdatapath
        module from the OpenFlow reference implementation is loaded.
        Run "/sbin/rmmod ofdatapath" to remove it.  (You might have to
        delete any existing datapaths beforehand, using the "dpctl"
        program included with the OpenFlow reference implementation.
        "ovs-dpctl" will not work.)
       "openvswitch_mod: exports duplicate symbol dp_ioctl_hook
       (owned by ofdatapath)"のメッセージはOpenFlowリファレンス実装か
       らデータパスモジュールがロードされます。"/sbin/rmmod of datapath"
       を実行して削除してください。(あらかじめ存在するデータパスを削除
       するには、OpenFlowリファレンス実装の"dpctl"を使用してください。
       "ovs-dpctl"は動作しません。)

      - Otherwise, the most likely problem is that Open vSwitch was
        built for a kernel different from the one into which you are
        trying to load it.  Run "modinfo" on openvswitch_mod.ko and on
        a module built for the running kernel, e.g.:
       上記以外のもっともよくある問題は、Open vSwtichがロード仕様とし
       ているカーネルをと異なったカーネルで構築された場合です。
       openvswitch_mod.koとカーネルを実行中のカーネルように構築された
       モジュールで"modinfo"を実行してください。


           % /sbin/modinfo openvswitch_mod.ko
           % /sbin/modinfo /lib/modules/`uname -r`/kernel/net/bridge/bridge.ko

        Compare the "vermagic" lines output by the two commands.  If
        they differ, then Open vSwitch was built for the wrong kernel.
    2つのコマンドの出力の"vermagic"ラインを比較してください。もし
    異なるなら、Open vSwtichは間違ったカーネルで構築されています。

      - If you decide to report a bug or ask a question related to
        module loading, please include the output from the "dmesg" and
        "modinfo" commands mentioned above.
    バグの報告やモジュールのロードに関する質問をする場合は、"dmesg"
    の出力と上記の"modinfo"コマンドの結果を含めてください。

   There is an optional module parameter to openvswitch_mod.ko called
   vlan_tso that enables TCP segmentation offload over VLANs on NICs
   that support it. Many drivers do not expose support for TSO on VLANs
   in a way that Open vSwitch can use but there is no way to detect
   whether this is the case. If you know that your particular driver can
   handle it (for example by testing sending large TCP packets over VLANs)
   then passing in a value of 1 may improve performance. Modules built for
   Linux kernels 2.6.37 and later, as well as specially patched versions
   of earlier kernels, do not need this and do not have this parameter. If
   you do not understand what this means or do not know if your driver
   will work, do not set this.
   NICがサポートするVLAN上のTCPセグメンテーションオフロードを有効にす
   る、vlan_tsoと呼ばれるopenvswitch_mod.koにオプションモジュールのパ
   ラメータがあります。多くのドライバはOpen vSwtichがVLAN上でTSOをサポー
   トしているか公開していません。この場合、サポートされているか確認で
   きません。特定のドライバがTSOをサポートしている場合(例えば、VLAN上
   で大きなTCPパケットを送信してテストする)1の値を与えると、パフォー
   マンスが向上する場合があります。カーネル2.6.37以降同様に、同様に以
   前のカーネルの特別なパッチを適用したバージョン用に構築されたモジュー
   ルは、値を与える必要はありません。また、このパラメータを持っていま
   せん。この理由を理解出来ないもしくは、ドライバの動作を知らない場合、
   この値をセットしないでください。


7. Initialize the configuration database using ovsdb-tool, e.g.:
7.Ovsdb-toolを使用して、設定データベースを初期化する

      % mkdir -p /usr/local/etc/openvswitch
      % ovsdb-tool create /usr/local/etc/openvswitch/conf.db vswitchd/vswitch.ovsschema

Startup
起動
=======

Before starting ovs-vswitchd itself, you need to start its
configuration database, ovsdb-server.  Each machine on which Open
vSwitch is installed should run its own copy of ovsdb-server.
Configure it to use the database you created during step 7 of
installation, above, to listen on a Unix domain socket, to connect to
any managers specified in the database itself, and to use the SSL
configuration in the database:
ovs-vswitchd自体を起動する前に、設定データベース,ovsdb-severの起動が必
要です。Open vSwtichのインストールされているそれぞれのマシンは、ovsdb-server
の独自コピーを実行します。インストールのステップ7で作成したデータベー
スを使用するように設定し、上記のデータベースで指定されたマネージャーに
接続するにはUnixドメインソケットをリッスンするように設定します。また、
データベースにSSL設定を使用します。

      % ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock \
                     --remote=db:Open_vSwitch,manager_options \
                     --private-key=db:SSL,private_key \
                     --certificate=db:SSL,certificate \
                     --bootstrap-ca-cert=db:SSL,ca_cert \
                     --pidfile --detach

(If you built Open vSwitch without SSL support, then omit
--private-key, --certificate, and --bootstrap-ca-cert.)
SSLサポートなしにOpen vSwtichを構築する場合、"--private-key, --certificate,
and --bootstrap-ca-cert"を省略します。

Then initialize the database using ovs-vsctl.  This is only
necessary the first time after you create the database with
ovsdb-tool (but running it at any time is harmless):
その後ovs-vsctlを使用してデータベースを初期化します。これの作業はovsdb-tool
でデータベースを作成した最初だけ必要です。(起動していている間でもでも
無害です。)


      % ovs-vsctl --no-wait init

Then start the main Open vSwitch daemon, telling it to connect to the
same Unix domain socket:
その後同じUnixドメインソケットに接続するため、メインのOpen vSwitchデー
モンを起動します。

      % ovs-vswitchd --pidfile --detach

Now you may use ovs-vsctl to set up bridges and other Open vSwitch
features.  For example, to create a bridge named br0 and add ports
eth0 and vif1.0 to it:
今、ブリッジ機能やその他Open vSwitch機能の設定するにはovs-vsctlを使用
することができます。例えば、ブリッジ名をbr0、ポートをeth0とvif1.0で作
成します。

      % ovs-vsctl add-br br0
      % ovs-vsctl add-port br0 eth0
      % ovs-vsctl add-port br0 vif1.0

Please refer to ovs-vsctl(8) for more details.
もっと詳しい内容はovs-vsctl(8)を参照してください。

Upgrading
アップグレード
=========

When you upgrade Open vSwitch from one version to another, you should
also upgrade the database schema:
あるバージョンから別のバージョンにOpen vSwitchをアップグレードするには、
データベーススキーマのアップグレードも必要です。

1. Stop the Open vSwitch daemons, e.g.:
1.Open vSwtichデーモンをストップします。

      % kill `cd /usr/local/var/run && cat ovsdb-server.pid ovs-vswitchd.pid`

2. Install the new Open vSwitch release.
2.新しいOpen vSwtichのリリースをインストールします。

3. Upgrade the database, in one of the following two ways:
3.次の2つのうち、いずれかの方法でデータベースをアップグレードします。

      - If there is no important data in your database, then you may
        delete the database file and recreate it with ovsdb-tool,
        following the instructions under "Building and Installing Open
        vSwitch for Linux".
    データベースに重要なデータがない場合、データベースファイルを削
    除して、"Building and Installing Open vSwitch for Linux"の指示
    に従って、ovsdb-toolを再作成してください。

      - If you want to preserve the contents of your database, back it
        up first, then use "ovsdb-tool convert" to upgrade it, e.g.:
    最初に戻って、データベースのコンテツを再利用する場合、データベー
    スをアップグレードする"ovsdb-tool convert"を使用してください。

        % ovsdb-tool convert /usr/local/etc/openvswitch/conf.db vswitchd/vswitch.ovsschema

4. Start the Open vSwitch daemons as described under "Building and
   Installing Open vSwitch for Linux" above.
4.上記の"Building and Installing Open vSwitch for Linux"で説明したよう
に、Open vSwitchデーモンを起動します。

Bug Reporting
バグレポート
-------------

Please report problems to bugs@openvswitch.org.
問題はbugs@openvswitch.orgに送ってください。