I was simulating a XenServer pool today. To do so, I started several QEMU VMs, each of which ran a XenServer host. By bridging all the network interfaces, I created a "virtual network" just for the VMs. I added another regular Ubuntu VM which acted as an NFS storage server. Finally, all the individual XenServers could form a pool. Even Citrix' HA feature was working. This was a very interesting and insightful task. As I used overqemu[1], I only had to install XenServer once. After that, I simply spawned multiple overqemu instances with the same base image. This led to an interesting situation, because those instances could not form a XenServer pool -- they all had the same host UUID. Resolving this was rather easy but still interesting. Now, of course, all this involves nested virtualization. To my surprise, this worked pretty well and fast. But performance wasn't the issue anyway. The point of this experiment was to find out how XenServer responds to different kinds of host failures and storage failures. This is why I used VMs in the first place -- it's easy to add new ones or rearrange them. ____________________ 1. https://github.com/vain/bin-pub/blob/master/overqemu