v15.03 ユーザーマニュアル

Masahito Yoshida edited this page Mar 18, 2015 · 1 revision

EIEB(Enterprise IaaS Easy Builder)


[TOC]


はじめに

Enterprise IaaS Easy Builder(以下「EIEB」と表記します)は、「Wakame-vdc環境を簡単に構築する事」を目指したツールセットです。Wakame-vdc環境をサービス提供が可能なレベルに整備するには、設計から構築、そしてリリースするまで、約半年かかります。約半年分の成果物を入れられたなら・・・。しかも、構築作業を、たった1人で、行えたなら・・・。EIEBは、その可能性を秘めています。ぜひ、EIEBツールによる環境構築を実践してみて下さい。

本書の構成

1章から4章がユーザー向けの内容です。5章から6章はツール開発者向けの内容です。

  • 第1章: ツール実行環境構築
    • ツール実行環境構築について説明しています
  • 第2章: ベアメタル環境の設計と構築
    • ベアメタル環境構築の設計構築について説明しています
  • 第3章: インストール実行
    • ツールによるWakame-vdc環境の構築について説明しています
  • 第4章: インストール後の確認作業
    • クラスタに対する正常性確認について説明しています
  • 第5章:リファレンス
    • 構築手順では使わないコマンドも含めて説明しています
  • 第6章: トラブルシューティングのポイント
    • ツール実行時のトラブルーシューティングについて説明しています

本書の記述について

コマンド

本書では実行するコマンドを次のような形式で掲載しています。

[client]$ command
[server]# command
  • プロンプトが「$」で始まるものは、一般ユーザー権限で実行するものです。
  • プロンプトが「#」で始まるものは、管理者権限(root権限)が必要なものです。

コマンド実行対象を説明する為、プロンプトの先頭に[client][server]と記述しています。

設定や設定例

設定例や設定の書式に関しては、次の様に掲載しています。

DEVICE=eth0
TYPE=Ethernet
BOOTPROTO=none
HWADDR=<※MACアドレス※>
ONBOOT=yes

設定例に関しては読み替えが必要なものがあります。ブラケット「<>」で囲まれた記述は、実際に使用する環境に合わせて読み替えが必要になるものです。多くの場合、ホスト名やIPアドレス、MACアドレスです。

略図

設定・設定例との混同を避ける為、先頭行に「【タイトル】」を記述して掲載しています。

【サーバ/クライアント】

+--------+  +------+
| client |--|server|
+--------+  +------+

用語の整理

  • ラップトップ
    • 作業用マシンの事です。当然、デスクトップの場合もありますが、本書ではラップトップで統一しています。
  • ベアメタル
    • 物理サーバの事です。時には物理サーバも仮想マシンと扱う場合もあるので、物理である事を明確にする為、本書ではベアメタルで統一しています。
  • ネットワークインターフェース
    • ネットワークインターフェースカードの事でもあります。本書では数種類のインターフェースを扱うので、各種を明確に区別する為、敢えて冗長な書き方をしています。

第1章: ツール実行環境構築

本章ではVagrant+VirtualBoxを利用したツール実行環境の構築・設計について説明します。

Vagrant+VitualBox上に環境を作る

EIEBはインストールツールセットです。CentOS-6上で動く事を想定しています。その他の制約はなく、ベアメタルでも仮想マシンでも、どちらでも動作します。ツール実行環境の構築の手間を削減・軽減を目的として、ツール入り環境をVagrant+VirtualBox用の仮想マシンイメージとして提供しています。

VirtualBoxは無償の仮想化ソフトウェアです。また、対応プラットフォームが多い事も特徴で、十分な機能を備えています。多機能である為、環境設定が少々複雑です。それにより、作業者による作業ブレなども発生しがちです。環境設定や作業ブレ防止を目的として、Vagrantを組み合せて使います。VagrantとVirtualBoxを組み合わた使い方は、ここ1・2年で開発環境構築ツールとしての地位を確立しています。ツール実行環境は、こうした開発技法を最大限活用し、Vagrant+VirtualBox用マシンイメージを提供しています。

基本設計

Vagrant+VirtualBoxを動作させる為の要件をまとめて行きます。

最低限の要件

VirtualBoxホストマシンには、仮想マシンを起動するだけのスペックが必要です。以下はホストマシン(ラップトップ)としての最低限の条件・参考例です。実際はもっと低スペックのラップトップでも動作すると思います。

ラップトップ

  • CPU: 64bit
  • メモリ: 4G
  • HDD: 200G
  • ホストOS: Windows-8.1

必要なソフトウェア

用意するソフトウェアは以下の通りです。

ソフトウェアの関係図

インストールするソフトウェアは上記の通りですが、各ソフトウェアはどのような関係になるのでしょうか。どこにどのソフトウェアを入れるかを、分かりやすいように以下の図に示します。本節では、右側の「Laptop」が作業対象です。

【EIEBツールのソフトウェア関係図】

+----------------------+         +-------------------------+
| Server               |         | Laptop                  |
|                      |         |                         |
|                      |         | (1)Windows-8.1          |
|                      |         | +---------------------+ |
|                      |         | | (2)Vagrant          | |
|                      |         | | +-----------------+ | |
|                      |         | | | (3)VirtualBox   | | |
|                      |         | | | +-------------+ | | |
|                      |         | | | |(4)CentOS-6.6| | | |
|                      |  (5)ssh | | | |             | | | |
|                   <-------------------------+      | | | |
|                      |         | | | |             | | | |
|                      |         | | | +-------------+ | | |
|                      |         | | +-----------------+ | |
|                      |         | +-+-----------------+-+ |
+----------------------+         +-------------------------+
  • (1) Windows-8.1は、ホストOSです。
  • (2) Vagrantは仮想マシン管理ツール。Windows-8.1上にインストールします。
  • (3) VirtualBoxをWindows-8.1上にインストールします。
  • (4) VirtualBoxの仮想マシンにCentOS-6.6をインストールします。
  • (5) CentOS-6.6(EIEBツール実行環境)からインストール対象にアクセスし、オペレーションを行います。

インストールの順番

インストールの順番は以下の通りです。

  1. Vagrant (1.6.5以上)
  2. VirtualBox (4.3.22以上)
  3. Vagrantfile

ダウンロード手順

必要なプロダクトをダウンロードします。

インストール手順

