Accelerate With IBM Storage: Data Reduction Pool (DRP) Overview/Best Practices
Accelerate With IBM Storage: Data Reduction Pool (DRP) Overview/Best Practices
Byron Grossnickle
Spectrum Virtualize Specialist
Washington Systems Center
Audience: Clients who have or are considering acquiring IBM Storage solutions. Business
Partners and IBMers are also welcome.
Session Objectives
• DRP Overview
• DRP Planning
• DRP General Best Practices
• DRP On a Stand Alone Unit
• DRP on SVC
3
© Copyright IBM Corporation 2019 Accelerate with IBM Storage
IBM Systems Flash Storage Offerings Portfolio
IBM Power
Systems
NVMe end-to-end
Storwize Storwize Storwize FlashSystem FlashSystem FlashSystem IBM Elastic DS888xF
V5010E / V5030E V5100/F V7000 9110 / 9150 A9000 A9000R Storage Server
Supports up to 10K compressed volumes per system (the system volume limit)
• Note: Legacy storage pools and thin provisioned volumes are still supported
• RtC is NOT supported on newer hardware: FS9100, V7KG3, V5100, V5030E
6
© Copyright IBM Corporation 2019 Accelerate with IBM Storage
Washington Systems Center - Storage
7
© Copyright IBM Corporation 2019 Accelerate with IBM Storage
Washington Systems Center - Storage
Thin + Compressed
Fully Allocated Thin Compressed Thin+De-Dupe +De-dupe
Volume Migration
Volume
Mirroring
Note: If you are using RtC today, you must convert all RtC volumes to DRP compressed first,
before you can enable deduplication
• Designed to be scalable for next generation hardware, memory and CPU cores
• Std SE and RtC do not scale with new generations of multi-core processors
• Compression integrated within I/O stack
• Shared resource design
• When last RtC volume is converted, RtC cores that were dedicated to RtC will be used for all I/O
processing
• Mirrored non-volatile metadata for compressed volumes means significantly improved failover/failback
response times
10
© Copyright IBM Corporation 2019 Accelerate with IBM Storage
Washington Systems Center - Storage
11
© Copyright IBM Corporation 2019 Accelerate with IBM Storage
Washington Systems Center - Storage
DRP Compression
Deduplication I/O
13
© Copyright IBM Corporation 2019 Accelerate with IBM Storage
Washington Systems Center - Storage
SCSI Target
Replication
Upper Cache
FlashCopy
Mirroring
Thin Real Time
Data Provisioning Compression
Reduction
Log Lower Cache
Structured Virtualization
Array
RAID
SCSI Initiator
Internals
• CPUs
• Data reduction uses same threads as main I/O process
• No dedicated CPU cores for compression
• No separate compression CPU utilization on Dashboard
• Memory
• Data reduction shares memory with main I/O process
• ~1GB memory taken from cache when data reduction is enabled
• Fingerprint DB when deduplication enabled
• Systems with 32GB per node = 12GB for fingerprint DB
• Systems with 64GB per node = 16GB for fingerprint DB
• Systems with 128GB+ per node = 32GB for fingerprint DB
• Compression Hardware
• Shared with existing RrC compression and compression for IP replication
• New DRP compression can drive Quick Assist hardware to its limits (RtC could not)
• Coletto Creek hardware (assuming 2 per controller) and smaller Lewisburg chips – 4.8GB/s per controller (9.6GB/s I/O group)
• Larger Lewisburg chip (FS9150) – 12.5GB/s per controller (25GB/s I/O group)
15
© Copyright IBM Corporation 2019 Accelerate with IBM Storage
Washington Systems Center - Storage
Inside a Data Reduction Pool
Internally:
4 Directory volumes – 1 per volume
User view: Think of the host talking to the directory volume
4 volumes within a 1 Customer data volume (per IO group) – Counts against 10K
1 Journal volume (per IO group) – Counts against 10K
data reduction pool 1 Reverse Lookup volume (per IO group) – Counts against
10K
Note: The directory volumes are the only volumes visible and accessible to the end user
© Copyright IBM Corporation 2019 Accelerate with IBM Storage 16
Washington Systems Center - Storage
17
© Copyright IBM Corporation 2019 Accelerate with IBM Storage
Washington Systems Center - Storage
Log Structured Array
• When data is overwritten in a compressed volume the new data usually compresses to a different size
• Solve this problem by writing new data somewhere new and deleting the old data leaving small holes
• Unmap also creates small holes
• De-duplication also creates small holes (when existing data is overwritten with new data that is a duplicate)
• Trying to fill in small holes is very inefficient – too many I/Os to keep reading and updating directory
• Solve this problem with garbage collection
• Wait until an extent has many small holes
• Move the remaining data in the extent (read and write somewhere new)
• Once extent is empty either free back to VG or fill it with new data
18
© Copyright IBM Corporation 2019 Accelerate with IBM Storage
Washington Systems Center - Storage
Garbage Collection
Virtual
1B
1 2B
2 3B
3 4 5 6 7 8
Volume
Physical
Volume 1 5 2 3 4 8 7 6 2B 3B 1B 5
Garbage Collection
• Uses free capacity in the pool to relocate valid user data that is left.
• Tracked by reverse lookup volume
• Coalesces the user data left into 256k blocks. Lower Cache coalesces into Full-stride writes.
• Systems need to be sized to ensure no greater than 85% used DRP pool capacity.
• Garbage Collection Plans generated frequently based on (but not limited to):
• Frequency of over-writes
• Rate of New I/O
• Rate of data being invalidated (eg. Unmap)
• Active/Stale data
• Amount of space required to move data.
• Amount of space free.
• Extents with largest number of holes
• Data grouped into frequently modified and not frequently modified.
• Extent freed or recycled
• Garbage collection rates based on pool fullness – IO amplification
20
© Copyright IBM Corporation 2019 Accelerate with IBM Storage
Washington Systems Center - Storage
New Statistics
• VDisk
• used_capacity_before_reduction
• Mdiskgrp (Pool)
• reclaimable_capacity – measures amount of GC work
• used_capacity_before_reduction
• used_capacity_after_reduction
• deduplication_capacity_savings
• compression_opportunity (GUI only)
• overhead_capacity
• System
• total_reclaimable_capacity
• used_capacity_before_reduction
• used_capacity_after_reduction
• overhead_capacity
• deduplication_capacity_savings
• compression_opportunity (GUI only)
21
© Copyright IBM Corporation 2019 Accelerate with IBM Storage
Washington Systems Center - Storage
22
© Copyright IBM Corporation 2019 Accelerate with IBM Storage
Washington Systems Center - Storage
Note: Development is looking at ways to increase the speed of deleting deduplicated volumes
Note: Development is looking at ways to address customer questions around the process for deduplicating volumes
23
© Copyright IBM Corporation 2019 Accelerate with IBM Storage
DRP Planning
A maximum of 4 Data Reduction Pools per Max Capacity in Max Capacity in Max Capacity
System Extent Size 1 DRP with 1 I/O 1 DRP with 4 I/O per System with
Group Group 4 DRP
A maximum of 128K extents per ‘Customer Data 1GiB 128TiB 512TiB 2PiB
Volume’ - per IO/Group. *
Thus the Pool extent size dictates the maximum
physical capacity in a pool – after data reduction 2GiB 256TiB 1PiB 4PiB
savings.
Currently 4GB is the recommended size
4GiB 512TiB 2PiB 8PiB
GUESS LARGE!!!!!!
*Since the Customer Data Volume only contains data for volumes owned by that I/O Group - each I/O
Group has its own Customer Data Volume per DRP
2525
Current Data Reduction Pool Minimum Capacity Limits
There are limits on the minimum size for a Data Min Capacity in 1 DRP Min Capacity in 1 DRP
Reduction Pool to ensure Garbage Collection Extent Size
with 1 I/O Group with 4 I/O Group
works acceptably.
1GiB 255GiB 1TiB
Full reservation is taken from pool when first
volume is created and written to.
2GiB 0.5TiB 2TiB
2626
Current Data Reduction Pool Restrictions
28
Washington Systems Center - Storage
29
© Copyright IBM Corporation 2019 Accelerate with IBM Storage
DRP General Best Practices
31
© Copyright IBM Corporation 2019 Accelerate with IBM Storage
Washington Systems Center - Storage
• If using DRP thin or compressed volumes (regardless of dedupe) your pool should be no more than 85%
occupied
• Why?
• DRP thin or compressed volumes always do 256KB writes to new space, therefore you must have some space free to write to
• We desire to hold off garbage collection as long as possible because it is possible that there will be less work to do by waiting
• If a whole extent is garbage we have to move nothing and can just mark the space free
• We slowly ramp up garbage collection as the pool fills up
• Don’t expect garbage collection to do much if you have lots of space free
• If necessary, you can “trick” the system by creating some fully allocated volumes and making the pool fuller than what it is to force garbage collection to do
more work.
• After 85% full garbage collection is running at full steam trying to free space and may impact performance
• This guidance does not apply if you are using 100% fully allocated volumes
• For systems with hardware compression offload (Quick Assist) it is recommended to use compressed volumes instead
of thin. This becomes critical on systems with FCM’s for managing physical capacity on the back end.
32
© Copyright IBM Corporation 2019 Accelerate with IBM Storage
Washington Systems Center - Storage
33
© Copyright IBM Corporation 2019 Accelerate with IBM Storage
DRP with Flash Core Modules
35
© Copyright IBM Corporation 2019 Accelerate with IBM Storage
Washington Systems Center - Storage
36
© Copyright IBM Corporation 2019 Accelerate with IBM Storage
DRP – Stand Alone Unit
• Assuming you are using a system with drives in the control unit only
• Group all drives of the same type into a single DRAID6 array and put it in a single DRP pool
• One DRAID6 array maximizes usable space and 1 DRP pool keeps things simple
• If you are creating a hybrid pool:
• When creating your DRAID arrays, choose Internal Custom
• Choose your drive class
• Choose DRAID6
• Choose the entire number of drives you want in the pool and allow the system to determine the best DRAID6 configuration
• Remember that in DRAID your spare capacity is in the DRAID array itself so you should not have any drives marked as “spare” in your system
• Create at least as many volumes as what you have CPU cores to maximize system performance
38
© Copyright IBM Corporation 2019 Accelerate with IBM Storage
Washington Systems Center - Storage
39
© Copyright IBM Corporation 2019 Accelerate with IBM Storage
DRP On SVC
If you create a solution where data reduction ALL DRP volumes should run with
technologies are applied at both the storage and the
virtualization appliance levels, then here are the rules
compression switched on
(Performance bottlenecks come with DRP metadata, not compression)
(The above statement does not apply to deduplication)
you should follow
Recommended!
42
DRP above data reducing
backend
Recommended!
FlashSystem 900 – AE3 Using DRP with overallocated back end could lead to
Storwize with FCMs the DRP garbage causing out-of-space
FS9100 with FCMs
43
DRP + Fully-Allocated above
data reducing backend
Not recommended!
44
Fully-allocated above single-tier
data reducing backend
45
Fully-allocated above multi-tier
data reducing backend
FlashSystem A9000 Storwize with DRP Changes in compressibility of data in top tier
can overcommit the storage leading to out-of-
space.
46
DRP above DRP
Avoid!!
47
Summary
Configure alerts – do not get caught out If virtualizing a compressing storage system use a
recommended design.
Running out of physical capacity will take volumes
offline Other designs make it impossible to understand
your capacity consumption.
You will run out of space!
THANK YOU!