VirtualBox を利用してローカルにErlang 分散テスト環境を構築する

背景

Erlang の分散ノードのデモや、テストをしたい。デモをする環境によってはネットワークにつながらない場合もあるので、すべてローカルで完結させたい。
というような環境を作ります。

環境

手順

  1. VirtualBoxUbuntu 9.04 AMD64 をインストール
  2. Guest additions インストール
  3. ネットワークはデフォルト(NAT)。
  4. sudo apt-get install ssh subversion erlang
  5. Erlang アプリの環境を構築
  6. Host-only ネットワークに切り替える

ホストからゲストが見えているか?

  1. ゲストで ifconfig して IP アドレス確認(192.168.56.101とか)
  2. ホストから ping
  3. ホストからゲストの hostname で ping
  4. ssh で入れるか?

ゲストからホストが見えているか?

  1. ホストで ifconfig で vboxnet0: という NIC が見えているか?
  2. ゲストから ping
  3. ゲストから hostname で ping

実験

以上の手順がうまく行っていれば、ホスト、ゲストで -name オプションで起動した Erlang プロセスはお互いに rpc:call できるはず。

簡単にもう一台増やす

仮想ディスクをコピーすると、サーバーを一台増やすのも簡単。

% cd /Users/taro/Library/VirtualBox/HardDisks
% VBoxManage clonevdi "Ubuntu 9.04 AMD64.vdi" "Ubuntu 9.04 AMD64 2.vdi"
  1. VirtualBox を起動して新規からハードディスクを登録して起動
  2. /etc/hostname と /etc/hosts でホスト名書き換え。
  3. 再起動