Setting Up Xen DomU on Fedora: Unmodified Fedora 12 on Top of Xenified Fedora 12 Xen Dom0
Creating file-backed virtual block device (VBD) for Xen virtual machines and installing Fedora 12 in Xen DomU via internet will be introduced.
The Dom0 platform on top of which this DomU is set up is introduced also in this site. Please refer to
for the latest stable Xen Dom0 solution.
Create file-backed VBD:The actual space of VBD will be the amount of disk the virtual machine used. And it will be convenient if the virtual machine will be duplicated since the work is just copying the VBD file and changing some configurations. But file-backed VBDs may not be appropriate for I/O-intensive domains because of the I/O handling cost to support file-backed VBDs in dom0. Create a 20GB sparse file-backed VBD:
# dd if=/dev/zero of=/lhome/xen/f12install/vmdisk0 bs=1k seek=20480k count=1
Install Fedora 12 Linux via InternetFirst download the pxeboot kernel of Fedora 12 for installation via Internet. Download vmlinuz and initrd.img from here:
http://download.fedora.redhat.com/pub/fedora/linux/releases/12/Fedora/x8664/os/images/pxeboot/As Fedora 12 is not updated by Fedora any more. The repository is moved to archive site:
http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/12/Fedora/x8664/os/images/pxeboot/The kernel and memory image can be downloaded directly by:
$ wget http://download.fedora.redhat.com/pub/fedora/linux/releases/12/Fedora/x8664/os/images/pxeboot/vmlinuz $ wget http://download.fedora.redhat.com/pub/fedora/linux/releases/12/Fedora/x8664/os/images/pxeboot/initrd.img
$ wget http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/12/Fedora/x8664/os/images/pxeboot/vmlinuz $ wget http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/12/Fedora/x8664/os/images/pxeboot/initrd.imgWe assume these two files are stored in /lhome/xen/f12install/.
Create an installation profile f12.install:
name="F12INSTALL" vcpus=2 memory=2048 disk = ['file:/lhome/xen/f12install/vmdisk0,xvda,w' ] vif = [ 'bridge=eth0' ] kernel = "/lhome/xen/f12install/vmlinuz" ramdisk = "/lhome/xen/f12install/initrd.img" onreboot = 'restart' oncrash = 'restart'The virtual machine’s name is “F12INSTALL”, memory is 2G, CPU number is 2, disk, kernel and ramdisk is prepared in the above steps.
Start this virtual machine and connect to this virtual machine’s console and complete the installation:
# xm create -c f12.installThe console can be released by “Ctrl+]”. And it can be reconnected by:
# xm console F12INSTALLThe installation of Fedora 12 will start. The gateway and DNS server should be set according to the network configuration.
The URL of installation source I used during installation is:
http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/12/Fedora/x8664/os/After successfully installation of this virtual machine. It can be shut down by:
# xm shutdown F12INSTALLThis virtual machine can be duplicated to get more VMs: How to duplicate Xen DomU virtual machines.
Start DomURemember to update your system after the first boot. The 2.6.32 kernel is more stable running as DomU than the default one.
Create a profile vm-10.0.0.123.run for loading the virtual machine:
name="10.0.0.123" vcpus=2 memory=2048 disk = ['file:/lhome/xen/vm-10.0.0.123/vmdisk0,xvda,w' ] vif = [ 'bridge=eth0' ] bootloader = "/usr/bin/pygrub" onreboot = 'restart' oncrash = 'restart'Here we use the PyGrub (“/usr/bin/pygrub”) as the bootloader. PyGrub starts Linux DomUs with the kernels that lie in the filesystem of the DomU instead of the kernels that lie in the filesystem of the Dom0. That makes the kernel update and management easier.
Then the DomU can be started using this profile:
# xm create vm-10.0.0.123.runThe console of this DomU can be connected to:
# xm console vm-10.0.0.123Update history: Mar. 29, 2010. Change the URL of fedora repository to archive site. Aug. 2, 2010. Add link to setting up Dom0. Aug. 16, 2010. Add link to very stable Dom0 solution. Aug 27, 2010. file:// driver is recommended for installation. Sep. 28, 2010. No need to create ext3 FS after creating the image. Aug. 13, 2011. Not suggestion tap:aio. It is not stable enough.