VagrantとVirtualBoxは、それぞれのインストーラに従ってインストールして下さい。それ以降の作業はターミナルからコマンドを実行しますので、コマンドプロンプトを開いて下さい。

ツール実行環境構築手順 (20分~30分)

先ほどVagrantfileを保存したフォルダへ移動します。

[laptop]$ cd <Vagrantfileが保存されてるフォルダ>

あとはvagrant upを実行するだけです。

[laptop]$ vagrant up

実行結果例:

[laptop]$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'eieb-executor-x86_64-step0.4'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: vagrant-demo_default_0123456789abc_12345
==> default: Fixed port collision for 22 => 2222. Now on port 2200.
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 8080 => 9090 (adapter 1)
    default: 8081 => 9091 (adapter 1)
    default: 22 => 2200 (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2200
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => /path/to/enterprise-iaas-easy-builder/vagrant-demo

実行するコマンドは、この2つだけです。しばらく(20分~30分程度)すると、EIEBツール実行環境用のVagrantインスタンスが起動ます。補足説明しますと、vagrant upは2つの事を処理します。1つ目は、Vagrant Box(仮想マシンイメージ)を管理用フォルダにダウンロード。2つ目は、ダウンロードしたVagrant Boxを作業用フォルダにコピー。この2つを処理するため、どうしても待ち時間が長くなります。ネットワーク帯域やIO性能によって必要な時間が異なるので、少し気長に待って下さい。

Vagrantインスタンス起動が完了したら、Vagrantインスタンスが正しく起動した事を確認します。

$ vagrant status
Current machine states:

default                   running (virtualbox)

The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.

runningとなっていれば、正しく起動しています。

起動したVagrantインスタンスを停止する場合は、vagrant haltを実行します。

[laptop]$ vagrant halt

実行結果例:

$ vagrant halt
==> default: Attempting graceful shutdown of VM...

Vagrantインスタンスを停止した場合は、もう一度vagrant upを実行してVagrantインスタンスを起動して下さい。この後の作業では、Vagrantインスタンスが起動してる事を前提に話を進めて行きます。Vagrantに慣れる事を目的として、何度かvagrant upvagrant haltを繰り返して実行してみると良いかも知れません。本書はVagrant入門書ではないので、Vagrantの説明は、この程度に留めておきます。

SSHキーペアの作成

暫定のSSHキーペアを削除します。(※Vagrant Boxには暫定のSSHキーペアが登録されています)

[vagrant]$ rm -f /opt/axsh/eieb/makistrano/sysvm/keys/eieb-deploy

デプロイ作業に必要なSSHキーペアを作成します。

[vagrant]$ ssh-keygen -N "" -f /opt/axsh/eieb/makistrano/sysvm/keys/eieb-deploy
[vagrant]$ ssh-keygen -N "" -f /opt/axsh/eieb/makistrano/sysvm/keys/eieb-deploy
Generating public/private rsa key pair.
Your identification has been saved in /opt/axsh/eieb/makistrano/sysvm/keys/eieb-deploy.
Your public key has been saved in /opt/axsh/eieb/makistrano/sysvm/keys/eieb-deploy.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx vagrant@vagrant-centos6
The key's randomart image is:
+--[ RSA 2048]----+
|        .        |
|        .        |
|        .        |
|        .        |
|        .        |
|        .        |
|        .        |
|        .        |
|       .o. .o==+E|
+-----------------+

ssh-keygenが生成した/opt/axsh/eieb/makistrano/sysvm/keys/eieb-deploy.pubは、後述の手順で登録対象となる公開鍵です。

まとめ

本章ではVagrantを使いVirtualBox上にツール実行環境を構築してみました。仮想マシンイメージ(Vagrant Box)を使用して構築したので、従来の方法と比べて大幅に構築コストを削減出来たはずです。また、Vagrantを利用する事により、VirtualBoxの環境設定を意識する事なく、導入コストも大幅に削減出来たはずです。環境は作業担当者の手元にあるので、起動も停止も、再構築も誰にも迷惑がかかりません。少しでもEIEBツールによるインストール作業に注力出来たら、嬉しく思います。

第2章: ベアメタル環境の設計と構築

本章ではWakame-vdc環境の構築・設計について、実践的に説明します。Wakame-vdc環境構築を目的として、ベアメタル上に環境を構築していきます。

システム構成

ハードウェア構成

構築するハードウェア構成は以下の通りです。

  • ベアメタル: 5台
  • ラップトップ: 1台
  • スイッチングHUB: 2台
【Wakame-vdc環境とEIEBツール】

+------------------------------------------------------------------------+
|                             (7)Switch:Public                           |
+------+--------------+--------------+--------------+--------------+-----+
       |              |              |              |              |      
       |              |              |              |              |      
+------+-----+ +------+-----+ +------+-----+ +------+-----+ +------+-----+
|(1)BareMetal| |(2)BareMetal| |(3)BareMetal| |(4)BareMetal| |(5)BareMetal|
+------+-----+ +------+-----+ +------+-----+ +------+-----+ +------+-----+
       |              |              |              |              |      
       |              |              |              |              |      
+------+--------------+--------------+--------------+--------------+-----+
|                             (8)Switch:Management                       |
+-------------------------------------------------------+----------------+
                                                        |                 
                                                        |                 
                                                   +----+----+            
                                                   |(6)Laptop|            
                                                   +---------+            

ネットワークの冗長化をする場合は、OS側でBondingを利用し、冗長化して下さい。Bondingのmodeについては、ネットワーク機器に合わせて設定して下さい。

最低限の要件

ベアメタル

動作確認している中で一番低いベアメタルのスペックは、以下の通りです。ネットワークインターフェースは役割を明確する為に2枚使います。

  • CPU: Intel(R) Xeon(R) CPU E5506 @ 2.13GHz
  • メモリ: 24G
  • HDD: 230G
  • ホストOS: CentOS-6.4 x86_64
  • ネットワークインターフェース(枚数・用途): 1Gbps
    1. public: ユーザー向けに解放
    2. management: 管理用・アプリケーション通信用

スイッチングHUB

2枚のネットワークインターフェースは、別々のスイッチングHUBに結線します。

  • ポート: 8(ネットワークインターフェースを冗長化しない場合)
  • ※インテリジェントスイッチの場合は、VLAN上限数を考慮する必要があります

ソフトウェア構成

ソフトウェアはWakame-vdc環境で動作実績のある以下のバージョンを使います。

  • CentOS (6.4-x86_64)
  • wakame-vdc (13.08-20131002174226git00afb37.el6.x86_64)

CentOSのバージョンが最新版ではない理由は、構築当時のCentOSリリースバージョンを使っているからです。最新版を使いたい場合は、検討・検証が必要です。CentOSバージョンに関しては議論の対象外なので、本書ではこれ以上触れません。

基本設計

インストールを始める前に、システム構成やIPアドレス、必要なソフトウェア構成などを決めて行きたいと思います。以下のIPアドレスは、EIEBツールが利用するIPアドレスです。別のIPアドレスを使った場合はインストール作業を行えません。

※括弧内の数字は前述のシステムイメージ図に合わせています

システム ホスト名 OS IPアドレス 役割
(1)ベアメタル PSV-0001 CentOS-6.4 10.112.7.41/24 システムVMホスト
(2)ベアメタル PSV-0002 CentOS-6.4 10.112.7.42/24 システムVMホスト
(3)ベアメタル PSV-0003 CentOS-6.4 10.112.7.43/24 インスタンスホスト
(4)ベアメタル PSV-0004 CentOS-6.4 10.112.7.44/24 インスタンスホスト
(5)ベアメタル PSV-0005 CentOS-6.4 10.112.7.45/24 インスタンスホスト
(6)ラップトップ - Windows-8.1 10.112.7.10/24 Vagrantホスト

インストール作業

BIOS設定

Intel-VTを有効にして下さい。

最小CentOS-6.4-x86_64をインストール

インストールDVDを利用してCentOS-6.4-x86_64をminimal構成でインストールして下さい。

必要パッケージのインストール

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

[PSV]# yum install -y bridge-utils tunctl

システム関連の設定を行う

ホスト名の設定

任意のホスト名を設定して下さい。

SELinuxの設定

SELinuxの無効化

SELinux無効化します。/etc/selinux/configのSELinuxを、disableに変更します。

[PSV]# sed -i "s/^\(SELINUX=\).*/\1disabled/" /etc/selinux/config

SELinux状態の確認

現在のSELinux状態を確認します。

[PSV]$ getenforce

コマンド実行結果がDisabledになってる事を確認して下さい。

[PSV]$ getenforce
Disabled

Disabledになってない場合は、setenforceで無効化します。

[PSV]# setenforce 0

setenforce実行後は、getenforceでDisabledになってる事を確認して下さい。

インターフェースの設定

実際の構築作業時では恐らく別構成となるので、以下の内容は参考程度に留めておき、環境毎に読み替えて利用して下さい。環境を構築する上で必要なifcfgファイルは以下の通りです。

インターフェースの構成イメージ

構築するインターフェースのイメージは以下の通りです。

【複雑なインターフェース構成】

- eth0 --+-- vlan3008 -- brpub -- lowpub

         +-- vlan3006 -- brstr -- lowstr
         |
- eth1 --+-- vlan3007 -- brmng -- lowmng
         |
         +-- vlan3005 -- brwkm -- lowwkm

Ethernetインターフェースの設定

ハードウェア構成によってインターフェース名は異なります。オンボードなのか、それともPCIスロットなのか。インストール時にanacondaがifcfgファイルを生成するので、基本的に新規作成及び修正する必要はありません。しかし、何らかの理由で生成されてない場合は、ifcfgファイルを生成して下さい。

/etc/sysconfig/network-scripts/ifcfg-eth0の設定
DEVICE=eth0
TYPE=Ethernet
BOOTPROTO=none
HWADDR=<※MACアドレス※>
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-eth1の設定
DEVICE=eth1
TYPE=Ethernet
BOOTPROTO=none
HWADDR=<※MACアドレス※>
ONBOOT=yes

VLANインターフェースの設定

先ほどの説明に登場したEthernetインターフェースは2枚です。用途は、1枚がユーザーサービス用、もう1枚が内部通信用です。更にWakame-vdcでは、通信用途ごとの管理を目的としてTagged VLANを使っています。各VLANインターフェースには、ペアとなるBridgeインターフェースを設定します。Ethernetインターフェース、VLANインターフェース、そしてBridgeインターフェースの組み合せは以下の通りです。なお、タグIDは参考例でしかなく、導入環境や運用ポリシーによって変更して下さい。変更する場合は、タグIDを環境に合わせて読み替えて下さい。

/etc/sysconfig/networkの設定

VLANを使うための設定を追加します。

VLAN=yes
VLAN_NAME_TYPE=VLAN_PLUS_VID_NO_PAD
/etc/sysconfig/network-scripts/ifcfg-vlan3008の設定
DEVICE=vlan3008
PHYSDEV=eth0
BRIDGE=brpub
BOOTPROTO=none
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-vlan3006の設定
DEVICE=vlan3006
PHYSDEV=eth1
BRIDGE=brstr
BOOTPROTO=none
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-vlan3007の設定
DEVICE=vlan3007
PHYSDEV=eth1
BRIDGE=brmng
BOOTPROTO=none
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-vlan3005の設定
DEVICE=vlan3005
PHYSDEV=eth1
BRIDGE=brwkm
BOOTPROTO=none
ONBOOT=yes

Bridgeインターフェースの設定

通信要件ごとにBridgeインターフェースを作成します。IPアドレスとBridgeインターフェースの対応は以下の通りです。

ホスト名 brpub brstr brmng brwkm
PSV-0001 (無し) 10.112.6.41 10.112.7.41 10.112.5.41
PSV-0002 (無し) 10.112.6.42 10.112.7.42 10.112.5.42
PSV-0003 10.112.8.43 10.112.6.43 10.112.7.43 10.112.5.43
PSV-0004 10.112.8.44 10.112.6.44 10.112.7.44 10.112.5.44
PSV-0005 10.112.8.45 10.112.6.45 10.112.7.45 10.112.5.45
/etc/sysconfig/network-scripts/ifcfg-brpubの設定
DEVICE=brpub
TYPE=Bridge
BOOTPROTO=static
IPADDR=<※IPアドレス※>
NETMASK=255.255.252.0
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-brstrの設定
DEVICE=brstr
TYPE=Bridge
BOOTPROTO=static
IPADDR=<※IPアドレス※>
NETMASK=255.255.255.0
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-brmngの設定
DEVICE=brmng
TYPE=Bridge
BOOTPROTO=static
IPADDR=<※IPアドレス※>
NETMASK=255.255.255.0
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-brwkmの設定
DEVICE=brwkm
TYPE=Bridge
BOOTPROTO=static
IPADDR=<※IPアドレス※>
NETMASK=255.255.255.0
ONBOOT=yes

Tapインターフェース (BridgeインターフェースのMACアドレス固定用途)の設定

ホスト名 lowpub lowstr lowmng lowwkm
PSV-0001 00:00:00:01:00:07 00:00:00:01:00:08 00:00:00:01:00:06 00:00:00:01:00:09
PSV-0002 00:00:00:01:00:10 00:00:00:01:00:11 00:00:00:01:00:0f 00:00:00:01:00:12
PSV-0003 00:00:00:01:00:19 00:00:00:01:00:1a 00:00:00:01:00:18 00:00:00:01:00:1b
PSV-0004 00:00:00:01:00:22 00:00:00:01:00:23 00:00:00:01:00:21 00:00:00:01:00:24
PSV-0005 00:00:00:01:00:2b 00:00:00:01:00:2c 00:00:00:01:00:2a 00:00:00:01:00:2d
/etc/sysconfig/network-scripts/ifcfg-lowpubの設定
DEVICE=lowpub
TYPE=Tap
BRIDGE=brpub
BOOTPROTO=none
MACADDR=<※MACアドレス※>
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-lowstrの設定
DEVICE=lowstr
TYPE=Tap
BRIDGE=brstr
BOOTPROTO=none
MACADDR=<※MACアドレス※>
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-lowmngの設定
DEVICE=lowmng
TYPE=Tap
BRIDGE=brmng
BOOTPROTO=none
MACADDR=<※MACアドレス※>
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-lowwkmの設定
DEVICE=lowwkm
TYPE=Tap
BRIDGE=brwkm
BOOTPROTO=none
MACADDR=<※MACアドレス※>
ONBOOT=yes

インターフェース設定の反映

ifcfgファイルを生成しただけでは反映されないので、ネットワークを再起動して下さい。

[PSV]# service network restart

おまけ:Bridgeインターフェースと動的MACアドレス値

Linux BridgeのMACアドレスは、Bridgeインターフェースに追加するSlaveインターフェースのMACアドレスによって変化する可能性があります。BridgeインターフェースのMACアドレス値よりも低いMACアドレス値を持ったSlaveインターフェースが追加された時、BridgeインターフェースのMACアドレスが変化します。高いMACアドレス値を持ったSlaveインターフェースの場合は変化しません。

【BridgeインターフェースとMACアドレス値の関係】

                <-----------+
                  lower     |
                      area  |
00:00:00:00:00 .-----o------o----. ff:ff:ff:ff:ff:ff
                 slave-if bridge-if(不安定なMACアドレス値)

MACアドレス変化は、関連するL2セグメント内の全ノードに一時的に影響し、疎通断させる可能性があります。疎通断は恒久的ではなく、20秒程度経過すると復帰します。

Wakame-vdcでは可能な限りBridgeインターフェースのMACアドレスを変化させない対策を施しています。いくつかある方法のうち、なるべく低いMACアドレスを持ったインターフェースをBridgeインターフェースに追加する方法を採用しています。低MACアドレス値を持ったインターフェースには、Tapインターフェースを利用しています。可能性を完全にゼロに出来ませんが、かなり低い発生率に保てます。仮にBridgeインターフェースのMACアドレスが変化したとしても、先述の通り、20秒程度で復帰します。

iptablesルールの設定

サービス停止時のモジュールアンロードを無効化

[PSV]# sed -i \
 's,^IPTABLES_MODULES_UNLOAD=.*,IPTABLES_MODULES_UNLOAD="no",' \
 /etc/sysconfig/iptables-config

iptablesルールの修正

ラップトップからの接続経路を許可して下さい。

[PSV]# vi /etc/sysconfig/iptables

10.112.8.XXはホストのIPアドレスで読み替えて設定して下さい。

*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
# fluentd
-A INPUT -m physdev --physdev-in vif-+ -i brpub -d <※10.112.8.XX※> -p tcp --dport 24224 -j ACCEPT
-A INPUT -m physdev --physdev-in vif-+ -i brpub -d <※10.112.8.XX※> -p udp --dport 24224 -j ACCEPT
-A INPUT -m physdev --physdev-in vif-+ -i brpub -d 10.112.8.0/24 -j REJECT
COMMIT

iptablesを自動起動サービスに登録

iptablesルールを定義したら、iptablesサービスを自動起動対象に入れます。

[PSV]# chkconfig iptables on

iptablesサービスを起動

サービスを起動(再起動)して下さい。

[PSV]# service iptables restart

おまけ:サービス停止時のアンロード無効化

RHEL6/CentOS6のデフォルト設定では、iptablesサービス停止処理時にiptables関連のカーネルモジュールをアンロードします。iptablesに大きく依存しているシステムの場合、カーネルモジュールを正常にアンロード出来ない事が稀にあります。システム停止時には都合が良い仕組みかも知れませんが、サービス中のモジュールアンロードはユーザー通信を妨げる事にもなります。これらを防止する為に、iptablesサービス停止時のモジュールアンロードをしない設定にしています。

アカウントを追加する

EIEBツールはSSHを利用してインストール作業を行います。そのため、インストール専用アカウントが必要です。それと管理者が運用時に使用する管理用アカウントも必要です。

ユーザー名 役割
eieb-ope 管理者
eieb-deploy デプロイ

管理用アカウントの追加

[PSV]# groupadd eieb-ope
[PSV]# useradd  eieb-ope -g eieb-ope -m

パスワードを設定して下さい。

[PSV]# passwd eieb-ope

ツール用アカウントの追加

[PSV]# groupadd eieb-deploy
[PSV]# useradd  eieb-deploy -g eieb-deploy -m

ツール専用アカウントにはパスワードを設定する必要がありません。

SUDOの設定

SUDO権限の付与

[PSV]# visudo

以下の内容を反映して下さい。

eieb-ope ALL=(ALL) NOPASSWD: ALL
eieb-deploy ALL=(ALL) NOPASSWD: ALL

SUDO権限設定の確認

whoamiコマンドの結果がrootになっている事を確認して下さい。

[PSV]# su - eieb-ope -c 'sudo whoami'

実行結果例:

[PSV]# su - eieb-ope -c 'sudo whoami'
root
[PSV]# su - eieb-deploy -c 'sudo whoami'

実行結果例:

[PSV]# su - eieb-deploy -c 'sudo whoami'
root

SSH公開鍵の登録

EIEBツールはSSHを利用して対象ノードにログインし、コマンドを実行します。認証方式は公開鍵認証を使います。以下は公開鍵認証の為の設定です。

管理者用公開鍵の登録

.sshディレクトリを作成します。

[PSV]# mkdir -m 700 /home/eieb-ope/.ssh

次に公開鍵を登録します。

[PSV]# vi /home/eieb-ope/.ssh/authorized_keys
<事前生成したSSHキーペアの公開鍵>

ファイルの属性を変更します。

[PSV]# chmod 644 /home/eieb-ope/.ssh/authorized_keys

ここまでroot権限で作成したので、所有者を変更します。

[PSV]# chown -R eieb-ope:eieb-ope /home/eieb-ope/.ssh

ツール用公開鍵の登録

.sshディレクトリを作成します。

[PSV]# mkdir -m 700 /home/eieb-deploy/.ssh

次に公開鍵を登録します。

[PSV]# vi /home/eieb-deploy/.ssh/authorized_keys
<事前生成したSSHキーペアの公開鍵>

ファイルの属性を変更します。

[PSV]# chmod 644 /home/eieb-deploy/.ssh/authorized_keys

ここまでroot権限で作成したので、所有者を変更します。

[PSV]# chown -R eieb-deploy:eieb-deploy /home/eieb-deploy/.ssh

まとめ

本章ではベアメタル環境の設計と構築をしてみました。インストール環境によって構成が変化するので、手作業によるオペレーションが発生します。構築作業に間違いがあるとインストールツールが正常に動作しませんので、慎重に作業と確認をして下さい。

第3章:インストール実行

本節ではEIEBツールを使いWakame-vdc環境を構築して行きます。

作業は、約2時間

この先の作業は約2時間かかります。時間は目安です。通信帯域に依存しますので、これよりも早い場合も、遅い場合も考えられます。

事前準備: ラップトップ

ラップトップのIPアドレス設定

ラップトップのネットワーク設定を変更し、物理ネットワークインターフェースのIPアドレスに10.112.7.10を静的割り当てして下さい。

Vagrantインスタンスの準備

システム要件

Vagrantインスタンスのシステム要件です。

  • メモリ: 1G
  • HDD: 40G
  • OS: CentOS-6.6 x86_64

Vagrantインスタンスの起動

EIEBツールを使うには、EIEBツール入りVagrantインスタンスを起動しておく必要があります。起動してない

[laptop]$ vagrant up

VagrantインスタンスにSSHログイン

VagrantインスタンスにSSHログインします。

[laptop]$ vagrant ssh

これ以降の作業は、Vagrantインスタンスの中から行います。

ssh-agentの設定

認証エージェントの起動

[vagrant]$ eval `ssh-agent -s`

起動に成功すると、以下の様にssh-agentのプロセスIDが出力されます。

実行出力例:

[vagrant]$ eval `ssh-agent -s`
Agent pid <プロセスID>

秘密鍵の登録

ssh-agentに秘密鍵を登録します。登録はssh-addコマンドで行います。eieb-deployの秘密鍵が必要です。秘密鍵はVagrantインスタンス内にインストールされています。

[vagrant]$ ssh-add /opt/axsh/eieb/makistrano/sysvm/keys/eieb-deploy

実行出力例:

[vagrant]$ ssh-add /opt/axsh/eieb/makistrano/sysvm/keys/eieb-deploy
Identity added: /opt/axsh/eieb/makistrano/sysvm/keys/eieb-deploy (/opt/axsh/eieb/makistrano/sysvm/keys/eieb-deploy)

登録済み秘密鍵の確認

ssh-add -lを実行すると、ssh-agentに登録済み秘密鍵を確認出来ます。

[vagrant]$ ssh-add -l

実行結果例:

[vagrant]$ ssh-add -l
2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx /opt/axsh/eieb/makistrano/sysvm/keys/eieb-deploy (RSA)

~/.ssh/configの設定

Vagrantインスタンスから10.112.7.XXへsshログインするための設定をします。

~/.ssh/configの作成

[vagrant]$ vi ~/.ssh/config
Host *
        StrictHostKeyChecking no
        TCPKeepAlive yes
        UserKnownHostsFile /dev/null
        ForwardAgent yes

Host 10.112.7.*
        User eieb-deploy

Host jenkinsui
        Hostname 10.112.7.47
        User eieb-deploy
        GatewayPorts yes
        ForwardAgent yes
        LocalForward 8081 127.0.0.1:8080

作業前確認

作業対象へのログイン確認

対象となるインストールホストにログイン出来る事を確認して下さい。ログインが成功すると、ホスト名が表示されます。

[vagrant]$ for i in 10.112.7.4{1..5}; do ssh ${i} uname -n; done

もしもログインできない場合は、ssh-agentに秘密鍵を登録し忘れてないか確認して下さい。

作業対象システム構成

システムVM

構築されるシステムVMは以下の通りです。※現在の構成では合計7ノード

ホスト名 用途
db01-01 Wakame-vdc用DB(MySQL-Server)
dcmgr01-01 Wakame-vdcの管理ノード(master)
dcmgr02-01 Wakame-vdcの管理ノード(backup)
image_st01-01 仮想マシンイメージストレージ
u_monitor01-01 監視サーバ(Zabbix-Server/master)
u_monitor02-01 監視サーバ(Zabbix-Server/backup)
muscle01-01 テストランナー

ベアメタル

ホスト名 用途
PSV-0001 システムVMホスト
PSV-0002 システムVMホスト
PSV-0003 インスタンスホスト
PSV-0004 インスタンスホスト
PSV-0005 インスタンスホスト

パッケージのデプロイ

システムVMのデプロイ

システムVMに関しては、パッケージインストール済みの仮想マシンイメージを利用しています。

[vagrant]$ cd /opt/axsh/eieb/makistrano/sysvm

[vagrant]$ time /usr/local/bin/maki prototyping deploy:sync
[vagrant]$ time /usr/local/bin/maki prototyping deploy:prepare
[vagrant]$ time /usr/local/bin/maki prototyping deploy:setup
[vagrant]$ time /usr/local/bin/maki prototyping deploy:status
[vagrant]$ time /usr/local/bin/maki prototyping deploy:start
[vagrant]$ time /usr/local/bin/maki prototyping deploy:status

全システムVM・sshdが起動するのを待つ為、少なくとも5分程度待って下さい。

deploy:sync (約10分~25分)

  • ローカルYumリポジトリを対象ホストへ転送します
  • システムVMイメージを配置対象ホストへ転送します
  • 公開鍵をインストールする為のスクリプトを配置対象ホストへ転送します

deploy:prepare (約12分~15分)

  • ローカルYumリポジトリを配置します
  • システムVMイメージを配置(tar.gz形式伸長)します

deploy:setup (約12分)

  • システムVMを起動する為に必要なパッケージをインストールします(qemu-kvm、kpartxなど)

deploy:status

  • システムVMが起動してない事を確認します

deploy:start

  • 公開鍵をシステムVMにインストールします
  • システムVMを起動します

deploy:status

  • システムVMが起動してる事を確認します

インスタンスホストのデプロイ

パッケージのインストールを行います。

[vagrant]$ cd /opt/axsh/eieb/makistrano/hva

[vagrant]$ time /usr/local/bin/maki prototyping deploy:sync
[vagrant]$ time /usr/local/bin/maki prototyping deploy:prepare
[vagrant]$ time /usr/local/bin/maki prototyping deploy:setup

deploy:sync (約3分)

  • ローカルYumリポジトリを対象ホストへ転送します

deploy:prepare (約3分)

  • ローカルYumリポジトリを配置します

deploy:setup (約15分~30分)

  • hva用のパッケージをインストールします

hvaの設定

/etc/default/vdc-hvaの作成

hvaの設定をします。

[PSV]# vi /etc/default/vdc-hva

<※psv000X※>をインスタンスホスト毎に設定して下さい。

ホスト名 設定値
PSV-0003 psv0003
PSV-0004 psv0004
PSV-0005 psv0005
# source common params
[ -f /etc/default/wakame-vdc ] && . /etc/default/wakame-vdc

# Comment out to run the vdc init script
#RUN=yes

## agent params
NODE_ID=<※psv000X※>

## agent params
AMQP_ADDR=10.112.5.17

/etc/wakame-vdc/hva.confの作成

各hva固有設定をする為、/etc/wakame-vdc/hva.confを作成します。

[PSV]# vi /etc/wakame-vdc/hva.conf

<※10.112.8.XX※>をインスタンスホスト毎に設定して下さい。2か所あります。

#------------------------
# Configuration file for hva.
#------------------------

# directory to store VM local data.
config.vm_data_dir = '/data/instances'

# Decides what kind of edge networking will be used. If omitted, the default 'netfilter' option will be used
# * 'netfilter'
# * 'legacy_netfilter' #no longer supported, has issues with multiple vnic vm isolation
# * 'openflow' #experimental, requires additional setup
# * 'off'
config.edge_networking = 'netfilter'
config.netfilter_script_post_flush = '/etc/init.d/iptables restart'

# netfilter and openflow
config.enable_ebtables = true
config.enable_iptables = true
config.enable_subnet = false
config.enable_gre = true

# display netfitler commands
config.verbose_netfilter = false
config.verbose_openflow  = false

# netfilter log output flag
config.packet_drop_log = false

# debug netfilter
config.debug_iptables = false

# Use ipset for netfilter
config.use_ipset       = false

# Path for brctl
config.brctl_path = '/usr/sbin/brctl'

# Directory used by Open vSwitch daemon for run files
config.ovs_run_dir = '/var/lib/wakame-vdc/ovs/var/run/openvswitch'

# Path for ovs-ofctl
config.ovs_ofctl_path = '/var/lib/wakame-vdc/ovs/bin/ovs-ofctl'

# Trema base directory
config.trema_dir = '/var/lib/wakame-vdc/trema'
config.trema_tmp = '/var/lib/wakame-vdc/tmp/trema'

dc_network('pub') {
  bridge_type 'linux'
  interface 'vlan3008'
  bridge 'brpub'
  arp_static_accept_source_ips ["10.112.8.34", "10.112.8.35"]
}

dc_network('wkm') {
  bridge_type 'linux'
  interface 'vlan3005'
  bridge 'brwkm'
}

dc_network('mng') {
  bridge_type 'linux'
  interface 'vlan3007'
  bridge 'brmng'
}

hypervisor_driver('kvm') {
   qemu_options '-rtc base=localtime'
}

# Dolphin server connection uri
config.dolphin_server_uri = "http://10.112.5.17:9004/"

# logging service for inside instance.
config.use_logging_service = false
config.logging_service_conf = '/var/lib/wakame-vdc/fluent.conf'
config.logging_service_reload = '/etc/init.d/td-agent reload'
config.logging_service_max_read_message_bytes = 102400
config.logging_service_max_match_count = 5
config.logging_service_host_ip = '<※10.112.8.XX※>'

metadata {
  path 'extra-hosts/fluent.local', '<※10.112.8.XX※>'
}

local_store {
  thread_concurrency 1
}

DBの設定

DBの準備

[vagrant]$ cd /opt/axsh/eieb/makistrano/db.master

[vagrant]$ time /usr/local/bin/maki prototyping deploy:setup

deploy:setup

  • DB名wakame_dcmgrを作成します
  • DB名wakame_dcmgrへの接続権限を付与します

DBの初期化 (約5分)

[vagrant]$ cd /opt/axsh/eieb/makistrano/cluster

[vagrant]$ time /usr/local/bin/maki prototyping deploy:sync
[vagrant]$ time /usr/local/bin/maki prototyping deploy:prepare
[vagrant]$ time /usr/local/bin/maki prototyping deploy:setup

deploy:sync

  • vdc-manageコマンドセットを対象ホストへ転送します

deploy:prepare (約2分)

  • DB名wakame_dcmgrにテーブルを作成します

deploy:setup

  • vdc-manageコマンド群を実行し、クラスタデータを投入します

DRBDの冗長構成

backupノードの設定

[vagrant]$ cd /opt/axsh/eieb/makistrano/dcmgr.backup

[vagrant]$ time /usr/local/bin/maki prototyping deploy:prepare &

deploy:prepare

  • DRBDバックアップノードの準備をします
  • &」を付けてバックグラウンドプロセス化している理由は、DRBD初期化コマンドがTTYを掴んだままになるのを避ける為です。これはDRBDの初期化状態としては通常の動きです。ペアとなるノードが初期化されると、解放されます。

primaryノードの設定

[vagrant]$ cd /opt/axsh/eieb/makistrano/dcmgr.master

[vagrant]$ time /usr/local/bin/maki prototyping deploy:prepare
[vagrant]$ time /usr/local/bin/maki prototyping deploy:setup

deploy:prepare

  • DRBDプライマリノードの準備をします

deploy:setup

  • DRBDプライマリノード設定を有効化します
  • DRBDデバイスにファイルシステムを構築します

vdcクラスタの設定

dcmgr関連サービスの起動 (約3分)

[vagrant]$ cd /opt/axsh/eieb/makistrano/cluster

[vagrant]$ time /usr/local/bin/maki prototyping service:start
[vagrant]$ time /usr/local/bin/maki prototyping service:status

service:start

  • vippleを起動します
    • VIPが割り当てられます
    • collectorやendpointが起動します

service:status

  • サービス中である事を確認します

hvaサービスの起動 (約3分)

[vagrant]$ cd /opt/axsh/eieb/makistrano/hva

[vagrant]$ time /usr/local/bin/maki prototyping service:start
[vagrant]$ time /usr/local/bin/maki prototyping service:status
[vagrant]$ time /usr/local/bin/maki prototyping logging:tail_lines

service:start

  • hvaを起動します

service:status

  • hvaがサービス中である事を確認します

logging:tail_lines

  • hvaの直近のログを表示・確認します

クラスタサービス状態の確認

[vagrant]$ cd /opt/axsh/eieb/makistrano/cluster

[vagrant]$ time /usr/local/bin/maki prototyping service:status

service:status

  • node状態を確認し、それぞれonlineである事を確認します
Node ID              State
nwmongw.dcmgr01-01 online
hva.psv0003          online
hva.psv0004          online
hva.psv0005          online

監視サービスの設定

監視サービス用DBのセットアップ (約30分)

[vagrant]$ cd /opt/axsh/eieb/makistrano/u_monitor.master

[vagrant]$ time /usr/local/bin/maki prototyping db:prepare
[vagrant]$ time /usr/local/bin/maki prototyping db:setup

db:prepare (約5分)

  • DBを作成します
  • DBへの接続権限を付与します
  • semi-syncモジュールをインストールします

db:setup (約20分~25分)

  • Zabbix用テーブルを作成します
  • Zabbix用テーブルにデータをインポートします

監視サービス(masterノード)の起動 (約3分)

[vagrant]$ cd /opt/axsh/eieb/makistrano/u_monitor.master

[vagrant]$ time /usr/local/bin/maki prototyping service:start
[vagrant]$ time /usr/local/bin/maki prototyping service:status
[vagrant]$ time /usr/local/bin/maki prototyping logging:tail_lines

service:start

  • keepalivedを起動します
    • mysqldが起動します
    • zabbix-serverが起動します

service:status

  • keepalivedがサービス中出る事を確認します

logging:tail_lines

  • /var/log/messageの直近20行を表示します
  • /var/log/mysql/mysqld.logの直近20行を表示します

監視サービス(backupノード)の起動 (約3分)

[vagrant]$ cd /opt/axsh/eieb/makistrano/u_monitor.backup

[vagrant]$ time /usr/local/bin/maki prototyping service:start
[vagrant]$ time /usr/local/bin/maki prototyping service:status
[vagrant]$ time /usr/local/bin/maki prototyping logging:tail_lines

service:start

  • keepalivedを起動します
    • mysqldが起動します
    • zabbix-serverが起動します

service:status

  • keepalivedがサービス中出る事を確認します

logging:tail_lines

  • /var/log/messageの直近20行を表示します
  • /var/log/mysql/mysqld.logの直近20行を表示します

muscleの設定

muscleのデプロイ (約3分)

[vagrant]$ cd /opt/axsh/eieb/makistrano/muscle

[vagrant]$ time /usr/local/bin/maki prototyping deploy:sync
[vagrant]$ time /usr/local/bin/maki prototyping deploy:prepare

deploy:sync

  • Jenkins用ローカルGitリポジトリを対象ホストに転送します

deploy:prepare

  • ローカルGitリポジトリを伸長・配置します

まとめ

本章ではツールによるWakame-vdc環境を構築してみました。※更にコマンドがまとめられる可能性があるので、今後追記予定。

第4章: インストール後の確認作業

Wakame-vdcは複数のコンポーネントが連携する為、コンポーネント単体の確認だけでは不十分です。Wakame-vdcでは、Jenkinsを経由して正常性確認を行います。

JenkinsUIへの接続方法

VagrantインスタンスからjenkinsuiへSSHログインします。SSHのTCPポートフォワード機能を使い、通常は接続出来ないJenkinsUIへの経路設定を確保します。

[vagrant]$ ssh jenkinsui

SSHログインに成功したら、ブラウザでhttp://localhost:9091/に接続して下さい。以下のような一覧が表示されます。

smoke daily jenkins 1

正常性ジョブの実行

正常性ジョブを実行して行きます。全てUIからオペレーションが可能です。

最小ジョブの実行

ジョブは幾つか分類しています。仮にクラスタ構成が正しく出来てない状態で全部を実行しても、全て失敗する事になりかねません。そこで、最小ジョブから実行してみます。

ジョブの選択

ジョブが幾つかあります。このうち、最小ジョブは「kyt.instance」です。「kyt.instance」を開きます。

smoke daily jenkins 2

パラメータ付きビルド

左リストから、「パラメータ付きビルド」を開きます。

kyt instance jenkins 1

「ビルド」ボタンのクリック

幾つかパラメータ指定可能項目が出ますが変更する必要はありません。「ビルド」ボタンをクリックして下さい。

kyt instance jenkins 2

ビルドが開始すると、ビルド履歴に処理中ビルドが表示されます。

kyt instance jenkins 3

コンソール出力の確認

ビルドが成功する時は問題ありませんが、失敗した時は、何が原因で失敗したのかを知る必要があります。ビルドのコンソール出力が調査の役に立ちます。

kyt instance jenkins 4

「コンソール出力」を開くと、コンソール出力結果が表示されます。

kyt instance jenkins 5

ビルド結果の確認

Jenkinsはビルド成否を「緑(青)」と「赤」で表示します。以下の例では「赤」、失敗を意味しています。失敗時は、先ほどのコンソール出力から原因を調査して行きます。コンソール出力結果には、APIクライアントとしてのエラー内容と、疎通確認結果程度までが含まれます。つまり、APIやバックエンドのログを確認出来ません。その場合は、アプリケーションログを調査して下さい。

smoke daily jenkins 3

まとめ

本章ではJenkinsによる正常性確認ジョブを実行しました。Jenkinsを経由して正常性を確認すると、ジョブをいつ実行したのか?実行結果はどうだったのか?それらが自動的に記録されます。これらを把握する事により、少なくともいつまでは正常だったのか、問題の切り分けが可能です。また、定期的に実行する事でクラスタが健全な状態に保たれているかどうかを確認出来ます。是非、積極的に利用して下さい。

第5章: リファレンス

Vagrant Box生成時に実行するコマンド

Wakame-vdc環境構築時には直接使わないコマンドです。

sysvm deploy (約1時間)

deploy:download (約5分~20分)

[vagrant]$ cd /opt/axsh/eieb/makistrano/sysvm
[vagrant]$ time /usr/local/bin/maki prototyping deploy:download
  • ローカルインストール用に再構築したYumリポジトリをダウンロードします
  • システムVMイメージをダウンロードします
  • 公開鍵をインストールする為のスクリプトをダウンロードします
  • ダウンロード済みファイルが存在する場合は無視されます(再ダウンロードされません)
    • 仮想マシンイメージにはあらかじめダウンロードしてあるため、ダウンロード処理は無視されます

hva deploy (約25分)

deploy:download

[vagrant]$ cd /opt/axsh/eieb/makistrano/hva
[vagrant]$ time /usr/local/bin/maki prototyping deploy:download
  • ローカルインストール用に再構築したYumリポジトリをダウンロードします
  • ダウンロード済みファイルが存在する場合は無視されます(再ダウンロードされません)

cluster deploy (約5分)

deploy:download

[vagrant]$ cd /opt/axsh/eieb/makistrano/cluster
[vagrant]$ time /usr/local/bin/maki prototyping deploy:download
  • 投入するvdc-manageコマンドセットをダウンロードします
  • ダウンロード済みファイルが存在する場合は無視されます(再ダウンロードされません)

cluster service

service:stop

[vagrant]$ cd /opt/axsh/eieb/makistrano/cluster
[vagrant]$ time /usr/local/bin/maki prototyping service:stop
  • vippleを停止します
    • VIPが削除されます
    • collectorやendpointが停止します

muscle deploy (約3分)

deploy:download

[vagrant]$ cd /opt/axsh/eieb/makistrano/muscle
[vagrant]$ time /usr/local/bin/maki prototyping deploy:download
  • Jekninsが監視するGitリポジトリをダウンロードします

検証用ホストVM生成時に実行するコマンド

Wakame-vdc環境構築時には直接使わないコマンドです。

hostvm deploy (約5分)

deploy:sync

[vagrant]$ cd /opt/axsh/eieb/makistrano/hostvm
[vagrant]$ time /usr/local/bin/maki prototyping deploy:sync
  • 公開鍵をインストールする為のスクリプトを配置対象ホストへ転送します

deploy:start (約3分)

[vagrant]$ cd /opt/axsh/eieb/makistrano/hostvm
[vagrant]$ time /usr/local/bin/maki prototyping deploy:start
  • 公開鍵をシステムVMにインストールします
  • ホストVMを起動します

deploy:stop

[vagrant]$ cd /opt/axsh/eieb/makistrano/hostvm
[vagrant]$ time /usr/local/bin/maki prototyping deploy:stop
  • ホストVM全台を停止します

まとめ

第6章: トラブルシューティングのポイント

※気付いた時に追記※

  • socketファイル削除 ※TODO※
  • セキュリティグループ不具合
    • netfilter (ebtables/iptables)
    • iptables-save
    • iptables -t filter -nL
    • iptables -t nat -nL
    • ebtalbes -t filter -L
    • ebtables -t nat -L
  • config files
    • /etc/sysconfig/iptables-config
    • /etc/sysconfig/iptables
    • /etc/wakame-vdc/hva.conf
    • /etc/wakame-vdc/dcmgr.conf
    • /etc/default/wakame-vdc
    • /etc/default/vdc-hva
    • /etc/default/vdc-dcmgr

アプリケーション状態の確認

dcmgr

rabbitmq-server

[dcmgr]# service rabbitmq-server status
Status of node rabbit@localhost ...
[{pid,13519},
 {running_applications,[{rabbit,"RabbitMQ","2.7.1"},
                        {mnesia,"MNESIA  CXC 138 12","4.5"},
                        {os_mon,"CPO  CXC 138 46","2.2.7"},
                        {sasl,"SASL  CXC 138 11","2.1.10"},
                        {stdlib,"ERTS  CXC 138 10","1.17.5"},
                        {kernel,"ERTS  CXC 138 10","2.14.5"}]},
 {os,{unix,linux}},
 {erlang_version,"Erlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:30] [kernel-poll:true]\n"},
 {memory,[{total,28126816},
          {processes,12664808},
          {processes_used,12588736},
          {system,15462008},
          {atom,1123633},
          {atom_used,1118994},
          {binary,279416},
          {code,11240464},
          {ets,996056}]},
 {vm_memory_high_watermark,0.4},
 {vm_memory_limit,841588736}]
...done.

vdc-dcmgr

[PSV]# initctl status vdc-dcmgr
vdc-dcmgr start/running, process <プロセスID>

start/runningになっている場合は、サービス中です。

vdc-collector

[PSV]# initctl status vdc-collector
vdc-collector start/running, process <プロセスID>

start/runningになっている場合は、サービス中です。

hva

vdc-hva

[PSV]# initctl status vdc-hva
vdc-hva start/running, process <プロセスID>

start/runningになっている場合は、サービス中です。

アプリケーションログの確認

誤動作等が疑わしい時は、アプリケーションログを確認して下さい。

dcmgr

/var/log/rabbitmq/rabbit@localhost.log

/var/log/wakame-vdc/collector.log

/var/log/wakame-vdc/dcmgr.log

hva

/var/log/wakame-vdc/hva.log