This guide describes deployment of two node XenServer without need of dedicated external storage. The concept is to provide redundancy without additional components, closing storage and compute on twin physical (or virtual for Proof of Concept) servers.

Initial requirements are:

Two servers withf two or more hard drivers - one for XenServer and CEPH Journal, second for CEPH data.

There is an issue with Libvirt and openvswitch. After a some time of usage and reboots openvswitch saves the current state into its' conf.db. This is very annoying issue because you won't be able to start VMs with this configuration, the start will end with "error: Unable to add port vnet0 to OVS bridge CORE: Operation not permitted" error. But if you know what is causing this there is easy fix for it.

We you are using libvirt with VNC based on sockets instead of default TCP listening and you are not running as root. You could have an situation when socket has incorrect permissions 0775 and qemu:qemu group under default /var/lib/libvirt/qemu folder. The files has extension ".vnc" with suffix based on your Virtual Machine name and "=" sign.

Unix sockets are forced by "vnc_auto_unix_socket" in qemu.conf file, in /etc/libvirt folder.

The params from libvirtd.conf unix_sock_rw_perms and unix_sock_ro_perms, had no impact on the VNC socket permissions.

If you are using opensuse 13.1 as the LXC guest you probably will meet the issue with login to it via virsh console. But its only when you are running the geust via libvirt. I had no issue with login via lxc-console when using native lxc tools.

VLANs are old technology to keep L2 separated, but it's very handy to limit the interfaces needed on Linux to provide multiple separate networks for VMs. In old fashion way like XenServer does without openvswitch we would create VLANs on the interfaces like eth0.4000 or networks in form on bridges.

With openvswitch we just create one bridge and it will handle all VLAN traffic for us, without the need of interfaces messing our system.

Cgroups are with us for a long time and it's very powerful feature. You can limit everything, everywhere... It's also integrated into systemd and libvirt, and it's a shame not to use it. For me the biggest advantage of this solution is making of common groups within we can keep specific machines.

In this article I would like to present how it is possible to re-compile kernel for Xenserver 6.0 to enable WIFI support. It is also required to have some additional components installed and re-compile.