|Andrew Kutz, site expert|
The XenServer product line has three tiers: XenEnterprise, XenServer and XenExpress. The middle tier, XenSource XenServer 3.1.0, is designed to allow users to run up to eight simultaneous Windows virtual machines (VMs) on up to a dual-socket system. XenServer is divided into two components: the XenServer hypervisor and the XenServer Administrative Console (AC). XenServer is available for an annual fee of $99. The annual license fee includes a built-in maintenance plan that entitles the buyer to all upgrades.
XenServer software runs on systems with the following requirements:
- Operating system (OS): XenServer is a bare-metal hypervisor and does not require an existing OS.
- Requires 1.5 GHz single CPU, but 2+ GHz dual-CPU is recommended
- Supports single and dual-socket motherboards
- Requires a CPU that supports Intel-VT or AMD-V hardware virtualization assist technologies
- Memory: Requires 1 GB but 2 GB are recommended
- Disk: Requires 25 GB disk space but 60 GB is recommended
- Network: Requires 100+ Mpbs network interface card (NIC)
The AC will run on systems with the following requirements:
- OS: Supports Windows XP/2000/2003, Red Hat Enterprise Linux 3, Novell SUSE Linux Enterprise Server 9
- CPU: Requires 750 MHz, but 1+ GHz is recommended
- Memory: Requires 384 MB, but 1+ GB is recommended
- Disk: Requires 100 MB disk space
The following guest OSs are supported:
- Microsoft Windows Server 2003 Standard
- Microsoft Windows Server 2003 Standard SP1
- Microsoft Windows Server 2003 Standard R2
- Microsoft Windows Server 2003 Enterprise
- Microsoft Windows Server 2003 Enterprise SP1
- Microsoft Windows Server 2003
- Enterprise R2: Microsoft Windows XP SP2, Microsoft Windows Server 2000
- SP4 (March 2007)
Getting Started with XenServer: Downloading XenExpress
The first step to installing XenServer is downloading the free XenExpress ISO image from the XenSource Web site at XenSource - XenExpress Free Starter Package, and then burning the bits to a blank CD. Once the burn is complete, pop the freshly minted XenExpress CD into the target system's optical drive. The target system I used is a Dell Latitude D620 laptop with the following specifications:
- CPU: Intel Core Duo 2.16 GHz
- Memory: 2x1 GB, DDR2 667 MHz
- Disk: 80 GB, Serial ATA (SATA), Seagate 7200
- Network: One on-board Gbit port
Pressing the power button on the target system causes the CD-ROM to spin up, eventually giving way to the XenServer installer. The installation program is very similar to other Linux installers and has all the usual prompts and questions such as keyboard layout, setting the root password, picking a time zone and configuring the network. After all of the standard fare, the installer begins to copy the XenServer files onto the target system. The XenServer installer completes the installation, ejects the install CD, and then reboots the system. Once the system runs through its start up scripts and launches all of its daemons, the monitor displays a message that informs the user of the IP address that can be used to connect remotely via SSH or the AC.
The XenServer host runs OpenSSH so it is possible to connect to the host right away with any SSH client. When an SSH session is created to a XenServer host, the session is actually created in the host's domain-0, or its control OS. On a Xen system all of the VMs are actually known as domains. These domains start at domain-0 and go to domain-(n-1). Domain-0 is always reserved for the control OS of the Xen host. This OS is a special VM that contains all of the software necessary to control the underlying hypervisor. XenServer's control OS is based on CentOS 4.
Installing the AC
After browsing the XenServer host from the console, switch back to the land of the GUIs and install the AC. The XenServer AC is available in the directory "client_install" at the root of the XenServer install CD. Insert the install CD into the nearest Windows or Linux desktop and run the client installer. Wait for the installation to complete, and then launch the AC. When the AC runs for the first, it asks the user to select a "Master Password" that is used to transparently reconnect the AC to the most recently used session by encrypting the last password and persisting it to disk for future use.
The AC looks similar to the following image after it is launched for the first time:
Connecting the AC to the XenServer host
To connect the AC to the recently installed XenServer host, click on the File menu item and select "Add XenServer Host." This task can also be accomplished by using the shortcut key combination of CTRL-N. The application prompts the user for the name of the XenServer host and the password of the root user on the host.
The user can also instruct the AC to remember the password for future use by clicking "Remember Me."
Upgrading XenExpress to XenServer
The XenServer host is now added to the AC. The AC has the ever-present menu bar at the top of the application. The menu bar contains four items: "File," "Xen Virtual Machine," "XenServer Host," and "Help." The "XenServer Host" menu item contains a task that should be completed in order to upgrade the recently added host to XenServer. When Xen was installed on the host server earlier, it was actually the free XenServer product, XenExpress, that was installed, and not the middle-tier XenServer. All members of the XenServer product family share a common code-base. The only difference between the tiers is the license code used to unlock feature sets. Therefore, to install XenServer, I downloaded for free the XenExpress ISO image from the XenSource Web site and then obtained a XenServer license. Clicking on the menu item "XenServer Host" reveals a sub-item labeled "License File." Clicking on "License File" allows users to install their license file onto the selected host, thereby upgrading it to XenServer (or XenEnterprise depending on the license purchased). After upgrading XenExpress to XenServer the Xen host allows only Windows VMs.
The AC explained
Under the menu bar, the AC is divided horizontally into an upper section and a lower section. The upper section contains a list of all the managed XenServer hosts and their installed VMs. For each entry in the list, whether it is a XenServer host or a VM, its status, CPU usage, memory usage, disk activity, and network activity are displayed to the right of the name of the listed entry. Also in the upper section, beneath the list, sits a task bar that changes based on the item selected in the list above. The task bar displays the name of the item currently selected in the list on the left-hand side and displays common tasks to the selection on the right-hand side. For example, when a XenServer host is selected, the task bar displays the name of the host server and four buttons that allow a user to install or import a VM, reboot the host, and shutdown the host.
The lower section is a tabbed view. When selecting a XenServer host, the available tabs are "Overview," "Text Console," "Performance," and "History." The "Overview" tab is divided into four sections. The first section lists detailed information about the host server such as attributes (server name, IP address, XenServer version, etc.), physical NICs, CPUs, and the licenses installed on the host. The second section shows the amount of available disk space on the host. The third section shows the same information as it applies to available memory on the host. If any VMs are installed, the third section shows how the memory of VMs is allocated. The fourth section shows the available networks on the host server.
The "Text Console" tab enables the user to connect to the host server via a terminal. The "Performance" tab shows the performance of the host server by "CPU Usage," "Use Memory," "Disk Rate," and "Network Rate." Finally, the "History" tab shows a list of events that the host has generated or the user has generated on the host during the current session.
In the next section, I'll lead you through installing a virtual machine on the XenServer host.
About the author: Andrew is an avid fan of .NET, Open Source, Terminal Services, coding, and comics. He is a Microsoft Certified Solutions Developer (MCSD), a SANS/GIAC Certified Windows Security Administrator (GCWN), and a VMware Certified Professional (VCP) in VI3. Andrew graduated from the University of Texas at Austin with a BA in Ancient History and Classical Civilization and currently lives in Austin, Texas with his wife Mandy and their two puppies, Lucy and CJ.