Contrail 評価版 - How to install
Rev. 1.03.00
はじめに
この資料は、Contrailの評価版をご利用頂く際に、製品ドキュメントの補助と
してご利用頂くことを目的に作成しました。
内容
ファイルのダウンロード
インストールの注意点
新規インストール手順
アップグレード手順
– 1.02から1.03へ
インストール確認
本資料記載の内容は、2014年1月22日現在のリリース1.03をベースにしています。 記載内容は予告なく変更されることもあります。ご了承ください。Contrail 構成サーバー
通常は、複数のサーバーにインストールします。
Contrailのシステムは下記のコンポーネントから構成されます。
cfgm
– Contrail configuration manager を実行(Contrailのクラスタ
*1をコントロールする
役割)
openstack
– OpenStackの各種サービス(Nova, Quantumなど)を実行
collector – モニター、Analytics(通信の統計情報収集等)
compute
– vRouterが動作し、仮想マシン(VM)を起動し実ネットワークとの通信を提供
control
– コントロール・プレーンのサービスを提供
database
– Analyticsとシステム設定情報のデータベース
webui
– 管理者向けGUI
ダウンロードしたソフトウェアは、サーバーの持つ役割に関わらず全てのサーバーに
インストールします。その後のセットアップで、サーバーの役割に応じた設定が行わ
れます。
インストールのポイント
サーバーの設定
次の設定が必要です。
サーバー名でアドレスを解決できること(必須) – /etc/hosts に、Contrailのクラスタを構成するサーバー名とIPアドレスを登録してください。 複数サーバー構成の場合、サーバー間で時刻が同期していること – ntp パッケージをインストールして設定してください。 – インストール作業に影響を与えませんが、サーバー間で時刻がずれていると、起動後の統計情報の処理が正しく行われ ません。Contrailソフトウェアパッケージのインストール
RPM利用の場合、yum や rpm コマンドを使ってパッケージをインストールします。
ISOイメージ利用の場合
サーバーのBIOS設定を変更し、ISOのイメージから起動します。ネットブート、DVDドライブ等。Ver. 1.02のCentOS版は、bootable USBメモリからのインストールはサポートしていません。
インストーラーの指示に従って必要項目を設定します。
その他
ISOイメージからインストールしたサーバーは、外部からssh, sftpで接続可能ですが、telnet, ftpは不可
です。必要に応じてパッケージをインストールするか、予めssh, sftpの利用できるターミナルソフトをご
用意頂くと良いでしょう。
インストールのポイント
セットアップ
Contrailパッケージのインストールが完了したら、サーバーのセットアップが必要
です。
セットアップは、1台のサーバーからネットワーク経由で実行されます。
設定ファイルの作成
セットアップを実行するサーバー上で、
/opt/contrail/utils/fabfile/testbeds の下にある
testbed_multibox_example.py (複数サーバー構成の場合)
をコピーして、testbed.py を作成してください(同じディレクトリ)。
同ディレクトにあるtestbed_singlebox_example.pyは、1台構成
*2(全ての
コンポーネントを1台のサーバー上で稼働させる)用のテンプレートです。
インストールのポイント
設定ファイルの内容
testbed.pyの主な行を以下に示します。お使いのネットワーク環境に合わせて編
集してください。
host1 = '[email protected]' <= ここから各ホストでセットアップを実行する <ユーザー名>@<IPアドレス> を編集
host2 = '[email protected]' 不要な行は削除またはコメントアウトする。 < 省略 > host10 = '[email protected]' ext_routers = [('mx-1', '172.27.113.90'), ('mx-2', '172.27.113.91')] <= ルーター名とIP router_asn = 64512 <= AS番号 アドレス host_build = '[email protected]' <= セットアップを実行するホストとユーザー(注) Env.roledefs = {
'all': [host1, host2, host3, host4, host5],<= 全てのホスト名を列挙 以下、各役割のホスト名を記述
'cfgm': [host1], <= Configuration Manager
'openstack': [host1], <= OpenStack
インストールのポイント
'compute': [host4, host5], <= Compute Node
'collector': [host1], <= Collector
'webui': [host1], <= Web UI
'database': [host1], <= Databaseを作成するホスト(通常はConfiguration
'build': [host_build], Manager と同じ)
}
env.hostnames = { 全ホスト名を列挙
'all': ['system001', 'system002', 'system003','system004', 'system005'] } env.passwords = { <= 各ホストのユーザーのパスワードを列挙する host1: 'juniper123', < 省略 > host5: 'juniper123', host_build: 'juniper123', <= セットアップを実行するホストのパスワード }
セットアップの実行
#cd <parent-of-fabfile-directory> <= fabfileの親ディレクトリに移動(/opt/contrail/utils) #fab setup_allVMware上のLinuxへインストールする場合
VMware WorkstationでLinuxのVMを作り、その上にContrailをイン
ストールすることもできます。その場合、セットアップを実行する前に
下記設定を有効にしておいてください。
ダウンロードサイト
Contrailのバイナリファイルは、こちらからダウンロードできます。
https://www.juniper.net/beta/contrail/index.html
Note, this will require registering for an account if you’re not already a Juniper.net user. It
may take up to 24 hours for Juniper to respond to the new account request. We highly
recommend reading the
Installation Guide
to go through the minimum requirements and
get a sense of the installation process before you jump in.
ダウンロードするためには、juniper.netのアカウントが必要となります。
事前に、インストールガイドをお読みください。インストールに必要な最低限の環境や手順が記
載されています。
ご利用に際してContrail Software Evaluation License Agreementへ同意頂く必要があります。
http://www.juniper.net/support/downloads/eula/contrail-eula.html
インストールガイドは、こちらからご覧いただけます。
http://www.juniper.net/techpubs/en_US/contrail1.0/information-products/pathway-pages/contrail-feature-guide-pwp.html#installation
ファイルの種類
サポートOS
Cent OS 6.4
Fedoracore 17
Software
既にOSをインストール済みで、Contrailのパッケージのみを
インストールする場合、こちらをお使いください。
RPMのファイルです。
Install Media
Contrailのパッケージを含むOSのisoイメージです。
新規にインストール可能な空きディスク/パーティション
がある場合にご利用頂けます。別途、Contrailのセット
アップは必要です。
ダウンロード前に、こちらをご確認ください。
注意事項
ISOイメージからインストールされる方へ
フリーのツール等を使って、ISOからブータブルなUSBメモリスティッ
クを作成し、インストールすることができます。DVDに焼いてからのイ
ンストールよりも速度面で有利です。
但し、
CentOS版
は、USBメモリスティックからのブートに対応してい
ません。
インストール手順1
– RPMファイルから
サーバーの構成、ネットワーク、OSの種類により、手順は異なります。
ここでは、CentOS RPM、1つのNICを使用する場合を説明します。
詳細はインストールマニュアルをご参照ください。
1.
OSのインストール
1.
CentOS 6.4 をダウンロードしてインストール
2.
ホスト名の設定
/etc/sysconfig/network ファイルにホスト名を記述してください。
例:
[root@system001 ~]# cat /etc/sysconfig/network NETWORKING=yes
インストール手順1
– RPMファイルから
3.
ネットワークの設定
/etc/sysconfig/network-scripts/ifcfg-<if name> ファイルを編集
例:
[root@system001 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=00:25:90:A6:7D:25 TYPE=Ethernet UUID=330e0664-87f1-4bf1-8dd3-8932a47a5b7f ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=none IPADDR=172.27.113.85 NETMASK=255.255.252.0 GATEWAY=172.27.112.1 ホスト名、ネットワークを設定したらリブートしてください。
2.
ContrailのRPMパッケージをインストール
# yum localinstall <パッケージファイル名(フルパス)> 又は # rpm –Uvh <パッケージファイル名(フルパス)>インストール手順1
– RPMファイルから
3.
Contrailのセットアップ
# cd /opt/contrail/contrail_packages; ./setup.sh
4.
testbed.pyの編集
前述のtestbed.pyの例を参考に必要な項目を編集。
詳細は
http://www.juniper.net/techpubs/en_US/contrail1.0/topics/task/installation/testbed-file-vnc.html
インストール手順1
– RPMファイルから
6.
ContrailのRPMインストール(他のサーバーへ)
インストール作業を行うサーバーのみで実行
# fab install_rpm_all:<RPMパッケージファイル名>
例:
# fab
install_rpm_all:/tmp/contrail-install-packages-1.03-386.el6.noarch.rpm
7.
Contrailパッケージをインストール
fabfileディレクトリの親ディレクトリで
# fab install_contrail
8.
セットアップ
# fab setup_all
インストール手順2
– Install mediaから
(クリーン・インストール可能なディスク、パーティションがある場合)
Install mediaのISOイメージは、OS、Contrailパッケージ(展開済、
rpmの展開は不要です)、OpenStackを含んだブータブル・イメージ
です。
1.
OSインストール
ISOを焼いたDVDからブートさせます。画面の指示に従って必要な項目を選択・入力し、
OSをインストールします。
詳しくは、
インストールドキュメント
をご参照ください。
2.
OSの設定
1.
ホスト名の設定
/etc/sysconfig/network ファイルにホスト名を記述してください。
例:
[root@system001 ~]# cat /etc/sysconfig/network NETWORKING=yes
インストール手順2
– Install mediaから
2.
ネットワークの設定
/etc/sysconfig/network-scripts/ifcfg-<if name> ファイルを編集
例:
[root@system001 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=00:25:90:A6:7D:25 TYPE=Ethernet UUID=330e0664-87f1-4bf1-8dd3-8932a47a5b7f ONBOOT=yes <= ブート時にインタフェースを有効にします NM_CONTROLLED=yes BOOTPROTO=none <= デフォルトではdhcpになっていることが多いです IPADDR=172.27.113.85 NETMASK=255.255.252.0 GATEWAY=172.27.112.1
3.
再起動
OSを再起動して、ホスト名、IPアドレスの設定が正しく反映されていることを確認してください。インストール手順2
– Install mediaから
1.
ホスト名でアドレス解決できるようにしてください(DNS設定、又はhostsファイ
ル編集)。
例:/etc/hostsファイルを編集
[root@sv001 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.126.41 sv001 sv001.localdomain 192.168.126.42 sv002 sv002.localdomain 192.168.126.43 sv003 sv003.localdomain [root@sv001 ~]#
2.
ファイル確認(参考)
Install mdediaのISOからOSをインストールすると、下記ディレクトリにインストール用の
ファイルが展開されています。
[root@sv001 ~]# ls -lh /opt/contrail/ total 605Mdrwxr-xr-x 2 root root 4.0K Nov 29 00:38 bin
drwxr-xr-x 5 500 500 4.0K Oct 23 15:58 contrail_installer -rw-r--r-- 1 root root 6.2M Oct 23 15:58 contrail_installer.tgz drwxrwxr-x 3 142 1001 4.0K Oct 23 11:02 contrail_packages
-rw-r--r-- 1 root root 599M Oct 23 16:41 contrail_packages_243.tgz [root@sv001 ~]#
インストール手順2
– Install mediaから
3.
Contrailのセットアップ
# cd /opt/contrail/contrail_packages; ./setup.sh
4.
testbed.pyの編集
/opt/contrail/utils/fabfile/testbedsの下にtestbed.pyを作成してください。
前述のtestbed.pyの例を参考に必要な項目を編集。
詳細は
http://www.juniper.net/techpubs/en_US/contrail1.0/topics/task/installation/testbed-file-vnc.html
5.
Contrailパッケージをインストール
fabfileディレクトリの親ディレクトリ/opt/contrail/utilsで # fab install_contrail ネットワーク経由で、各サーバーにパッケージがインストールされます。 例:インストール時に、次のような形で接続しているサーバーとインストール中のパッケージ情報が出力されます。[[email protected]] out: Installing : contrail-database-venv-1.02-243.el6.x86 [################### ] 9/52 [[email protected]] out: Installing : contrail-database-venv-1.02-243.el6.x86 [#################### ] 9/52 [[email protected]] out: Installing : contrail-database-venv-1.02-243.el6.x86 [##################### ] 9/52
インストール手順2
– Install mediaから
例:終了直前の画面出力[[email protected]] out: wpa_supplicant.x86_64 1:0.7.3-4.el6_3 [[email protected]] out:
[[email protected]] out: Complete! [[email protected]] out:
Reboot issued; Waiting for the node (192.168.126.43) to go down... Node (192.168.126.43) is down... Waiting for node to come back .
Done.
Disconnecting from 192.168.126.43... done. Disconnecting from 192.168.126.42... done. Disconnecting from 192.168.126.41... done. [root@sv001 utils]#
以下の様な場合は失敗です(メモリ不足などが考えられます)。
Stopped.
Disconnecting from 192.168.126.43...
[[email protected]] out: Installing : contrail-database-venv-1.02-243.el6.x86 [################################## ] 9/52done. Disconnecting from 192.168.126.42... done.
Disconnecting from 192.168.126.41... done. [root@sv001 utils]#
6.
セットアップ
# fab setup_all 終了直前の出力例
[[email protected]] Executing task 'prov_external_bgp' [[email protected]] Executing task 'compute_reboot'
Reboot issued; Waiting for the node (192.168.126.43) to go down... Node (192.168.126.43) is down... Waiting for node to come back .
Done.
Disconnecting from 192.168.126.43... done. Disconnecting from 192.168.126.42... done. Disconnecting from 192.168.126.41... done. [root@sv001 utils]#
1.03へのアップグレード手順 (1/3)
既に1.02をお使いの方で、今の環境を保持したまま1.03へアップグレードする方法です。
注意
・Computeノードの再起動、VMの再起動が必要です。VM上で作業中のタスクは全て終了して
情報が失われないように注意してください。
・1.02を構築したときからサーバーの構成に変更がないことが前提です(testbed.pyが同一で
あること)
1. RPMファイルをダウンロード
お使いのOSに対応したパッケージファイル contrail-install-packages-1.03-xxx.xxx.noarch.rpm をダウ
ンロードしてください。
http://www.juniper.net/support/downloads/?p=contrail#sw
ダウンロードしたファイルは、Configノードの /tmpに置いてください。
2. contrailインストールパッケージを展開:
# yum localinstall /tmp/contrail-install-packages-1.03-xxx.xxx.noarch.rpm
または、
1.03へのアップグレード手順 (2/3)
3. ローカルマシン(アップグレードコマンドを実行するサーバー)のセットアップ
# cd /opt/contrail/contrail_packages; ./setup.sh
4. testbed.pyの確認
セットアップのときに使用したtestbed.pyファイルが、そのまま(変更されずに)
/opt/contrail/utils/fabfile/testbeds/に存在していることを確認してください。
1.02インストール時からクラスタの構成が変更されている場合は、別途お問い合わせください。
5. アップグレードコマンド実行
# cd /opt/contrail/utils; fab
upgrade_contrail:/tmp/contrail-install-packages-1.03-xxx.xxx.noarch.rpm; fab setup_cfgm
終了時にComputeノードが自動的に再起動します。
1サーバー構成(全てのコンポーネントを1台にインストール)の場合は、Computeのサービスを再起動し
てください。
1.03へのアップグレード手順 (3/3)
6. VMの再起動
Openstackサーバー上で、全ての仮想マシンをソフト・リブートしてください。
方法1
GUIの各インスタンスのメニューから再起動してください。
方法2
コマンドラインからリブートします。
# source /etc/contrail/openstackrc ; nova reboot <vmインスタンスID>
openstack-nova-novncproxy が起動していることを確認してください。
# service openstack-nova-novncproxy status
サービスを再起動するには、次のコマンドを使用します。
# service openstack-nova-novncproxy restart
インストール確認
モジュールの起動確認コマンド openstack-status
動作しているOpenStackモジュールの状態を表示します。
例:
[root@system001 ~]# openstack-status == Nova services == openstack-nova-api: active openstack-nova-cert: activeopenstack-nova-compute: dead (disabled on boot) openstack-nova-network: dead (disabled on boot) ……….
openstack-cinder-scheduler: active
openstack-cinder-volume: inactive (disabled on boot) == Support services == mysqld: active httpd: active libvirtd: inactive qpidd: active memcached: active == Keystone users ==
インストール確認
OpenStack novaホスト確認
nova host-list
動作しているnovaホストの一覧を表示します。
Configuration Manager上で実行します。Computeノードが表示され
ない場合、通信ができていません。
例:
[root@system001 ~]# (source /etc/contrail/openstackrc ; nova host-list) +---+---+---+
| host_name | service | zone | +---+---+---+ | system001.xyz.juniper.net | cert | internal | | system001.xyz.juniper.net | conductor | internal | | system001.xyz.juniper.net | conductor | internal | | system001.xyz.juniper.net | conductor | internal | | system001.xyz.juniper.net | consoleauth | internal | | system001.xyz.juniper.net | scheduler | internal | | system004.xyz.juniper.net | compute | nova | | system005.xyz.juniper.net | compute | nova | +---+---+---+