Xapi Overview

Xapi is the xapi-project host and cluster manager. Xapi is responsible for

  • aggregating hosts into a single entity (a “resource pool”)
  • allocating VMs to hosts
  • managing shared storage
  • recoverying from host failure (“High-Availability”)
  • preparing for site failure (“Disaster Recovery”)
  • providing the XenAPI XMLRPC interface
  • upgrading pools
  • hotfixing hosts
  • reporting bugs
  • etc

Principles

  1. The XenAPI interface must remain backwards compatible, allowing older clients to continue working
  2. Xapi delegates all Xenstore/libxc/libxl access to Xenopsd, so Xapi could be run in an unprivileged helper domain
  3. Xapi delegates the low-level storage manipulation to SM plugins.