= As presented at the CloudStack Silicon Valley Meetup in September 2015. =
XenServer is a virtualization platform which has been deployed in a variety of industries and to support a multitude of workloads. In this session we discuss some of the components which make it valuable not just for traditional server and desktop virtualization, but also within "the cloud". This includes discussion of VM density, network scalability, containers (such as Docker) and GPU virtualization. We end with coverage of how XenServer templates are represented within Apache CloudStack.
2. #whoami
Name: Tim Mackey
Current roles: XenServer Community Manager and Evangelist; occasional coder
Cool things I’ve done
• Designed laser communication systems
• Early designer of retail self-checkout machines
• Embedded special relativity algorithms into industrial control system
Find me
• Twitter: @XenServerArmy
• SlideShare: slideshare.net/TimMackey
• LinkedIn: www.linkedin.com/in/mackeytim
• Github: github.com/xenserverarmy
4. What is a “XenServer”?
Packaged Linux distribution for virtualization
• All software required in a single ISO
Designed to behave as an appliance
• Managed via SDK, CLI, UI
Not intended to be a toolkit
• Customization requires special attention
Open Source
• Open source roots
• Acquired by Citrix in 2007
• Made open source in 2013 (xenserver.org)
5. XenServer market dynamic
Millions of Downloads
Over 1 million servers deployed
Optimized for XenDesktop
Powering NetScaler SDX
Supporting Hyper-Dense Clouds
6. Why XenServer?
Broad provisioning support
• Apache CloudStack
• Citrix CloudPlatform and XenDesktop
• OpenStack
• Microsoft System Center
• VMware vCloud
Full type-1 hypervisor
• Strong VM isolation
• Supporting Intel TXT for secure boot
Designed for scale
• 1000 VMs per host
• Over 120 Gbps throughput in NetScaler SDX
• Up to 96 shared hardware GPU instances per host
9. Core components
Xen Project hypervisor
• XenServer 6.5: version 4.4
Customized and optimized CentOS control domain (dom0)
• XenServer 6.5: 64 bit CentOS 5.10, 3.10+ kernel.org kernel, ovs 2.1.2
Xen Project XAPI toolstack
XenCenter UI
10. Networking StorageCompute
Simplified XenServer architecture diagram
Xen Project Hypervisor
Standard Linux
Distribution (dom0)
q
e
m
u
drivers
xapi
Guest
Driver front
Driver back
Guest
Driver front
11. What is dom0?
Domain 0 is a compact specialized Linux VM that manages the network and
storage I/O of all guest VMs (domU) … and isn’t the XenServer hypervisor
12. Deploying a Linux VM
Linux VMs include paravirtualized kernels and drivers, and Xen Project
Hypervisor is part of Mainline Linux 3.0
13. Deploying a Windows VM
Windows VMs use paravirtualized drivers to access storage and network
resources through dom0
15. Management paradigm
“Single host mentality”
Traditional Management
Architecture
Single backend management server
XenServer
Distributed
Management Architecture
Clustered management layer
16. Role-based administration
Provide user roles with varying permissions
• Pool Admin
• Pool Operator
• VM Power Admin
• VM Admin
• VM Operator
• Read-only
Roles are defined within a Resource Pool
Assigned to Active Directory users, groups
18. XenServer Pool
Migrates VM disks from any
storage type to any other storage
type
• Local, DAS, iSCSI, FC
Supports cross pool migration
• Requires compatible CPUs
Encrypted Migration model
Specify management interface
for optimal performance
Live storage migration
XenServer Host
VDI(s)
Live
Virtual
Machine
20. Memory over-commit
Feature: Dynamic Memory Control
Ability to over-commit RAM resources
VMs operate in a compressed or
balanced mode within set range
Allow memory settings to be adjusted
while VM is running
Can increase number of VMs per host
21. Live memory snapshot and rollback
Live VM snapshot and revert
• Both memory and disk state are captured
• Optional quiesce option via VSS provider
(Windows guests)
• One-click revert
Snapshot branches
• Support for parallel subsequent checkpoints
based on a previous common snapshot
22. GPU virtualization
Without GPU virtualization, each user
requires their own Blade PC
With GPU virtualization, users share
expensive GPU resources
GPU cards
XenServer Host
23. Taking advantage of GPUs
NVIDIA
• vGPU with NVIDIA GRID providing 96 GPU instances
• GPU pass-through
• CUDA support on Linux
• Uses NVIDIA drivers for capability
Intel
• GVT-d support with Haswell and newer
• No extra hardware!!
• Uses standard Intel drivers
AMD
• GPU pass-through
24. Visibility into Docker containers
Containers
• Great for application packaging
• Extensive tools for deployment
Virtualization
• Total process isolation
• Complete control
Docker and XenServer
• View container details
• Manage container life span
• Integrated in XenCenter
25. Distributed virtual networks for cloud
Virtual Switch
• Open source: www.openvswitch.org
• Provides a rich layer 2 feature set
• Cross host private networks
• Rich traffic monitoring options
• ovs 2.1.2
OVS Controller
• Basic controller from Citrix – DVSC
• CloudStack GRE tunnel support
• Production controllers from VMware (NSX),
Juniper and Nuage VSP
VM
VM
VM
VM
VM
27. Typical deployment scenario
To pool or not to pool?
• Shared storage
• Network redundancy
• Provisioning management
Hardware selection
• Understanding the HCL
Support requirements
• Commercial support limitations
28. Host requirements
VT-Enabled x86 processor
• BIOS features enabled
Legacy BIOS support
• EFI profiles won’t boot (in preview today)
Limits
• Up to 1TB RAM
• Up to 160 pCPUs
• Up to 16 physical NICs
• Up to 16 hosts per cluster
29. Network topologies
Management networks
• Handle pool configuration and storage traffic
• Require default VLAN configuration
• IPv4 only
VM networks
• Handle guest traffic
• IPv4 and IPv6
• Can assign VLAN and QoS
• Can define ACL and mirroring policy
• Should be separated from mgmt networks
All networks in pool must match
30. Storage topologies
Local storage
• Yes: SAS, SATA, HW RAID, DAS
• No: USB, Flash cards, SW RAID
Shared Storage
• iSCSI, NFSv3 – CloudStack can auto-define single path
• HBA – Check HCL
• CloudStack HBA/Multipath requires “PreSetup”
• CloudStack bonded NFS requires “PreSetup”
ISO storage – not used in CloudStack
• CIFS/NFSv3
32. Template management
My first template
• Existing VM or appliance in VHD format – compression optional
• Need to have HTTP server
• Set secstorage.allowed.internal.sites if private cloud
Creation options
• Register template in UI
• Templates Register Template
• Upload using registerTemplate API
• http://cloudstack.apache.org/docs/api/apidocs-4.5/user/registerTemplate.html
• Clone from CloudStack instance
• Stop instance View Volumes Create Template
33. Key template attributes
Obvious
• Hypervisor
• Operating system type
• Zone
Not so obvious
• IsDynamicallyScalable Hypervisor tools
• PasswordEnabled CloudStack sets root pwd
• SSHKeyEnabled Can post configure
• RequiresHVM Defines virtualization mode
34.
35. XenServer 6.5 in CloudStack
Feature
Source code model Open Source (GPLv2)
Maximum VM Density 1000
CloudStack VM Density 500
CloudStack integration Direct XAPI calls
Maximum native cluster size 16
Maximum pRAM 1 TB
Largest supported VM 32 vCPU/256GB
Windows Operating System All Windows supported by Microsoft
Linux Operating Systems RHEL, CentOS, Debian, Ubuntu, SLES, OEL
Advanced features supported ovs, Storage XenMotion, DMC, Pool HA, GPU