XCP is a free and open source self-contained virtualization solution for servers, built on top of the Xen hypervisor. It is easily installable in a few minutes from a single image file, yet powerful and scalable enough to be useful to power users, enterprise environments and cloud deployments. Created from the open-source components of XenServer, it supports the virtualization of a range of operating systems, including Linux, Solaris, BSDs and Windows. This talk will introduce XCP and explain its relationship with Xen and Linux. We will quickly demonstrate how to use XCP via the command-line and using opensource graphical interfaces, and describe some interesting features that set XCP apart from other virtualization platforms.
How to Troubleshoot Apps for the Modern Connected Worker
XCP: The Art of Open Virtualization for the Enterprise and the Cloud
1. XCP: The Art of Open Virtualization for
the Enterprise and the Cloud
LinuxCon Brazil 2011
Marcus Granado
XenServer Performance R&D Team
Citrix – Cambridge UK
2. XCP
POSIX/GNU XenAPI
➢
Virtualization appliance userspace ssh
tools
➢
Free and open-source version of xe-cli
VM/XAPI
XenServer toolstack yum
➢
Self-contained, easy and quick to
install Linux kernel
➢
Useful to power-users Linux drivers
➢
Scalable to enterprise and cloud Xen hypervisor
deployments HW
3. XCP & Xen
Dom0 is OS
agnostic:
DomUs
32/64-bit PV/HVM
Linux,
Solaris,
BSD etc with
HW drivers
ctrl vcpu vbd
...
h-calls vmem vif
32/64-bit Xen hypervisor
mechanisms
HW
4. XCP & Xen
XenAPI Dom0 is OS
agnostic:
DomUs DomUs
XAPI
PV/HVM 32/64-bit PV/HVM
SRs
Policy Linux,
VM App Solaris,
Dom 0 eg. WLB, BSD etc with
Linux Transfer HW drivers
32-bit VM
ctrl vcpu vbd ctrl vcpu vbd
... ...
h-calls vmem vif h-calls vmem vif
32/64-bit Xen hypervisor
64-bit Xen hypervisor
mechanisms
mechanisms
HW HW
5. XCP & Xen
XenAPI Dom0 is OS
agnostic:
DomUs DomUs
XAPI
PV/HVM 32/64-bit PV/HVM
SRs
Policy Linux,
VM App Solaris,
Dom 0 eg. WLB, BSD etc with
Linux Transfer HW drivers
32-bit VM
ctrl vcpu vbd ctrl vcpu vbd
... ...
h-calls vmem vif h-calls vmem vif
32/64-bit Xen hypervisor
64-bit Xen hypervisor
mechanisms
mechanisms
pool HW
HW
8. XCP 1.1
➢
XCP 1.1 derived from XenServer 5.6sp2:
➢
Xen 3.4.2 as the hypervisor
➢
Linux 2.6.32-xen in Dom0 based on SLES 11sp1
➢
Dom0 userspace uses CentOS 5.5
➢
Support for openstack cloud orchestration
➢
Support for XenCenter
9. Xen & KVM
Xen KVM
No requirement for hardware-assisted Needs VT-x, AMD-V
virtualization (VT-x, AMD-V)
●
Allows eg. low-power x86 Atom-based
datacenters such as SeaMicro SM10000 and
old x86 hosts without these instructions
Small amount of code to trust in Ring0 Large TCB: Kernel + modules +
userspace
PV drivers VirtIO
Guest page sharing / swapping
VM high-availability (with Remus)
Driver domains and stub-domains Monolithic Linux Kernel
10. Xen Driver/Stub Domains
● Driver Domains:
Allow eg. using specific Linux versions supporting
specific hw drivers; a driver crash will affect at most
this domain, which can then be restarted without
affecting other (driver) domains (similar to
microkernels)
● Stub Domains:
Allow running specific apps in independent domains.
11. Future Plans for XCP
● pvops dom0
use current integration of Xen in Linux 3.0+
● 64-bit dom0
remove limits of the 32-bit domain controller
● domain disaggregation
use driver domains, stub domains for XAPI and device
model binaries
● XenAPI on Debian/Ubuntu
● Project Kronos
● currently only CentOS
13. Useful Links
● For everything: Xen.org
● A personal selection of useful links:
● Obtaining XCP
http://xen.org/download/xcp/
● XenAPI
http://docs.vmd.citrix.com/XenServer/6.0.0/1.0/en_gb/api/
● Network Throughput Guide
http://wiki.xen.org/xenwiki/Network_Throughput_Guide
● XCP, RBAC and PAM authentication in the XenAPI
http://blog.xen.org/index.php/2011/11/09/xcp-rbac-and-pam-authentication-in-the-xenapi/
● Simulating the presence of PV drivers
http://wiki.xen.org/xenwiki/XAPI_fake_presence_of_pv_drivers
15. OpenXenManager PPA
●
OpenXenManager is in Debian Sid unstable
http://packages.debian.org/sid/openxenmanager
and it will be in Ubuntu 12.04 repository
●
You can also install it by adding this PPA:
sudo add-apt-repository ppa:mike-
mcclurg/openxenmanager
sudo aptitude update
sudo aptitude install openxenmanager
16. Project Kronos PPA
●
Project Kronos has a Ubuntu PPA at
add-apt-repository ppa:ubuntu-xen-org/xcp
and probably in Ubuntu 12.04 repository
●
Instructions to install XAPI on Debian and
Ubuntu can be found at
http://wiki.xen.org/xenwiki/XAPI_on_Ubuntu