xen创建pvm和hvm的过程
these are the basic steps of installing domU with xen-tools in ubuntu13.04 64bit in xen4.3
you can also use virt-manager which has an UI, but there may be some bugs between xen and virt-manager.
install a bridge:
before xen4.1, xen will automatically create xenbr0. in xen4.3, things are different, we need to create xenbr0 by hands.
the steps are for the situation where your computer is using dhcp. for static ip setting, the bridge may be not crrect.
first, install a tool named brctl:
sudo apt-get install bridge-utils
sudo brctl (this will show the help info. then you can see how to use commands like 'addbr' or 'addif')
sudo brctl show (this is to see your current status)
then change file "etc/network/interfaces" to this:
auto lo iface lo inet loopback auto xenbr0 iface xenbr0 inet dhcp bridge_ports eth0 auto eth0 iface eth0 inet manual
then turn xenbr0 up:
sudo ifup xenbr0
then in ifconfig you should see the status of xenbr0 is "up"
sudo ifconfig xenbr0
ok, reboot to get things work
Install PV domu:
sudo apt-get install xen-tools
sudo xen-create-image --hostname=yourhostname --dist=lucid --dir=/home/zmj/xenfile(change it to your own) --mirror=http://cn.archive.ubuntu.com/ubuntu --role=udev --verbose --pygrub --dhcp --passwd
ps:the hostname is the vm’s name
this xen-create-image command will automatically create a *.cfg fill in /etc/xen/ and create "domains/yourhostname/disk.img and swap.img" under your dir (in this example "/home/zmj/xenfile")
if these files, i.e. "domains/yourhostname/disk.img and swap.img" already exist in your dir, then the command will fail. you have three choices: 1.use --force in the command to rewrite the files 2. delete the files by hands 3. change your hostname to something else
the "yourhostname" are suggested to be short, better within 10 chars. there is a case that we cannot get things done until we give a short name to the --hostname.
this command will take a relative long time because it needs to download something via http.
with the *.cfg file you can create VM with 'xm create'. of course you can write *.cfg by yourself as long as the settings in your *.cfg file are correct, which would be much more difficult.
by the way, in /etc/xen there are some example.cfg which you can refer to.
you can find your img file at the --dir you specified at the command, i.e. /home/zmj/xenfile. you can mount this img to see what is inside:)
the --passwd option is important. with this, it will ask you for the pasword of your domu at the end of this command's running. otherwise, you'll not be able to login unless you mount the whole domu img and edit /etc/shadow file. or you can set passwd=1 in /etc/xen-tools/xen-tools.conf, which makes the command always asking a password.
you can use --lvm instead of --dir. more info, plz refer to http://manpages.ubuntu.com/manpages/precise/man8/xen-create-image.8.html
sudo xl create /etc/xen/yourhostname.cfg (plz teach yourself if dont know how to use xl)
it will throw an error if bridge xenbr0 is missing. or you can modify the .cfg file.
do this command you may see this
Iyk@ubuntu:Æ sud0 xl create /etc/xen/ubuntu.cfg xend is runnlng, wh1ch may cause unpredlctable results when us1ng th1s xl command. Please shut down xend before cont1nu1ng.
At this time,you can do this command:
sudo service xend stop
ps:这里因为现在的命令xl不需要使用xend了,以前的xm是需要用到xend的。
sudo xl list
You shall see your domU after this command.
sudo xl console yourhostname
Use this command to go inside the domU with username=root and password=yourpasswd
Press “Ctrl+]” will get you out of the vm console.
Install HVM domU:(if your xen kernel is a vmware virtual machine, you can not create a HVM)
The installation of HVM is much easier than that of a PV.
Put a *.iso file at some directory which is the OS you are going to build, for example win7.iso
Use this command to create an empty *.img file, which will act like the hard disk of your VM.
dd if=/dev/zero of=XXX.img bs=1024k count=(count of bs)
Write a *.cfg file like this:
kernel = "/usr/local/lib/xen/boot/hvmloader" builder='hvm' memory = 2048 vcpus=4 shadow_memory = 64 name = "u8s" vif = [ 'mac=00:16:3E:63:34:21, bridge=xenbr0' ] disk = [ 'file:/home/zmj/img/ubuntu8s.img,hda,w', 'file:/home/zmj/iso/ubuntu8s.iso,hdc:cdrom,r' ] boot="bc" vnc = 1 sdl = 0 vncconsole=1 xen_platform_pci=0 acpi = 1 apic = 1 device_model = '/usr/local/lib/xen/bin/qemu-dm'
stdvga=0
serial='pty'
usbdevice='tablet'
The *.img path and the *.iso path shall be correct. The kelnel path and the device_model path shall be correct.
Use this command to start the installation
sudo xl create *.cfg
After the installation, change “bc” to “c” in the *.cfg file. “bc” means boot from cd, while “c” means boot from hard disk.
Run this command again and you’ll find the VM running
sudo xl create *.cfg
Use this command to see the vm list
sudo xl list
Use this command to open the VM.
sudo xl vncviewer domu