Chapter 1. What Is a XenServer?
The answer to this simple question is, “XenServer is a pre-packaged Xen-based virtualization solution.” Unfortunately, while an equally simple response, for many it doesn’t answer the core question, so let’s dive a bit deeper into what a XenServer is.
Quite a few years ago, both of us had made decent livings writing code. Some of the projects were rather substantial and were used in highly regulated industries, while others were a bit more modest. Regardless of the scope, we both found it important to ensure there was understanding of the solution being delivered. Where confusion over the project would arise, it was always imperative to provide answers to any questions posed. After all, user expectations go a long way to follow on sales and greater adoption.
Unfortunately for XenServer, there is a bit of inherent confusion out there. For years, we both have heard people who want XenServer, but refer to it as “Xen” and occasionally as “a Xen Server.” While some of those people aren’t in a technical position, when they need answers to a burning question, it’s important to get them the right answer quickly.
As an example, if someone is working on a project that they want to integrate with XenServer, it does them no good to look at resources describing how “Xen” works. While the two technologies are definitely related, the right answer for “Xen” might be the wrong answer for “XenServer,” and knowing the difference between these is key for any XenServer administrator.
Sure, we now know that “XenServer is a pre-packaged Xen-based virtualization solution” built around the Xen Project, but this is merely the beginning, as now we need to explain what Xen is, what it does, and how it forms the complete XenServer solution for which you will be responsible.
The Xen Hypervisor
The Xen hypervisor forms the core of all Xen-based virtualization platforms and, like VMware ESXi and Microsoft Hyper-V, is a “bare metal” hypervisor. This means that the first code that starts on the machine is the hypervisor and that a general-purpose operating system isn’t required to manage the system.
What Is a Hypervisor? What Is Virtualization?
A hypervisor is a virtual machine manager (VMM) that uses a combination of hardware or software technologies to virtualize, or run, multiple operating environments at the same time. Basically, you can run many operating systems on top of the same hardware.
Originally designed at the University of Cambridge in Cambridge, England, Xen forms the core hypervisor in not only XenServer but also Oracle VM and can be used as an optional hypervisor within major Linux distributions such as CentOS, Debian, and SUSE Linux Enterprise Server. Additionally, Xen has been heavily used with what is arguably the most famous deployment at Amazon: providing the basis of its Amazon Web Services product offering.
Xen is actively developed under stewardship within the Xen Project: a Linux Foundation Collaborative Project, where it benefits from the active participation and contributions of well over a dozen organizations. This breadth of development ensures that the Xen hypervisor technology keeps pace with changing trends in data center operations while remaining focused on delivering hypervisor services.
Along with the depth of development put into the Xen hypervisor, it’s important to note that each Xen-based product chooses which version of the Xen hypervisor to support and which features of that version to integrate. As such, it’s common for some hypervisor features present in Xen to not be utilized in other packaged solutions.
Tooling for Xen Virtualization
The Xen hypervisor simply performs virtual machine management and needs some form of tooling to control its operation. Modern tooling options include libvirt, a library for virtualization management, and XAPI, the Xen management API. When implementing a customized Xen-based solution, you are free to choose the tooling that best suits your needs. However, because XenServer is a packaged Xen virtualization solution, the tooling has been chosen for you and that is the XAPI toolstack.
Toolstack: No Trading!
The XAPI toolstack is integral to the XenServer virtualization solution and cannot be swapped out for another Xen hypervisor management stack. As such, the scope of this book focuses on the XAPI toolstack, associated daemons, and the expansive
xe command-line suite of utilities.
XAPI provides interfaces and implementations for all expected functions of VM operations, host management, storage, and networking configuration. Also, where two or more XenServer hosts are pooled together, XAPI provides additional controls over this type of resource pool and its operations. For those familiar with
libvirt, XAPI is able to manage multiple hosts as an aggregate and is functionally similar to
libvirt with some