Installing Xen

CPU BIOS Requirements

Virtualization extensions need to be enabled in the BIOS. If not already enabled in BIOS, enable it.

CPU needs to have virtualization extensions.

To check Intel CPU:

cat /proc/cpuinfo | grep vmx

AMD CPU:

cat /proc/cpuinfo | grep smv

For XEN kernel, check output of the following for 'hvm':

cat /sys/hypervisor/properties/capabilities

Debian 6.0 Install Xen

apt-get install xen-linux-system xen-qemu-dm xen-utils

Boot Xen kernel by default

dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen

Firewall

Management tools

apt-get install libvirt-bin

*Change the default location to /home/xen/images: Edit:

vi /etc/libvirt/storage/default.xml

And change the location. Reason I'm doing that is my home partition has 80Gb while / (root) partition has only 5gb.

#from:
/var/lib/libvirt/images/
#to
/home/xen/images

apt-get install virt-manager

* If you want to connect over ssh tunner you need:

aptitude install ssh-askpass

On debian squeeze the default value for this parameter is “no” which means that communication and management toos
Such as “Virt Manager” can not access the Hypervisor.

1. You need to uncomment it and change the value to “yes” –
(xend-unix-server yes)

2. Restart xend to apply the new configuration:
xend restart

Start Networking

virsh net-start default
#or
virsh net-autostart default

Installing new guest OS

Create iso from cdrom

dd if=/dev/cdrom of=~/cd_image.iso

Windows 7

windows7.png

Maintenance

Extending xen raw_storage_volume

Starting Networking

virsh net-start default
#or
virsh net-autostart default

<network>
  <name>default</name>
  <bridge name="virbr0" />
  <forward/>
  <ip address="192.168.122.1" netmask="255.255.255.0">
    <dhcp>
      <range start="192.168.122.2" end="192.168.122.254" />
    </dhcp>
  </ip>
</network>

Disable virbr0

ifconfig

virsh net-list

virsh net-destroy default
virsh net-undefine default
service libvirtd restart
ifconfig 

Errors

Error creating domain: device model '/usr/lib64/xen/bin/qemu-dm' not found

Unable to complete install '<class 'libvirt.libvirtError'> POST operation failed: xend_post: error from 
xen daemon: (xend.err "Error creating domain: device model '/usr/lib64/xen/bin
/qemu-dm' not found")

Solution:

mkdir /usr/lib64/xen/
ln -s /usr/lib/xen-4.0/bin /usr/lib64/xen/bin

iptables bad rule

libvirtError: internal error '/sbin/iptables --table filter --delete INPUT --in-interface virbr0 --protocol udp --destination-port 69 --jump ACCEPT' exited with non-zero status 1 and signal 0: iptables: Bad rule (does a matching rule exist in that chain?).

Solution

This is trying to bound to interface virbr0. If for some reason you didn't start the network you will get this error. Start the network:

virsh net-start default
#or autostart it
virsh net-autostart default

ifconfig

virsh net-dumpxml default

**Notes (Looks like these steps are not needed):

**trying to test this. read: vi /usr/share/doc/libvirt-bin/README.Debian

aptitude install dnsmasq-base bridge-utils iptables
cat <<EOF >/etc/dnsmasq.d/00_libvirtd.conf
# only bind to loopback by default
interface=lo
bind-interfaces
EOF

can handle the virtual bridges.

Sources

MyWiki: Xen (last edited 2012-08-10 15:42:28 by LukaszSzybalski)