読者です 読者をやめる 読者になる 読者になる

仮想スイッチを構築してみる!! - OpenvSwitch

本投稿では、「OpenvSwitch」をYumとrpmbuildでインストールする方法を紹介します。

はじめに

作業環境
- ConoHa 1GB
- CentOS 6.6
  -> 最小インストール(minimal)
- Memory 1024MB
- HDD 15GB

 

 

OpenvSwitchをYumでインストール

 

Yumリポジトリを追加

OpenStackをインストールに必要なYumリポジトリ「RDO」を追加します。

# rpm -Uvh https://repos.fedorapeople.org/repos/openstack/openstack-icehouse/epel-6/rdo-release-icehouse-4.noarch.rpm

 

OpenvSwitchをインストール

OpenvSwitchをインストールします。

# yum  install openvswitch

 

OpenvSwitchを起動

サービスの起動前にログファイルを生成しておきます。

# mkdir /var/log/openvswitch
# touch /var/log/openvswitch/ovs-ctl.log
# chmod 666 /var/log/openvswitch/ovs-ctl.log

 

サービスを起動

# service openvswitch start
Starting ovsdb-server                                      [  OK  ]
Configuring Open vSwitch system IDs                        [  OK  ]
Starting ovs-vswitchd                                      [  OK  ]
Enabling remote OVSDB managers                             [  OK  ]

 

自動起動設定へ追加

# chkconfig openvswitch on
# chkconfig --list openvswitch
openvswitch     0:off   1:off   2:on    3:on    4:on    5:on    6:off

 

動作確認

バージョン確認

# ovs-vsctl --version
ovs-vsctl (Open vSwitch) 2.1.3
Compiled Oct 10 2014 14:20:08

 

初期設定を確認

# ovs-vsctl show
0a7aae37-f32d-4b53-a69f-44aecc5afd73
    ovs_version: "2.1.3"

もちろん、何も設定されていません。

 

 

OpenvSwitchをrpmbuildでインストール

最新版のOpenvSwitchを利用したい場合は、こちらの方法がおすすめです。

 

RPMパッケージをインストール

rpmbuildに必要なパッケージをインストールします。

# yum install -y gcc make automake rpm-build redhat-rpm-config openssl-devel kernel-devel libtool

 

最新版の autoconf をインストール

autoconfのバージョンが 2.64 以上でなければ、OpenvSwitchをrpmbuildできない。

最新版のautoconfをダウンロードし、コンパイルします。

# cd /usr/local/src/
# wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
# tar xvf autoconf-2.69.tar.gz
# cd autoconf-2.69
# ./configure
# make
# make install

 

 

OpenvSwitchの配布パッケージを作成

OpenvSwitchの配布パッケージを作成します。

# cd /usr/local/src/
# wget http://openvswitch.org/releases/openvswitch-2.3.1.tar.gz
# tar xvf openvswitch-2.3.1.tar.gz
# cd openvswitch-2.3.1
# ./boot.sh
# ./configure
# make
# make dist

上記URLでダウンロードできない場合、下記URLをお試しください。

 

 

rpmbuildの作業ディレクトリを作成

rpmbuildの作業ディレクトリを作成して配布パッケージを移動します。「/usr/local/src/openvswitch-2.3.1/openvswitch-2.3.1.tar.gz」が作成した配布パッケージです。

# mkdir -p ~/rpmbuild/SOURCES
# cp openvswitch-2.3.1.tar.gz ~/rpmbuild/SOURCES

 

specファイルを編集

デフォルトのspecファイルでは、ビルドに失敗するので設定を加えます。

# vim rhel/openvswitch-kmod-rhel6.spec
~略~
%description
Open vSwitch Linux kernel module.

%prep
~略~

「%description」と「%prep」の間に設定を追加します。

~略~
%description
Open vSwitch Linux kernel module.
%files
%defattr(-,root,root,-)
/etc/depmod.d/openvswitch.conf
%prep
~略~

 

 

OpenvSwitchのrpmbuildを開始

rpmbuildを始めます。

# rpmbuild -bb rhel/openvswitch-kmod-rhel6.spec
# rpmbuild -bb rhel/openvswitch.spec

 

OpenvSwitchをインストール

rpmbuildで生成さえたRPMパッケージをサーバにインストールします。

# rpm -Uvh /root/rpmbuild/RPMS/x86_64/openvswitch-debuginfo-2.3.1-1.x86_64.rpm
# rpm -Uvh /root/rpmbuild/RPMS/x86_64/openvswitch-kmod-2.3.1-1.el6.x86_64.rpm
# rpm -Uvh /root/rpmbuild/RPMS/x86_64/openvswitch-2.3.1-1.x86_64.rpm

 

OpenvSwitchを起動

サービスを起動する前にログファイルを生成

# touch /var/log/openvswitch/ovs-ctl.log
# chmod 666 /var/log/openvswitch/ovs-ctl.log

 

サービスを起動

# service openvswitch start
Starting ovsdb-server                                      [  OK  ]
Configuring Open vSwitch system IDs                        [  OK  ]
Starting ovs-vswitchd                                      [  OK  ]
Enabling remote OVSDB managers                             [  OK  ]

 

自動起動設定へ追加

# chkconfig openvswitch on
# chkconfig --list openvswitch
openvswitch     0:off   1:off   2:on    3:on    4:on    5:on    6:off

 

動作確認

バージョン確認

# ovs-vsctl --version
ovs-vsctl (Open vSwitch) 2.3.1
Compiled Feb 15 2015 17:27:00
DB Schema 7.6.2

 

初期設定を確認

# ovs-vsctl show
0a7aae37-f32d-4b53-a69f-44aecc5afd73
    ovs_version: "2.3.1"

もちろん、なにも設定されていません。