scott h. davis, cto infinio systems, inc. - snia · cto, infinio 25+ year it veteran former vmware...
TRANSCRIPT
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Avoiding common storage development pitfalls: Approaches and Lessons Learned with the VMware
vSphere platform
Scott H. Davis, CTO Infinio Systems, Inc.
© 2015 Infinio Systems, Inc. All rights reserved.
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Welcome!
Scott H. Davis CTO, Infinio 25+ year IT veteran Former VMware EUC CTO & Chief
Data Center/Storage Architect Founder, President, CTO of Virtual
Iron 17 Patents for Virtualization, Storage,
Clustering, and EUC technologies vExpert 2015
www.TalkingTechwithSHD.com @shd_9
2
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Agenda
Introduction: Decoupled Architecture Storage & virtualization overview VMware storage stack & I/O intercept
techniques Infinio solution & architecture Infinio intercepts & lessons
3
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
File services in front of SAN arrays (EMC Celerra and Clariion)
Early storage tiering (Compellent)
4
NetApp SAN with 2 FAS Filers
HP server with EVA SAN
Storage in 2004
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Storage in 2015. . .
5
But storage has just two jobs that have to get done: Provide the storage performance that applications need Provide the storage capacity that applications need
These two jobs are best done separately
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Infinio’s Decoupled Architecture
6
STORAGE CAPACITY
STORAGE PERFORMANCE
10x improvement in latency
Reduced performance costs ($/IOPS)
Scale-out I/O with application growth
Reduced capacity costs for any array ($/GB)
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Virtualization Impact
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
General virtualization storage challenges
Large set of physical machines consolidated
Diverse set of applications More workload variety and
concentration Blender effect, mix of
read/write ratios
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
VMware specific storage challenges
VM provisioning operations mixed with applications
More abstractions/layers means less visibility
Clustered locking protocols
Workload mobility (vMotion, DRS)
9
Virtual storage I/O path
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Unique VDI storage challenges Capacity and performance
cost Virtual desktop should cost less
than a physical desktop = high consolidation ratio
Shared data center hardware vs. dedicated desktops
User experience is key - 25-75 IOPs per desktop
VDI Desktop OS assumptions Impact of synchronized peaks
(e.g., boot storms, login storms, virus scans)
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Infinio Decoupled Architecture
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Infinio’s Storage 1.0 Acceleration platform
One Infinio Accelerator VM per host
vMotion network for communication
One Console VM per vCenter
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Infinio’s Storage 2.0 Acceleration platform
One Infinio Accelerator VM per host
vMotion network for communication
One Console VM per vCenter
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Infinio’s cache architecture
14
With a 5:1 dedupe rate, an 4-node Infinio cluster starts with an effective size of 160GB and can grow much larger.
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Infinio’s global deduplication in action
Software Development Source code for slightly different
versions Test automation on the same code Exemplar data
VDI Gold images Common application executables Common user files
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Infinio’s directory architecture
16
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Infinio’s true scale-out design
Work is shared across nodes equitably
Linear performance increases as you add more nodes
Uniform distribution of work preserved during cluster changes: Add or remove a node Add or remove a datastore
Cache contents are accessible across nodes (but not replicated)
Cache consistency is built in
VMware
VMware
VMware
VMware Infinio Cache
VMware
VMware
Infinio Cache
VMware
VMware
VMware
Infinio Cache
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Infinio’s operational transparency
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
UI: simple, intuitive management
Single click to accelerate a new datastore.
Global statistics for all accelerated datastores
Global view of the peak effective cache size. Deduplication benefit at-a-glance
Results for the accelerated datastore. Single-click to disable acceleration.
19
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
VMware Storage & Intercept Techniques
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Virtual storage block I/O path
21
VM
kern
el vSCSI
VMFS
Core Storage
Port Drivers
Sto
rag
e
Storage Switch
Storage Controller
Storage Device
Gu
est
VM
Application
File System
Device Driver
Virtual HW
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Virtual storage NFS NAS I/O path
22
VM
kern
el vSCSI
NFS Client
Network Stack
NIC Drivers
Sto
rag
e
NFS Server
Storage Controller
Storage Devices
Gu
est
VM
Application
File System
Device Driver
Virtual HW
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
VAAI
vStorage APIs for Array Integration
VMware vSphere
API
Disk Array
T-10 primitives to offload VMware server resource intensive storage operations to array
Primitives Xcopy Write-Same Trim/Unmap Compare-and-Swap
Snapshots All filter types/storage intercepts
must carefully consider
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Intercept techniques
Not explicitly covered: Para-virt in guest interface Proxy device
Virtual Appliance VMkernel Drivers PSA Plug-in VAIO
24
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
NFS Intercept – virtual appliance
25
VM
kern
el vSCSI
NFS Client
Network Stack
NIC Drivers
Vir
tual
A
pp
lian
ce NFS Server
Storage Srv
Device Driver
Pass-thru Hardware
Gu
est
VM
Application
File System
Device Driver
Virtual HW
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Infinio V1.0 NFS Intercept
NFS Volume (Physical)
NFS Datastore
Private NIC (Virtual)
Infinio Accelerator
VM Kernel Port
Infinio Private VM Port Group
Infinio Public VM Port Group
Vmnic (Physical)
vSwitch
Private NIC (Virtual)
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Lessons: Virtual Appliances
Virtual Appliance Simplest to implement Typically an NFS Server Heaviest resource usage, least balanced VM scheduling & context switch on IO operation Fewest constraints
Infinio-specific lessons: Extra overhead – context switch on all I/Os Datastore offline events
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
ESX Kernel drivers
28
Vmklinux driver model ESX 5.5 Native Driver Model
VM
kern
el VMKernel
vmklinux
Legacy Driver
Hardware
VMKernel
Native Driver
Hardware VM
kern
el
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Pluggable Storage Architecture (PSA)
29
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Block-based storage path
30
Path Selection Policy (PSP) i.e. Round Robin, Fixed, MRU
HBA HBA
Network
Hype
rvis
or
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Path Selection Policy (PSP) i.e. Round Robin, Fixed, MRU
Path Selection Policy
Infinio PSA Intercept
31
HBA HBA
Network
vHBA
Hype
rvis
or
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Infinio’s 2.0 PSA Intercept
32
PSP
HBA HBA
vHBA
PSP
HBA HBA
vHBA
Network
vMotion Network
Hype
rvis
or Hypervisor
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Lessons: PSA
Harder to implement Less Context - intercepting SCSI commands Efficient; runs on the VMkernel Userworld thread Care must be taken on potential collisions
Out of band operations such as VAAI Multi-host VMFS meta-data blocks and protocols Shared Writer VMDKs
Constrained, kernel-mode environment
Infinio specific lessons Good results, better product with much lower latency
No context switch on cache miss or writes Getting VAAI, VMFS metadata handling correct added
significantly to development time
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
VAIO Architecture
34
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
VAIO Architecture
35
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
VAIO Library Instance Filter
Runs in User Space; Instance per VMX Userworld Filter per VMDK Upcall above storage stack, below VM/ESX File System Event call backs – Snapshots, vMotion C Language
Master Daemon Filter Peer to LI Filter, one per volume/datastore Intended for shared resources spanning LI Filters Separate Cartel/Userworld IP Sockets and limited shared memory vFFS
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Infinio’s Cache VM
37
Cache VM User VM
Guest Space
User Space
Kernel Space Storage
Stack
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Infinio’s VAIO-based architecture
38
Cache VM User VM
Guest Spac
e
User Spac
e
Kernel Space Storage
Stack
LI VAIO Filters
Master Daemon
Filter
vFFS
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Lessons: VAIO Library instance vs. Master Daemon
Context Switch Shared Memory vs. Data copy Threading model Resource bookkeeping
Moderate constraints, improved robustness Infinio Learnings:
IO Stack intercept simplifies VAAI/meta-data handling Events simplify vMotion/Warm vmotion Intercept overhead is better than VSA, close to PSA Cache hit times benefit from VSA elimination
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.
Summary/Conclusions
Per I/O latency & throughput, scale all matter VM/VSA Richest environment, most overhead
PSA/Driver Most constrained environment, least
overhead VAIO Strong hybrid – less constraints, low overhead VM granularity Robust
40
2015 Storage Developer Conference. © Infinio Systems, Inc. All Rights Reserved.