XenServer Virtualization In Cloud Environments
-
Upload
tim-mackey -
Category
Technology
-
view
1.124 -
download
0
Transcript of XenServer Virtualization In Cloud Environments
CloudStack Silicon Valley Meetup September 2015
XenServer Virtualization in Cloud Environments
#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
What is XenServer?
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)
XenServer market dynamic
Millions of Downloads
Over 1 million servers deployed
Optimized for XenDesktop
Powering NetScaler SDX
Supporting Hyper-Dense Clouds
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
Understanding the architecture
Strong technical foundation with Xen Project
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
Networking StorageCompute
Simplified XenServer architecture diagram
Xen Project Hypervisor
Standard Linux Distribution (dom0)
qemu
drivers
xapi
Guest
Driver front
Driver back
Guest
Driver front
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
Deploying a Linux VM
Linux VMs include paravirtualized kernels and drivers, and Xen Project Hypervisor is part of Mainline Linux 3.0
Deploying a Windows VM
Windows VMs use paravirtualized drivers to access storage and network resources through dom0
Core capabilities
Management paradigm
“Single host mentality”
Traditional ManagementArchitecture
Single backend management server
XenServer
DistributedManagement Architecture
Clustered management layer
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
XenMotion Live VM Migration
XenServerXenServerXenServer
Shared Storage
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
Heterogeneous resource pools
Safe Live Migrations
Feature 5
Virtual Machine
Older CPU
Feature 1
Feature 2
Feature 3
Feature 4
XenServer 1
Newer CPU
Feature 1
Feature 2
Feature 3
Feature 4
XenServer 2
Mixed Processor Pools
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
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
GPU virtualization
Without GPU virtualization, each user requires their own Blade PC
With GPU virtualization, users share expensive GPU resources
GPU cards
XenServer Host
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
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
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
Deployment Design
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
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
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
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
CloudStack view of templates
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
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
XenServer 6.5 in CloudStack
FeatureSource code model Open Source (GPLv2)Maximum VM Density 1000 CloudStack VM Density 500CloudStack integration Direct XAPI callsMaximum native cluster size 16Maximum pRAM 1 TBLargest supported VM 32 vCPU/256GBWindows Operating System All Windows supported by MicrosoftLinux Operating Systems RHEL, CentOS, Debian, Ubuntu, SLES, OELAdvanced features supported ovs, Storage XenMotion, DMC, Pool HA, GPU