2006年4月13日にXen 3.0.2が正式リリースされました。
Xen 3.0.2の特徴は初めてLinux Kernel 2.6.16ベースのXenカーネルが採用されたことです。
さて、OpenSolarisのXenコミュニティではXen 3.0.2のOpenSolaris対応版を2006年8月に何とかリリースしました。
このXen 3.0.2のOpenSolaris対応版はHVM(完全仮想化)等は未サポートという制限もありまだ「不完全」と自己アナウンスされています。
OpenSolaris版Xenのメインサイトは http://www.opensolaris.org/os/community/xen/How-To-8-15-06/ です。
このサイトにOpenSolaris版Xenの導入と実行に関する情報が集約されています。
OpenSolaris版Xen 3.0.2が前提とするドメイン0のOSはSolaris Express Community Release build 44(Nevada 44)となっています。
サポートされるドメインU(ゲストOS)はOpenSolaris, Linux, FreeBSDの3種類です。
OpenSolaris版Xen 3.0.2において「32ビット版PAEモードは未サポート」という制限事項については特に注意が必要です。
これは32ビットのOpenSolaris版Xen自体がnon-PAEモードでのみ動作するためです。
したがって32ビットLinuxをドメインUで実行させる場合は、
XenSourceのサイトで公開されている32ビット版non-PAEのXen 3.0.2カーネルを使用しなければなりません。
※32ビット版PAEカーネルは起動自体ができません(「PAE-kernel on non-PAE host」というエラーとなります)。
ドメインUでLinuxを実行させる場合にもう一つ注意しなければならないことがあります。
それはOpenSolaris版Xenのリリースノートにも記載されていますがLinuxでネットワークを使用する場合はLinuxブートのたびに
Linux側で「ethtool -K eth0 tx off」を実行しておかなければならないという点です。
これを実行しておかないとドメイン0の物理ネットワーク上にあるマシンとドメインU(Linux)とのネットワーク接続に支障が出ます(ドメインU側からDNSを引けない等)。
尚、ethtoolが標準でインストールされないディストリビューション(Vine Linux 4等)ではethtoolを追加インストールしておく必要があります。
また、 http://www.opensolaris.org/os/community/xen/How-To-8-15-06/install/AugDomUs/ には
その場で即使用できるドメインU仮想ディスクイメージファイル情報が公開されています。
例えば、ドメインUでOpenSolarisを動作させるために必要なファイル(snv44-domu.tar.bz2)の取得方法や使用方法も詳しく紹介されています。
特にsnv44-domu.tar.bz2については仮想ディスクだけではなくドメインU構成ファイルも付いていますので所定のディレクトリで展開すると手直しすることなく利用できます。
ここではOpenSolaris版Xenの導入とドメインU(OpenSolaris, Linux)の実行手順について紹介します。
1.Solaris Express Community Release build 44のインストール
title Solaris on Xen 64-bit kernel /boot/amd64/xen.gz dom0_mem=524288 console=com1 com1=9600,8n1 module /platform/i86xen/kernel/amd64/unix /platform/i86xen/kernel/amd64/unix -k module /platform/i86pc/boot_archiveand title Solaris on Xen 32-bit kernel /boot/xen.gz dom0_mem=524288 console=com1 com1=9600,8n1 module /platform/i86xen/kernel/unix /platform/i86xen/kernel/unix -k module /platform/i86pc/boot_archive |
name = "solaris-b44" memory = "400" kernel = "/export/xc/xvm/solaris-b44/platform/i86xen/kernel/unix" extra = "/platform/i86xen/kernel/unix" ramdisk = "/export/xc/xvm/solaris-b44/platform/i86pc/boot_archive" on_shutdown = "destroy" on_reboot = "restart" on_crash = "destroy" root = "/dev/dsk/c0d0s0" disk = ['file:/export/xc/xvm/solaris-b44/root.file,0,w'] vif = ['bridge=xenbr0'] |
Select a Language 1. English 2. es 3. fr Please make a choice (1 - 3), or press h or ? for help: |
Name service ──────────── [ ] NIS+ [ ] NIS [X] DNS [ ] LDAP [ ] None |
SunOS Release 5.11 Version matrix-build-2006-08-16 32-bit Copyright 1983-2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. DEBUG enabled Hostname: snv44domu <<途中略>> snv44domu console login: |
# ping -s www.yahoo.com PING www.yahoo.com (209.131.36.158): 56 data bytes 64 bytes from 209.131.36.158: icmp_seq=0. time=132.434 ms 64 bytes from 209.131.36.158: icmp_seq=1. time=121.360 ms ^C ----www.yahoo.com PING Statistics---- 2 packets transmitted, 2 packets received, 0% packet loss round-trip (ms) min/avg/max/stddev = 121.360/126.897/132.434/7.831 # |
# df -h Filesystem size used avail capacity Mounted on /dev/dsk/c0d0s0 3.8G 3.0G 761M 81% / /devices 0K 0K 0K 0% /devices ctfs 0K 0K 0K 0% /system/contract proc 0K 0K 0K 0% /proc mnttab 0K 0K 0K 0% /etc/mnttab swap 237M 716K 236M 1% /etc/svc/volatile objfs 0K 0K 0K 0% /system/object /usr/lib/libc/libc_hwcap3.so.1 3.8G 3.0G 761M 81% /lib/libc.so.1 fd 0K 0K 0K 0% /dev/fd swap 236M 8K 236M 1% /tmp swap 236M 20K 236M 1% /var/run # |
name = "ttylinuxU" memory = "64" kernel = "/export/xc/xvm/ttylinux/vmlinuz-2.6.16-xen" extra = "3" root = "/dev/sda1 ro" disk = ['file:/export/xc/xvm/ttylinux/ttylinux-xen,sda1,w'] vif = [ 'mac=aa:cc:00:00:00:ab, bridge=xenbr0' ] |
INTERFACE="eth0" # set to "yes" to use DHCP instead of the settings below DHCP="no" # interface settings # IP address IPADDRESS="ttylinuxのIPアドレス" # netmask NETMASK="255.255.255.0" # broadcast address BROADCAST="xx.xx.xx.255" |
name = "Vine40DomU" memory = "256" kernel = "/export/xc/xvm/vine4/vmlinuz-2.6.16-xen" extra = "5" on_shutdown = "destroy" on_reboot = "restart" on_crash = "destroy" root = "/dev/hda1 ro" disk = ['file:/export/xc/xvm/vine4/vine40domu.img,hda,w'] vif = [ 'mac=aa:cc:00:00:00:ab, bridge=xenbr0' ] |