前エントリでBIOSをアップデートしたSHARPのPC-MV1-C1WにXenとNetBSDをインストールしました。
Xen: 3.1.4
Dom0: NetBSD 5_BETA
DomU(1): NetBSD 4.0.1
DomU(2): NetBSD current(5.99.5)
以下その記録です。
2008年 12月 22(月曜日)
XenとNetBSDインストール
マシンスペック
XenとDom0 OS, DomU OSはi386版ではPAE版かPAEなし版どちらかに統一する必要があります。
i386(32bit)について調べたところ以下が判明しました。
Xen: 3.1系、3.2系はPAE版, PAEなし版両方あり。3.3系以降はPAE版のみ。
NetBSDのpkgには3.1.4, 3.3のxenkernelおよびDom0用ツールが含まれている
Dom0: NetBSD(4, 5.0_BETA, current)は、現状ではdom0はPAEなし版のみ対応
DomU: NetBSD(4, 5.0_BETA, current)は、PAE版, PAEなし版いずれも対応(?)
最近の傾向としてはPAE版がデフォルトになっているようです。
今回使用するマシンはMAXでメモリ768MBなのでPAEなし版にします。
今回使用するDom0, DomU OSは以下のようにします。
Dom0: NetBSD 5.0_BETA WAPBLを使いたいので4.0.1ではなく5系
DomU: 2台
(1) NetBSD 4.0.1(外部サービス用)
(2) NetBSD current(内部サービス用)
当社はDomUを1台FreeBSDにしたかったのですが、現状ではPAEなし版に対応していないため2台ともNetBSDとします。
ここからいよいよインストールです。
手順は以下の通りです。
Dom0用のNetBSD 4.0.1インストール
NetBSD 4.0.1のCDからインストールします。
通常通りのインストールです。
wd0a(/)はffsv2としました。
Dom0用OSを5.0_BETAへアップデート
5.0_BETAの動作を確認するために以下のようにGENERIC用のカーネルで起動することを確認します。
ftp://ftp.jp.netbsd.org/pub/NetBSD/NetBSD-5.0_BETA/tar_files/src/から、ファイルをもってきて、/usr/srcに展開
Dom0用NetBSD 5.0_BETAカーネルを作成
xenカーネル、xentoolsインストール
currentのpkgsrcをftp://ftp.jp.netbsd.org/pub/NetBSD/NetBSD-current/tar_files/pkgsrc.tar.gzから取得して、/usr/pkgsrcに展開します。
すぐには必要ないですが、xentoolsもインストールしておきます。
次にgrubをインストールします。最近はNetBSDのboot.cfgでもxenを起動できるようですが、
Dom0としてLinuxを利用するかもしれないためgrubにしておきます。
/grub/menu.lstを以下のようにします。
マシンをリブートして、無事にxenとnetbsdが立ち上がることを確認します。
xen関連の起動スクリプト(xenbackendd, xend, xendomains)をコピーします。
rc.confに以下を追加します。
ブリッジインターフェイスの設定をします。
/etc/ifconfig.bridge0
再びマシンをリブートして、無事にxmコマンドが有効なことを確認します。
以下のように/etc/fstabにlogを追加してWAPBLが有効になるようにします。
/etc/fstab
DomU(1)用のNetBSD 4.0.1インストール
DomUとしてNetBSD 4.0.1をインストールします。
まずディスクイメージ(10GB)を作成します。
インストール用カーネルを取得します。
ftp://ftp.jp.netbsd.org/pub/NetBSD/NetBSD-4.0.1/i386/binary/kernel/netbsd-INSTALL_XEN3_DOMU.gz
これを、/xendata/domu1 にコピーして解凍します。
設定ファイルを準備します。
/usr/pkg/etc/xen/domu1
macアドレスは、xen用に割当られている00:16:3e:XX:XX:XXを使うのが通例のようです。
domu1を起動します。
通常の4.0.1のネットワークインストールと同様にインストールを行います。
インストールが完了したら、インストール用カーネルではなく以下のDOMU用通常カーネルを使用するようにします。
ftp://ftp.jp.netbsd.org/pub/NetBSD/NetBSD-4.0.1/i386/binary/kernel/netbsd-XEN3_DOMU.gz
/usr/pkg/etc/xen/domu1
でdomu1を落として、
で再起動します。
NetBSDが立ち上がることを確認します。
次は各種設定です。
まず、
domu1:/etc/rc.conf
wsconsはdomuでは意味がありません。powerdはdom0からxm shutdownしたときにdomUで正常なシャットダウンプロセスが起動するようになります。
仮想インターフェイスにスタティックアドレスを指定します。
domu1:/etc/ifconfig.xennet0
console以外のttyはoffにします。
domu1:/etc/ttys
DomU(2)用のNetBSD 4.0.1インストール
domu1と同様にdomu2をインストールします。
macアドレスは重複しないように違うものとします。
なお、ディスクサイズなどが同じ場合はdomu1用のイメージをコピーすれば済みますが、今回はディスク構成として違うものを利用するためdomu1と同様に一から作成しました。
DomU(2)用OSをNetBSD currentへアップデート
ftp://ftp.jp.netbsd.org/pub/NetBSD/NetBSD-current/tar_files/src/
から持ってきたソースを/usr/srcに展開します。
../obj/sys/arch/i386/compile/XEN3_DOMU/netbsd
をdom0へコピーし、domu2用のカーネルとします。
domu2を再起動し、新カーネルで無事に立ち上がることを確認します。
再びdomu2を起動し無事立ち上がることを確認します。
なお、dom0起動時に、domu1, domu2も同時に起動する場合には以下の設定をします。
dom0:/etc/rc.conf
- 機種: SHARP PC-MV1-C1W
- CPU: モバイルPentium III 1GHz-M
- Chipset: Intel 830MB
- HDD: 160GB 交換済 (Hitachi HTS541616J9AT00)
- Memory: 768MB (PC-133 512MBメモリ装着済)
- LAN: 100Mbps (Realtek)
- 無線LAN: 802.11b/g 交換済 (Intel PRO/Wireless LAN 2200BG Mini-PCI)
- CD: UJDA720 DVD/CDRW
XenとDom0 OS, DomU OSはi386版ではPAE版かPAEなし版どちらかに統一する必要があります。
i386(32bit)について調べたところ以下が判明しました。
Xen: 3.1系、3.2系はPAE版, PAEなし版両方あり。3.3系以降はPAE版のみ。
NetBSDのpkgには3.1.4, 3.3のxenkernelおよびDom0用ツールが含まれている
Dom0: NetBSD(4, 5.0_BETA, current)は、現状ではdom0はPAEなし版のみ対応
DomU: NetBSD(4, 5.0_BETA, current)は、PAE版, PAEなし版いずれも対応(?)
最近の傾向としてはPAE版がデフォルトになっているようです。
今回使用するマシンはMAXでメモリ768MBなのでPAEなし版にします。
今回使用するDom0, DomU OSは以下のようにします。
Dom0: NetBSD 5.0_BETA WAPBLを使いたいので4.0.1ではなく5系
DomU: 2台
(1) NetBSD 4.0.1(外部サービス用)
(2) NetBSD current(内部サービス用)
当社はDomUを1台FreeBSDにしたかったのですが、現状ではPAEなし版に対応していないため2台ともNetBSDとします。
ここからいよいよインストールです。
手順は以下の通りです。
- Dom0用のNetBSD 4.0.1インストール
- Dom0用OSを5.0_BETAへアップデート
- Dom0用NetBSD 5.0_BETAカーネルを作成
- xenカーネル、xentoolsインストール
- DomU(1)用のNetBSD 4.0.1インストール
- DomU(2)用のNetBSD 4.0.1インストール
- DomU(2)用OSをNetBSD currentへアップデート
Dom0用のNetBSD 4.0.1インストール
NetBSD 4.0.1のCDからインストールします。
通常通りのインストールです。
wd0a(/)はffsv2としました。
Dom0用OSを5.0_BETAへアップデート
5.0_BETAの動作を確認するために以下のようにGENERIC用のカーネルで起動することを確認します。
ftp://ftp.jp.netbsd.org/pub/NetBSD/NetBSD-5.0_BETA/tar_files/src/から、ファイルをもってきて、/usr/srcに展開
# cd /usr/src
dom0# mkdir ../obj
dom0# mkdir ../tools
dom0# ./build.sh -O ../obj -T ../tools -U -u tools
dom0# ./build.sh -O ../obj -T ../tools -U -u kernel=GENERIC
dom0# ./build.sh -O ../obj -T ../tools -U -u distribution
dom0# mv /netbsd /netbsd.old
dom0# cp -p ../obj/sys/arch/i386/compile/GENERIC/netbsd /netbsd
dom0# shutdown -r now
(リブート)
dom0# cd /usr/src
dom0# ./build.sh -O ../obj -T ../tools -U -u install=/
古くなったファイルの修正のため、出力される説明に従う。たとえば以下のように
dom0# /usr/src/usr.sbin/postinstall/postinstall -s /usr/src -d // fix defaults mtree obsolete
dom0# /usr/sbin/etcupdate -s /usr/src
dom0# shutdown -r now
Dom0用NetBSD 5.0_BETAカーネルを作成
# cd /usr/src
dom0# mkdir ../obj
dom0# mkdir ../tools
dom0# ./build.sh -O ../obj -T ../tools -U -u kernel=XEN3_DOM0
dom0# cp -p ../obj/sys/arch/i386/compile/XEN3_DOM0/netbsd /netbsd-5.0_BETA-XEN3_DOM0
xenカーネル、xentoolsインストール
currentのpkgsrcをftp://ftp.jp.netbsd.org/pub/NetBSD/NetBSD-current/tar_files/pkgsrc.tar.gzから取得して、/usr/pkgsrcに展開します。
dom0# cd /usr/pkgsrc/sysutils/xenkernel3
dom0# make install
dom0# cp -p /usr/pkg/xen3-kernel/xen* /
dom0# cd /
dom0# gunzip xen.gz
dom0# mv xen xen-3.1.4
dom0# gunzip xen-debug.gz
dom0# mv xen-debug.gz xen-debug-3.1.4
すぐには必要ないですが、xentoolsもインストールしておきます。
dom0# cd /usr/pkgsrc/sysutils/xentools3
dom0# make install
次にgrubをインストールします。最近はNetBSDのboot.cfgでもxenを起動できるようですが、
Dom0としてLinuxを利用するかもしれないためgrubにしておきます。
dom0# cd /usr/pkgsrc/sysutils/grub
dom0# make install
dom0# grub-install --no-floppy /dev/wd0d
/grub/menu.lstを以下のようにします。
default 0
timeout 5
title Xen
kernel (hd0,0,a)/xen-3.1.4 dom0_mem=131072 acpi=off
module (hd0,0,a)/netbsd-5.0_BETA-XEN3_DOM0 console=pc
title Xen-debug
kernel (hd0,0,a)/xen-debug-3.1.4 dom0_mem=131072 acpi=off
module (hd0,0,a)/netbsd-5.0_BETA-XEN3_DOM0 console=pc
title NetBSD
root (hd0,0,a) # NetBSD on 1st MBR partition of 1st IDE disk
chainloader +1
dom0# cd /dev
dom0# ./MAKEDEV xen
マシンをリブートして、無事にxenとnetbsdが立ち上がることを確認します。
xen関連の起動スクリプト(xenbackendd, xend, xendomains)をコピーします。
dom0# cp -p /usr/pkg/share/examples/rc.d/xen* /etc/rc.d
rc.confに以下を追加します。
xend=YES
xenbackendd=YES
ブリッジインターフェイスの設定をします。
/etc/ifconfig.bridge0
create
!brconfig bridge0 add rtk0 up
再びマシンをリブートして、無事にxmコマンドが有効なことを確認します。
dom0# xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 128 1 r----- 5168.2
以下のように/etc/fstabにlogを追加してWAPBLが有効になるようにします。
/etc/fstab
/dev/wd0a / ffs rw,log 1 1
DomU(1)用のNetBSD 4.0.1インストール
DomUとしてNetBSD 4.0.1をインストールします。
まずディスクイメージ(10GB)を作成します。
dom0# mkdir /xendata
dom0# mkdir /xendata/domu1
dom0# dd if=/dev/zero of=/xendata/domu1/netbsd.img bs=1m count=10240
インストール用カーネルを取得します。
ftp://ftp.jp.netbsd.org/pub/NetBSD/NetBSD-4.0.1/i386/binary/kernel/netbsd-INSTALL_XEN3_DOMU.gz
これを、/xendata/domu1 にコピーして解凍します。
dom0# cp somewhere/netbsd-INSTALL_XEN3_DOMU.gz /xendata/domu1
dom0# cd /xendata/domu1
dom0# gunzip netbsd-INSTALL_XEN3_DOMU.gz
設定ファイルを準備します。
/usr/pkg/etc/xen/domu1
kernel = "/xendata/domu1/netbsd-INSTALL_XEN3_DOMU"
memory = 256
name = "DOMU1"
vif = [ 'mac=00:16:3e:00:00:15,bridge=bridge0' ]
disk = [ 'file:/xendata/domu1/netbsd.img,0x3,w']
macアドレスは、xen用に割当られている00:16:3e:XX:XX:XXを使うのが通例のようです。
domu1を起動します。
dom0# xm create -c /usr/pkg/etc/xen/domu1
通常の4.0.1のネットワークインストールと同様にインストールを行います。
インストールが完了したら、インストール用カーネルではなく以下のDOMU用通常カーネルを使用するようにします。
ftp://ftp.jp.netbsd.org/pub/NetBSD/NetBSD-4.0.1/i386/binary/kernel/netbsd-XEN3_DOMU.gz
/usr/pkg/etc/xen/domu1
kernel = "/xendata/domu1/netbsd-XEN3_DOMU"
memory = 256
name = "DOMU1"
vif = [ 'mac=00:16:3e:00:00:15,bridge=bridge0' ]
disk = [ 'file:/xendata/domu1/netbsd.img,0x3,w']
dom0# xm destroy <DOMID>
でdomu1を落として、
dom0# xm create -c /usr/pkg/etc/xen/domu1
で再起動します。
NetBSDが立ち上がることを確認します。
次は各種設定です。
まず、
domu1:/etc/rc.conf
wscons=NO
powerd=YES
wsconsはdomuでは意味がありません。powerdはdom0からxm shutdownしたときにdomUで正常なシャットダウンプロセスが起動するようになります。
仮想インターフェイスにスタティックアドレスを指定します。
domu1:/etc/ifconfig.xennet0
up 192.168.1.5 netmask 255.255.255.0
console以外のttyはoffにします。
domu1:/etc/ttys
console "/usr/libexec/getty Pc" vt100 on secure
ttyE0 "/usr/libexec/getty Pc" vt220 off secure
ttyE1 "/usr/libexec/getty Pc" vt220 off secure
ttyE2 "/usr/libexec/getty Pc" vt220 off secure
ttyE3 "/usr/libexec/getty Pc" vt220 off secure
DomU(2)用のNetBSD 4.0.1インストール
domu1と同様にdomu2をインストールします。
macアドレスは重複しないように違うものとします。
なお、ディスクサイズなどが同じ場合はdomu1用のイメージをコピーすれば済みますが、今回はディスク構成として違うものを利用するためdomu1と同様に一から作成しました。
DomU(2)用OSをNetBSD currentへアップデート
ftp://ftp.jp.netbsd.org/pub/NetBSD/NetBSD-current/tar_files/src/
から持ってきたソースを/usr/srcに展開します。
domu2# cd /usr/src
domu2# mkdir ../obj
domu2# mkdir ../tools
domu2# ./build.sh -O ../obj -T ../tools -U -u tools
domu2# ./build.sh -O ../obj -T ../tools -U -u kernel=XEN3_DOMU
domu2# ./build.sh -O ../obj -T ../tools -U -u distribution
../obj/sys/arch/i386/compile/XEN3_DOMU/netbsd
をdom0へコピーし、domu2用のカーネルとします。
domu2を再起動し、新カーネルで無事に立ち上がることを確認します。
domu2# ./build.sh -O ../obj -T ../tools -U -u install=/
domu2# /usr/src/usr.sbin/postinstall/postinstall -s /usr/src -d // fix defaults mtree obsolete
domu2# /usr/sbin/etcupdate -s /usr/src
再びdomu2を起動し無事立ち上がることを確認します。
なお、dom0起動時に、domu1, domu2も同時に起動する場合には以下の設定をします。
dom0:/etc/rc.conf
xendomains="domu1 domu2"
トラックバック
このエントリーのトラックバック URI を指定する