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アドレスを書いたほうがいいかもしれないが、かかないでも起動して、ちゃんとネットワークにつながりました。
- cent5.colinux.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
1つ目が起動したら、2つ目のイメージ(dev_IP_10.20.138.20.img)を起動するために cent5.colinx.txt を以下のように変更する。そして起動する。
- cent5.colinux.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つあれば、ログサーバも転送元サーバも同時にローカルで立ち上げてテストできます。