Personal tools
You are here: Home Wiki HowToUseXen
Views

Xenのインストール手順

Breezy-jaでXen 2.0.7を使うための手順です。以下のページを参考にしながら実際にインストールしてみた手順をまとめたものです。

1. Xenが依存するパッケージをインストール

以下のパッケージをインストールします。( XenFaq? - 6.1. What Debian packages do I need for Xen?を参照)

  • grub

  • bridge-utils

  • iproute

  • python

  • python-twisted

  • gcc-3.4

  • libcurl3

  • libcurl3-dev

  • zlib1g

  • zlib1g-dev

2. aptlineを追加してxenパッケージをインストール

/etc/apt/sources.listに以下の1行を追加します。 Xen-users Xen packages availible for Ubuntu and Debianのメールに書かれているaptlineは間違っていますので以下のをお使いください。

deb http://mirror.clarkson.edu/pub/distributions/xenophilia/xen-debs/ubuntu xen-stable main
その後
# apt-get update
# apt-get install xen
を実行して、xenパッケージをインストールします。

3. /boot/grub/menu.lstでホストOSの使用メモリ容量を適宜編集

debパッケージだけあって/boot/grub/menu.lstへのエントリ追加もやってくれるのですが dom0_memの値が65536と小さいので、例えば512MBにするなら524288などと書き換えます。

Linuxを再起動させてgrubのブートメニューで 「Xen(2.0.7)/Linux(2.6.11)--」を選択し、Xen対応カスタムカーネルで 起動します。

4. ゲストOSとしてttyLinuxを使う

ttyLinuxはとりあえずゲストOSが起動するかの動作確認をするための コンパクトなファイルシステムイメージになっています。

http://sourceforge.net/project/showfiles.php?group_id=86024 からttylinux-xen.bz2 をダウンロードして、解凍します。

# mkdir /etc/xen/images
# bzip2 -cd ttylinux-xen.bz2 > /etc/xen/images/ttylinux-xen
ゲストOSの設定を以下の内容で/etc/xen/ttylinuxというファイルに作成します。
kernel = "/boot/xen/domU/vmlinuz-2.6.11.12-xenU"
memory = 64
name = "ttylinux"
nics = 1
ip = "1.2.3.4"
disk = ['file:/etc/xen/images/ttylinux-xen,sda1,w']
root = "/dev/sda1 ro"
memoryの値はゲストOSに割り当てるメモリ容量をMB単位で指定してください。

Xenのデーモンを起動

# /etc/init.d/xend start
ゲストOSを起動
# xm create /etc/xen/ttylinux -c
すると起動した端末上でゲストOSが起動します。 しばらくするとログインプロンプトが出るのでroot/rootでログインします。
tty.local login: root
Password:

Chop wood, carry water.

root@tiny ~ # ls /usr/bin
ar           dos2unix     ldd          openvt       strings      uudecode
awk          du           lddlibc4     passwd       tail         uuencode
basename     env          length       patch        tee          wc
bundle       expr         loadfont     pkg          telnet       wget
bunzip2      fdformat     logger       ppp-down     tftp         which
bzcat        find         logname      ppp-up       top          who
cal          free         lsattr       readlink     tr           whoami
chattr       ftp          makeweb      realpath     traceroute   xargs
chvt         head         md5sum       renice       tty          yes
clear        hexdump      mesg         reset        unbundle
cmp          id           mkfifo       retawq       uniq
dc           install      nc           seq          unix2dos
deallocvt    killall      nslookup     setkeycodes  unzip
dirname      last         od           sort         uptime
root@tiny ~ #
... (ゲストOS上でいろいろ操作) ...

ゲストOSを強制終了 (ホストOSの端末で実行)

# xm destroy ttylinux
そのあとゲストOSの端末に戻ってENTERを押すと以下のように表示されて、 ホストOSのプロンプトに戻ります。
************ REMOTE CONSOLE EXITED *****************
$

5. ゲストOSとしてDebian GNU/Linux sargeを使う

http://cosi.clarkson.edu/knowledge/workshops/sp05/installingxen/xen-tutorial.html#Installing%20Debian%20Linux あたりを参考に作業します。

1GBのルートパーティションイメージファイルと 512MBのスワップパーティションイメージファイルを作成します。

# dd if=/dev/zero of=/etc/xen/images/sarge-root.img bs=1024k count=1024
# dd if=/dev/zero of=/etc/xen/images/sarge-swap.img bs=1024k count=512

# mkfs.ext3 /etc/xen/images/sarge-root.img
# mkswap /etc/xen/images/sarge-swap.img

# mkdir /mnt/sarge
# mount -o loop /etc/xen/images/sarge-root.img /mnt/sarge

# apt-get install debootstrap
# debootstrap --arch i386 sarge /mnt/sarge ftp://ftp.jp.debian.org/debian
これで、ゲストOSのルートパーティションイメージファイル /etc/xen/images/sarge-root.img にsargeがインストールされます。

さらにゲストOSとして動かすために以下のファイルについて設定を行います。

  • /etc/fstab

  • /etc/hostname

  • /etc/hosts

  • /etc/network/interfaces

  • /etc/apt/sources.list

