Xen管理 · 1 min read · Oct 23, 2025

Xen-Tools、Xen-Shell、およびArgoを使用したXenの管理

Xen-Tools、Xen-Shell、およびArgoを使用したXenの管理

バージョン 1.0
著者: Falko Timme

このガイドでは、Debianシステムにxen-tools、xen-shell、およびArgoをインストールして使用する方法を説明します。これら3つのパッケージは、仮想Xenマシンの管理に役立つツールを提供します。xen-toolsは、Xenゲストドメインを簡単に作成、更新、削除できるPerlスクリプトのコレクションです。xen-shellは、Xenドメインの所有者がサーバー管理者の助けを借りずにXenドメインを管理できるようにするコマンドラインインターフェースを提供します。そして、Argoを使用すると、Webインターフェースまたはコマンドラインのメニューを通じてXenドメインを制御できます。これら3つのパッケージはDebianシステム用に開発されましたが、他のディストリビューションでも動作する可能性があります。

まず最初に、これはそのようなシステムを設定する唯一の方法ではないことを言いたいと思います。この目標を達成する方法はたくさんありますが、これは私が取る方法です。これがあなたにとって機能するという保証はありません!

1 前提条件

あなたがすでにDebianシステムにXen 3をインストールしていると仮定します(Xen 2では動作しません!)、例えばこのチュートリアルの第4章に示されているようにソースから: https://www.howtoforge.com/debian_sarge_xen_3.0.3。私はバイナリXenインストール(第5章に示されている)でxen-toolsを動作させることができませんでしたが、あなたには動作するかもしれません。しかし、xen-toolsはソースからのXenインストールで私にとっては素晴らしく機能します。

このチュートリアルでは、私のXen dom0ドメインのホスト名はserver1.example.comで、IPアドレスは192.168.0.100、ゲートウェイは192.168.0.1です。私はゲストドメインを/vserver/imagesディレクトリに保存したいと思います。これらの値はあなたにとって異なるかもしれません。

/etc/hostsに次のような行があることを確認してください:

vi /etc/hosts

| [...] 192.168.0.100 server1.example.com server1 [...] |

2 Xen-Tools

http://www.steve.org.uk/apt/にxen-toolsおよびxen-shell用のDebianパッケージがあるにもかかわらず、私はxen-toolsとxen-shellをソースからインストールすることに決めました。なぜなら、xen-toolsのDebianパッケージは私にとって無効なXen構成ファイルを書いたからで、ソースを使用したときにはそのようなことは起こりませんでした。

まず、xen-toolsのためのいくつかの前提条件をインストールします:

apt-get install libtext-template-perl perl-doc

次に、次のようにしてxen-toolsをインストールします:

cd /tmp  
wget http://xen-tools.org/software/xen-tools/xen-tools-2.7.tar.gz  
tar xvfz xen-tools-2.7.tar.gz  
cd xen-tools-2.7  
make install

次に、/etc/xen-tools/xen-tools.confを編集します。このファイルには、xen-create-imageスクリプトによって使用されるデフォルト値が含まれています。コマンドラインで他の値を指定しない限り、私は次の値を変更し、残りはそのままにしました:

vi /etc/xen-tools/xen-tools.conf

| [...] gateway = 192.168.0.1 netmask = 255.255.255.0 passwd = 1 kernel = /boot/vmlinuz-2.6-xenU #initrd = /boot/initrd.img-2.6.16-2-xen-686 mirror = http://ftp2.de.debian.org/debian/ [...] |

passwd = 1行は、新しいゲストドメインを作成するときにrootパスワードを指定できるようにします。kernel行では、ゲストドメインに使用するdomUカーネルを指定する必要があります。ゲストドメインが起動するためにramdiskを必要としない場合は、initrd行をコメントアウトしてください(私のインストールではこれを行う必要がありました)、そうでなければ正しいramdiskを指定してください。mirror行には、あなたの近くのDebianミラーを指定してください。

