Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
State of the Art Thin Provisioning<br />Stephen Foskett<br />stephen@fosketts.net<br />twitter.com/sfoskett<br />
Storage Is Supposed To Be Getting Cheaper!<br />Disk cost is dropping rapidly<br />$250 buys:<br />1994: 2 GB<br />1999: 2...
Where Is The Cost?<br />Hardware and software make up a small percentage of total enterprise storage spending…<br />…and h...
Over-Allocation and Under-Utilization<br />4<br />Raw Disk Capacity Purchased<br />Conventional storage provisioning is gr...
Thin Provisioning Simplified!<br />5<br />Traditional storage provisioning<br />Thin storage provisioning<br />Allocated b...
Thin Provisioning: Potentially Problematic<br />Storage is commonly over-allocated to servers<br />Some arrays can “thinly...
Are You Solving a Technical or Business Issue?<br />7<br />
Ever Play the “Telephone” Game?<br />Application<br />IV<br />File/Record Layer<br />File System<br />Database<br />III<br...
File System<br />It’s (Relatively) Easy to Allocate on Write<br />9<br />As applications write data<br />Storage<br />Capa...
File System<br />But What About De-Allocate on Delete?<br />10<br />Data is deleted<br />Storage<br />Capacity is freed up...
Two Approaches To Thin<br />11<br />
Server Smarts: Metadata Monitoring<br />File system/VM combos can handle thin provisioning on their own<br />ZFS, Veritas ...
Storage Smarts: Zero Page Reclaim<br />Storage arrays watch for “pages” containing all zeros and simply don’t write them<b...
Zero Page Reclaim: Pros and Cons<br />Pro:<br />Straightforward to implement in storage<br />Some implementation: VMware e...
The Lingo: WRITE_SAME<br />Facilitates zero page reclaim<br />“Write this block 1,000,000 times”<br />Pro:<br />Conserves ...
The Bridge: Veritas Thin API<br />Thin Reclamation API can communicate de-allocation to arrays by zeroing using WRITE_SAME...
What About TRIM?<br />TRIM (ATA) and TRIM/UNMAP/PUNCH (SCSI) can inform storage that a block is no longer needed<br />Desi...
TRIM Isn’t For Thin<br />Not really a thin-provisioning command but could play one on TV<br />NetApp proposed a hole punch...
More Obstacles!<br />
Large page – no thin provisioning<br />Granularity (Page Sizes)<br />20<br />Small page – thin even with fragmentation<br />
Processing and Scheduling<br />21<br />Intensive<br />Ineffective<br />
Fragmentation Kills Thin Provisioning<br />22<br />Fragmented file<br />system spans<br />thin pages<br />Defragmented<br ...
The Performance Crunch<br />How high can we drive utilization without killing performance?<br />
Stephen’s Dream<br />Thin provisioning could be awesome, provided it is integrated at all levels of the stack<br />Smart a...
Thank You!<br />Stephen Foskett<br />stephen@fosketts.net<br />twitter.com/sfoskett<br />+1(508)451-9532<br />FoskettServi...
Upcoming SlideShare
Loading in …5
×

State of the Art Thin Provisioning

6,161 views

Published on

Published in: Technology
  • Be the first to comment

State of the Art Thin Provisioning

  1. 1. State of the Art Thin Provisioning<br />Stephen Foskett<br />stephen@fosketts.net<br />twitter.com/sfoskett<br />
  2. 2. Storage Is Supposed To Be Getting Cheaper!<br />Disk cost is dropping rapidly<br />$250 buys:<br />1994: 2 GB<br />1999: 20 GB<br />2004: 200 GB<br />2009: 2000 GB<br />But enterprise storage costs keep rising!<br />2<br />
  3. 3. Where Is The Cost?<br />Hardware and software make up a small percentage of total enterprise storage spending…<br />…and hard disk drive capacity makes up a small percentage of that!<br />Data center/environmental, administrative personnel, maintenance, and data protection are much bigger<br />The biggest opportunity is inefficiency, but this has always been hard to tackle<br />3<br />
  4. 4. Over-Allocation and Under-Utilization<br />4<br />Raw Disk Capacity Purchased<br />Conventional storage provisioning is grossly inefficient<br />Usable Protected Storage<br />Capacity Allocated to Servers<br />Requested Capacity<br />Used by Files<br />Required Capacity<br />
  5. 5. Thin Provisioning Simplified!<br />5<br />Traditional storage provisioning<br />Thin storage provisioning<br />Allocated but unused<br />Free for allocation<br />Actually Used<br />Used<br />
  6. 6. Thin Provisioning: Potentially Problematic<br />Storage is commonly over-allocated to servers<br />Some arrays can “thinly” provision just the capacity that actually contains data<br />500 GB request for new project, but only 2 GB of initial data is written – array only allocates 2 GB and expands as data is written<br />What’s not to love?<br />Oops – we provisioned a petabyte and ran out of storage<br />Chunk sizes and formatting conflicts<br />Can it thin unprovision?<br />Can it replicate to and from thin provisioned volumes?<br />
  7. 7. Are You Solving a Technical or Business Issue?<br />7<br />
  8. 8. Ever Play the “Telephone” Game?<br />Application<br />IV<br />File/Record Layer<br />File System<br />Database<br />III<br />Each layer obscures the ones above and below it<br />IIc<br />Block<br />Aggregation<br />Host<br />IIb<br />Network<br />Device<br />IIa<br />Storage Devices<br />I<br />SNIA Shared Storage Model<br />
  9. 9. File System<br />It’s (Relatively) Easy to Allocate on Write<br />9<br />As applications write data<br />Storage<br />Capacity is allocated<br />File system write requests pass through to storage systems<br />so they can wait to allocate as requested<br />
  10. 10. File System<br />But What About De-Allocate on Delete?<br />10<br />Data is deleted<br />Storage<br />Capacity is freed up<br />Most file systems don’t send a consistent “de-allocate” message to storage<br />so many thin systems get fatter over time<br />
  11. 11. Two Approaches To Thin<br />11<br />
  12. 12. Server Smarts: Metadata Monitoring<br />File system/VM combos can handle thin provisioning on their own<br />ZFS, Veritas Volume Manager, VMware VMFS<br />Arrays can “watch” an operating system allocate and de-allocate storage<br />Perilous! Known file systems and volume formats only!<br />Data Robotics Drobo supports FAT32, NTFS, HFS+<br />12<br />Drobo watches the file allocation table for deletes<br />File System<br />Storage<br />
  13. 13. Storage Smarts: Zero Page Reclaim<br />Storage arrays watch for “pages” containing all zeros and simply don’t write them<br />IBM XIV, 3PAR, NetApp (with dedupe), HDS, EMC V-Max<br />Some storage vendors rely on utilities to reclaim<br />NetApp SnapDrive for Windows 5.0<br />Compellent Free Space Recovery<br />Veritas Storage Foundation Thin Reclamation<br />Can also force it with sdelete<br />13<br />
  14. 14. Zero Page Reclaim: Pros and Cons<br />Pro:<br />Straightforward to implement in storage<br />Some implementation: VMware eagerzeroedthick<br />Con:<br />Requires application/OS/file system to actually have written all zeroes - most just ignore unused space rather than zeroing<br />Most implementations are page-based<br />Drives more I/O<br />VMware thin/thick don’t work<br />14<br />
  15. 15. The Lingo: WRITE_SAME<br />Facilitates zero page reclaim<br />“Write this block 1,000,000 times”<br />Pro:<br />Conserves I/O operations<br />Popular with array vendors<br />Exists and is even implemented (a little)<br />Con:<br />Depends on file system layer intelligence<br />Still introduces extra I/O<br />Could be very, very bad in a thin-unaware array<br />15<br />
  16. 16. The Bridge: Veritas Thin API<br />Thin Reclamation API can communicate de-allocation to arrays by zeroing using WRITE_SAME/UNMAP<br />Introduced in 5.0 (UNIX) and 5.1 (Windows)<br />Supports 3PAR, EMC CLARiiON CX4, HDS USPV/VM, HP XP20k/24k, IBM XIV<br />Will also support Compellent, EMC Symmetrix DMX, Fujitsu Eternus, HP EVA, HDS AMS, IBM DS8k, NetApp<br />SmartMove copies only allocated blocks<br />Supports any/all storage systems<br />Works with thin-capable arrays<br />Speeds up migrations in all cases<br />16<br />
  17. 17. What About TRIM?<br />TRIM (ATA) and TRIM/UNMAP/PUNCH (SCSI) can inform storage that a block is no longer needed<br />Designed for SSD architecture:<br />Cells grouped into 4 kB pages and 512 kB blocks<br />Only empty pages can be written to<br />Writing to empty pages is quick!<br />Writing to used pages requires a block erase<br />Read-erase-write is slow(er)<br />OS support for TRIM:<br />Windows 7 & Server 2008 R2<br />Linux 2.6.33, Open Solaris, FreeBSD 9<br />17<br />
  18. 18. TRIM Isn’t For Thin<br />Not really a thin-provisioning command but could play one on TV<br />NetApp proposed a hole punching standard to INCITS T10 committee<br />HDS and EMC prefer UNMAP bit<br />A similar NetApp approach uses NFS and a Windows file system redirect<br />
  19. 19. More Obstacles!<br />
  20. 20. Large page – no thin provisioning<br />Granularity (Page Sizes)<br />20<br />Small page – thin even with fragmentation<br />
  21. 21. Processing and Scheduling<br />21<br />Intensive<br />Ineffective<br />
  22. 22. Fragmentation Kills Thin Provisioning<br />22<br />Fragmented file<br />system spans<br />thin pages<br />Defragmented<br />file system allows<br />thin provisioning<br />
  23. 23. The Performance Crunch<br />How high can we drive utilization without killing performance?<br />
  24. 24. Stephen’s Dream<br />Thin provisioning could be awesome, provided it is integrated at all levels of the stack<br />Smart applications that don’t spew data everywhere<br />Smart file systems and volume managers that communicate what is and isn’t used<br />Smart virtualization layers that don’t obscure usage<br />Smart storage systems that act on all of this information with granularity and without falling over dead<br />Smart monitoring systems to tie everything together and head off disaster<br />
  25. 25. Thank You!<br />Stephen Foskett<br />stephen@fosketts.net<br />twitter.com/sfoskett<br />+1(508)451-9532<br />FoskettServices.com<br />blog.fosketts.net<br />GestaltIT.com<br />25<br />

×