# cd /mnt/sarge

# vi etc/fstab
以下のように書き換え。
/dev/sda1  /      ext3  defaults  0 1
/dev/sda2  swap   swap  defaults  0 0
proc       /proc  proc  defaults  0 0

# vi etc/hostname
以下のように書き換え。
sarge-xen-guest

# vi etc/hosts
以下の内容で作成。
127.0.0.1 localhost sarge-xen-guest

# vi etc/network/interfaces
以下のように書き換え。
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp

# vi etc/apt/sources.list
以下の内容で作成。
deb ftp://ftp.jp.debian.org/debian sarge main contrib non-free
deb http://security.debian.org/ sarge/updates main contrib non-free

lib/tlsを使われないようにします。 http://wiki.xensource.com/xenwiki/XenFaq#head-31ebe1eb6c34c5d4044559364d1048bf8ea1cae7 参照。

# mv lib/tls lib/tls.disabled

ttyを作成します。

# cd /mnt/sarge/dev
# ./MAKEDEV tty1 tty2 tty3 tty4 tty5 tty6

一通り作業が終わったので、ゲストOSのルートパーティションイメージファイル /etc/xen/images/sarge-root.imgをアンマウントします。

# cd /
# umount /mnt/sarge

XenのゲストOS用設定ファイルを作成します。

# vi /etc/xen/sarge
name="sarge"
memory=256
kernel="/boot/vmlinuz-2.6.11-xenU"
nics=1
disk=['file:/etc/xen/images/sarge-root.img,sda1,w','file:/etc/xen/images/sarge-swap.img,sda2,w']
root="/dev/sda1 ro"

sargeをゲストOSとして起動します。

# xm create /etc/xen/sarge -c
以下のようにログインプロンプトが表示されたらroot(パスワードなし)でログインします。
Debian GNU/Linux 3.1 sarge-xen-guest tty1

sarge-xen-guest login:

なお、ゲストOSはDHCPでホストOSが見ているDHCPサーバーからIPアドレスを取得するようになっています。 IPアドレス取得後は、LAN上の別のマシンからゲストOSにもpingが通ります。

6. ゲストOSにgnomeとvncserverをインストールしてホストOSからvncviewerで接続。

ゲストOSにて。

# apt-get update
# apt-get install x-window-system gnome-core gdm
途中でデフォルトのディスプレイマネージャを選択する際はxdmではなくgdmを選択。 解像度の選択では1024x768を追加。

# vi /etc/gdm/gdm.conf
以下の2箇所を変更
[xdmcp]
Enable=true
(falseをtrueに)
[servers]
#0=Standard
(コメントアウト)

gdmを起動

# /etc/init.d/gdm start

VNCサーバのインストール

# apt-get install vncserver

inetdからVNCサーバを起動するため以下の設定を行います。

# vi /etc/services

以下の行を追加

vnc 5900/tcp

# vi /etc/inetd.conf
以下の行を追加
vnc stream tcp nowait nobody /usr/bin/Xvnc Xvnc -inetd -query localhost -once -geometry 1024x768 -depth 24
inetdを再起動します。
# /etc/init.d/inetd restart

一般ユーザを作成します。

# adduser user
ID/パスワードは適宜指定します。

# ifconfig
を実行してゲストOSのIPアドレスを確認。

ホストOSにてvncviewerをインストールし起動します。

# apt-get install vncviewer

# vncviewer

接続先入力ダイアログが表示されたらゲストOSのIPアドレスを入力します。 するとvncviewerのウィンドウが開きゲストOSのgdmのログイン画面が 表示されるのでさきほどゲストOSで作成したユーザID/パスワードを入力します。 これでゲストOSにログインできます。

XenのゲストOSルートパーティションイメージのサイズ拡張手順

ゲストOSにいろいろパッケージをインストールしたりしているとファイルシステムに空きがなくなってきます。そんなときは、以下の手順でパーティションイメージを拡張します。

1GBのルートパーティションイメージを2GBに拡張する例を示します。 ゲストOSを起動していない状態で作業します。

まず、イメージファイルの後にファイルを連結して、希望のサイズのイメージファイルを作成します。

# cd /etc/xen/images
# mv sarge-root.img sarge-root.img.old
# dd if=/dev/zero of=zero-1gb.img bs=1024k count=1024
# cat sarge-root.img.old zero-1gb.img > sarge-root.img

ファイルシステムのチェックを実行します。

# e2fsck -fv sarge-root.img
Fix? <y>が出たらyを押しておきます。 ファイルシステムのリサイズを実行し、念のためファイルシステムのチェックを再度実行して問題が無いことを確認します。
# resize2fs sarge-root.img
# e2fsck -fv sarge-root.img

新しいルートパーティションイメージでゲストOSを起動してみます。

# xm create /etc/xen/sarge -c

新しいルートパーティションイメージが問題なく使用できることを確認後、 ホストOSにて旧イメージと作業用ファイルを削除します。

# rm sarge-root.img.old zero-1gb.img



Powered by Plone, the Open Source Content Management System

This site conforms to the following standards: