v7000 VDisk Cache Test

Each node canister in the control enclosure has the cache memory, the internal drives to store software and logs, and the processing power to run the Storwize V7000 virtualizing and management software. The two nodes within a canister make an I/O group that is attached to the SAN fabric. VDisks are also associated with the I/O group. I/O traffic for a particular VDisk is, at any one time, managed exclusively by the nodes in a single I/O group. You can even set a particular node in an I/O group as the preferred node for the VDisk. In this case, read I/O to that VDisk is processed by first referencing the cache in the preferred node of the VDisk. If the preferred node is inaccessible, then the cache of the partner node is referenced. Likewise, write operations to a VDisk are first targeted at the preferred node of that VDisk. The write operation is then cached in the preferred node and a copy of the data is made in the cache of the partner node in the I/O group. Only then is the write deemed as complete. The data so written is destaged to the disk at a later time.

The key purpose of the VDisk cache is to buffer I/O, allow the quick completion of I/O operations, and to avoid (or at least, minimize) direct disk accesses. If the cache does not contain the data that the read I/O references and does not have the space to accommodate the data blocks written to it by the write I/O, direct disk accesses are bound to increase. Reading from and writing directly to disk are expensive operations that consume time and resources. If this is to be avoided, the VDisk cache has to be optimally sized and utilized. But, how does one know how well the cache is being used? For this, you can use the v7000 Disk Cache test.  For each VDisk in the IBM Storwize v7000 storage system, this test monitors the I/O load on the VDisk, reports how well the cache services the read and write I/O load, and in the process, indicates whether/not the cache has been effectively utilized. I/O processing bottlenecks (if any) in the VDisk and inoptimal cache usage can thus be detected and the reasons for the same investigated.

Target of the test : An IBM Storwize v7000 storage system

Agent deploying the test : A remote agent

Outputs of the test : One set of results for the cache of each VDisk of the IBM Storwize v7000 storage system being monitored.

Configurable parameters for the test
Parameter Description

Test Period

How often should the test be executed.

Host

The host for which the test is to be configured.

Port

The port number at which the specified host listens to. By default, this is NULL.

Timeout

Specify the duration (in seconds) beyond which the test will timeout in the Timeout text box. The default value is 60 seconds.

Measurements made by the test
Measurement Description Measurement Unit Interpretation

Sectors read

Indicates the rate at which the sectors are read from this VDisk.

Sectors/Sec

Comparing these measures across the VDisks helps you to identify the VDisks that are currently busy processing the I/O operations.

Sectors written

Indicates the rate at which the sectors are written on this VDisk.

Sectors/Sec

Prestage sector count

Indicates the rate at which prestage sectors were initiated by the cache  of this VDisk.

Sectors/Sec

To reduce latency, the storage systems typically uses prestage operations to retrieve data from a disk drive into a cache before the data is retrieved by the next host I/O request. The value of this measure therefore indicates how much data per second was read-ahead into the cache by the storage system. Ideally, this value should be high, so that enough data is prestaged.

Read cache sector hits

Indicates the number of sectors (of prestaged or non-prestaged data) that were  read from the cache every second to service read I/O requests to this VDisk.

Sectors/Sec

Ideally, the value of this measure should be high. A consistent drop in this value is a cause for concern, as it could indicate that read I/O requests are not being frequently serviced by the cache. This in turn implies low cache usage and high disk usage. 

Read cache prestaged sector hits

Indicates the number of sectors (of prestaged data) that were  read from the cache every second to service read I/O requests to this VDisk.

Sectors/Sec

Ideally, the value of this measure should be high. A high value could indicate that many host I/O requests were serviced by data that was read into the cache, well ahead of the requests. Since prestaging reduces latency to a great extent, a high value is a sign of good cache health.

Read cache  sector misses

Indicates the rate at which the sectors were read for a read I/O request to this VDisk that has cache misses.

Sectors/Sec

A low value is desired for this measure. A high value indicates too many cache misses, which in turn, is indicative of poor cache configuration.

Track destage sector count

Indicates the rate at which the sectors were written for the track writes initiated by this VDisk’s cache.

Sectors/Sec

 

Flush through sector writes

Indicates the rate at which the sectors were written using flush through write mode for the write requests to this VDisk.

Sectors/Sec

 

Write through sector writes

Indicates the rate at which the sectors were written using write through write mode for the write requests to this VDisk.

Sectors/Sec

In the write-through mode, write is done synchronously to both the cache and to the disk. Write-through is the mode to set where workload is high.

Fast write sector writes

Indicates the rate at which the sectors were written using fast write mode for the write requests to this VDisk.

Sectors/Sec

Fast write cache (FWC) is an optional nonvolatile cache that provides redundancy with the standard adapter cache. The FWC tracks writes that have not been committed to disk.

Fast write cache can significantly improve the response time for write operations. However, care must be taken not to flood the cache with write requests faster than the rate at which the cache can destage its data. FWC can also adversely affect the maximum I/O rate because additional processing is required in the adapter card to determine if the data that is being transferred is in the cache.

 

Lack of memory fast write track sec

Indicates the rate at which the sectors that were processed in fast-write mode were written using write-through mode owing to lack of memory in this VDisk’s cache.

Sectors/Sec

 

Dirty data write hit sectors

Indicates the rate at which the write requests to this VDisk were serviced by sectors from dirty data in the cache.

Sectors/Sec

 

Write cached data

Indicates the amount of modified/dirty data that is held in this VDisk cache.

MB

A consistent increase in the value of this measure indicates that data destaging is not occurring frequently – i.e., data is not being flushed to the disk at regular intervals. If the situation persists, the cache may fill up to capacity and may reject subsequent entries. This can increase cache misses and degrade I/O performance of the storage system.

Read and write cached data

Indicates the amount of data that is held in this VDisk cache.

MB

A consistent increase in the value of this measure could indicate one or both of the following:

  • Old data is not being discarded;
  • Data written to the cache is not being flushed to the disk at regular intervals

If the situation persists, the cache may fill up to capacity and may reject subsequent entries. This can increase cache misses and degrade I/O performance of the storage system. To avoid such an eventuality, you may want to fine-tune your cache algorithm to make it more efficient.