进入要创建的虚拟机文件的目录:
cd /var/lib/libvirt/images
现在我打算创建三个虚拟机,分别在vm1, vm2和vm3目录下。先来看看如何创建第一个虚拟机。
先创建vm1目录及其子目录
mkdir -p /var/lib/libvirt/images/vm1/mytemplates/libvirt
再把vmbuilder的一些文件复制过来(libvirtxml_fsimage.tmpl libvirtxml.tmpl)
cp /etc/vmbuilder/libvirt/* /var/lib/libvirt/images/vm1/mytemplates/libvirt/
然后在vm1目录下创建文件vmbuilder.partition
内容如下:
root 24000
swap 2000
---
/var 8000
---代表有两个分区
root下有24GB空间,swap 2GB空间,/var 8GB空间。一共30GB.
在虚拟机系统启动的时候,需要安装openssh服务,以便外部用户可以ssh登录上去。
在vm1目录下创建boot.sh文件,内容如下:
# This script will run the first time the virtual machine boots
# It is ran as root.
# Expire the user account
passwd -e chenshu
# Install openssh-server
apt-get update
apt-get install -qqy --force-yes openssh-server
强制chenshu用户的密码第一次的登录后失效。这样用户第一次登录需要使用默认密码linuxidc,之后就必须立刻修改密码。
执行下面的命令,创建虚拟机以及里面的Ubuntu 12.04 amd64 server.
root@kvmhost:/var/lib/libvirt/images/vm1# vmbuilder kvm ubuntu --suite=precise --flavour=virtual --arch=amd64 --mirror=http://de.archive.ubuntu.com/ubuntu -o --libvirt=qemu:///\
system --ip=10.112.18.191 --gw=10.112.18.1 --part=vmbuilder.partition --templates=mytemplates --user=chenshu --name=chenshu --pass=linuxidc --addpkg=vim-nox --addpkg=unattend\
ed-upgrades --addpkg=acpid --firstboot=/var/lib/libvirt/images/vm1/boot.sh --mem=1024 --hostname=vm1 --bridge=br0
内存是1G,初始密码是linuxidc,其他自己看参数吧。
开始等待吧,然后成功了。 :)