Enterprise deployment Xen
Click here to expand Table of Contents
Why should I use Xen?
- Load management
- Move heavy use processes to idle servers
- Move idle processes to busy servers
- Reduce costs
- Buy less servers by making better use of idle CPU time
- This thing this is so good that is is almost a waste of a server not to use it considering that most servers run idle for most of the time
- Increase uptime
- Move your running applications to another server without shutting them down for maintenance or upgrades to the hardware
- QoS on the CPU
- Ensure that your virtual machine isn't starved for CPU processes
- The CPU clock doesn't float around inside the virtual machine.
- Strict timing is important if you want to run a realtime voip application.
You have Xen running on 5 physical systems creating 30 virtual systems on each Xen server. Each virtual system runs FreeSWITCH™ and a conference application. As usage begins, you notice that some virtual servers are experiencing a much larger call volume than the rest, so you move the live virtual systems to different physical systems to distribute the load and have them share the physical system with more idle CPU, all without dropping a call.
Certain aspects of a XEN deployment are outside the scope of this document. They include but are not limited to proper network planning, which can include multiple private networks (with multiple NICs) for intermachine communication; Clustered File systems and system tuning which varies depending on exactly what you are using your servers for.
On certain 64-bit Xen DomUs, FreeSWITCH may have problems with memory management if run with the -hp (high priority) switch. This will result in random segfaults. It is recommended to disable the -hp parameter when running under Xens.
No warranties are expressed or implied this document is provided for informational and educational purposes only. If you use this method and your boxes crash and something bad happens, neither the author(s) of this page nor the FreeSWITCH™ community are liable. You should throughly test your environment for the level of fault tolerance you desire and ensure that it does work the way you want it to, but ultimately you are responsible for implementation of your servers and network.