VirtualBox for OSX に Linux(CentOS6.3)をインストール
【お知らせ】この記事は、http://blog.apar.jp/linux/402/ に引越いたしました。
VirtualBox(https://www.virtualbox.org)は無料で使える仮想化ソフトです。
現時点での最新版は、MacOSX10.8.2にも対応しています。
VirtualBox自体の使い方はとても分かりやすいのですが、ネットワーク設定部分で少し戸惑ったのでメモしておきます。
【インストール環境】
ホストOS: MacOSX10.8.2 + VirtualBox 4.2.1
ゲストOS: CentOS6.3
仮想マシンの作成
VirtualBoxの「仮想マシン」メニューから「新規」を選択して、仮想マシンを作成します。
今回は下記設定で作成しましたが用途にあわせて設定してください。
・名前とオペーレーティングシステム
CentOSは RedHatクローンなので「RedHat(64bit)」を選択しておきました。
・メモリーサイズ (652MB以上に設定するのがオススメです)
・ハードドライブ
・ハードドライブのタイプ
・物理ハードドライブにあるストレージ
・ファイルの場所とサイズ
以上で仮想マシンが作成されました。この仮想マシンにCentOSをインストールします。
今回は下記設定で作成しましたが用途にあわせて設定してください。
・名前とオペーレーティングシステム
CentOSは RedHatクローンなので「RedHat(64bit)」を選択しておきました。

・メモリーサイズ (652MB以上に設定するのがオススメです)

・ハードドライブ

・ハードドライブのタイプ

・物理ハードドライブにあるストレージ

・ファイルの場所とサイズ

以上で仮想マシンが作成されました。この仮想マシンにCentOSをインストールします。

ゲストOS(CentOS6.3)のインストール
CentOS6.3インストール用DVDの isoファイル「CCentOS-6.3-x86_64-bin-DVD1.iso」をダウンロードしておきます。
・作成した仮想マシン「CentOS6.3」を選択して「設定」を押します
・ストレージを選択し、「IDEコントローラ」のCD/DVDデバイスの追加ボタンを押します
・「ディスクを選択」を押します
・ダウンロードした「CentOS-6.3-x86_64-bin-DVD1.iso」を選択して「オープン」を押します
・仮想マシンに「CentOS-6.3-x86_64-bin-DVD1.iso」が追加されました
・仮想マシンを起動するとCentOSのインストールが始まります。
(仮想マシンから抜けるには、左の「command」キーを押します)
CentOS6.3をインストールします。インストール方法はこちらをご参照ください。
・作成した仮想マシン「CentOS6.3」を選択して「設定」を押します

・ストレージを選択し、「IDEコントローラ」のCD/DVDデバイスの追加ボタンを押します

・「ディスクを選択」を押します

・ダウンロードした「CentOS-6.3-x86_64-bin-DVD1.iso」を選択して「オープン」を押します

・仮想マシンに「CentOS-6.3-x86_64-bin-DVD1.iso」が追加されました

・仮想マシンを起動するとCentOSのインストールが始まります。
(仮想マシンから抜けるには、左の「command」キーを押します)

CentOS6.3をインストールします。インストール方法はこちらをご参照ください。
VirtualBox用のネットワーク設定
仮想マシンには標準でNATタイプのNIC(eth0)が接続されています。
CentOS6.3のデフォルトでは、起動時にNICが有効にならないため設定を変更しておきます。
・ネットワークを再起動
ゲストOSのIPアドレスは「10.0.2.15」が割当てられます。
デフォルトGWは「10.0.2.2」です。
以上でゲストOS(CentOS)から外部への通信はできますが、
ホストOSを含め、外部からゲストOSへの通信はできません。
そこで外部から仮想マシンと ssh通信するため、ポートフォワード設定を使ってみます。
・設定>ネットワークを選択し「ポートフォワーディング」を押します
・「+」ボタンを押して下記を設定します。※ホストIPは環境に合わせて設定してください。
・下記コマンドで、ホストOSなど外部から仮想マシンにssh接続ができます

CentOS6.3のデフォルトでは、起動時にNICが有効にならないため設定を変更しておきます。
vi /etc/sysconfig/network-scripts/ifcfg-eth0
---(下記を変更)---------------------------
NM_CONTROLLED="yes"
ONBOOT="no"
↓
NM_CONTROLLED="no"
ONBOOT="yes"
------------------------------
---(下記を変更)---------------------------
NM_CONTROLLED="yes"
ONBOOT="no"
↓
NM_CONTROLLED="no"
ONBOOT="yes"
------------------------------
・ネットワークを再起動
service network restart
ゲストOSのIPアドレスは「10.0.2.15」が割当てられます。
デフォルトGWは「10.0.2.2」です。

以上でゲストOS(CentOS)から外部への通信はできますが、
ホストOSを含め、外部からゲストOSへの通信はできません。
そこで外部から仮想マシンと ssh通信するため、ポートフォワード設定を使ってみます。
・設定>ネットワークを選択し「ポートフォワーディング」を押します

・「+」ボタンを押して下記を設定します。※ホストIPは環境に合わせて設定してください。

・下記コマンドで、ホストOSなど外部から仮想マシンにssh接続ができます
ssh -p10022 root@<ホストIP>
ホストオンリーアダプターの設定
NATタイプのNICだと複数の仮想マシン間で通信することができないようです。割当てられるIPアドレス「10.0.2.15」を手動で「10.0.2.16」に変更したとしても、別のネットワークセグメントにあるためか(?)通信できません。
そこで、仮想マシンにホストオンリーアダプターを追加して、ホストOSや他の仮想マシンとの通信はこちらを利用します。ただし「ホストオンリー」という名の通り、インターネットなど外部ネットワークとは接続できないのでNATアダプターは残しておきます。
・VirtualBox>環境設定>ネットワークを選択 「+」ボタンを押します
・「vboxnet0」ホストオンリーネットワークが作成されます
・「ドライバー」ボタンを押してIPアドレスやHDCPの設定を変更することもできますが、今回はデフォルトの設定のままにしておきます
「192.168.56.1」がホストOSに割当てられます
・仮想マシンの設定>ネットワーク>アダプター2を選択、下記を設定して「OK」を押します
※ホストオンリーアダプターを追加する前に、仮想マシンをOFFにしておきます。
・ホストオンリーアダプター(eth1)が追加されました
・仮想マシンを起動してログインします
・追加したホストオンリーアダプターのMACアドレスを調べます
・ホストオンリーアダプター(eth1)を設定します
(先ほど調べたMACアドレスを「HWADDR」に指定)
・ネットワークサービスを再起動します
ホストOSからホストオンリーアダプター経由で、仮想マシンと通信ができています。
少しややこしくなったのでネットワーク図にしてみました。つたない図ですみません(^^;)
以上です。 そこで、仮想マシンにホストオンリーアダプターを追加して、ホストOSや他の仮想マシンとの通信はこちらを利用します。ただし「ホストオンリー」という名の通り、インターネットなど外部ネットワークとは接続できないのでNATアダプターは残しておきます。
・VirtualBox>環境設定>ネットワークを選択 「+」ボタンを押します

・「vboxnet0」ホストオンリーネットワークが作成されます

・「ドライバー」ボタンを押してIPアドレスやHDCPの設定を変更することもできますが、今回はデフォルトの設定のままにしておきます

「192.168.56.1」がホストOSに割当てられます
[ホストOS]$ ifconfig vboxnet0
vboxnet0: flags=8843
vboxnet0: flags=8843
・仮想マシンの設定>ネットワーク>アダプター2を選択、下記を設定して「OK」を押します
※ホストオンリーアダプターを追加する前に、仮想マシンをOFFにしておきます。

・ホストオンリーアダプター(eth1)が追加されました

・仮想マシンを起動してログインします
・追加したホストオンリーアダプターのMACアドレスを調べます
[root@centos63 ~]# ifconfig eth1
eth1 Link encap:Ethernet HWaddr 08:00:27:7A:6A:BA
「08:00:27:7A:6A:BA」がホストオンリーアダプターのMACアドレスです。eth1 Link encap:Ethernet HWaddr 08:00:27:7A:6A:BA
・ホストオンリーアダプター(eth1)を設定します
(先ほど調べたMACアドレスを「HWADDR」に指定)
[root@centos63 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
---(下記を追加)---------------------------
DEVICE="eth1"
HWADDR="08:00:27:7A:6A:BA"
NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO="none"
IPADDR="192.168.56.201"
NETMASK="255.255.255.0"
------------------------------
---(下記を追加)---------------------------
DEVICE="eth1"
HWADDR="08:00:27:7A:6A:BA"
NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO="none"
IPADDR="192.168.56.201"
NETMASK="255.255.255.0"
------------------------------
・ネットワークサービスを再起動します
[root@centos63 ~]# service network restart
ホストOSからホストオンリーアダプター経由で、仮想マシンと通信ができています。
[ホストOS]$ ping 192.168.56.201
PING 192.168.56.201 (192.168.56.201): 56 data bytes
64 bytes from 192.168.56.201: icmp_seq=0 ttl=64 time=0.439 ms
64 bytes from 192.168.56.201: icmp_seq=1 ttl=64 time=0.408 ms
64 bytes from 192.168.56.201: icmp_seq=2 ttl=64 time=0.508 ms
PING 192.168.56.201 (192.168.56.201): 56 data bytes
64 bytes from 192.168.56.201: icmp_seq=0 ttl=64 time=0.439 ms
64 bytes from 192.168.56.201: icmp_seq=1 ttl=64 time=0.408 ms
64 bytes from 192.168.56.201: icmp_seq=2 ttl=64 time=0.508 ms
少しややこしくなったのでネットワーク図にしてみました。つたない図ですみません(^^;)

MacBookAir(Core i5 1.7Ghz メモリ:4GB)+VirtualBox上で仮想マシンを2〜3台動かしてみましたが、特に動作が不安定になることもなくサクサク動きます。開発環境用途などでしたら機能的にも十分なのではないでしょうか。
22
| h o m e |