使用Xen-Tools,Xen-Shell和Argo管理Xen
版本1.0
作者:Falko Timme
本指南介绍如何在Debian系统上安装和使用xen-tools , xen-shell和Argo 。 所有三个包都提供了管理虚拟Xen机器的有用工具。 Xen-tools是Perl脚本的集合,可让您轻松创建,更新和删除Xen guest虚拟机域。 xen-shell为Xen域的所有者提供了一个命令行界面,以便他们可以在服务器管理员的帮助下管理其Xen域。 使用Argo,您可以通过Web界面或通过命令行上的菜单来控制Xen域。 所有这三个软件包都是针对Debian系统开发的,但也可能适用于其他发行版。
我想先说说这不是建立这样一个系统的唯一途径。 实现这一目标有很多方法,但这是我所采取的方式。 我不会保证这将为您工作!
1初步说明
我假设您已经在Debian系统上安装了Xen 3(它不适用于Xen 2!),例如从本教程第4章所示的来源 https://www.youcl.com/debian_sarge_xen_3。 0.3 。 我无法使xen工具使用二进制Xen安装(如第5章所示),但它可能适用于您。 但是,xen工具对于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工具:
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密码。 在内核
行中,您必须指定要用于来宾域的domU
内核。 如果您的访客域不需要启动的ramdisk,请注释initrd行(我必须在我的安装上这样做),否则指定正确的ramdisk。 在镜像
行中指定一个靠近你的Debian镜像。
确保指定网关和网络掩码。 如果没有,并且在使用xen-create-image
时,不要在命令行中指定网关和网络掩码,即使指定了IP地址,您的访客域也不会有网络!
现在让我们创建一个第一个访客域名vm03.example.com
,其IP地址为192.168.0.103
:
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的debootstrap
工具在Debian Sarge中创建guest虚拟机域vm03.example.com
。 这将需要几分钟,以便耐心等待。 在此期间,您可以打开另一个shell窗口并运行
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还附带了三个脚本:
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