XAPI

From Xen

What is the XAPI Project?

The XAPI project is a sub-project (or team) of the Xen Project effort that develops the enterprise ready XAPI toolstack. The hypervisor used with the XAPI toolstack consolidates server workloads, enables savings in power, cooling, and management costs and thus contributing to environmentally sustainable computing, an increased ability to adapt to ever-changing IT environments, an optimized use of existing hardware, and an improved level of IT reliability.

The XAPI team also develops tooling, agents and libraries that are needed to operate a XAPI based system.

What is XAPI?

The Xen Project Management API (XAPI) is:

  • A Xen Project Toolstack that exposes the XAPI interface. When we refer to XAPI as a toolstack, we typically include all dependencies and components that are needed for XAPI to operate (e.g. xenopsd).
  • An interface for remotely configuring and controlling virtualised guests running on a Xen-enabled host. XAPI is the core component of XenServer and XCP.

XAPI adds additional functionality compared to other Xen Project toolstacks, including:

  • Extending the software to cover multiple hosts
  • Enhancing the VM lifecycle, including live snapshots, VM checkpointing, and VM migration
  • Enabling resource pools to include live migration, auto configuration, and disaster recovery
  • Allowing flexible storage and networking including integrated Open vSwitch support and storage XenMotion® live Migration (cross-pool migration, VDI migration)
  • Enabling event tracking, with progress and notification
  • Creating upgrade and patching capabilities
  • Facilitating real-time performance monitoring and alerting
  • Integrations with cloud orchestration stacks
  • Built-in support and templates for Windows and Linux guests

How Do I Use XAPI?

The "xe" syntax is fairly straightforward.

An "xe" command executed from Domain 0 would look like:

xe <command-name> <argument=values...>

From a user domain, the syntax will look like:

xe -s <host> -u <username> -pw <password> <command-name> <argument=values...>

So if you wanted to see a list of VMs on a host from Domain 0, you would use the command:

xe vm-list 

Further Information

3rd party Integrations and tools

Tutorials and presentations