selecting the correct hypervisor for cloudstack 4.5
TRANSCRIPT
CloudStack Day Seattle 2015
Covering Apache CloudStack 4.5Selecting the correct hypervisor for your cloud
#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
What are we trying to accomplish?Building a successful cloud
Service Offerings
Clearly define what you want to offer• What types of applications• Who has access, and who owns them• What type of access
Define how templates need to be managed• Operating system support• Patching requirements
Define expectations around compliance and availability• Who owns backup and monitoring
Define Tenancy Requirements
Department data local to department• Where is the application data stored
Data and service isolation• VM migration and host HA• Network services
Encryption of PII/PCI• Where do keys live when data location unknown• Need encryption designed for the cloud
Showback to stakeholders• More than just usage, compliance and audits
Virtualization Infrastructure
Hypervisor defined by service offerings• Don’t select hypervisor based on “standards”• Multiple hypervisors are “OK”• Bare metal can be a hypervisor
To “Pool” resources or not• Is there a real requirement for pooled resources• Can the cloud management solution do better?• Real cost of shared storage
Primary storage defined by hypervisor
Template storage defined by solution• Typically low cost options like NFS
Leading hypervisor options
XenServer 6.5
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
vSphere 5.5 (no vSphere 6 yet)
FeatureSource code model ProprietaryMaximum VM Density 512CloudStack VM Density 128CloudStack integration vCenterMaximum native cluster size 32Maximum pRAM 4 TBLargest VM 64 vCPU/1TBWindows Operating Systems DOS, All Windows Server/ClientLinux Operating Systems MostAdvanced features supported HA, DRS, vDS, Storage vMotion
KVM
FeatureSource code model Open Source (GPLv2)Maximum VM Density 10 times the number of pCoresCloudStack VM Density 50CloudStack integration CloudStack Agent (libvirt)Maximum native cluster size No native cluster supportMaximum pRAM 2 TBLargest VM 160 vCPU/2TBWindows Operating Systems Windows XP and higherLinux Operating Systems VariesAdvanced features supported None
Microsoft Hyper-V
FeatureSource code model ProprietaryMaximum VM Density 1024CloudStack VM Density 1024CloudStack integration CloudStack Agent (C# calling WMI)Maximum native cluster Size 64Maximum pRAM 4 TBLargest VM 64 vCPU/1TBWindows Operating Systems All Windows supported by MicrosoftLinux Operating Systems RHEL, CentOS, Debian, Ubuntu, SLES, OELAdvanced features supported VHDX, Storage Motion (shared only)
Defining the network
Flat Network – Basic Layer 3 Network
Option XenServer vSphere KVM Hyper-V
Security Groups Yes- bridge No Yes Yes
IPv6 Yes No Yes No
Multiple IPs per NIC Yes Yes Yes Yes
Nicira NVP Yes No Yes No
BigSwitch VNS Yes No Yes No
65.11.1.2
65.11.1.3
65.11.1.4
65.11.1.5
Public Network65.11.0.0/16
Guest VM 1
Guest VM 2
Guest VM 3
Guest VM 4
DHCP, DNS
CloudStackVirtual Router
Security Group 1
Security Group 2
VLANs for Private Cloud
Option XenServer vSphere KVM Hyper-V
Max VLANs 800 254 1024 4094
IPv6 Yes No Yes No
Multiple IPs per NIC
Yes Yes Yes Yes
Nicira NVP Yes No Yes No
BigSwitch VNS Yes No Yes No
MidoKura No No Yes No
VPC Yes Yes Yes Yes
NetScaler Yes Yes Yes Yes
F5 BigIP Yes Yes Yes Yes
Juniper SRX No Yes Yes Yes
Juniper EX/QFX No Yes Yes No
Cisco VNMC No Yes No No
GloboDNS Yes No No No
Brocade VDX Yes Yes Yes No
10.1.1.1
10.1.1.3
10.1.1.4
10.1.1.5
Public Network/Internet
Guest Virtual Network 10.0.0.0/8VLAN 100
DHCP, DNSNATLoad BalancingVPN
Public IP 65.37.14.1
Gateway10.1.1.1
Guest VM 1
Guest VM 2
Guest VM 3
Guest VM 4
CloudStackVirtual Router
Beyond the VLAN – Software Defined Networking
Option XenServer vSphere KVM Hyper-V
OVS GRE tunnels Yes - ovs No No No
Nicira STT tunnel Yes Yes Yes No
MidoNet No No Yes No
VXLAN No Yes Yes No
NVGRE No No No No
Nexus 1000v No Yes No No
Juniper Contrail Yes No No No
Palo Alto Yes Yes Yes No
Nuage VSP Yes Yes No No
Virtual Private Cloud and nTier Applications
Feature XenServer vSphere KVM Hyper-V
PVLAN Yes - ovs Yes ovs Yes – Hyper-V VR required
IPv6 Yes No Yes No
Distributed routing Yes - ovs No ovs No
Web
App
DB
Router
DC1
DC2DC3
DC4
DC5
DC6
VLAN 1
VLAN 2
VLAN 3
S2S VPN
PrivateGW
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
VM Password and SSH Key Management Challenges
Obtain information from Virtual Router• IP is obtained from leases• Scripts use wget• Assumes sysinit not systemd
What to fix – varies by OS?• CentOS 7 defaults to curl not wget• CentOS 7 is systemd need unit files• CentOS 7 may use NetworkManager
10 minutes to move a live service to the cloud (network willing) …Demo time – a break from PowerPoint….
The Service to Migrate – Piwigohttp://piwigo.org
The Original Topology
The Cloud Topology with Original Data Store Intact
Template creation takes time ….Back to the hypervisors
Storage, storage and more storageInstances need a home ….
Primary Storage Options
Feature XenServer vSphere KVM Hyper-VLocal storage Yes Yes Yes YesNFS Yes Yes Yes NoSMB No No No SMB3Single path iSCSI Yes Yes Yes NoMultipath iSCSI PreSetup No No NoDirect array No VAAI No NoShared Mount No No Yes NoSolidFire Plugin Yes Yes Yes NoNetApp Plugin Yes Yes Yes NoCloudBytes Elastistor Yes No No NoZone wide No Yes Yes NoCeph RBD No No Yes NoClustered LVM No No Yes No
Cluster
Host
HostPrimary Storage
Secondary Storage Options
Option XenServer vSphere KVM Hyper-VNFS Yes Yes Yes No
Swift(1) Yes Yes Yes No
S3 compatible (2) Yes Yes Yes No
SMB No No No Yes
Template format VHD OVA QCOW2, VHD, VMDK, RAW, IMG
VHD, VHDX
Primary storage golden cache
Yes No No No
(1) Requires NFS staging area(2) Can be region wide, but must not have NFS secondary storage in zone
ZoneSecondary Storage
Pod
Cluster
Host
HostPrimary Storage
The limits and features which matterCore virtualization capabilities
CloudStack Features
Feature XenServer vSphere KVM Hyper-VDisk IO Statistics Yes No Yes Yes
Memory Overcommit Yes (4x) Yes No No
Dedicated resources Yes Not with HA/DRS Yes Yes
Disk IO throttling No No Yes No
Disk snapshot (running) Yes Yes No No
Disk snapshot (pluggable) Partial Partial No No
Disk snapshot (Stopped) Yes Yes Yes Yes
Memory snapshot Yes Yes Yes No
Zone wide primary storage No Yes Yes SMB 3.0 only
Resize disk Offline Online Grow Online No
High availability Host + CloudStack Native CloudStack CloudStack
CPU sockets 6.2 and higher Yes Yes Yes
Affinity groups Yes Yes Yes Yes
GPU passthrough/vGPU 6.2 SP1 and higher No No No
AutoScaling VM Instances Native, NetScaler NetScaler NetScaler NetScaler
Multiple Hypervisor Support
Networking• Ensure network labels match• Topology is intersect of chosen hypervisors• Hyper-V requires Hyper-V system VMs
Storage• Force system VMs to specific hypervisor type• Zone wide primary storage limited
Operations• vSphere Datacenter can not span zones• Hyper-V may not be mixed with other hypervisors in a zone• HA won’t migrate between hypervisors• Capacity planning at the cluster/pod level more difficult
Picking the “best one”When to use which hypervisor…
KVM
Primary value proposition:• Low cost with available vendor support and familiar administration model• Broad feature set with active development
Cloud use cases:• Linux centric workloads• Dev/test clouds • Web hosting• Tenant density which dictates SDN options
Weaknesses:• Requires use of an installed libvirt agent• Limited native storage options• No use of advanced native features
vSphere
Primary value proposition:• Broad application and operating system support with large eco-system of vendor partners• Readily available pool of vSphere administration talent• Many features are native implementations• Direct feature integration via vCenter
Cloud use cases:• Private enterprise clouds• Dev/test clouds
Weaknesses:• vSphere up-front license and ongoing support costs, many features require Enterprise Plus• vCenter integration requires redundant designs• Single data center per zone model
XenServer
Primary value proposition:• Low cost with available vendor support• Broad feature set with active development• Large install base• Direct integration via XAPI toolstack
Cloud use cases:• Linux centric workloads• Dev/test clouds and web hosting providers• Desktop as a Service clouds• Large VM density and secure tenant isolation
Weaknesses:• Minimal use of advanced native features
Tying it all Together
1. Define success criteria
2. Select a topology which works
3. Decide on storage options
4. Define supported configurations
5. Select preferred hypervisor(s)
6. Validate matrix
7. Build your Cloud
Let’s check on the demo …
Questions?