ゲートウェイとネットマスクを指定することを確認してください。指定しない場合、xen-create-imageを使用する際にコマンドラインでゲートウェイとネットマスクを指定しないと、IPアドレスを指定してもゲストドメインにはネットワーク接続がありません!

では、IPアドレス192.168.0.103を持つ最初のゲストドメインvm03.example.comを作成しましょう:

xen-create-image --hostname=vm03.example.com --ip=192.168.0.103 \  
--netmask=255.255.255.0 --gateway=192.168.0.1 --dir=/vserver/images \  
--dist=sarge --debootstrap

–netmaskおよび–gatewayスイッチはここでは不要ですが、/etc/xen-tools/xen-tools.confで同じ詳細を指定したため、コマンドラインまたは/etc/xen-tools/xen-tools.confのいずれかで希望の設定を指定できることを示しています。

このコマンドは、Debian Sargeを使用してvm03.example.comというゲストドメインを作成します。これには数分かかるので、辛抱強く待ってください。その間に別のシェルウィンドウを開いて、次のコマンドを実行できます:

tail -f /var/log/xen-tools/vm03.example.com.log

何が裏で起こっているのかを見るために。

新しいゲストドメインが作成された後、/etc/xen/vm03.example.com.cfgを確認してください。今は次のようになっているはずです(ここではコメントを削除しています):

vi /etc/xen/vm03.example.com.cfg

| kernel = '/boot/vmlinuz-2.6-xenU' memory = '128' root = '/dev/sda1 ro' disk = [ 'file:/vserver/images/domains/vm03.example.com/disk.img,sda1,w', 'file:/vserver/images/domains/vm03.example.com/swap.img,sda2,w' ] name = 'vm03.example.com' vif = [ 'ip=192.168.0.103' ] on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' |

新しい仮想マシンを次のようにして起動できます:

xm create -c /etc/xen/vm03.example.com.cfg

xen-create-imageコマンドを使用すると、ほぼすべての設定をコマンドラインで指定できます。詳細については、次を参照してください:

man xen-create-image

もう一つの例:

xen-create-image --size=2Gb --swap=128Mb --hostname=vm04.example.com \  
--ip=192.168.0.104 --netmask=255.255.255.0 --gateway=192.168.0.1 --dir=/vserver/images \  
--dist=sarge --debootstrap --fs=ext3 --kernel=/boot/vmlinuz-2.6-xenU --memory=32Mb \  
--image=sparse --mirror=http://ftp2.de.debian.org/debian/ --passwd

これにより、仮想ドメインvm04.example.comが作成されます。/etc/xen/vm04.example.com.cfgはその後次のようになります(ここでもコメントを削除しています):

vi /etc/xen/vm04.example.com.cfg

| kernel = '/boot/vmlinuz-2.6-xenU' memory = '32' root = '/dev/sda1 ro' disk = [ 'file:/vserver/images/domains/vm04.example.com/disk.img,sda1,w', 'file:/vserver/images/domains/vm04.example.com/swap.img,sda2,w' ] name = 'vm04.example.com' vif = [ 'ip=192.168.0.104' ] on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' |

新しい仮想マシンを次のようにして起動できます:

xm create -c /etc/xen/vm04.example.com.cfg

xen-toolsには他にも3つのスクリプトが付属しています: xen-update-imageは、ゲストドメイン内のパッケージを更新します。例えば、次のように:

xen-update-image --dir=/vserver/images vm03.example.com

xen-list-imagesは、xen-create-imageで作成されたすべてのゲストドメインを表示します:

xen-list-images

出力は次のようになります:

server1:~# xen-list-images  
Name: vm03.example.com  
Memory: 128   
IP: 192.168.0.103
Name: vm04.example.com  
Memory: 32  
IP: 192.168.0.104

xen-delete-imageを使用すると、xen-create-imageで作成されたゲストドメインを削除できます:

xen-delete-image --dir=/vserver/images vm03.example.com
Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。