読者です 読者をやめる 読者になる 読者になる

Tomcat Applianceをネットワークブートで配置する - VIVER CORE Server + rPath Tomcat Appliance

Virtual Appliance Marketplaceからは、あらかじめインストールされた状態の各種ソフトウェアがダウンロードできます。VMware ServerやPlayerを使い、ディスクイメージをダウンロードしてくるだけで必要な環境をすぐに用意できる!という寸法のようです。
rBuilder Onlineからもインストール済みの各種OSをダウンロードできます。こちらはrBuilderを使って作られたディストリビューションの配布サイトとなっているようで、Xen用、QEMU用などのディスクイメージもあります。
Fedora 7のデスクトップからLAMPサーバー、最小構成などなど、多種多様です。


さて、そんな先人の資産を有効に活用させていただき、rBuilder OnlineからTomcat Applianceをダウンロードしてきて、VIVER CORE Server 0.0.3でネットワークブートしてみます。

# VIVER CORE Serverをダウンロード
wget http://syuki.skr.jp/core/release/viver-core-server-0.0.3.i386.tar.gz
tar zxvf viver-core-server-0.0.3.i386.tar.gz
cd viver-core-server-0.0.3.i386


# QEMU/Parallels用HDDイメージをダウンロードしながら展開
wget -O - http://www.rpath.org/rbuilder/downloadImage?fileId=17076 | gunzip -c > ta-1.3.1-x86.img


# HDDイメージなので、パーティションに分割してマウントする
# ./script/split-hddimg <hdd image> </dev/loopX>
sudo ./script/split-hddimg ta-1.3.1-x86.img /dev/loop3
sudo mkdir -p /mnt/tmp
sudo mount /dev/mapper/loop3p1 /mnt/tmp


# tarで固める
sudo tar -C /mnt/tmp -czpf htdocs/ta.tar.gz .


# mkviverrdでviver-coreイメージを作る
./mkviverrd \
    tftpboot/viver-core-ta.img \
    skel/viver-core-skel.i386.tar.gz \
    2.6.19.7-0.4.gcc3.4.x86.i686 \
    --kernel-dir /mnt/tmp/lib/modules/2.6.19.7-0.4.gcc3.4.x86.i686


# カーネルを持ってくる
cp /mnt/tmp/boot/vmlinuz-2.6.19.7-0.4.gcc3.4.x86.i686 tftpboot/


# マウント解除
sudo umount /mnt/tmp
sudo ./script/unsplit-hddimg /dev/loop3


# ブートパラメータを設定
cp tftpboot/pxelinux.cfg/default.in tftpboot/pxelinux.cfg/default
vi tftpboot/pxelinux.cfg/default

## tftpboot/pxelinux.cfg/defaultの内容
## rooturl=のIPアドレスは自ホストのIPアドレスに変える
# 
# default viver
# prompt 0
# label viver
# kernel vmlinuz-2.6.19.7-0.4.gcc3.4.x86.i686
# append initrd=viver-core-ta.img rootsize=480m rooturl=http://192.168.0.2:9000/ta.tar.gz
#


# サーバーを起動
sudo ./srv/start-tftpd
sudo ./srv/start-pxe-pdhcp eth0
./srv/start-httpd

これで終わりです。特に考えることもなく、サクサク作れます。一番時間がかかるのはHDDイメージのダウンロードです ^_^;)


近隣のマシンをPXEでブートすれば、Tomcat Applianceが立ち上がるはずです。
もちろん複数のマシンを起動することもできます。