Performance Problem When Using EasyTier With Thin Provisioned Volumes
IBM has identified a configuration issue which can significantly reduce the effectiveness of the Solid State Drives (SSDs) within a Storage Pool which is using EasyTier and contains Thin Provisioned Volumes (formerly known as Space Efficient VDisks) with a grain size of 32 kB
EasyTier makes use of the size of an IO to predict whether a specific IO is part of a sequential workload or part of a random workload, so that infrequent sequential workloads (such as backups) can be ignored when deciding what data is 'hot'.
When using thin provisioning in conjunction with EasyTier, all IO operations are split up into IOs which are no greater than the grain size of the thin provisioned vdisks.
The interaction of these two features means that if the grain size of any thin provisioned Volume is set to the default value of 32 kB then all IOs to that disk will be counted as random IOs. This may result in EasyTier moving data that is only accessed sequentially and occasionally onto the SSDs, preventing genuinely hot data from being loaded onto them.
Thin Provisioned Volumes in Storage Pools using EasyTier must therefore use a grain size of 64 kB or greater. The product documentation contains the following guidance about the choice of grain size:
If you are not going to use the thin-provisioned volume as a FlashCopy® source or target volume, use 256 KB to maximise performance. If you are going to use the thin-provisioned volume as a FlashCopy source or target volume, specify the same grain size for the volume and for the FlashCopy function.
When creating new Volumes in a Storage Pool that is using EasyTier, ensure that the grain size is set to 64 kB or greater. In the GUI, the grain size option is available by clicking the 'Advanced' button and navigating to either the "Capacity Management" or "Thin Provisioning" tabs.
If you have any pre-existing Thin Provisioned Volumes in an EasyTier Storage Pool, then the procedure to change the grain size on that Volume is as follows;
- If the Volume is already mirrored, then remove one of the mirrored copies.
- Use the command line interface (CLI) to add a copy to the Volume as follows:
svctask addvdiskcopy -rsize XXX -autoexpand -grainsize YYY
- XXX should be the real (allocated) size of the Volume. The GUI default is -rsize 2%
- YYY should be 64, 128 or 256
- -autoexpand should be used as a default, but can be omitted if required.
- Wait for the mirroring process to complete (this can be monitored in the Running Tasks pod of the GUI)
Note: The rate of the mirroring process can be altered as required using the methods below. See the documentation to understand how the sync rate values correspond to MB/s rates:
- In the GUI, Open the Properties panel of the Volume, and ensure that the Show Details box is checked. Next press the edit button and change the property called Mirror Sync Rate before pressing save.
- The command svctask chvdisk -syncrate XXX YYY
Where XXX is the desired sync rate
and YYY is the name or ID of the Volume being modified.
- Delete the original copy of the Volume (the copy with a grain size of 32 kB) using one of the methods below
- In the GUI, right click on the copy which should be deleted and select "Delete this Copy"
- The command svctask rmvdiskcopy -copy XXX YYY
Where XXX is the ID of the copy to be deleted
and YYY is the name or ID of the Volume being modified
Do NOT specify the -force flag
This flash will be updated as further guidance on this issue becomes available
|Disk Storage Systems||IBM Storwize V7000 (2076)||6.4||IBM Storwize V7000||6.1, 6.2, 6.3, 6.4|
|Disk Storage Systems||IBM Storwize V7000 Unified (2073)||1.3||IBM Storwize V7000||1.3|