Wakame LiveDVDを体育座りで待つ話 - shidax/docs GitHub Wiki

はじめに

このエントリは Wakame-vdc / OpenVNet Advent Calendar 2014 18日目のエントリです。初日の @habukaoさんのエントリでLiveDVDを作成してもらい、そのLiveDVDをお手元のマシンで動かす予定です。

LiveDVDを入手する

LiveDVD Download先

1.3Gほどあります。ダウンロード

LiveDVDで起動する

これをダウンロードした後、手元のVirtualBox環境にて起動してみます。

VirtualBox上にLiveDVD動かす用の仮想マシンを作成

こんな感じで設定します。

VirtualBox設定

LiveCD/DVDなんていうチェックもあったので、チェックしておきます。 自分は、ホストオンリーネットワークに変えておきました。

LiveDVDを起動

普通に起動できます。

ログイン画面

起動後のデスクトップは以下のような状態になってます。

デスクトップ

ネットワークの設定を実施

ここから先は @habukao さんによって虎の巻が用意されています。 これに従い、 br0とeth0を設定します。

sudo /usr/local/bin/net-setup 192.168.56.20 255.255.255.0 192.168.56.1

Wakameの設定を実施

虎の巻を参考に、以下の様なコマンドを叩きます。

NETWORK='192.168.56.0' PREFIX='24' DHCP_RANGE_START='192.168.56.100' DHCP_RANGE_END='192.168.56.150' /usr/local/bin/install_guide_demo_data_for_kvm.sh

グイグイとシェルが動いて、なんか上手く行った感じになります。

この状態で、サービスを起動します。

sudo /etc/init.d/rabbitmq-server start
sudo start vdc-dcmgr
sudo start vdc-collector
sudo start vdc-hva
sudo start vdc-webui

WebUIにログイン

クライアントPC側から、 http://192.168.56.20:9000 でWebUIにアクセスできました。 demo:demoでログインできます。

WebUI

上手く動いてない部分

@habukao さんの言うとおり、RabbitMQに上手くQueueが作れてません。ので、WebUIは見えますがこれではWakameさんは上手く動きません。

軽く解析しますと

[root@localhost ~]# sudo rabbitmqctl list_connections
Listing connections ...
guest   127.0.0.1       44822   blocked
guest   127.0.0.1       44823   blocked
...done.

これでまず、コネクションがblockedという状態にあることがわかります。正常時はここは running になっています。 blockedになる原因は、リソース不足にあります。

[root@localhost ~]# sudo rabbitmqctl status
Status of node rabbit@localhost ...
[{pid,3016},
 {running_applications,[{rabbit,"RabbitMQ","3.1.5"},
                        {mnesia,"MNESIA  CXC 138 12","4.5"},
                        {os_mon,"CPO  CXC 138 46","2.2.7"},
                        {xmerl,"XML parser","1.2.10"},
                        {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] [rq:1] [async-threads:30] [kernel-poll:true]\n"},
 {memory,[{total,27653720},
          {connection_procs,447920},
          {queue_procs,24464},
          {plugins,0},
          {other_proc,9058608},
          {mnesia,59584},
          {mgmt_db,0},
          {msg_index,33664},
          {other_ets,781200},
          {binary,172480},
          {code,14419185},
          {atom,1354457},
          {other_system,1302158}]},
 {vm_memory_high_watermark,0.4},
 {vm_memory_limit,1660908339},
 {disk_free_limit,1000000000},
 {disk_free,680677376},
 {file_descriptors,[{total_limit,924},
                    {total_used,5},
                    {sockets_limit,829},
                    {sockets_used,3}]},
 {processes,[{limit,1048576},{used,231}]},
 {run_queue,0},
 {uptime,534}]
...done.

これをじっくり見ますと、 disk_free_limitが1000000000であるのに対して、disk_freeが680677376となっています。単純にRabbit側は1Gを要求していますが、空き容量が足りないということになります。

[root@localhost ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/live-rw  4.0G  3.3G  650M  84% /
tmpfs                2.0G  416K  2.0G   1% /dev/shm

実際に、650Mしか残ってないです。

解決方法はディスクを増やせばいいのですが、ひとまずRabbitMQ側の要求ディスク量を下げます。

[root@localhost ~]# cat /etc/rabbitmq/rabbitmq.config
[
  {rabbit, [{disk_free_limit, 100000000}]}
].

[root@localhost ~]# sudo service rabbitmq-server restart
Restarting rabbitmq-server: SUCCESS
rabbitmq-server.

これで要求ディスク量が1Gから100Mになります。 ので、

[root@localhost ~]# sudo rabbitmqctl list_connections
Listing connections ...
guest   127.0.0.1       44828   running
guest   127.0.0.1       44829   running
...done.

ちゃんと繋がります。

これで上手く動くと思うのですが、いかんせんディスクが余ってないので普通にリソース不足でインスタンスが起動できませんね。

というところで中途半端で終わりにします。

明日は@nbyk.matsuiさんの「CentOS7でOpenVNetを動作させよう」です。