XenのアーキテキチャはXen本体(仮想マシンモニタ)上でホストOS(ドメイン0)とゲストOS(ゲストドメイン:ドメインU)のOSを同時実行させる形態です。
ドメイン0のホストOSは仮想マシンモニタを経由して周辺デバイスにアクセスします。
またドメインUのゲストOSはドメイン0経由でネットワーク接続されます。
Xen 2.0のドメインU環境にはVMwareやVirtual PC等のBIOSエミュレータやVGAエミュレータ機能等がありません。
このためドメインU環境でインストールCD-ROM/DVDからゲストOSを直接インストールすることはできません。
尚、SUSE LinuxではYaSTを使用してドメインUにSUSE Linux CD-ROM/DVDからインストールする機能を標準装備しています。
SUSE Linux以外でゲストOSを使用するには以下の3タイプあります。
timeout 30 default 0 fallback 1 # For booting Vine Linux title Vine Linux root (hd0,0) kernel /boot/vmlinuz root=/dev/hda1 initrd /boot/initrd-2.4.27-0vl7.img # For booting Vine Linux U(Native) title Vine Linux U(Native) root (hd1,0) kernel /boot/vmlinuz root=/dev/hdb1 initrd /boot/initrd-2.4.27-0vl7.img |
Installing Xen from './install' to '/'... All done. Checking to see whether prerequisite tools are installed... All done.
# For booting Vine Linux (XEN) title Vine Linux (XEN) root (hd0,0) kernel /boot/xen-2.0.7.gz dom0_mem=458752 ※補足:458752は512MBからXen仮想マシンモニタ用64MBを引いたサイズを指定 module /boot/vmlinuz-2.4.30-xen0 root=/dev/hda1 ro console=tty0 |
# Kernel image file. kernel = "/boot/vmlinuz-2.4.30-xenU" # Optional ramdisk. #ramdisk = "/boot/initrd.gz" # Initial memory allocation (in megabytes) for the new domain. memory = 220 # A name for your domain. All domains must have different names. name = "vine31u" # Which CPU to start domain on? #cpu = -1 # leave to Xen to pick #---------------------------------------------------------------------------- # Define network interfaces. # Number of network interfaces. Default is 1. nics=1 # Optionally define mac and/or bridge for the network interfaces. # Random MACs are assigned if not given. vif = [ 'mac=aa:00:00:00:00:11, bridge=xen-br0' ] #---------------------------------------------------------------------------- # Define the disk devices you want the domain to have access to, and # what you want them accessible as. # Each disk entry is of the form phy:UNAME,DEV,MODE # where UNAME is the device, DEV is the device name the domain will see, # and MODE is r for read-only, w for read-write. disk = [ 'phy:hdb1,hdb1,w', 'phy:hdb2,hdb2,w' ] #---------------------------------------------------------------------------- # Set the kernel command line for the new domain. # You only need to define the IP parameters and hostname if the domain's # IP config doesn't, e.g. in ifcfg-eth0 or via DHCP. # You can use 'extra' to set the runlevel and custom environment # variables used by custom rc scripts (e.g. VMID=, usr= ). # Set root device. #root = "/dev/hda1 ro" root = "/dev/hdb1 ro" # Root device for nfs. #root = "/dev/nfs" # The nfs server. #nfs_server = '169.254.1.0' # Root directory on the nfs server. #nfs_root = '/full/path/to/root/directory' # Sets runlevel 4. #extra = "4" |
Disk vine31qemu.img: 0 MB, 0 bytes 64 heads, 63 sectors/track, 0 cylinders, total 0 sectors Units = セクタ数 of 1 * 512 = 512 bytes デバイス ブート 始点 終点 ブロック ID システム vine31qemu.img1 * 63 2096639 1048288+ 83 Linux
kernel = "/boot/vmlinuz-2.4.30-xenU" memory = 220 name = "vine31qemu" nics=1 vif = [ 'mac=aa:00:00:00:00:12, bridge=xen-br0' ] disk = [ 'file:/usr/local/vine31qemuhda1.img,hdb1,w' ] root = "/dev/hdb1 ro" |
Disk vine31qemudsk.img: 0 MB, 0 bytes 128 heads, 63 sectors/track, 0 cylinders, total 0 sectors Units = セクタ数 of 1 * 512 = 512 bytes デバイス ブート 始点 終点 ブロック ID システム vine31qemudsk.img1 * 63 1846655 923296+ 83 Linux vine31qemudsk.img2 1846656 2048255 100800 82 Linux スワップ vine31qemudsk.img3 2048256 3894911 923328 83 Linux vine31qemudsk.img4 3894912 4193279 149184 5 拡張領域 vine31qemudsk.img5 3894975 4096511 100768+ 82 Linux スワップ
kernel = "/boot/vmlinuz-2.4.30-xenU" memory = 64 name = "xmvine31qemuhda1" nics=1 vif = [ 'mac=aa:00:00:00:00:11, bridge=xen-br0' ] disk = [ 'file:/usr/local/vine31qemudsk.img,hda,w' ] root = "/dev/hda1 ro" |
kernel = "/boot/vmlinuz-2.4.30-xenU" memory = 64 name = "xmvine31qemuhda3" nics=1 vif = [ 'mac=aa:00:00:00:00:11, bridge=xen-br0' ] disk = [ 'file:/usr/local/vine31qemudsk.img,hda,w' ] root = "/dev/hda3 ro" |
Name Id Mem(MB) CPU State Time(s) Console Domain-0 0 256 0 r---- 519.2 xmvine31qemuhda1 4 63 0 -b--- 20.1 9604 xmvine31qemuhda3 5 63 0 -b--- 18.8 9605
if [ `echo $(uname -r)|grep xen|wc -l` -eq 1 ] then # xen mode export PS1="[\u@\h \W (xen)]\\$ " fi