1. Install xen-tools
aptitude install xen-tools
工具包中包含以下工具:
/usr/bin/xen-create-image
/usr/bin/xen-create-nfs
/usr/bin/xen-delete-image
/usr/bin/xen-list-images
/usr/bin/xen-update-image
在自动化管理xen虚拟机时都会用到以上几个命令,在创建虚拟机时主要使用xen-create-image命令,它主要调用以下几个命令:
/usr/bin/xt-customize-image 创建镜像安装虚拟机
/usr/bin/xt-install-image 手机hook脚本,对虚拟机进行配置
/usr/bin/xt-create-xen-config 创建配置文件
xen-tools主要使用到的的目录如下:
/etc/xen-tools 包含主配置文件,分区配置文件,规则配置文件等。
/var/log/xen-tools 包含每个vm创建过程中的日志。
/usr/lib/xen-tools 包含一些hook脚本,在vm安装过程中对vm进行定制。
/etc/xen-tools/xen-tools.conf 这是一个用脚本生成虚拟机实例的全局配置文件,包含在xen-tools包中,在该配置文件中定义的任何值都可以用外部命令重复定义
2. Usage:
We can now create a guest operating system with this tool. It effectively automates the process of setting up a PV guest from scratch right to the point of creating config files and starting the guest. The process can be summarized as follows:
(1)Create logical volume for rootfs
(2)Create logical volume for swap
(3)Create filesystem for rootfs
(4)Mount rootfs
(5)Install operating system using debootstrap (or rinse etc, only debootstrap covered here)
(6)Run a series of scripts to generate guest config files like fstab/inittab/menu.lst
(7)Create a Xen config file for the guest
(8)Generate a root password for the guest system
(9)Unmount the guest filesystem
These 9 steps can be carried out manually but the manual process is outside the scope of this guide. We instead will execute the below command:
xen-create-image --hostname=testvm -memory=512mb --vcpus=2 --lvm=xenvg --dhcp --pygrub --dist=lenny
xm create -c /etc/xen/tutorial-pv-guest.cfg
3. 其他的示例使用方法
xen-create-image --hostname=my-lenny --dist=lenny --mirror=http://mirrors.163.com/debian --role=udev --force --verbose
xen-create-image --hostname=my-ubuntu-vm --dist=lucid --mirror=http://mirrors.163.com/ubuntu --role=udev --pygrub --force --verbose
xen-create-image --hostname=my-xen-vm --dist=squeeze --install-method=tar --install-source=/path/to/system_tared.tar.gz --pygrub --force --verbose
sudo xen-create-image --hostname=gutsy32.dev.stripe.com --lvm=percvg0 --size=20Gb --swap=1gb --ip=172.16.104.244 --netmask=255.255.255.0 --gateway=172.16.104.1 --force --memory=512Mb --arch=amd64 --kernel=/boot/vmlinuz-2.6.22-14-xen --initrd=/boot/initrd.img-2.6.22-14-xen --debootstrap --dist=dapper --mirror=http://mirror.internode.on.net/pub/ubuntu/ubuntu/ --passwd
sudo xen-create-image --hostname=enrico.railscamp.net --lvm=percvg0 --size=5G --swap=1gb --ip=172.16.104.201 --netmask=255.255.255.0 --gateway=172.16.104.1 --memory=256mb --arch=amd64 --kernel=/boot/vmlinuz-2.6.24-18-xen --initrd=/boot/initrd.img-2.6.24-18-xen --dist=hardy --mirror=http://172.16.104.251/ubuntu/main --passwd
sudo xen-create-image --hostname=railscamp.lstoll.net --dir=/xen-store --size=20Gb --swap=1gb --ip=172.16.2.3 --netmask=255.255.255.0 --gateway=172.16.2.1 --memory=512mb --arch=i386 --kernel=/boot/vmlinuz-2.6.24-19-xen --initrd=/boot/initrd.img-2.6.24-19-xen --dist=hardy --mirror=http://172.16.2.2:9999/ubuntu --passwd