Experimenting with Xen -- End
By gildor on Monday, May 28 2007, 01:05 - Permalink
I spent the last three weeks to do test concerning stability and features of Xen. Well, i must say that i am not convinced, as some people thinks, that xen virtualization is ready for stable server.
Just for reminding, my previous post: there is no easy way to activate real framebuffer with xen. I try vesafb and intelfb. The first one doesn't work at all, the second one made a kernel oops (not at the beginning, you must wait a little before it). So i stick to standard console. I need to remove fbgetty because it uses framebuffer, and crashes (oops) with Xen (not at the beginning...).
I continue using my X configuration, expect that i move it to a xdmcp-chooser init script. This help me to "stop" it when my domU was not started. I still have some problems with the fact that after a time, if XDMCP fails, it restarts, switching to vt7 in the same time.
Now my real problem: stability of xen when playing around with PCI peripherals.
I try to hide my soundcard in dom0 and unhide it in a domU. This sound pretty well... But the computer seems to keep segfaulting after 24hours. So, i switch back to standard, non xen, configuration. It works for a week (at least). I also try to upgrade my BIOS, don't use ACPI, APIC et al -- but it doesn't work. Conclusion: my soundcard was a problem. In fact, the real problem comes from the fact that the sound card shared his IRQ with NIC and IDE controller. When running in a non-xen, the kernel see the conflict and rearranged IRQ. With Xen + sound card hide, there is no conflict and it finishes by a "oops".
Another, not so real, problem: performance.
I run a courier based imap server, including sqwebmail a webmail CGI. Running under xen configuration, it was almost like my previous computer (VIA C3 1GHz / 512MB / USB 2.0 HD and my current computer is Core 2 Duo T7600 / 2GB / SATA drive). When i test it with non-xen configuration, it was twice as fast. The main reason: courier use Maildir which contains a lot of small files. This implies a lot of IO, where xen is not very efficient.
Conclusion: Xen is not ready for my "production" environment. I think it is a good product to test things and to consolidate server which are not bound to hardware components (sound card, NIC). I don't think Xen is a good solution to build a "hardware" isolation.
As usual, i will use my favorite development scheme KISS (Keep It Simple and Stupid): build chrooted environment.