OSS Presentation Accelerating VDI by Daniel Beveridge
Accelerate VDI - VSA Based I/O Designs Daniel Beveridge Sr. View Architect Vmware.
Storage Sizing Conundrum How Much to Buy? The Storage Guessing Game•Save Money •Unsure How Many Users•Unsure How Many Users •Overestimate ramp rate•Misunderstand IOPS/user •Misjudge process hurdles•Unsure of Project timeline •Use of Legacy storage •Spend on Space vs. IOPS
Workload basics: Comparing Server to Desktop Server Desktop Diversity on cluster Homogeneous on cluster Peaks randomized across apps Synchronized peaks App driven I/O User driven I/O Maintenance is manual or targeted Maintenance is often synchronized on many machines Batch-oriented Real-time oriented Performance fluctuations have low to Performance fluctuations have high moderate visibility and impact visibility and real-time impact Low to moderate workload volatility (peak High workload volatility (peak > 50x avg) < 10x avg) Key differences between workloads • Vastly different volatility • Users react in real-time to performance fluctuations • Severity of reaction to performance fluctuations
Volatility Examples – High and Low High Volatility (VDI) Low Volatility (Server)
VDI Volatility – Logon IOPS* Graph by Jim Moyle
Windows 7 Implications• Up to 40% more IOPS than XP during select operations such as boot.• Boot operations consume about 100 IOPS on average• Select optimizations are possible to brings IOPS consumption more inline with XP• Most customers will use a Win 7 build that is not optimized. Sizing estimates should not assume Win 7 image is tuned properly.• Win 7 deployments need the additional IOPS provided by VSA accelerated storage designs.
Virtual Storage Appliance (VSA) based Design w/View 4.5
Why VSA Storage for VDI?• Very Flexible ‘hardware’ configuration• Drivers taken care of by VMware HCL• Low latency I/O delivery to desktops• Limit need for costly networking equipment• Handles random writes very well – VDI’s most challenging load pattern• It’s software – easy to upgrade, re-tune using automation tools.
Benefits of VSA based DesignsBenefits ImportanceInexpensive Storage Cost per User dropsHigh IOPS / User (30k+) Great User ExperienceBurst Isolation Equitable Burst AccessLow Latency (1/10ms) Great User ExperienceMinimizes Network Traffic Lowers risk of bottlenecksUniform IOPS/User at any Eliminates declining userScale experience on ramp-up.Scalable Write-Cache Great User Experience – fast writes at any scaleReduce random writes to SSD ACK from RAM for stateless
VDI – Two Models• Stateless – Users are decoupled from VMs – Most performance benefits – Most operational savings – Most amenable to a purely local disk design – Least expensive, but may require re-working of IT processes leading to implementation challenges• Persistent – Users have their own VM – Uses much more storage – Desktop must be ‘protected’ against data-corruption – Writes must be treated conservatively – limiting performance – More challenging for VSA designs
Stateless VDI - BenefitsGeneral Benefits Benefits of Stateless w/ZFS• Zero risk of desktop corruption• Ability to maximize fast random • Ability to Maximize limited local disk writes (ACK from Ram) – best user resources experience for random writes • Efficient two drive bay config (1 SSD, 1• Lends itself to a local disk design HDD)• Keep all I/O inside ESX host. • Ability to maximize fast random writes• Enables use of View Composer (ACK from Ram)• Avoid Windows Configuration drift • In-line compression expand disk• Limit support calls – standard image bandwidth 40% for everyone • L2ARC leverages modest SSD without• Faster support resolution times running out of space• Reduce # of VDI machines powered • Excellent caching with ARC on in datacenter• Lowest cost per user
VDI Design Options – Stateless VDI Design Hints • Create VMDK for L2ARC on SSD ZFS VSA • Disable ZIL – not needed • Publish volume via NFS to ESX • 8-12GB memory for VSA • CPU / memory reservation for VSA • Set pool policy to ‘refresh’ at logoffLocal Disks Sample 64GB SSD Format SSD • 15GB for View’s Composer parent image • 40GB VMDK for L2ARC HDD
Persistent VDI - Benefits General Benefits Benefits of Stateless w/ZFS • Ability to Maximize limited• Least Operational upheaval when local disk resources migrating from PC model • Efficient two drive bay config• Supports user-installed (1 SSD, 1 HDD) applications • Ability to maximize fast• Works better for ‘offline-VDI’ random writes (ACK from ZIL) feature of VMware View • In-line compression expand disk bandwidth 40% • In-line De-Dupe – 2.5x data reduction • L2ARC leverages modest SSD without running out of space • Excellent caching with ARC
VDI Design Options – Persistent VDI All Local Design Design Hints • Create VSA’s VMDK ‘data disk’ on SAN/NAS via iSCSI of FC • Place ‘data disk’ ZVOL on local HDD in Raidz mirror • Create VMDK for L2ARC on SSD • Place ZIL (SLOG) on SSD • Publish volume via NFS to ESX • 12-16GB memory for VSA • Assign CPU / memory reservation ZFS VSA • Turn on De-Dupe and Compression • Sample 64GB SSD Config: 8GB ZIL, 50GB L2ARC Benefits / Drawbacks • VDI clients get fast local commits on write due to SSD based ZIL (ZFS intent Log) • VSA can 50 write IOPS per user for 150+ users with 1 SLC based SSD as ZIL, and 100+ read IOPS per user. • Inline De-Dupe & Compression reduce I/O from VSA HDD(s) by 80% - better use of limited spindles. ZIL Approximately 30K+ IOPS possible from VSA SSD • • Longer RTO in failure – Host rebuild may be neededL2ARC ZVOL HDD
VDI Design Options – Persistent VDI Hybrid Design Design Hints SAN/NAS • Create VSA’s VMDK ‘data disk’ on SAN/NAS via iSCSI or FC • Place VSA boot drive on SAN/NAS • Create VMDK for L2ARC on SSD • Place ZIL (SLOG) on SSD iSCSI or FC attached VMDK • Publish volume via NFS to ESX • 12-16GB memory for VSA ZFS VSA • Assign CPU / memory reservation • Sample 64GB SSD Config: 8GB ZIL, 50GB L2ARC Benefits • High # of low-latency random write IOPS possible from VSA with local ZIL, 30K+ Read IOPS. • VDI clients get fast local commits on which makes a great user experience • Inline De-Dupe & Compression reduce I/O from VSA to SAN/NAS by 80% ZIL • Data safer in Host failure scenario – Shorter RTO SSD • May need to move SSD to new ESX host in failureL2ARC scenario
Isn’t this all a bit Complex?• Different and intricate ZFS configs base on VDI pool type – ZIL status, size, L2ARC size, Raid-z status, De-Dupe/Compress??, hybrid VSA/Central config?• Sizing & Tuning Complexity – How much memory/CPU and other vSphere tuning parameters are needed for each option? – CPU/IO/Mem reservations?, type of VMDK (thin, fat, eager zero?), – iSCSI or NFS mount to ESX?• How does your OS image impact these tunings? – Are there wasteful services running ? – Did a new application change your I/O load levels?• Wow – there’s a lot of steps involved to set this all up? – I feel Carpel tunnel coming on!!I want to use this cool technology – how can it be easier?
Help is on the way The Nexenta VDI Solution• Setup a whole vSphere cluster – VSA & VDI together in one place• Using ‘provisioning templates’, just answer some simple questions and the rest is taken care of for you.• Pairs ideal ZFS tunings for each VMware View Pool type• Calculates correct resource levels for VSA based on user density targets.• Optimizes VDI density based on IOPS targets you can set.• Runs built-in Micro-Benchmarks to validate performance• Deploy View with confidence and ease – removes the tedious steps and assures an optimized solution.
Design Principles for Maximizing VDI Benefits1. Divide Use Cases into Stateless vs. Persistent • Leverage VMware tools like ThinApp to maximize users who qualify for stateless designs – use local VSA storage for these users. • Use VMware’s Virtual Profile tool to keep data out of VM2. Push as much I/O delivery upstream to VSA as possible • Maximize value of centralized storage for high value IO (offload junk IOPS). • Hybrid VSA/Central storage design for persistent VDI3. Integration with VMware View’s Tiered Storage • Leverage centralized SSD or local replica for shared OS image when using View Composer • Maximize caching of VSA(s) for unique user files. • Place View’s ‘disposable disk’ on ZVOL with ZIL disabled for persistent VDI VMs • Reduce Logon Storm I/O & data risk with our Virtual Profile feature
Summary• ZFS features are very well suited to implementing VSA designs for VDI • Key Features include: ZIL, L2ARC, De-Dupe, Compression, ARC caching, Raid-z.• Hybrid VDI design combining SAN/NAS with VSA accelerates I/O, lowers cost• A scale-out VSA storage model to augment SAN/NAS can lower risk of under/over spending by transforming CAPEX into incremental spend.• Use centralized storage for important data, high value I/O and persistent VDI designs. Use local storage for disposable data & non-persistent VDILast but NOT Least: Look for Nexenta’s exciting new VDI provisioning solution to dramatically simplify the deployment of VSA storage and VMware View desktops (Q1 2012?)