Wakame-vdcを動かしてみました。

#Wakame-VDC
VDCはVirtual Data Centerの略で仮想化されたデータセンターのこと。
Wakame-VDCはこの仮想データセンターを作るためのツールで、
要するにAWSを自分で作れるものだと思ってます。

#準備
Wakame-VDCをWindows8に入れたVMwareで動くCentOS6.7に入れていきます。
Ubuntuのインスタンスを量産できるようになるのが今回のゴールです。
下の図のような構成のものが出来上がる予定です。
![wakame-01.jpg](https://qiita-image-store.s3.amazonaws.com/0/86684/9dedf101-b34b-8fd3-50d0-387ae737e1a6.jpeg)



基本的には英語ですがドキュメントがあるので
http://wakame-vdc.org/installation/
の通りにやればよいと思います。

まずはVMware
https://my.vmware.com/jp/web/vmware/free#desktop_end_user_computing/vmware_player/7_0
とCentOS6.7
http://isoredirect.centos.org/centos/6/isos/x86_64/
をダウンロードします。

よしなにCentOS起動までは行ってください。

```
sudo vi /etc/selinux/config
```
で中を

```
~
SELINUX=disabled
~
```
に書き換えて再起動します

```
reboot
```

その後、

```
getenforce
```

でDisabledが表示されればOK

# Wakame-VDCインストール

まずはインストール

```
sudo curl -o /etc/yum.repos.d/wakame-vdc-stable.repo -R https://raw.githubusercontent.com/axsh/wakame-vdc/master/rpmbuild/yum_repositories/wakame-vdc-stable.repo

sudo curl -o /etc/yum.repos.d/openvz.repo -R https://raw.githubusercontent.com/axsh/wakame-vdc/develop/rpmbuild/yum_repositories/openvz.repo

sudo yum install -y epel-release
```
Dcmgrをインストールしたいのですがガイドのまま行うと、
ここで「vzquota-3.1-1.x86_64.rpm の公開鍵がインストールされていません」的な内容のエラーが出たので、

```
vi /etc/yum.repos.d/openvz.repo
```

で中をgpgcheck=0に変えていきます。（正当性を確認するもので0にすると確認しなくなる）

```
[openvz-kernel-rhel6]
name=OpenVZ RHEL6-based kernel
baseurl=http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab055.16/
enabled=1
gpgcheck=0
gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ

[openvz-utils-libcgroup]
name=OpenVZ utilities libcgroup
baseurl=http://download.openvz.org/utils/libcgroup/0.37-4/
gpgcheck=0

[openvz-utils-ploop]
name=OpenVZ utilities ploop
baseurl=http://download.openvz.org/utils/ploop/1.4/
gpgcheck=0

[openvz-utils-vzctl]
name=OpenVZ utilities vzctl
baseurl=http://download.openvz.org/utils/vzctl/3.3/
gpgcheck=0
```

HyperVisor Agentのインストール

```
sudo yum install -y wakame-vdc-hva-openvz-vmapp-config
```
Wakame-VDCのGUI部分のインストール

```
sudo yum install -y wakame-vdc-webui-vmapp-config
```

ここまできたら再起動します。

```
reboot
```
### ここまでできたら再起動！ ###

次はブリッジネットワークのセットアップ。

ブリッジbr0を作ります

```
vi /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
ONBOOT=yes
NM_CONTROLLED=no
IPADDR=192.168.3.100
NETMASK=255.255.255.0
DNS1=8.8.8.8
DELAY=0
```

あとで使うので

```
route -n
```

でデフォルトルートを確認します。
今回は192.168.10.2でした。
ネットワークリスタート

```
sudo service network restart
```

ルーティングテーブルを確認

```
route -n
```

おそらくデフォルトルートが192.168.3.1になてるのでさっき確認した192.168.10.2に戻します。

```
route del default 192.168.3.1
route add default gw 192.168.10.2
```


ここからWakame-VDCの設定をしていきます。
が、簡単にできるスクリプトが用意されているので
https://raw.githubusercontent.com/axsh/wakame-vdc/master/scripts/install_guide_demo_data.sh  
を適当な場所に保存して使います。
私は下のようにしました。

```
mkdir wakame_sh
sudo curl -o wakame_sh/install_guide_demo_data.sh -R https://raw.githubusercontent.com/axsh/wakame-vdc/master/scripts/install_guide_demo_data.sh

``` 

実行権限も変更、
```
chmod 775 wakame_sh/install_guide_demo_data.sh
```  

ダウンロードしたスクリプトを下のように実行します。
最初の図のように作ってくならこのままで良いと思いますが
環境に合わせてNETWORK、PREFIX、DHCP_RANGE_START、DHCP_RANGE_ENDの値は変更

```
NETWORK='192.168.3.0' PREFIX='24' DHCP_RANGE_START='192.168.3.101' DHCP_RANGE_END='192.168.3.200'  wakame_sh/install_guide_demo_data.sh
```
ここまでできたら
RabbitMQ、MySQLを起動

```
sudo service rabbitmq-server start
sudo service mysqld start
```

そしてWakame-VDC起動 
一つづつコマンドを打って
それぞれが起動することを確認しながら実行することをお勧めします。
 
```
sudo start vdc-dcmgr
sudo start vdc-collector
sudo start vdc-hva
sudo start vdc-webui
```
#インスタンスの起動

ここまでできたらCentOSののブラウザで(br0に設定したIPの9000番ポート)

```
192.168.3.100:9000
```
にアクセス。 
![02.png](https://qiita-image-store.s3.amazonaws.com/0/86684/350544d0-7327-9c44-b246-eb5ce325117b.png)

この手順で行った場合  
username:demo  
pass:demo  
でアクセスします。
ここからはブラウザ上の操作でインスタンスを作っていきます。

まずはセキュリティーグループの作成です。
![03.png](https://qiita-image-store.s3.amazonaws.com/0/86684/8c909da1-857c-8015-84f8-a6ed19185492.png)
ルールをこの画像の通りに書くと
セキュリティ的にはよろしくないので、
とりあえず動かしたいだけではない人はちゃんと書いてください。
 ![03-2.png](https://qiita-image-store.s3.amazonaws.com/0/86684/6ce7e015-15d5-829f-4ad8-c02fd798b780.png)
次はSSHのキーペアを作ります。
![04.png](https://qiita-image-store.s3.amazonaws.com/0/86684/f6b6efca-116f-7cfa-e021-c78b56e82f41.png)
![04-2.png](https://qiita-image-store.s3.amazonaws.com/0/86684/4d7dde8b-1cfd-6e5b-8fc4-67a6b71bc52b.png)
そして、インスタンスの作成です。
![05.png](https://qiita-image-store.s3.amazonaws.com/0/86684/daa10b80-3d3c-eba0-da0a-9c3e2092f310.png)
![05-2.png](https://qiita-image-store.s3.amazonaws.com/0/86684/011d7e29-b0bf-30e1-af1c-e412d62b1514.png)
SSHのKeyをなくした場合、ダウンロードはできないようなので
新しいKeyを作ってインスタンスに設定し直すことになるみたいです。

少し待つと、作成したインスタンスのStateがrunnningになるので
これでインスタンスの作成まで終了です。
これでUbuntuが量産できます^^

インスタンスに入るにはSSHを使いたいのですがこのままだと入れません。
Wakame-VDCはOpenVZを使ってるので

```
vzlist
```

で起動中のインスタンスのCTIDを確認します。
今回はi-62cd1s0aでした。

```
vzctl enter i-62cd1s0a
```

でインスタンスにとりあえずは入れます。

# よくわからなかったこと

ホストからインスタンスにsshで入れなかったのですが、
これはarpが届かないことが原因のようです。
今回の構成的にはこれで正しいようなのですが、
実は、ホストとインスタンスからそれぞれへpingを打っていると
そのうちarpが届いて一時的にsshができるようになることがありました。