VagrantをつかってOpenVNetを触ってみよう

  • 3
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

Wakame-vdc / OpenVNet Advent Calendar 2014 12月14日担当です。

今回はVagrantを使ってOpenVNetの環境を組んでみたので紹介します。
肝心のVagrantfileは以下のリポジトリからクローンして来て下さい。

https://github.com/akry/vnet-vagrant

あとはそのままvagrant upするだけです。

$ cd vnet-vagrant
$ vagrant up

すこし時間がかかりますが辛抱強くお待ちください。

完了後は2つのVMが立ち上がります。

$ vagrant status
Current machine states:

vnmgr_vna1                running (virtualbox)
vna2                      running (virtualbox)

This environment represents multiple VMs. The VMs are all listed
above with their current state. For more information about a specific
VM, run `vagrant status NAME`.

各VMにvnaと呼ばれるエージェントを配置してます。
またそれぞれのvnaにメッセージを届けたりする役割を担っているvnmgrというプロセスを配置するのですが、今回はvna1と一緒に共存させてあります。

さっそくvnmgr_vna1にログインしてみましょう。
(sudo su -でrootになれます)

$ vagrant ssh vnmgr_vna1
[vagrant@vnmgrvna1 ~]$ 

それぞれのVMには仮想ネットワークに参加しているLXCコンテナがそれぞれ2つずついます。
立ち上がっているはずなので確認してみて下さい。

[root@vnmgrvna1 ~]# lxc-ls
inst1  inst2
[root@vnmgrvna1 ~]# lxc-info -n inst1
Name:           inst1
State:          RUNNING
PID:            14999
IP:             10.200.0.10
IP:             10.200.0.10
CPU use:        0.88 seconds
BlkIO use:      14.19 MiB
Memory use:     16.48 MiB
Link:           inst1
 TX bytes:      1.21 KiB
 RX bytes:      1.12 KiB
 Total bytes:   2.33 KiB

LXCの中に入る為のパスワードは以下にあります。

[root@vnmgrvna1 ~]# cat /var/lib/lxc/inst1/tmp_root_pass 
Root-inst1-R0yrLT

無事入れたらIPアドレスを確認してみましょう。

[root@inst1 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 52:54:FF:00:00:01  
          inet addr:10.200.0.10  Bcast:10.255.255.255  Mask:255.0.0.0
          inet6 addr: fe80::5054:ffff:fe00:1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1152 (1.1 KiB)  TX bytes:1236 (1.2 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

各VMにそれぞれLXCコンテナが2つずついるので全体で4つコンテナがあります。
今回は4つすべてが同じ仮想ネットワークに所属するように設定してあります。

[root@inst1 ~]# ping 10.200.0.11
PING 10.200.0.11 (10.200.0.11) 56(84) bytes of data.
64 bytes from 10.200.0.11: icmp_seq=1 ttl=64 time=0.155 ms
64 bytes from 10.200.0.11: icmp_seq=2 ttl=64 time=0.050 ms
64 bytes from 10.200.0.11: icmp_seq=3 ttl=64 time=0.053 ms
^C
--- 10.200.0.11 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2199ms
rtt min/avg/max/mdev = 0.050/0.086/0.155/0.048 ms

https://github.com/akry/vnet-vagrant/blob/master/config.d/vnmgr_vna1.sh
https://github.com/akry/vnet-vagrant/blob/master/config.d/vna2.sh

上記のシェルスクリプト内でDBを設定しているのですが、好みに応じて変更してみて下さい。

今後もOpenVNetの他の機能が試せるようにvnet-vagrantを拡張して行く予定ですので、時々覗いてみて下さい。