ネットワーク内の他のPCからゲストOSにアクセスする【VirtualBox】

前回、前々回のエントリを通して開発環境を構築できたんだけども。

CentOSの開発環境、設定手順(with VirtualBox)
WindowsXP上でCentOSを動かす【VirtualBox】

仮想環境にメモリの割り当てやら何やらしてる関係で、フルに動かすと結構重いのよね。。それでなくてもFirefoxとeclipseでめちゃめちゃメモリ食ってる(双方とも使い続けると800KB程度までメモリ食う)ので、どうせなら他の空いているPCに環境を構築して、そこにアクセスできるようにした方が良い。ただぽかーんと開いてる高性能PCなんかあるはずもないので、とりあえず殆ど働いてないPCを拾ってきてそこに仮想環境を構築するという方向で。

以下手順。

作業手順

  1. 既に構築済みの仮想ディスクをコピーする
  2. 構築対象PCにVirtualBoxをインストール
  3. コピーしたディスクを読み込んで設定



1. 既に構築済みの仮想ディスクをコピーする

ここは既に構築済みの環境があるのでもちろんそれを流用。

仮想ディスクはただファイルをコピーしてもダメらしいので、ここを参考に「仮想ディスクのコピー」を行う。

VBoxManage clonevdi コピーされる.vdi コピー先.vdi

12GBの仮想ディスクのコピーに15分くらいかな?で、コピーできた仮想ディスクは構築対象のPCにLAN経由で送っておく。



2. 構築対象PCにVirtualBoxをインストール

以前ダウンロードしておいたインストーラをそのまま流用。バージョンを合わせたいので。

対象PCのOSはWindowsXP SP3、VirtualBoxのバージョンは3.0.8。



3. コピーしたディスクを読み込んで設定

適当なところに置いた仮想ディスクをディスクとして追加してやると、環境がそのままそっくり再現できる(ただしApacheのDocumentRootは元々のホストOSのディレクトリをマウントしていたのでこのままだとエラーが出る。元々のディレクトリを含むドライブをネットワークドライブとして追加し、共有→マウント)。

今回は他PCからのアクセスなのでネットワーク上にゲストPCがある必要がある。というわけで、ネットワークの設定で「ブリッジ接続」を選んでやる。

…それだけ。


色々調べると分からないことだらけで不安になるのだけど、VirtualBox3.0.8ではそれだけで繋がるらしい。なんだ…心配して損した。


ただ、ブリッジ接続を選択したときに「アダプタが見つからない」というエラーが出ることがある。
「ことがある」っていうか最初にインストールして環境を作ったPCではこのエラーで設定できなかった。インストールの問題なのか、インストーラーを起動し、「Repair」を何度か試すと設定できるようになったと言う情報もあるので、そのあたり試してみても良いかも。

そんな感じで。





追記

アダプタに「ブリッジ接続」を設定しただけでは、ゲストOSからネットに繋げなくなってしまった。ホストOSのLANにブリッジしてるから大丈夫なんじゃないのかとか思っていたんだけど(事実、一番最初に確認したときは繋がっていたんだけど)、何かの拍子に設定が外れてしまったのか何なのか。IPアドレスを固定したのが良くなかったのかも。

その辺解決しつつブリッジを設定してやるのが一番正答に近いんだろうけれども、とりあえずアダプタ2に「NAT」アダプタを増設してやったところ、問題なくネットに繋がるようになった。多分こんな感じか。


PC-Aが作業用PC。PC-BがホストOS、PC-B’がゲストOS。NAT接続で裏口みたいな感じかと。もちろん直でWANに繋がっているわけはなくて、PC-Aと同じルータを介しているけれどもネットワーク的に別のグループになってるっていう感じの意味合い。かなり怪しいけどとりあえずこんな感じで理解しておくことにする。



…ちなみに、作業をしてる途中でブリッジ接続のアダプタを認識できなくなりました。インストーラー→Repairでも修復できなかったので、一旦アンインストールして、レジストリを綺麗にして、再度インストールしたら問題なく復帰。アンインストールしてもゲストOSに関する設定は残っていたため、特に何もする必要はありませんでした。