CentOS5.1 on coLinuxを複数同時に起動する方法

以前、こちらでCentOS5.1 on coLinuxを起動しました。
それを、2つ同時(もちろんIPアドレスは別)に起動できないものかと考えていました。
それが、coLinuxでCentOS5.1を複数環境にしてみる - TrinityT's BLOGを参考にしましたら、実現できました。
id:TrinityTさんブログありがとうございます。


方法は以下の手順で行います。


1.coLinuxのイメージを2つ作成(IPアドレスは固定にして違うものにする)
2.TAPを2つインストール、ブリッジ設定を行う。
3.設定ファイル(cent5.colinux.txt)を書き換えて起動


上記、3ステップです。
それぞれ、見て行きましょう。

なお、環境は以下です。

OS : WindowsXP SP3
ISO : CentOS 5.1
coLinux : 0.7.1
coLinux installer : Version 2008-01-15

1.coLinuxのイメージを2つ作成(IPアドレスは固定にして違うものにする)

こちらを行い、通常通りにイメージを1つ作成します。できたイメージ(root.ext3)をコピーすれば(たとえば名前は root2.ext3 にします)2つ目のイメージが出来上がりです。

それと、swap_deviceもコピーして2つ目を作成してください。名前は swap_device_2 などでよいです。

今回は、root.ext3 のイメージにIPアドレス 10.20.138.20 を設定して、root2.ext3 の方に IPアドレス 10.20.138.21 を設定しました。
DHCPでもいけるかもしれませんが、試していません。


2.TAPを2つインストール、ブリッジ設定を行う。

まず、TAPを2つ作らないといけません。1つはcoLinuxをインストールするときにできたと思いますので、2つ目の作成です。
「コントロールパネル→ハードウェアの追加」からTAP-Win32 Adapter V8を新規インストールします。


「はい、ハードウェアを接続しています」を選択して、「次へ」をクリックします。


ここで、「新しいハードウェア デバイスの追加」を選択するのがポイントです。


「一覧から選択したハードウェアをインストールする」を選択して、「次へ」をクリックします。


「次の一覧からインストールするハードウエアの種類を選択してください。」は「ネットワーク アダプタ」を選択します。


「TAP-Win32 Provider (coLinux)」を選択して、ネットワークアダプタは、「TAP-Win32 Adapter V8 (coLinux)」を選択します。


TAPの追加に成功すると、「コントロールパネル」 → 「ネットワーク接続」に追加されていますので、
TAPの名前をそれぞれ、「TAP1」「TAP2」に変更します。
次に、「ローカルエリア接続」「TAP1」「TAP2」を選択して、「ブリッジへ追加」します。


これで、TAPの準備は完了です。

3.設定ファイル(cent5.colinux.txt)を書き換えて起動

あとは、設定ファイルを少し手直しして、起動するだけです。


cent5.colinux.txt

1つ目のイメージ(dev_IP_10.20.138.20.img)を起動するときの cent5.colinux.txt は以下のようにする。
なお、MACアドレス は適当である。しかも、CentOSのネットワーク設定には記述されていない。CentOSのネットワーク設定にもMACアドレスを書いたほうがいいかもしれないが、かかないでも起動して、ちゃんとネットワークにつながりました。

cobd0=C:\coLinux-installer-20080115\root.ext3
#cobd0=C:\coLinux-installer-20080115\root2.ext3
cobd7=C:\coLinux-installer-20080115\swap_device
#cobd7=C:\coLinux-installer-20080115\swap_device_2
cofs0="C:\coLinux-installer-20080115"
root=/dev/cobd0 fastboot
initrd=initrd.gz
kernel=vmlinux
mem=768
eth0=tuntap,"TAP1",00:FF:8A:7E:AF:01
#eth0=tuntap,"TAP2",00:FF:8A:7E:AF:02
eth1=slirp,,tcp:22:22/udp:177:177

1つ目が起動したら、2つ目のイメージ(dev_IP_10.20.138.20.img)を起動するために cent5.colinx.txt を以下のように変更する。そして起動する。

#cobd0=C:\coLinux-installer-20080115\root.ext3
cobd0=C:\coLinux-installer-20080115\root2.ext3
#cobd7=C:\coLinux-installer-20080115\swap_device
cobd7=C:\coLinux-installer-20080115\swap_device_2
cofs0="C:\coLinux-installer-20080115"
root=/dev/cobd0 fastboot
initrd=initrd.gz
kernel=vmlinux
mem=768
#eth0=tuntap,"TAP1",00:FF:8A:7E:AF:01
eth0=tuntap,"TAP2",00:FF:8A:7E:AF:02
eth1=slirp,,tcp:22:22/udp:177:177

これで2つ起動するはずです。

2つ同時に起動することができました。

どこかで、IPアドレスは、192.168.0.x じゃないとできないようなことも書いてあったのですが、私の環境では、Windowsが所属しているネットワーク(10.20.138.x)に直接参加できました。Windowsがネットワーク接続しているネットワークデバイスとTAPがブリッジ接続できない環境(emobileなど)ではそのような方法かもしれませんね。


なお、coLinuxのネットワーク設定は以下のようになっています。MACアドレス書いてないです。(書いたほうがいいのかな)

  • root.ext3 の /etc/sysconfig/network-scripts/ifcfg-eth0
$ cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
DEVICE=eth0
ONBOOT=yes
NETMASK=255.0.0.0
IPADDR=10.20.138.20
NETADDR=10.20.138.0
BROADCAST=10.20.138.255
  • root2.ext3 の /etc/sysconfig/network-scripts/ifcfg-eth0
$ cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
DEVICE=eth0
ONBOOT=yes
NETMASK=255.0.0.0
IPADDR=10.20.138.21
NETADDR=10.20.138.0
BROADCAST=10.20.138.255


いやー、ログの集約テストをローカルでしたかったので助かりました。いままで、社内にある適当なサーバをログサーバにして、coLinuxをログの転送元にしていました。2つあれば、ログサーバも転送元サーバも同時にローカルで立ち上げてテストできます。